- 相關(guān)推薦
51單片機網(wǎng)絡(luò )通信及ARP協(xié)議論文
本文主要以SST89E564RD型51單片機和RTL8019AS 網(wǎng)絡(luò )接口芯片為例,研究了如何將51單片機與網(wǎng)絡(luò )接口芯片進(jìn)行硬件的電路連接,并通過(guò)將ARP協(xié)議進(jìn)行簡(jiǎn)化和重新定義,實(shí)現了將51單片機接入TCP/IP進(jìn)行網(wǎng)絡(luò )通信,對該領(lǐng)域的研究具有一定的借鑒意義。
1 51單片機與網(wǎng)絡(luò )控制器的連接
RTL8019AS 網(wǎng)絡(luò )接口芯片是臺灣 Realtek 公司的代表性產(chǎn)品之一,該芯片基于 ISA 總線(xiàn)結構,性能穩定且價(jià)格低廉,在工業(yè)企業(yè)領(lǐng)域有非常廣泛的應用[ 1 ]。
1.1 RTL8019AS接口芯片的主要特性
RTL8019AS芯片主要優(yōu)點(diǎn)有:
一是支持熱插拔(即插即用)的動(dòng)態(tài)檢測;
二是完全兼容當前主流的NE2000 模式并可在8 位與 16 位兩種模式下工作;
三是有跳線(xiàn)與非跳線(xiàn)兩種模式可供選擇;
四是支持全雙工通信模式,雙工通信時(shí)信道的傳輸速率可達到10Mbps;
五是內置數據預取功能;
六是內置 16K 字節的閃存;
七是支持 8/16兩種前端總線(xiàn)工作模式,內置8 個(gè)中斷申請線(xiàn),同時(shí)有16 個(gè)I/O地址可供選擇。
1.2 51單片機與RTL8019AS連接實(shí)現網(wǎng)絡(luò )通信的電路設計
1.2.1 RTL8019AS 與 93C46 接口電路
93C46接口電路內部存儲容量為1Kbits,是四線(xiàn)串行接口EEPROM。RTL 8019 AS芯片在上電或者初始化復位時(shí),首先要從該芯片中讀取預設的配置信息才能完成初始化。 93C46 內部存儲器的前三個(gè)地址空間用于存放 RTL8019AS芯片的上電初始化信息;后5個(gè)地址空間用于記錄本機地址;0AH-11H 的地址空間分配給制造商存儲產(chǎn)品的信息;
12H~7FH 的地址空間用于記錄即插即用信息。RTL 8019 AS 的EECS引腳連接93C46的CS引腳,EESK引腳連接SK引腳,EEDI引腳連接DI,EEDO引腳連接DO引腳,即由EECS 提供片選信號,EESK 提供時(shí)鐘信號,EEDI 與 EEDO 定義為串行數據I/O通道。
1.2.2 RTL8019AS 與 SST89E564RD 接口電路的硬件連接
SST 系列單片機是美國 SST公司生產(chǎn)的一種中高端51系列單片機,SST89 E564RD 單片機是其SST系列單片機中的一個(gè)型號。將RTL8019AS 的SD0-SD7 引腳與SST89E564RD 的P0.0-P0.7引腳相連,相連后的引腳通過(guò)鎖存器與A0-A7引腳相接,同時(shí)將74HC573的A0-A5引腳與 RTL 8019AS 的SA0-SA5引腳相接,將SST89E564RD的P0口用作D/A端口。
此外,SST89E564RD的 P2.0-P2.6 引腳與 靜態(tài)存儲芯片TMS62256 的高7位地址線(xiàn)引腳相接,組合成訪(fǎng)問(wèn) TMS的15位地址總線(xiàn)。將SST 89E564 RD的SMEMRB 引腳接+5V,同時(shí)將IOCHDRY引腳懸空,JP 引腳為跳線(xiàn)模式,IOCS 16B引腳接地,使 RTL8019AS 工作在 8 位模式[ 2 ]。
1.3 網(wǎng)絡(luò )接口電路的地址定義
RTL8019AS中 SA0-SA19 的連接方式如下:SA5-SA7以及SA10-SA19 接 GND,SA8-SA9 接+5V電壓,SA0-SA4 接74HC573的A0-A5引腳。SST 單片機可以通過(guò) P0.0-P0.4來(lái)選中RTL8019AS 的 32 個(gè)I/O端口并相應地對其進(jìn)行R / W操作。此外,將RTL8019AS 的IORB 和 IOWB 引腳分別與SST89E564RD單片機的 RD 和 WR 相連作為R/W選通信號。
然后在 93C46 接口電路的低位00H 單元中寫(xiě)入 00H,將IOS0-IOS3 賦值為 0,這樣就可將RTL8019AS 選擇 I/O 端口的基本尋址地址定義為 300H,地 址 空 間 就為 00300H-0031FH。
2 51單片機系統網(wǎng)絡(luò )通信中 ARP 協(xié)議設計與實(shí)現
2.1 ARP協(xié)議工作流程
根據TCPIP協(xié)議的定義,任何的需要遠程通信和訪(fǎng)問(wèn)的主機在進(jìn)行任何形式的通信前必須獲得用于傳輸的本地地址。如果通信發(fā)起的源主機和通信目的端主機在同一個(gè)子網(wǎng)網(wǎng)段,那么這種通信形式不需要進(jìn)行網(wǎng)關(guān)的數據交換,本地地址就是目的主機的硬件地址。否則通信發(fā)起者就要通過(guò)本地路由器(網(wǎng)關(guān))的地址向目的主機進(jìn)行IP地址和物理地址的溝通。 本文只考慮不需要使用路由器的情況。
在不使用路由器的前提下,ARP 進(jìn)行地址解析的步驟如下:通信發(fā)起端在網(wǎng)絡(luò )中廣播接收端的 IP 地址,然后與廣播地址一致的.計算機在收到廣播后會(huì )相應地發(fā)送一個(gè)應答,該應答中包含了該應答計算機的IP 地址和實(shí)際物理地址的相關(guān)信息,接著(zhù)發(fā)送端用接收到的地址信息進(jìn)行數據分組和傳輸,最后發(fā)送端將獲取到 MAC 地址信息存入本地緩存,作為下次通信數據傳輸的地址配置信息,這個(gè)本地緩存就是ARP 緩存。
如果數據傳輸的地址相同,那么發(fā)送端就可以通過(guò)讀取 ARP 緩存來(lái)獲取 MAC 地址,如果數據傳輸的地址與以往不同,則重復上文的步驟直到獲取物理地址。
2.2 51單片機網(wǎng)絡(luò )通信時(shí)ARP 協(xié)議中緩存機制分析與實(shí)現
ARP 緩存條目可以使用靜態(tài)或者動(dòng)態(tài)兩種方式生成。使用靜態(tài)的方式生成 ARP 緩存條目時(shí)占用系統的資源較多,運行效率不高,所以通常采用動(dòng)態(tài)方式生成 ARP 緩存。ARP 條目的定時(shí)刷新主要通過(guò)定時(shí)器來(lái)實(shí)現,緩存的生存期由單片機定時(shí)器初始值和刷新定時(shí)器的時(shí)間間隔的乘積確定,ARP 條目的查詢(xún)操作定義可考慮直接對緩存中的IP 地址進(jìn)行逐個(gè)比較來(lái)完成查詢(xún)操作,具體的定義為:發(fā)送方先在 ARP 緩存中查詢(xún)目的方主機的地址,如果在緩存中能夠查找到,說(shuō)明此前進(jìn)行過(guò)該路由的通信過(guò)程,則可以在獲得目的主機的MAC 地址后開(kāi)始進(jìn)行數據傳輸;否則就需要進(jìn)行上文提到的獲取ARP緩存的步驟,發(fā)送ARP請求報文直至對方的進(jìn)行應答。
2.3 ARP報文格式
一個(gè)完整的 ARP 頭部包含 28個(gè)字節的數據,在硬件類(lèi)型部分選用 DIX 型以太網(wǎng)幀(值為 1);協(xié)議類(lèi)型部分選用 IP 協(xié)議(注冊值為0x0800);硬件地址長(cháng)度部分為 6字節;PLEN 為 IP 地址長(cháng)度部分值為4字節;操作代碼部分,當請求操作時(shí)值為 1,應答操作時(shí)值為 2。
【51單片機網(wǎng)絡(luò )通信及ARP協(xié)議論文】相關(guān)文章:
初中議論文(通用51篇)09-19
關(guān)于多媒體網(wǎng)絡(luò )通信系統的作文10-09
最遙遠的距離議論文(通用51篇)03-08
熱愛(ài)生活議論文(精選51篇)05-13
自律與他律議論文800字(精選51篇)04-20
寬容的議論文800字作文(通用51篇)10-08