基于CP2200的嵌入式以太網接口設計
4.2 TCP/IP協議棧的設計
圖4本系統使用的TCP/IP協議棧
我們結合項目的實際需要,自行開發了簡化的TCP/IP協議[4],實現的協議包括UDP協議、IP協議、ARP協議、ICMP協議、TCP協議以及一個簡單的HTTP協議。各協議自成一個模塊,可以根據實際需要,選擇使用全部的協議或部分協議,由于本應用主要使用UDP協議傳輸數據,因此,TCP部分和HTTP部分可以不使用,去掉這兩個模塊不會影響系統的正常工作。
在實現時,每種協議的格式都定義為一個結構體,發送數據時,只需將應用數據由高層傳遞到下一層,每層協議會自動添加本層協議所需的報首內容,如,發送UDP數據時,將數據傳給UDP層,UDP層會在數據之前加入源目的端口號和目的端口號以及數據報長度和校驗和等8個字節的UDP報首信息,然后交給IP層處理,IP同樣地在UDP報文前加入IP報首信息,然后發送給下一層。IP層發送時先從ARP Cache中查詢目的IP地址對應的MAC地址,如果有,則將該MAC地址放入相應位置,然后發送;如果找不到目的MAC地址則需要發送ARP請求包,廣播請求擁有該IP地址的MAC地址,收到ARP回復包后,再將該IP數據發送到下一層,在IP報之前再封裝上源MAC和目的MAC地址以及幀類型后,就可以由CP2200進行數據的發送,CP2200會自動添加幀首用于幀同步的8字節前導符和最后的幀校驗序列,真正將數據發送到網絡上。
5 結論
本論文的創新點:本文設計的以太網接口采用新型的單芯片以太網控制器CP2200,可以實現不同數據的網絡實時傳輸,具有穩定的工作性能、抗干擾抗震性能和較低的系統開發成本。簡化的TCP/IP協議棧,既避免了通用嵌入式TCP/IP的移植工作,也避免了資源的浪費,同時便于修改和擴充。
CP2200是一款新型的單芯片以太網控制器,具有高性能的并行外部內存界面,高達30 Mbps的操作速度可大幅縮短通訊時間,可使搭配的微控制器能以更高效率執行通訊協議或其它程序。基于CP2200開發的以太網接口現以廣泛應用于遠程檢測和監視、嵌入式Web服務器、POS設備、遠程以太網-UART橋等領域,產生了良好的經濟效益,具有廣闊的發展前景。
參考文獻:
[1].RTL8019datasheethttp://www.dzsc.com/datasheet/RTL8019_1063656.html.
[2].DM9008datasheethttp://www.dzsc.com/datasheet/DM9008_264483.html.
[3].LAN91C111datasheethttp://www.dzsc.com/datasheet/LAN91C111.html.
[4].CP2200datasheethttp://www.dzsc.com/datasheet/CP2200_1134421.html.
[5].C8051F020datasheethttp://www.dzsc.com/datasheet/C8051F020_2.html.
[6].C8051datasheethttp://www.dzsc.com/datasheet/C8051_209879.html.
[7].TQFPdatasheethttp://www.dzsc.com/datasheet/TQFP_1528902.html.
[8].QFNdatasheethttp://www.dzsc.com/datasheet/QFN_2043367.html.
評論