嵌入式系統(tǒng)以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應了各種應用系統(tǒng)中對功能、可靠性、成本、體積、功耗等的嚴格要求,因此它贏得了巨大的市場,在應用數量上遠遠超過了各種通用計算機。嵌入式接入Internet是近幾年隨著計算機網絡技術的普及和發(fā)展而發(fā)展起來的一項新興概念和技術,它通過為現有嵌入式系統(tǒng)增加因特網接入能力來擴展其功能,一般指設備通過嵌入式模塊而非PC系統(tǒng)直接接入Internet,以Internet為介質實現信息交互的過程,通常又稱為非PC接入。
嵌入式系統(tǒng)利用網絡接口控制芯片實現與網絡的通信功能,成本低,控制方便可靠,滿足系統(tǒng)對通信的要求??紤]到本身的特點,在大量工業(yè)領域中應用嵌入式設備功能比較單一,在上述網絡接口控制芯片接口程序的基礎上只需要開發(fā)簡化的嵌入式協(xié)議棧,就可滿足許多情況下的應用需求。目前,許多公司和組織致力于將以太網與現場總線實現無縫連接,使以太網越來越向底層延伸。以太網在現場設備中的應用研究和基于以太網的智能芯片的開發(fā)等也日益成為研究的熱點。
1 嵌入式接入網的主要方式
目前嵌入式系統(tǒng)接入Internet通常有以下兩種主要方式:
(1)采用高速的16/32Bit微控制器直接實現TCP/IP協(xié)議,這種方法的實現框圖如圖1所示。這種方式可以使嵌入式系統(tǒng)直接與Internet相連,有很大的靈活性。缺點是占用的系統(tǒng)資源較多,對微控制器的要求也很高,無法在8/16Bit低速微控制器為核心的嵌入式系統(tǒng)上實現?! ?2)使用嵌入式網關來實現,如圖2所示。各個嵌入式系統(tǒng)首先和網關進行通信,通信方式采用傳統(tǒng)的RS-232、RS-485等,由嵌入式網關負責實現TCP/IP協(xié)議,完成嵌入式系統(tǒng)的信息與Internet的信息交互。這種方案解決了以低速8/16Bit微控制器為核心的嵌入式系統(tǒng)接入Internet的問題。缺點是需要一個專門的嵌入式網關,而且和各個嵌入式系統(tǒng)之間的通信同樣受到速度和距離的限制,這種方法的實現成本將會增加。
2 嵌入式系統(tǒng)的組成
嵌入式系統(tǒng)包括硬件和軟件兩部分。硬件包括處理器微處理器、存儲器及外設器件和30端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(要求實時和多任務操作)和應用程序編程。嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式互聯(lián)的目標是嵌入式設備工作在以網絡為中心的環(huán)境中,把“孤立的目標系統(tǒng)”相互連接起來。為適應嵌入式分布處理結構和應用上網需求,嵌入式系統(tǒng)必需配有一種或多種網絡通信接口,使嵌入式微控制器不僅能執(zhí)行傳統(tǒng)的控制功能,而且還能執(zhí)行與連接因特網相關的功能,從而把標準網絡技術(TCP/IP)一直擴展到嵌入設備,由嵌入式系統(tǒng)自身實現Web服務器功能,這是解決嵌入式Internet問題的最佳方案。
嵌入式設備接入Intranet/Internet網原則上講,只要實現TCP/IP網絡協(xié)議就可以。針對嵌入式設備連接涉及的兩個關鍵問題即傳送信息的媒質和采用的協(xié)議。最常用的聯(lián)接模式是以太網通信介質的有線連接與TCP/IP協(xié)議。其網絡體系結構與協(xié)議分層如圖1所示。利用網絡接口控制器(NIC-Network InteRFace Controller)來實現物理層和鏈路層協(xié)議,同時微處理器運行嵌入式TCP/IP協(xié)議通信模塊來實現與Intranet/Internet網的連接。一旦這個目標得以實現,就能在網絡環(huán)境下在任何時間從任何地點對位于任何其它地方的系統(tǒng)中的微控制器進行監(jiān)控,利用傳統(tǒng)的Web和因特網機制遠程監(jiān)視數據和運行情況控制,而且還能在合適的條件下對系統(tǒng)進行調試、升級和維護。
3 技術難點分析
3.1 發(fā)送數據的封裝
把一組數據發(fā)送到基于TCP/IP協(xié)議的網絡上,首要條件是產生符合TCP/IP協(xié)議的數據格式。首先從一個物理幀的格式來分析。一個標準的IEEE802.3的物理幀如圖4所示:
如果與嵌入式系統(tǒng)的通信只是局限于局域網之中,在物理幀的數據域內可以直接放置要發(fā)送的數據。如果需要和其他的網絡進行通信,在物理幀的數據域中需要封裝更高層的協(xié)議,嵌入式系統(tǒng)發(fā)送的數據應該封裝在高層協(xié)議的數據域內。這些數據的層層封裝和物理幀的形成對于速度沒有特殊的要求,普通的低速微控制器完全可以實現。
3.2 發(fā)送數據的發(fā)送
以10M以太網為例說明,發(fā)送數據時應該做的工作是,首先對待發(fā)送的數據進行曼徹斯特編碼,而后對編碼后的數據進行扭曲處理,使發(fā)送的數據適合在 10M以太網上傳輸,最后把處理好的數據以10M的速度發(fā)送到以太網上。同時,為了保證數據的有效發(fā)送,系統(tǒng)還應具有沖突檢測和重發(fā)的功能。
從以上的發(fā)送過程可以看出,直接用普通的微控制器是很困難的,應該考慮用其他的方法實現。
4 一種嵌入式網絡接口的實現方案
基于因特網的嵌入式網絡體系結構實現的核心問題是如何實現嵌入式網絡接口。在眾多實現方案中,以MCU為核心的實現方案,雖然實現起來有一定困難,仍因其極低的成本,受到格外重視。在此實現了一種網絡接口芯片與MCU相結合的方案,如圖5所示。
RTL8019AS與硬件實現以太網接口芯片中,選用RTL8019AS。由臺灣Realtek公司生產的RTL8019AS以太網控制器,由于其優(yōu)良的性能、低廉的價格,使其在市場上的10Mbps網卡中占有相當的比例。使用8051/52兼容單片機實現對RTL8019AS的控制,電路圖如圖6所示。
RTL8019AS采用8位數據傳輸的跳線模式(IOCS16接地, JP接高電平)。P0口通過地址鎖存器實現地址數據復用。P3.4片選RTL8019AS。數據收發(fā)不使用中斷驅動,全部由軟件查詢實現?;刂愤x擇引腳IOS[3:0]空,I/O基地址為300H。使用雙絞線為通信介質,所使用的引腳有:TPIN+,TPIN-,POUT+,TPOUT-,連入耦合隔離變壓器FB2022,通過RJ 45插頭實現與網絡的連接。
通常TCP/IP是指Internet協(xié)議簇,而不單單是TCP/IP。因此,在8bitMCU不大的ROM空間里,不可能實現所有的TCP/IP協(xié)議??紤]到嵌入式應用中硬件系統(tǒng)的多樣性,完成特定功能的應用程序也各不相同,因而軟件的設計在保證滿足功能前提下,最好短小,易于被移植,尤其是應用程序與網絡協(xié)議軟件應具備一定的獨立性。因此,選擇TCP/IP作為嵌入式網絡的通信協(xié)議,同時必須對TCP/IP協(xié)議簇根據實際需要進行必要的刪減,即實現一個thinTCP/IP協(xié)議簇。通常的thinTCP/IP的層次結構與標準的TCP/IP的一樣,也是四層結構(圖7)。以太網接口層主要實現對以太網接口芯片的控制,IP層根據實際需要選擇實現ARP(地址解析協(xié)議)、RARP(反向地址解析協(xié)議)、ICMP(因特網控制報文協(xié)議)以及IGMP(網絡組管理協(xié)議)。傳輸層主要由TCP(傳輸控制協(xié)議)和UDP(用戶數據報協(xié)議)組成,在實際實現時,根據需要可只實現其中一個。CIP(控制信息協(xié)議)是專為控制設備、基于對象的一種方法,它是獨立于特定網絡的應用層協(xié)議,提供了訪問數據和控制設備操作的服務集。CIP的制定需要根據具體應用加以考慮,與通常協(xié)議的格式相似,也為“命令+數據”模式。