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

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

評(píng)論