《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 利用Rabbit3000芯片設計以太網接入功能與TCP/IP協議棧的優勢分析

利用Rabbit3000芯片設計以太網接入功能與TCP/IP協議棧的優勢分析

2008-07-07
作者:楊 早

??? 摘 要: 首先分析了網絡方案設計過程中需要注意的三個問題,介紹并分析了現有的幾種設計方案,并以Rabbit3000芯片為例,分析了該芯片在構建以太網接口和TCP/IP" title="TCP/IP">TCP/IP協議棧" title="協議棧">協議棧方面的優勢。
??? 關鍵詞: 以太網? TCP協議? Rabbit3000微處理器

?

??? 在長期采用RS-232/RS-485等串行傳輸接口作為數據傳輸接口之后,現在越來越多的基于單片機的嵌入式系統開始提供以太網接口的高速數據傳輸接口,用于多個節點之間的數據交互,而且在單片機內部實現了TCP/IP協議棧,從而具備遠程網絡間的數據傳輸能力。TCP/IP協議棧是互聯網上數據傳輸的事實標準,支持TCP/IP協議棧可以使各個廠家生產的設備之間實現互連互通,而且可以較為方便地訪問互聯網上的其他資源,如文件服務器、郵件服務器等。
??? 不斷提供更多功能是嵌入式系統的一個發展方向,但是更多的功能就意味著更多的計算任務、代碼存儲空間、數據存儲" title="數據存儲">數據存儲空間,而嵌入式系統的計算能力和存儲空間相對有限,因此需要在設計和選型時仔細規劃。本文從網絡功能入手,針對方案設計中的技術細節,從以下三點進行了分析:(1)以太網接入" title="以太網接入">以太網接入并不等同于支持TCP/IP協議棧; (2)并不是每一種類型的單片機都能夠提供足夠的處理能力來支持以太網接入;(3)系統對TCP/IP協議棧的支持是有量化衡量指標的,不只是一個是或否的問題。
??? 經過上述分析之后,本文就目前已有的幾種設計方法,分析了Rabiit3000微處理器在提供網絡功能方面的一些技術優勢。
1 以太網接入不等于對TCP/IP協議棧的支持
??? 作為一種數據傳輸技術,從傳統的OSI七層模型(見圖1)來分析,以太網技術提供的是物理層和數據鏈路層上的數據傳輸服務,它與RS-485傳輸協議的區別在于傳輸速度快和支持對等傳輸模式。以太網技術沒有規定每一個傳輸點的地址分配問題、報文的轉發與路由問題,它部分解決了點對點之間數據傳輸正確性問題,但是沒有規定如何保證非直接相連節點之間報文傳輸的丟失、重復以及亂序問題。這些問題是局域網以及廣域網都必須面對的問題,需要有另外的協議機制來解決,從計算機網絡技術的發展過程看,以太網上應用的網絡層/傳輸層協議有NetBEUI 協議、IPX/SPX協議、TCP/IP協議棧等。NetBEUI 協議是IBM公司開發的非路由協議,用于攜帶NETBIOS通信,其協議比較簡單,適用于單個網段組成的局域網;IPX/SPX協議是NOVELL公司用于NETWARE客戶端/服務器的協議族,其中IPX協議具有完全的路由能力,可以跨網絡傳輸報文,SPX協議則負責保證報文在跨網絡傳輸時的正確性;IP/TCP協議棧是廣域網上應用非常廣泛的傳輸協議,具有很強的靈活性,能夠支持多種網絡接入方式,如電話線、以太網、無線接入等。


??? 如上所述,即使設計方案提供了以太網接入功能,它也只是提供了一個高速、多點間的數據傳輸接口,并不意味著設計方案有完整的數據傳輸功能,不能保證設備之間的數據互聯互通。

