作者: Meng He
ABI Research指出,目前市場(chǎng)上的無線連接設(shè)備已超過100億部,而到2020年通過無線連接到物聯(lián)網(wǎng)(萬物互聯(lián))的設(shè)備將突破300億部。隨著物聯(lián)網(wǎng)越來越受到人們的重視,許多OEM廠商都發(fā)現(xiàn)自身面臨的壓力也越來越大,他們必須為各種產(chǎn)品提供因特網(wǎng)連接功能,才能從實(shí)現(xiàn)設(shè)備間的通信功能中受益。但是,許多開發(fā)人員并不熟悉如何實(shí)現(xiàn)高度穩(wěn)健的TCP/IP協(xié)議棧。本文將探討在嵌入式系統(tǒng)中有關(guān)支持因特網(wǎng)連接功能的主要問題,以及如何通過新工具幫助開發(fā)人員為系統(tǒng)提供TCP/IP且無需擔(dān)心低層次實(shí)現(xiàn)細(xì)節(jié)問題。
首先,讓我們簡(jiǎn)要回顧一下TCP/IP協(xié)議。傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)是連接到因特網(wǎng)的硬件設(shè)備之間用于交換數(shù)據(jù)的通用語言。這些規(guī)則管理著終端操作系統(tǒng)(Windows、iOS、Linux等)之間的交換機(jī)制以及SMTP、FTP、HTTP等一系列具體協(xié)議。
TCP/IP被細(xì)分為不同的“層”(詳見圖1)。因特網(wǎng)數(shù)據(jù)以數(shù)據(jù)片段的格式從應(yīng)用層路由到傳輸層。物理層是在IEEE 802.3規(guī)范所定義的以太網(wǎng)協(xié)議下,數(shù)據(jù)通過“因特網(wǎng)”進(jìn)行物理傳輸?shù)牡胤健R蕴W(wǎng)有多種不同的規(guī)范版本,可提供各種最大比特率、傳輸模式和傳輸介質(zhì)(光纖、同軸電纜等)。介質(zhì)訪問控制(MAC)是物理層非常重要的部分,MAC地址表示以太網(wǎng)網(wǎng)絡(luò)上節(jié)點(diǎn)的物理地址。每個(gè)以太網(wǎng)幀都包含一個(gè)源地址和一個(gè)目的地址。
圖1. 因特網(wǎng)上的數(shù)據(jù)傳輸
應(yīng)用層負(fù)責(zé)提供用戶接口。以下是常見的應(yīng)用層協(xié)議 。
1. 超文本傳輸協(xié)議(HTTP):傳輸與瀏覽萬維網(wǎng)(WWW)相關(guān)的數(shù)據(jù)。
2. 簡(jiǎn)單郵件傳輸協(xié)議(SMTP):支持整個(gè)因特網(wǎng)上的電子郵件傳輸。
3. 文件傳輸協(xié)議(FTP):用于在因特網(wǎng)上傳輸文件。
4. 域名系統(tǒng)(DNS):翻譯域名。
5. 動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP):為特定節(jié)點(diǎn)動(dòng)態(tài)分配IP地址。
6. Telnet:為節(jié)點(diǎn)創(chuàng)建互動(dòng)的TCP連接。
7. 簡(jiǎn)單網(wǎng)絡(luò)時(shí)間協(xié)議(SNTP):支持節(jié)點(diǎn)時(shí)鐘與參考時(shí)鐘同步。
8. 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP):用于監(jiān)控網(wǎng)絡(luò)連接設(shè)備,檢查是否存在發(fā)生故障等需要干預(yù)的情況。
嵌入式TCP/IP協(xié)議棧的兩種最常見用途就是消息傳送和Web頁面顯示。例如,簡(jiǎn)單的SMTP消息傳送系統(tǒng)允許微控制器獲得傳感器讀數(shù),并根據(jù)預(yù)設(shè)的間隔將讀數(shù)以消息或電子郵件的形式發(fā)送給中央存儲(chǔ)庫(kù),以便記錄和分析。家庭中可采用這種應(yīng)用每隔一小時(shí)給住戶發(fā)送室溫電子郵件,當(dāng)然我們也可進(jìn)一步擴(kuò)展這種使用案例。嵌入式微控制器不僅能讀取溫度信息,而且能監(jiān)控門窗是否鎖好、燈光是否關(guān)閉等。這些系統(tǒng)可以全天候監(jiān)控有關(guān)信息。如果住戶將要工作到很晚才回家,那么他/她可使用HTTP請(qǐng)求微控制器發(fā)送包含所有相關(guān)信息的Web頁面。然后,住戶可通過改變Web頁面上的一些字段,打開某些房間的燈、提升溫度、并執(zhí)行其它任務(wù)。
實(shí)現(xiàn)能夠滿足各個(gè)系統(tǒng)要求的以太網(wǎng)子系統(tǒng)有多種不同方式:
1. 以太網(wǎng)控制器模塊
包含TCP/IP硬連線芯片、變壓器和RJ45的控制器模塊能大幅簡(jiǎn)化所提供的連接功能。完整的廠商生態(tài)系統(tǒng)可提供各種現(xiàn)成可用的模塊,不僅能加速產(chǎn)品的上市進(jìn)程,同時(shí)還提供極具吸引力的價(jià)格點(diǎn)。這種方案對(duì)于想要快速開發(fā)因特網(wǎng)系統(tǒng)的工程師來說非常理想。例如,開發(fā)人員可選擇Wiznet的WIZ550io、W5100 shield以及Rabbit Semiconductor的以太網(wǎng)模塊RCM6760 MiniCore等模塊。隨著Arduino平臺(tái)的日益普及,市場(chǎng)上也開始出現(xiàn)許多兼容于官方Arduino開發(fā)板的模塊。
2. TCP/IP IC加一款MCU
此外,設(shè)計(jì)人員還能將TCP/IP控制器連接到他們的嵌入式微控制器。例如,Microchip的ENC28J60以太網(wǎng)模塊能通過SPI接口直接連接到大多數(shù)的微控制器。這些模塊通常采用獨(dú)立的以太網(wǎng)控制器IC,其具有眾多特性,能夠處理大部分的網(wǎng)絡(luò)協(xié)議要求。這樣的基礎(chǔ)架構(gòu)能幫助設(shè)計(jì)人員構(gòu)建并共享他們自己的以太網(wǎng)項(xiàng)目。例如,Github上有個(gè)項(xiàng)目(https://github.com/kmmankad/ENC28J60-PSoC3)就能支持賽普拉斯的可編程片上系統(tǒng)(PSoC)控制器和基于ENC28J60的器件之間的因特網(wǎng)連接?;赑SoC 3的同一項(xiàng)目同時(shí)也可移植到PSoC 5中。這種實(shí)現(xiàn)方案的優(yōu)勢(shì)在于它能將微控制器內(nèi)核和其它片上資源釋放出來,以滿足其它系統(tǒng)功能的需求。在硬件層面,我們只需要一個(gè)RJ45連接器、磁性元件、一個(gè)25 MHz的晶振或振蕩器以及一些無源組件即可。
3. 支持lwIP的單芯片微控制器
輕量級(jí)IP(lwIP)是一種廣泛使用的開源TCP/IP協(xié)議棧,專門針對(duì)嵌入式系統(tǒng)而精心設(shè)計(jì),并獲得了全球開發(fā)人員網(wǎng)絡(luò)的支持。對(duì)許多應(yīng)用來說,lwIP可提供以太網(wǎng)功能,同時(shí)能大幅降低MCU的資源占用率。MCU實(shí)現(xiàn)協(xié)議棧從物理上需要MAC和PHY。lwIP對(duì)于想要實(shí)現(xiàn)低成本連接功能的設(shè)計(jì)人員來說是一種理想選擇。但是,由于這更像是一種DIY類型的實(shí)現(xiàn)方案,因此開發(fā)人員還必須愿意為解決協(xié)議棧問題而付諸努力。這種實(shí)現(xiàn)方案的挑戰(zhàn)在于系統(tǒng)資源的使用以及動(dòng)態(tài)分配MAC地址的功能。PSoC的動(dòng)態(tài)可重配置屬性使得解決上述挑戰(zhàn)成為可能。PSoC的數(shù)字側(cè)由通用數(shù)字模塊(UDB)組成,可用于平衡配置粒度并支持高效的實(shí)現(xiàn)方案。這種方法的基礎(chǔ)就在于能定制器件數(shù)字操作,從而滿足應(yīng)用要求。例如,片上DMA使我們能設(shè)計(jì)出可配置的RX和TX FIFO。PSoC設(shè)計(jì)環(huán)境PSoC Creator支持開發(fā)人員構(gòu)建自己的以太網(wǎng)組件,并將其作為系統(tǒng)級(jí)設(shè)計(jì)中的虛擬芯片。
連接功能代表著未來需求,世界正日益依賴因特網(wǎng)來促進(jìn)并擴(kuò)展通信。隨著芯片廠商推出具有更多實(shí)現(xiàn)選項(xiàng)和更高靈活性的成熟產(chǎn)品,設(shè)計(jì)人員可根據(jù)所需級(jí)別從現(xiàn)成可用的交鑰匙模塊到DIY嵌入式方案中做出購(gòu)買選擇。
責(zé)任編輯:gt
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19678瀏覽量
317800 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46266瀏覽量
392953 -
無線
+關(guān)注
關(guān)注
31文章
5555瀏覽量
176103
發(fā)布評(píng)論請(qǐng)先 登錄
基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)
基于μC/OS—II的μC/IP協(xié)議棧在ARM系統(tǒng)中的實(shí)現(xiàn)
TCP_IP協(xié)議棧在嵌入式系統(tǒng)中的實(shí)現(xiàn)
請(qǐng)問嵌入式系統(tǒng)實(shí)現(xiàn)以太網(wǎng),TCP/IP協(xié)議棧是都是移植的嗎?
基于ARM的TCP/IP協(xié)議棧LwlP是如何實(shí)現(xiàn)的?
怎么實(shí)現(xiàn)嵌入式TCP/IP協(xié)議棧的設(shè)計(jì)?
如何使用LwIP TCP/IP開源協(xié)議棧在嵌入式設(shè)備的應(yīng)用
在TMS320VC5402 上實(shí)現(xiàn)的嵌入式TCP IP協(xié)議棧
嵌入式WEB服務(wù)器中TCP/IP協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)
嵌入式系統(tǒng)中TCP/IP 協(xié)議的精簡(jiǎn)與實(shí)現(xiàn)
基于嵌入式TCP/IP的遠(yuǎn)程GPRS控制終端的設(shè)計(jì)與實(shí)現(xiàn)
嵌入式TCP/IP協(xié)議棧在DSP上的實(shí)現(xiàn)

一個(gè)專為嵌入式系統(tǒng)編寫的小型TCP IP協(xié)議棧
在FPGA中實(shí)現(xiàn)嵌入式TCP/IP通信協(xié)議棧

評(píng)論