嵌入式 TCP/IP 協(xié)議單片機(jī)技術(shù)在網(wǎng)絡(luò)通信中的應(yīng)用

相關(guān)專(zhuān)題: 芯片

  在因特網(wǎng)上,TCP/IP協(xié)議每時(shí)每刻保證了數(shù)據(jù)的準(zhǔn)確傳輸。在數(shù)據(jù)采集領(lǐng)域,如何利用TCP/IP協(xié)議在網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸成為一個(gè)炙手可熱的話(huà)題。在本系統(tǒng)中,筆者利用TCP/IP協(xié)議中的UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)、IP(網(wǎng)絡(luò)報(bào)文協(xié)議)、ARP(地址解析協(xié)議)及簡(jiǎn)單的應(yīng)用層協(xié)議成功地實(shí)現(xiàn)了單片機(jī)的網(wǎng)絡(luò)互連,既提高了數(shù)據(jù)傳輸?shù)乃俣,又保證了數(shù)據(jù)傳輸?shù)恼_性,同時(shí)也擴(kuò)展了數(shù)據(jù)傳輸?shù)挠行О霃健?/p>

  1 TCP/IP協(xié)議簡(jiǎn)介

  TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來(lái)的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。參考開(kāi)放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡(jiǎn)化的四層模型,分別為:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。

 。1)應(yīng)用層

  網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會(huì)話(huà)過(guò)程,如通常所說(shuō)的Http、Ftp、Telnet等。在本系統(tǒng)中,單片機(jī)系統(tǒng)傳遞來(lái)自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對(duì)大的數(shù)據(jù)報(bào)作打包拆報(bào)處理。

  (2)傳輸層

  傳輸層讓網(wǎng)絡(luò)程序通過(guò)明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號(hào)等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶(hù)數(shù)據(jù)協(xié)議UDP。在本系統(tǒng)中使用UDP數(shù)據(jù)報(bào)協(xié)議。

 。3)網(wǎng)絡(luò)層

  網(wǎng)絡(luò)層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡(luò)上的任一主機(jī)上,IP協(xié)議就是該層中傳送數(shù)據(jù)的機(jī)制。同時(shí)建立網(wǎng)絡(luò)間的互連,應(yīng)提供ARP地址解析協(xié)議,實(shí)現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。

 。4)鏈路層

  由控制同一物理網(wǎng)絡(luò)上的不同機(jī)器間數(shù)據(jù)傳送的底層協(xié)議組成,實(shí)現(xiàn)這一層協(xié)議的協(xié)議并屬于TCP/IP協(xié)議組。在本系統(tǒng)中這部分功能由單片機(jī)控制網(wǎng)卡芯片CS8900實(shí)現(xiàn)。

  

  2 硬件框圖

  如圖1所示,系統(tǒng)提供RJ45接口連接Ethernet網(wǎng)絡(luò),并且提供一個(gè)串口給用戶(hù)使用。系統(tǒng)板可以將從Ethernet上過(guò)來(lái)的IP數(shù)據(jù)報(bào)解包后送給串口,也可將從串口過(guò)來(lái)的數(shù)據(jù)封裝為IP包送到局域網(wǎng)中。外部RAM使用61C1024(128KB),從而為數(shù)據(jù)處理提供了很大的緩存;使用E2PROM——X25045,既可以作為看門(mén)狗使用,也可以將IP地址、網(wǎng)卡物理地址和其他參數(shù)保存在里面。

  CS8900芯片是Cirrus Logic公司生產(chǎn)的一種局域網(wǎng)處理芯片,它的封裝是100-pin TQFP,內(nèi)部集成了在片RAM、10BASE-T收發(fā)濾波器,并且提供8位和16位兩種接口,本文只介紹它的8位模式。

  NE103是一種脈沖變壓器,在CS8900的前端對(duì)網(wǎng)絡(luò)信號(hào)進(jìn)行脈沖波形變換。

  3 工作原理

  3.1 CS8900的工作原理

  CS8900與單片機(jī)按照8位方式連接,網(wǎng)卡芯片復(fù)位后默認(rèn)工作方式為I/O連接,基址是300H,下面對(duì)它的幾個(gè)主要工作寄存器進(jìn)行介紹(寄存器后括號(hào)內(nèi)的數(shù)字為寄存器地址相對(duì)基址300H的偏移量)。

  ·LINECTL(0112H)

  LINECTL決定CS8900的基本配置和物理接口。在本系統(tǒng)中,設(shè)置初始值為00d3H,選擇物理接口為10BASE-T,并使能設(shè)備的發(fā)送和接收控制位。

  ·RXCTL(0104H)

  RXCTL控制CS8900接收特定數(shù)據(jù)報(bào)。設(shè)置RXTCL的初始值為0d05H,接收網(wǎng)絡(luò)上的廣播或者目標(biāo)地址同本地物理地址相同的正確數(shù)據(jù)報(bào)。

  ·RXCFG(0102H)

  RXCFG控制CS8900接收到特定數(shù)據(jù)報(bào)后會(huì)引發(fā)接收中斷。RXCFG可設(shè)置為0103H,這樣當(dāng)收到一個(gè)正確的數(shù)據(jù)報(bào)后,CS8900會(huì)產(chǎn)生一個(gè)接收中斷。

  ·BUSCT(0116H)

  BUSCT可控制芯片的I/O接口的一些操作。設(shè)置初始值為8017H,打開(kāi)CS8900的中斷總控制位。

  ·ISQ(0120H)

  ISQ是網(wǎng)卡芯片的中斷狀態(tài)寄存器,內(nèi)部映射接收中斷狀態(tài)寄存器和發(fā)送中斷狀態(tài)寄存器的內(nèi)容。

  ·PORT0(0000H)

  發(fā)送和接收數(shù)據(jù)時(shí),CPU通過(guò)PORT0傳遞數(shù)據(jù)。

  ·TXCMD(0004H)

  發(fā)送控制寄存器,如果寫(xiě)入數(shù)據(jù)00C0H,那么網(wǎng)卡芯片在全部數(shù)據(jù)寫(xiě)入后開(kāi)始發(fā)送數(shù)據(jù)。

  ·TXLENG(0006H)

  發(fā)送數(shù)據(jù)長(zhǎng)度寄存器,發(fā)送數(shù)據(jù)時(shí),首先寫(xiě)入發(fā)送數(shù)據(jù)長(zhǎng)度,然后將數(shù)據(jù)通過(guò)PORT0寫(xiě)入芯片。

  以上為幾個(gè)最主要的工作寄存器(為16位),CS8900支持8位模式,當(dāng)讀或?qū)?6位數(shù)據(jù)時(shí),低位字節(jié)對(duì)應(yīng)偶地址,高位字節(jié)對(duì)應(yīng)奇地址。例如,向TXCMD中寫(xiě)入00C0H,則可將00h寫(xiě)入305H,將C0H寫(xiě)入304H。

  系統(tǒng)工作時(shí),應(yīng)首先對(duì)網(wǎng)卡芯片進(jìn)行初始化,即寫(xiě)寄存器LINECTL、RXCTL、RCCFG、BUSCT。發(fā)數(shù)據(jù)時(shí),寫(xiě)控制寄存器TXCMD,并將發(fā)送數(shù)據(jù)長(zhǎng)度寫(xiě)入TXLENG,然后將數(shù)據(jù)依次寫(xiě)入PORT0口,如將第一個(gè)字節(jié)寫(xiě)入300H,第二個(gè)字節(jié)寫(xiě)入301H,第三個(gè)字節(jié)寫(xiě)入300H,依此類(lèi)推。網(wǎng)卡芯片將數(shù)據(jù)組織為鏈路層類(lèi)型并添加填充位和CRC校驗(yàn)送到網(wǎng)絡(luò)同樣,單片機(jī)查詢(xún)ISO的數(shù)據(jù),當(dāng)有數(shù)據(jù)來(lái)到后,讀取接收到的數(shù)據(jù)幀。讀數(shù)據(jù)時(shí),單片機(jī)依次讀地址300H,301H,300H,301H…。

1  2  

微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線(xiàn)接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息