2 單片機的數據存儲能力和存取速度分析
??? 對于個人電腦,從以太網絡上讀取和發送數據的任務是由網卡負責的,主板和網卡之間一般采用基于中斷的通知方式和基于PCI總線的數據傳輸方式。PCI總線提供32bit的數據傳輸寬度與132Mbps的傳輸速度,這些都是小型單片機所不能提供的。在基于單片機的設計方案中,單片機多數通過8位數據總線與RTL8019等以太網MAC控制芯片相連,單片機直接從以太網MAC控制芯片讀取收到的數據報文,然后放置在存儲芯片中。對于單指令周期的單片機,假設它接在10Mbps的以太網絡上,MAC控制芯片本身能夠緩沖10個報文,并可能出現連續幾十個報文的流量模型,則單片機需要在數據總線上提供10M~20Mbps的數據傳輸帶寬,以防止因為緩沖溢出而丟失報文。如果單片機使用的是8位數據總線,則一條數據傳輸指令要在0.5μs~1μs之內完成。對于傳統的8051單片機,一條MOVX需要兩個機器周期的時間,每個機器周期由12個時鐘周期組成,這就意味著單片機的晶振要在24M~48MHz左右。考慮到單片機同時還要以高優先級處理按鍵、顯示、A/D轉換等控制任務,只能將部分處理能力分配給以太網報文處理功能,所以以太網接入功能的引入對于單片機的運算速度提出了比較高的要求。
??? 基于單片機的以太網接入設計方案另一個需要注意的問題是單片機數據存儲空間的大小。與個人電腦相比,單片機的數據存儲空間非常有限,8051系列單片機" title="系列單片機">系列單片機的外部數據存儲空間為64KB,TI公司推出的MSC1210單片機外部也可擴展至64KB存儲器。以太網上傳輸的報文常規大小在1KB左右,IP協議報文大小規定不超過64KB,除了其他變量和數據結構,64KB的存儲器可以放置幾十個以太網報文和若干個IP層協議報文。在不考慮TCP/IP協議棧的情況下,這樣的存儲情況可以滿足解決報文丟失、亂序問題的要求。因此64KB存儲器是單片機進行以太網報文處理的一個基本要求。
3系統對TCP/IP協議棧的量化衡量指標的要求
??? TCP/IP協議棧最早是為Unix系統設計的,隨后移植到Windows和Linux等操作系統上,是目前互聯網和局域網通信的事實標準。TCP/IP協議棧內包括了多項協議,例如處理網絡層報文的IP協議和ICMP協議、處理數據報發送的UDP協議、處理有連接的傳輸層控制協議TCP、處理局域網內尋址的ARP/RARP協議等。如果系統要求有訪問WEB網頁的功能,則在TCP/IP協議棧中還要添加對HTTP協議的支持。從這一點來說,系統對TCP/IP協議棧的支持是有量化衡量指標的,不只是一個是或否的問題。考慮到單片機有限的代碼空間和數據存儲空間,單片機對TCP/IP協議棧的支持就更加受限。例如單片機應用TCP/IP協議多為完成少量數據的采集傳輸,而不是網頁瀏覽、文件傳輸這些功能。所以單片機一般不完全支持HTTP協議。
??? 即使是在單片機上實現了某種協議,資源上的限制也可能使單片機簡化對該協議的實現,例如TCP協議提供傳輸層上點對點的可靠數據連接,由于它采用了滑動窗口、握手信號和三次握手建立連接等方法來保證數據接收的有序和正確,并利用擁塞控制機制來調整報文的發送速度,所以需要較大的數據存儲空間來保存亂序到達的報文。如果單片機同時開通多條TCP連接,則需要的存儲空間會相應加倍。在不能提供足夠存儲空間的情況下,單片機可能會通過舍棄擁塞控制機制、或者減小滑動窗口的大小,限制并發TCP連接的數目等方法來降低資源的開銷,這樣實現的TCP協議棧與傳統的個人電腦上所使用的TCP/IP協議棧在功能和性能方面都有很大的區別。另一個常見的例子是IP包的分段問題,IP報文最大可以為65KB并進行分段傳輸,而在單片機里一般很難存放如此大的報文,所以一般不支持分段,單片機會采用發送小數據包的方式來避免分段。
4 在單片機上實現以太網接入和TCP/IP協議棧的多種方法
??? 設計性能指標和成本核算要求是方案設計時需要平衡的兩個基本方向,越高的性能指標就會要求更多的計算能力、存儲資源和更復雜的處理算法,這勢必會提高最終產品的核算成本。所以嵌入式系統的設計人員往往會根據自己的實際要求,提出相應的設計方案,同時滿足性能和成本核算的要求。現有的公司提供了不同的實現以太網接入和TCP/IP協議棧的方法:在以太網接入方面有微處理器加MAC控制芯片的方案,也有微控制器整合MAC控制功能的方案;在TCP/IP協議棧實現方面,有單微處理器加定制協議棧的方案,也有雙微處理器分工加軟件協議棧的方案,也有采用專用芯片來處理協議報文的方案。
??? 在以太網接入功能的設計方案中,很多具有8位數據總線的單片機采用外接MAC控制芯片的方案,如ATMEL公司生產的89S51系列單片機外接RTL8019AS芯片,由于89C51系列單片機支持的RAM單元數目不超過2K,所以這種方案不會支持類似TCP協議這樣的復雜通信協議,一般用于簡單、少量的數據傳輸,89S51系列單片機的價格在10元以內,RTL8019AS芯片的價格在20元左右;而Freescale公司推出的MC9S12NE64單片機內置10/100Mbps以太網MAC控制器及PHY接口控制器,在只需一路以太網通信接口的情況下無需額外的MAC控制器,簡化了硬件電路設計。從存儲容量上分析,MC9S12NE64單片機提供64KB的閃存和8KB的RAM,可存儲的數據量也較為有限。
??? 在TCP/IP協議棧實現方面,采用專用芯片來處理協議報文的方案是一個比較新的實現方法。以韓國WIZnet公司推出的W3100A芯片為例,該芯片能處理TCP、UDP、ICMP和IP協議報文以及以太網的MAC協議報文,它給負責應用邏輯的微處理器提供一個類似于Socket的調用接口,可同時支持4路連接。W3100A芯片內置16KB的RAM,用于緩存收到的協議報文,它的售價在7美金左右。為了發揮W3100A芯片的作用,目前配合W3100A芯片使用的微處理器以ARM類型的微處理器居多,以ATMEL公司生產的AT91M40800芯片為例,該芯片基于ARM7TDMI內核,內置8KB的RAM,外部RAM可以擴充到8MB,并可外接LCD等復雜顯示設備。
??? 另外一種在嵌入式系統上實現TCP/IP協議棧的方法是采用雙處理器的方案,其中一個微處理器主要負責應用邏輯的控制,包括按鍵控制、顯示處理和信號采集與控制等多項功能;另一個處理器則專門負責數據在網絡上的傳輸與接收。例如有設計方案采用ATMEL公司生產的AT90S8515微控制器作為網絡傳輸控制器,采用低端的AT89S53作為事務邏輯控制器,兩個微處理器之間采用某種協議來交換數據,實現任務的同步。這樣可以利用8位/16位微處理器價格低的特點來實現較多的功能,但是相應地軟件設計的難度增大了,在某種情況下還需要嵌入式操作系統的支持。
??? 單枚微處理器加定制協議棧是實現TCP/IP協議棧的另一種方法,在這種方法中微處理器處理能力的高低和定制協議棧的大小與性能是影響總體性能的關鍵因素。針對某種微處理器進行過定制優化的協議棧往往能表現出優異的性能,Rabbit Semiconductor公司推出的Rabbit2000/3000系列微處理器就是一個協議棧定制的例子,Rabbit2000/3000微處理器的開發包中帶有完整的TCP/IP協議棧實現代碼,用戶不需要從第三方獲取TCP/IP協議棧實現代碼然后自己移植,可以縮短開發周期并獲得一定的性能保證。
5 Rabbit3000系列單片機實現以太網接入和TCP/IP協議棧的優勢分析
??? 如上所述,Rabbit3000系列單片機擁有的第一個優勢就是有針對硬件定制的TCP/IP協議棧實現代碼,使用戶只專著于應用邏輯的設計工作。該協議棧實現的協議包括PPP協議、套接字級的TCP和UDP協議、FTP、TFTP、HTTP(w/SSI 和 CGI)、DHCP客戶端、SMTP客戶端以及 POP3協議等,可以滿足用戶對互聯網資源一般性的訪問和相互間的數據傳輸。
??? Rabbit3000系列單片機擁有的另一個優勢是無需外部內存驅動器或者接口邏輯就可直接尋址多達1MB的存儲空間,這一點在8位單片機中并不多見。它具備20根地址線,3根芯片選擇線,2根輸出使能線,以及2根寫使能線可以直接與6個存儲設備(Flash或SRAM)交互,用戶可以根據各自不同的需求選擇適當的存儲芯片。如前所述,TCP協議的實現對可用存儲空間的大小很敏感,存儲空間的大小直接影響到所支持并發連接的數目、滑動窗口的大小、對亂序到達報文的緩存和處理能力,存儲空間大的情況下一般會取得更好的運行效果。如果以太網的數據發送速度達到100Mbps,隨著報文接收突發性的增強,存儲空間的大小對協議棧運行效果的影響會越加明顯。
??? Rabbit3000系列單片機擁有的第三個優勢是高運算速度。Rabbit3000系列單片機的運行時鐘最高達到54MHz,每指令字節的執行時間為兩個時鐘,因此它的運算速度非常快。IP協議、UDP協議和TCP協議的報文都需要計算校驗和,而且由于這些校驗值多為16位,在8位單片機上需要更多的指令來求出計算結果,所以Rabbit3000系列單片機的速度優勢與其他8位單片機相比非常明顯。
參考文獻
[1] WRIGHT G R,STEVENS W R. TCP/IP illustrated. volume 2nd, the implementation,2004.
[2] ?Rabbit 3000 microprocessor introduction. http://www.rabbitsemiconductor.com/products/rab3000/index.shtml.
[3] ?Zilog microprocessor introduction. http:// www.zilog.com/products/.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 精品久久成人免费第三区 | 亚洲国产精品线观看不卡 | 手机福利片 | 亚洲国产成人99精品激情在线 | 国产一区二区免费视频 | 中文字幕日韩三级 | 久久99久久精品免费思思 | 日本a级毛片免费视频播放 日本a级三级三级三级久久 | 免费一级a毛片免费观看欧美大片 | 在线观看一级 | 精品久久久久久中文字幕一区 | 久久久久一| 波多野结衣在线观看一区二区 | 欧美视频在线观看网站 | 欧美巨大另类极品videohd | 理论片免费午夜 | 在线播放国产视频 | 久久精品国产免费中文 | 日本高清福利视频在线观看 | 日韩天天干 | 亚洲天天 | 国产精品一区二区综合 | 欧美午夜免费观看福利片 | 永久免费不卡在线观看黄网站 | 91国内精品久久久久影院优播 | 久久狠狠一本精品综合网 | 欧美5g影院天天爽天天看 | 日韩在线看片中文字幕不卡 | 91热成人精品国产免费 | 日韩a毛片免费全部播放完整 | 国产一级毛片午夜 | 中文乱码一二三四有限公司 | 美女亚洲视频 | 国产成人精品一区二三区在线观看 | 欧美成人精品动漫在线专区 | 日韩高清一级毛片 | 亚洲欧美自拍视频 | 国产高清在线看 | 亚洲人成影院午夜网站 | 久久综合99re久久爱 | 亚洲 欧美 91 |