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