基于CP2200的嵌入式以太網(wǎng)接口設(shè)計(jì)
4.2 TCP/IP協(xié)議棧的設(shè)計(jì)
圖4本系統(tǒng)使用的TCP/IP協(xié)議棧
我們結(jié)合項(xiàng)目的實(shí)際需要,自行開發(fā)了簡(jiǎn)化的TCP/IP協(xié)議[4],實(shí)現(xiàn)的協(xié)議包括UDP協(xié)議、IP協(xié)議、ARP協(xié)議、ICMP協(xié)議、TCP協(xié)議以及一個(gè)簡(jiǎn)單的HTTP協(xié)議。各協(xié)議自成一個(gè)模塊,可以根據(jù)實(shí)際需要,選擇使用全部的協(xié)議或部分協(xié)議,由于本應(yīng)用主要使用UDP協(xié)議傳輸數(shù)據(jù),因此,TCP部分和HTTP部分可以不使用,去掉這兩個(gè)模塊不會(huì)影響系統(tǒng)的正常工作。
在實(shí)現(xiàn)時(shí),每種協(xié)議的格式都定義為一個(gè)結(jié)構(gòu)體,發(fā)送數(shù)據(jù)時(shí),只需將應(yīng)用數(shù)據(jù)由高層傳遞到下一層,每層協(xié)議會(huì)自動(dòng)添加本層協(xié)議所需的報(bào)首內(nèi)容,如,發(fā)送UDP數(shù)據(jù)時(shí),將數(shù)據(jù)傳給UDP層,UDP層會(huì)在數(shù)據(jù)之前加入源目的端口號(hào)和目的端口號(hào)以及數(shù)據(jù)報(bào)長(zhǎng)度和校驗(yàn)和等8個(gè)字節(jié)的UDP報(bào)首信息,然后交給IP層處理,IP同樣地在UDP報(bào)文前加入IP報(bào)首信息,然后發(fā)送給下一層。IP層發(fā)送時(shí)先從ARP Cache中查詢目的IP地址對(duì)應(yīng)的MAC地址,如果有,則將該MAC地址放入相應(yīng)位置,然后發(fā)送;如果找不到目的MAC地址則需要發(fā)送ARP請(qǐng)求包,廣播請(qǐng)求擁有該IP地址的MAC地址,收到ARP回復(fù)包后,再將該IP數(shù)據(jù)發(fā)送到下一層,在IP報(bào)之前再封裝上源MAC和目的MAC地址以及幀類型后,就可以由CP2200進(jìn)行數(shù)據(jù)的發(fā)送,CP2200會(huì)自動(dòng)添加幀首用于幀同步的8字節(jié)前導(dǎo)符和最后的幀校驗(yàn)序列,真正將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。
5 結(jié)論
本論文的創(chuàng)新點(diǎn):本文設(shè)計(jì)的以太網(wǎng)接口采用新型的單芯片以太網(wǎng)控制器CP2200,可以實(shí)現(xiàn)不同數(shù)據(jù)的網(wǎng)絡(luò)實(shí)時(shí)傳輸,具有穩(wěn)定的工作性能、抗干擾抗震性能和較低的系統(tǒng)開發(fā)成本。簡(jiǎn)化的TCP/IP協(xié)議棧,既避免了通用嵌入式TCP/IP的移植工作,也避免了資源的浪費(fèi),同時(shí)便于修改和擴(kuò)充。
CP2200是一款新型的單芯片以太網(wǎng)控制器,具有高性能的并行外部?jī)?nèi)存界面,高達(dá)30 Mbps的操作速度可大幅縮短通訊時(shí)間,可使搭配的微控制器能以更高效率執(zhí)行通訊協(xié)議或其它程序?;贑P2200開發(fā)的以太網(wǎng)接口現(xiàn)以廣泛應(yīng)用于遠(yuǎn)程檢測(cè)和監(jiān)視、嵌入式Web服務(wù)器、POS設(shè)備、遠(yuǎn)程以太網(wǎng)-UART橋等領(lǐng)域,產(chǎn)生了良好的經(jīng)濟(jì)效益,具有廣闊的發(fā)展前景。
參考文獻(xiàn):
[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.
評(píng)論