時間:2008-09-01 15:07:00來源:ronggang
圖二 三種協(xié)議層的結(jié)構(gòu)比較[/align]
如圖所示,TCP/IP通常采用一種簡化的四層模型,分別為:應用層、傳輸層、網(wǎng)絡層、網(wǎng)絡接口層。在嵌入式TCP/IP中,前三層協(xié)議是由嵌入式處理器實現(xiàn)的。接口層是由網(wǎng)絡控制芯片實現(xiàn)的。
由于嵌入式系統(tǒng)沒有一個多任務的操作系統(tǒng),而且又是直接面對硬件,所以嵌入式TCP/IP協(xié)議在應用層上要求簡單。同時,不同嵌入式系統(tǒng)對嵌入式Internet所采用的應用層協(xié)議要求不同,而且應用層的協(xié)議還要和鏈路層實現(xiàn)的協(xié)議相對應。因此,系統(tǒng)要根據(jù)自己的需要和鏈路層協(xié)議的實現(xiàn)來選擇和簡化應用層的協(xié)議。
傳輸層主要為兩臺主機上的應用程序提供端到端的通信。傳輸層有兩種不同的傳輸協(xié)議:面向連接的TCP(傳輸控制協(xié)議)和無連接的UDP(用戶數(shù)據(jù)報協(xié)議)。TCP是面向接入即傳輸前必須先通過“三重握手”在主機間建立TCP接入,它所傳數(shù)據(jù)流采用了順序號和應答措施,可以發(fā)現(xiàn)數(shù)據(jù)的丟失、段的失序和對傳輸錯誤的排除,所以TCP協(xié)議提供的是數(shù)據(jù)流的可靠傳輸。但相對于UDP,它的可靠性是以復雜性為代價的,需要復雜龐大的程序來實現(xiàn)。UDP提供的是無連接的不可靠的服務,可能出現(xiàn)數(shù)據(jù)包的丟失,重復和連接失敗等錯誤。但是正因沒有接入機制,它可以實現(xiàn)高速發(fā)送,充分發(fā)揮物理傳輸設備的速度。UDP適合用在通信介質(zhì)十分可靠的情況,例如以太網(wǎng)等。
網(wǎng)絡層處理分組在網(wǎng)絡中的活動。其協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議)、ARP協(xié)議(地址解析協(xié)議)、ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議)以及IGMP 協(xié)議(Internet組管理協(xié)議)。IP協(xié)議是TCP/IP族的核心協(xié)議,它使異構(gòu)網(wǎng)絡之間的通信成為可能。因此如果嵌入式Internet,需要跨越不同的網(wǎng)絡進行通信就必須要實現(xiàn)IP協(xié)議。ARP協(xié)議實現(xiàn)將邏輯IP地址映射為物理地址。ICMP協(xié)議主要用來傳遞差錯報文以及其他需要注意的信息。我們通常使用的應用程序PING就是采用ICMP協(xié)議來測試網(wǎng)絡的連通情況。對于普通的嵌入式Internet的應用而言,在ICMP協(xié)議中能夠測試網(wǎng)絡的連通情況即可,因此只需實現(xiàn)ICMP中類型號為0、代碼為0的PING應答協(xié)議即可。通常嵌入式Internet不考慮IGMP。
鏈路層主要作用是為其上層協(xié)議發(fā)送和接收數(shù)據(jù)包,根據(jù)物理層的不同,主要協(xié)議有以太網(wǎng)、令牌環(huán)網(wǎng)、FDDI(光纖分布式數(shù)據(jù)接口)及RS232串行線路協(xié)議等。可由選擇的網(wǎng)絡接口芯片完成。
3 設計實例
應用普通8/16位MCU形成嵌入式網(wǎng)關(guān)是最具發(fā)展?jié)摿Φ囊淮鬅狳c。而應用TCP/IP協(xié)議的以太網(wǎng)已經(jīng)成為最流行的分組交換局域網(wǎng)技術(shù),整個網(wǎng)絡只有一種底層通訊協(xié)議,同時也具有開放的TCP/IP網(wǎng)絡技術(shù)。它可滿足控制系統(tǒng)各個層次的要求 。工業(yè)控制領域中常用的現(xiàn)場總線和串行通信可以通過嵌入式網(wǎng)關(guān)與以太網(wǎng)相連,從而方便的實現(xiàn)控制網(wǎng)絡與Internet連接,目前基于以太網(wǎng)的工業(yè)控制網(wǎng)絡已經(jīng)成為未來的發(fā)展趨勢。所以本設計采用在16位MCU中嵌入“裁剪”后的TCP/IP協(xié)議棧及以太網(wǎng)控制芯片驅(qū)動程序,并通過以太網(wǎng)接入Internet網(wǎng)絡。其硬件框圖如圖三所示。
[align=center]
圖三 16位單片機實現(xiàn)嵌入式網(wǎng)卡的硬件框圖[/align]
這種方案首先要求在鏈路層上,由于采用以太網(wǎng)的接人方式,系統(tǒng)必須要實現(xiàn)IEEE802.3標準,這可采用通用的以太網(wǎng)接口芯片RTL8019AS來完成。其次,為了保證系統(tǒng)在以太網(wǎng)的通信,系統(tǒng)還需實現(xiàn)ARP應答協(xié)議。在網(wǎng)絡層上要實現(xiàn)IP協(xié)議,為了能夠測試系統(tǒng)與網(wǎng)絡的連接,系統(tǒng)需要實現(xiàn)ICMP協(xié)議中的ping應答協(xié)議。在傳輸層上我們選擇UDP協(xié)議。應用層上單片機系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應用層只對大的數(shù)據(jù)報作打包拆報處理。
RTL8019AS是RealTek公司生產(chǎn)的一種全雙工以太網(wǎng)控制器,符合Ethernet II 、IEEE802.3(10Base5、10Base2、10BaseT)標準;與NE2000兼容;支持8位、16位數(shù)據(jù)總線;內(nèi)置16KB的SRAM,用于收發(fā)緩沖,可降低對主處理器的速度要求。外部RAM使用PSD4135(512KB),從而為數(shù)據(jù)處理提供了很大的緩存,同時它也有地址鎖存和地址譯碼功能。使用E2PROM—93C46,可以將網(wǎng)卡物理地址和其他參數(shù)保存在里面。
這里的RTL8019AS就是處理以太網(wǎng)協(xié)議(IEEE802.3)的。數(shù)據(jù)的流向為:請求信息從局域網(wǎng)中來,通過RJ45送到RTL8019AS,處理后的數(shù)據(jù)包送入80C196協(xié)議棧,由協(xié)議棧對數(shù)據(jù)包進行解析,得到原始請求信息。請求信息再經(jīng)過80C196的處理,產(chǎn)生回復信息;貜托畔⒌骄钟蚓W(wǎng)的過程與上面正好相反。RJ45為此系統(tǒng)與局域網(wǎng)的接口。
一個標準的IEEE 802.3數(shù)據(jù)幀由七部分組成,圖四說明了標準的IEEE 802.3數(shù)據(jù)包與TCP/IP協(xié)議數(shù)據(jù)的關(guān)系。
[align=center]
圖四 IEEE 802.3幀的組成[/align]
數(shù)據(jù)段的個數(shù)可從46Byte~1500Byte,不足46Byte時用零補足;超過1500Byte時,需要拆成多個幀傳送。前導位、幀起始位和幀校驗序列僅供控制器本身用,主處理器收到的數(shù)據(jù)幀的組成依次包括:接收狀態(tài)、下一幀的頁地址指針、目的地址、源地址、數(shù)據(jù)長度、數(shù)據(jù)段。IEEE 802.3標準中的數(shù)據(jù)長度值小于或等于0x0600時,表示數(shù)據(jù)段的長度;反之,表示數(shù)據(jù)幀的類型。例如值為 0x0800,表示數(shù)據(jù)段為IP包;值為0x0806,表示數(shù)據(jù)段為ARP包。
3.1 系統(tǒng)軟件
在選定硬件,完成各芯片間地址線、數(shù)據(jù)線及狀態(tài)線連接后,開始軟件設計。軟件設計主要包括:芯片初始化程序、以太網(wǎng)控制器驅(qū)動程序、TCP/IP協(xié)議棧程序、系統(tǒng)網(wǎng)絡配置程序。芯片初始化程序用于設置MCU工作模式及外圍芯片選擇;以太網(wǎng)控制器驅(qū)動程序用于設置以太網(wǎng)控制芯片的工作狀態(tài)及工作方式,分配收發(fā)數(shù)據(jù)的緩沖區(qū);系統(tǒng)網(wǎng)絡配置程序用于給監(jiān)測系統(tǒng)分配IP地址及域名。
當網(wǎng)絡有數(shù)據(jù)時,RTL8019AS在接收和處理完以太網(wǎng)數(shù)據(jù)幀后傳送給單片機,80C196對數(shù)據(jù)包進行分析,如果是ARP(物理地址解析)數(shù)據(jù)包,則程序轉(zhuǎn)入ARP處理程序。如果是IP數(shù)據(jù)包且IP地址正確,則繼續(xù)分析若是ICMP包,則調(diào)用ICMP處理程序。若是UDP數(shù)據(jù)包,則80C196對數(shù)據(jù)解包后,將數(shù)據(jù)部分轉(zhuǎn)存在PSD4135中或者通過串口輸出。反之,當有數(shù)據(jù)要發(fā)送時,80C196將調(diào)用UDP打包程序來封裝數(shù)據(jù)并送入RTL8019的緩存中去。具體流程為:數(shù)據(jù)放到UDP的數(shù)據(jù)段->生成UDP校驗->建立IP頭->(ARP地址解析)->生成Ethernet頭->放到網(wǎng)卡發(fā)送緩沖區(qū)->發(fā)送 。
4 結(jié)束語
基于嵌入式Internet的工業(yè)以太網(wǎng)控制網(wǎng)絡是未來新一代工業(yè)控制網(wǎng)絡的發(fā)展趨勢。本文闡述了嵌入式Internet的各種技術(shù)原理,并通過了以太網(wǎng)接口控制芯片和嵌入式TCP/IP協(xié)議實現(xiàn)了嵌入式網(wǎng)關(guān)的功能。相信隨著嵌入式Internet技術(shù)的日益完善,這種可與現(xiàn)場總線等已有網(wǎng)絡實現(xiàn)方便簡單連接的方案,會得到更加廣泛的應用。
參考文獻
1. 李明.康靜秋. 嵌入式TCP/IP協(xié)議棧的研究與開發(fā). 計算機工程與應用 2002.16
2. Kenneth D .Reed. 《TCP/IP基礎》3com公司譯 北京:電子工業(yè)出版社
3. Kenneth D .Reed. 《協(xié)議分析》孫坦 張學鋒等譯 北京:電子工業(yè)出版社
4. 陶波,丁漢等. 基于嵌入式Internet的工業(yè)控制. 測控技術(shù), 2002.20.(8)
5. 萬靜華,丁亞軍 以太網(wǎng)控制器的嵌入式設備網(wǎng)絡互連 單片機與嵌入式系統(tǒng)應用2001.12
6. 楊志紅.江漢紅. 用嵌入式Internet技術(shù)構(gòu)建遠程監(jiān)測系統(tǒng). 電子產(chǎn)品世界. 2002.6
7. 呂京建. 肖海橋. 嵌入式Internet技術(shù)及其應用 http://www.21ic.com
標簽:
![]()
傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-10-31
2025-10-22
2025-10-17
2025-10-11
2025-10-09
2025-09-23