TCP/IP協(xié)議單片機(jī)在網(wǎng)絡(luò)通信中的數(shù)據(jù)傳輸技術(shù)
介紹了嵌入式TCP/IP協(xié)議單片機(jī)在網(wǎng)絡(luò)通信中的數(shù)據(jù)傳輸技術(shù)。將TCP/IP協(xié)議嵌入式單片機(jī)中,借助網(wǎng)卡芯片CS8900實(shí)現(xiàn)了單片機(jī)在局域網(wǎng)內(nèi)和通過局域網(wǎng)在因特網(wǎng)上的數(shù)據(jù)傳輸。用戶終端以單片機(jī)系統(tǒng)板為媒介,通過網(wǎng)絡(luò)與遠(yuǎn)程數(shù)據(jù)終端實(shí)現(xiàn)數(shù)據(jù)通信。
本文引用地址:http://www.ex-cimer.com/article/156367.htm關(guān)鍵詞:TCP/IP協(xié)議 單片機(jī) 因特網(wǎng) 局域網(wǎng) 網(wǎng)卡芯片
在因特網(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è)炙手可熱的話題。在本系統(tǒng)中,筆者利用TCP/IP協(xié)議中的UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、IP(網(wǎng)絡(luò)報(bào)文協(xié)議)、ARP(地址解析協(xié)議)及簡單的應(yīng)用層協(xié)議成功地實(shí)現(xiàn)了單片機(jī)的網(wǎng)絡(luò)互連,又保證了數(shù)據(jù)傳輸?shù)恼_性,同時(shí)也擴(kuò)展了數(shù)據(jù)傳輸?shù)挠行О霃健?/p>
1 TCP/IP協(xié)議簡介
TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。
(1)應(yīng)用層
網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。在本系統(tǒng)中,單片機(jī)系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對大的數(shù)據(jù)報(bào)作打包拆報(bào)處理。
(2)傳輸層
傳輸層讓網(wǎng)絡(luò)程序通過明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(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è)串口給用戶使用。系統(tǒng)板可以將從Ethernet上過來的IP數(shù)據(jù)報(bào)解包后送給串口,也可將從串口過來的數(shù)據(jù)封裝為IP包送到局域網(wǎng)中。外部RAM使用61C1024(128KB),從而為數(shù)據(jù)處理提供了很大的緩存;使用E2PROM——X25045,既可以作為看門狗使用,也可以將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的前端對網(wǎng)絡(luò)信號進(jìn)行脈沖波形變換。
3 工作原理
3.1 CS8900的工作原理
CS8900與單片機(jī)按照8位方式連接,網(wǎng)卡芯片復(fù)位后默認(rèn)工作方式為I/O連接,基址是300H,下面對它的幾個(gè)主要工作寄存器進(jìn)行介紹(寄存器后括號內(nèi)的數(shù)字為寄存器地址相對基址300H的偏移量)。
tcp/ip相關(guān)文章:tcp/ip是什么
通信相關(guān)文章:通信原理
評論