查文庫>議論文> 51微控制器網路通訊及ARP協議論文

51微控制器網路通訊及ARP協議論文

51微控制器網路通訊及ARP協議論文

  本文主要以SST89E564RD型51微控制器和RTL8019AS 網路介面晶片為例,研究瞭如何將51微控制器與網路介面晶片進行硬體的電路連線,並透過將ARP協議進行簡化和重新定義,實現了將51微控制器接入TCP/IP進行網路通訊,對該領域的研究具有一定的借鑑意義。

  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。