網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 體裁作文 > 議論文

51單片機網絡通信及ARP協議論文

欄目: 議論文 / 發佈於: / 人氣:5.92K

本文主要以SST89E564RD型51單片機和RTL8019AS 網絡接口芯片為例,研究瞭如何將51單片機與網絡接口芯片進行硬件的電路連接,並通過將ARP協議進行簡化和重新定義,實現了將51單片機接入TCP/IP進行網絡通信,對該領域的研究具有一定的借鑑意義。

51單片機網絡通信及ARP協議論文

1 51單片機與網絡控制器的連接

RTL8019AS 網絡接口芯片是台灣 Realtek 公司的代表性產品之一,該芯片基於 ISA 總線結構,性能穩定且價格低廉,在工業企業領域有非常廣泛的應用[ 1 ]。

1.1 RTL8019AS接口芯片的主要特性

RTL8019AS芯片主要優點有:

一是支持熱插拔(即插即用)的動態檢測;

二是完全兼容當前主流的NE2000 模式並可在8 位與 16 位兩種模式下工作;

三是有跳線與非跳線兩種模式可供選擇;

四是支持全雙工通信模式,雙工通信時信道的傳輸速率可達到10Mbps;

五是內置數據預取功能;

六是內置 16K 字節的閃存;

七是支持 8/16兩種前端總線工作模式,內置8 箇中斷申請線,同時有16 個I/O地址可供選擇。

1.2 51單片機與RTL8019AS連接實現網絡通信的電路設計

1.2.1 RTL8019AS 與 93C46 接口電路

93C46接口電路內部存儲容量為1Kbits,是四線串行接口EEPROM。RTL 8019 AS芯片在上電或者初始化復位時,首先要從該芯片中讀取預設的配置信息才能完成初始化。 93C46 內部存儲器的前三個地址空間用於存放 RTL8019AS芯片的上電初始化信息;後5個地址空間用於記錄本機地址;0AH-11H 的地址空間分配給製造商存儲產品的信息;

12H~7FH 的地址空間用於記錄即插即用信息。RTL 8019 AS 的EECS引腳連接93C46的CS引腳,EESK引腳連接SK引腳,EEDI引腳連接DI,EEDO引腳連接DO引腳,即由EECS 提供片選信號,EESK 提供時鐘信號,EEDI 與 EEDO 定義為串行數據I/O通道。

1.2.2 RTL8019AS 與 SST89E564RD 接口電路的硬件連接

SST 系列單片機是美國 SST公司生產的一種中高端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 引腳與 靜態存儲芯片TMS62256 的高7位地址線引腳相接,組合成訪問 TMS的15位地址總線。將SST 89E564 RD的SMEMRB 引腳接+5V,同時將IOCHDRY引腳懸空,JP 引腳為跳線模式,IOCS 16B引腳接地,使 RTL8019AS 工作在 8 位模式[ 2 ]。

1.3 網絡接口電路的地址定義

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端口並相應地對其進行R / W操作。此外,將RTL8019AS 的IORB 和 IOWB 引腳分別與SST89E564RD單片機的 RD 和 WR 相連作為R/W選通信號。

然後在 93C46 接口電路的低位00H 單元中寫入 00H,將IOS0-IOS3 賦值為 0,這樣就可將RTL8019AS 選擇 I/O 端口的基本尋址地址定義為 300H,地 址 空 間 就為 00300H-0031FH。

2 51單片機系統網絡通信中 ARP 協議設計與實現

2.1 ARP協議工作流程

根據TCPIP協議的定義,任何的需要遠程通信和訪問的主機在進行任何形式的通信前必須獲得用於傳輸的本地地址。如果通信發起的源主機和通信目的端主機在同一個子網網段,那麼這種通信形式不需要進行網關的數據交換,本地地址就是目的主機的硬件地址。否則通信發起者就要通過本地路由器(網關)的地址向目的主機進行IP地址和物理地址的溝通。 本文只考慮不需要使用路由器的情況。

在不使用路由器的前提下,ARP 進行地址解析的步驟如下:通信發起端在網絡中廣播接收端的 IP 地址,然後與廣播地址一致的.計算機在收到廣播後會相應地發送一個應答,該應答中包含了該應答計算機的IP 地址和實際物理地址的相關信息,接着發送端用接收到的地址信息進行數據分組和傳輸,最後發送端將獲取到 MAC 地址信息存入本地緩存,作為下次通信數據傳輸的地址配置信息,這個本地緩存就是ARP 緩存。

如果數據傳輸的地址相同,那麼發送端就可以通過讀取 ARP 緩存來獲取 MAC 地址,如果數據傳輸的地址與以往不同,則重複上文的步驟直到獲取物理地址。

2.2 51單片機網絡通信時ARP 協議中緩存機制分析與實現

ARP 緩存條目可以使用靜態或者動態兩種方式生成。使用靜態的方式生成 ARP 緩存條目時佔用系統的資源較多,運行效率不高,所以通常採用動態方式生成 ARP 緩存。ARP 條目的定時刷新主要通過定時器來實現,緩存的生存期由單片機定時器初始值和刷新定時器的時間間隔的乘積確定,ARP 條目的查詢操作定義可考慮直接對緩存中的IP 地址進行逐個比較來完成查詢操作,具體的定義為:發送方先在 ARP 緩存中查詢目的方主機的地址,如果在緩存中能夠查找到,説明此前進行過該路由的通信過程,則可以在獲得目的主機的MAC 地址後開始進行數據傳輸;否則就需要進行上文提到的獲取ARP緩存的步驟,發送ARP請求報文直至對方的進行應答。

2.3 ARP報文格式

一個完整的 ARP 頭部包含 28個字節的數據,在硬件類型部分選用 DIX 型以太網幀(值為 1);協議類型部分選用 IP 協議(註冊值為0x0800);硬件地址長度部分為 6字節;PLEN 為 IP 地址長度部分值為4字節;操作代碼部分,當請求操作時值為 1,應答操作時值為 2。