郭 靜,陳曉宇
(河南機電高等??茖W校,河南 新鄉(xiāng) 453000)
RTL8019AS是我國臺灣Realtek公司生產(chǎn)的一種高集成度的以太網(wǎng)控制器,適用于即插即用NE2000可兼容適配器,并具有全雙工和省電特點。三種省電控制特點使得RTL8019AS成為綠色PC系統(tǒng)網(wǎng)絡器件的理想選擇。全雙工功能使得RTL8019AS可通過雙絞線與全雙工以太網(wǎng)網(wǎng)關連接,進行同步收發(fā)。雖然ISO推出了網(wǎng)絡協(xié)議模型,并且實際應用中出現(xiàn)了多種網(wǎng)絡及協(xié)議,目前應用最廣泛的應該是TCP/IP協(xié)議。
所謂的傳輸介質(zhì),就是用什么辦法將各個網(wǎng)絡節(jié)點連接起來。我們生活中最常見的就是網(wǎng)線,一般是灰色的塑料皮,里面包有8根,4對不同顏色的導線。兩端接口處,使用RJ45接頭(也叫水晶頭)連接起來。通常網(wǎng)線有兩種類型:直通網(wǎng)線和交叉網(wǎng)線。所謂的直通網(wǎng)線就是RJ45兩端的導線排列方式一致,實際使用時,一端接在PC機的網(wǎng)卡上,另一端接在HUB或者路由器上[1]。
在網(wǎng)線上進行傳輸?shù)氖菙?shù)字信號,因此需要對這些信號進行組織,并且建立同步信號。通常將一組數(shù)據(jù)信號叫做一幀。目前物理層使用的通信標準是802.3,它定義的每幀中的各域如圖1所示。
圖1 802.3幀格式
填充位可變,如果數(shù)據(jù)域的數(shù)據(jù)小于46字節(jié),那么就由填充位將不夠的部分補齊,以保證整個幀的數(shù)據(jù)(除去前導位和幀起始位)為60字節(jié)。目的MAC地址為此幀要發(fā)送到的MAC地址(此地址全球唯一),源MAC地址為發(fā)送本節(jié)點的MAC地址,一共6字節(jié),由低位到高位分別用16進制表示,可在dos命令行中用ipconfig命令查詢本機的網(wǎng)卡地址。
TCP/IP在整個網(wǎng)絡系統(tǒng)的地位如圖2所示。
電子郵件協(xié)議:SMTP,遠程登錄協(xié)議:TELNET,RPC,文件傳輸協(xié)議:FTP,TFTP,WWW瀏覽協(xié)議:HTML(超文本標記語言),網(wǎng)絡管理協(xié)議:SNMP,域名系統(tǒng):DNS,抽象語法記號:ASN.1,引導程序:BOOTP&DHCP。查錯和控制報文協(xié)議:ICMP,組播協(xié)議:IGMP,地址解釋協(xié)議:ARP,RARP,路由協(xié)議:GGP,SPF,EGP,RIP,OSPF 等。
圖2 TCP/IP協(xié)議
由臺灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)控制器,由于其優(yōu)良的性能、低廉的價格,使其在市場上10Mbps網(wǎng)卡中占有相當?shù)谋壤?/p>
主要性能:
1)符號 Ethernet II與 IEEE802.3(10Base5、10Base2、10BaseT)標準;
2)全雙工,收發(fā)可同時達到10Mbps的速率;
3)內(nèi)置16KB的SRAM,用于收發(fā)緩沖,降低對主處理器的速度要求;
4)支持8/16位數(shù)據(jù)總線,8個中斷申請線以及16個I/O基地址選擇;
5)支持 UTP、AUI、BNC 自動檢測,還支持對10BaseT拓撲結構的自動極性修正;
6)允許4個診斷LED引腳可編程輸出;
7)100腳的PQFP封裝,縮小了PCB尺寸。
RTL8019AS內(nèi)部可分為遠程 DMA接口、本地DMA接口、MAC(介質(zhì)訪問控制)邏輯、數(shù)據(jù)編碼解碼邏輯和其他端口。
此次調(diào)試RTL8019AS所用的實驗箱型號為:S3CEV40-I,Arm型號為S3C44B0X。與RTL8019AS的連接如圖3所示。
圖3 S3C44B0X與RTL8019AS的連接圖
由上圖可以看出,地址線的 A13-9連接到RTL8019AS的SA[4-0],另外片選線通過74LV138接到RTL8019AS的AEN引腳。若使CS7為0,必須nGCS1=0(A25=1),A20=1,A19=1,A18=0,即RTL8019AS 的基地址為 0000,0010,0001,10000,0000,0000,0000,0000B,即 RegAdd(Base)=2180000H。
由于SA0連接到A9,所以RTL8019AS的對應到S3C44B0X的地址必須右移9位,即:
按照下圖4格式向RTL8019AS的遠程DMA(地址10H~17H,任何一個都可)后,啟動發(fā)送命令,RTL8019AS就按照802.3的格式發(fā)出數(shù)據(jù)幀。
圖4 向RTL8019AS發(fā)送數(shù)據(jù)的格式
從RTL8019AS接收到的數(shù)據(jù)的幀格式如圖5。
圖5 RTL8019AS接收幀格式
對于網(wǎng)絡的分析,必須查看物理連接是否正確,然后再查看幀的各域數(shù)據(jù)是否完整、正確。完成這一功能的軟件,稱為抓包工具,常用的是Ethereal。Ethereal的使用如下:
安裝完成后,打開Ethereal后,點擊圖8中紅色圓圈圈住的地方,進行基本配置,出現(xiàn)的配置界面如圖6示。
圖6 捕獲選項設置
如圖8所示,點擊下拉框的箭頭處,按照所使用的計算機的實際配置選擇網(wǎng)卡。設置好網(wǎng)卡后,點擊Start,軟件就開始抓包了,如圖7。
圖7 Ethereal正在抓取UDP包
點擊Stop,Ethereal停止,顯示抓到的數(shù)據(jù)包的分析結果,如下圖8所示。
圖8 對抓到的UDP數(shù)據(jù)報的分析結果
對圖8所抓到的UDP數(shù)據(jù)報進行分析,可以更加深刻地理解以太網(wǎng)的通信原理。從0-5的6個字節(jié)數(shù)據(jù)是目的節(jié)點的MAC地址(此處是筆者所使用的PC機的網(wǎng)卡MAC),UDP數(shù)據(jù)報進行分析見表1所示。
注:Ethereal把所有經(jīng)過所選擇網(wǎng)卡的數(shù)據(jù)包全部抓取,并分析顯示。
在實際編程時,經(jīng)常用VC或VB等高級語言所提供的控件進行快速開發(fā),如WinSocket等。在使用此類控件進行編程時,在程序調(diào)試時,程序員所能看到的數(shù)據(jù)僅僅是收到的應用數(shù)據(jù),比如使用UDP協(xié)議,只能看到UDP數(shù)據(jù)域中的數(shù)據(jù)(即是表3中的6個字節(jié)的數(shù))。
如果下位機發(fā)送出去數(shù)據(jù),PC機沒有反應,應該是下面幾方面的問題:
(1)物理連接不正常,網(wǎng)線沒有連接好。
(2)發(fā)出的數(shù)據(jù)幀格式不正確,或者校驗和數(shù)據(jù)不對。
(3)IP或者UDP的長度與實際長度不一致。
(4)IP地址不在同一個網(wǎng)段內(nèi),或者目的MAC地址與接收方的MAC地址不一致。
對于前三種情況,最好運行Ethereal進行抓包,如果沒有任何數(shù)據(jù),說明物理連接有問題,使用萬用表或者網(wǎng)絡測試儀測試一下。如果數(shù)據(jù)幀中的數(shù)據(jù)不對,Ethereal會指出錯誤所在,并給出正確的數(shù)據(jù)。
如果屬于第4種情況,在dos命令行運行arp–a命令,查看設置,如果沒有,這需要使用arp–s IP MAC根據(jù)實際情況進行設置,然后再調(diào)試程序即可。(此處設置的目的是告訴PC機,它的數(shù)據(jù)包的目的MAC和IP地址),如圖9所示。
圖9 目的MAC、IP的設置
本文以基于TCP/IP技術終端系統(tǒng)的研究為例,詳細講述了RTL8019AS網(wǎng)卡芯片的實現(xiàn)方法,并給出了單片機中TCP/IP協(xié)議的精簡方案。本系統(tǒng)已經(jīng)在實踐中得到較好的應用,其可行性、可靠性和靈活性已經(jīng)得到證實,并且基于以太網(wǎng)系統(tǒng)低廉的造價、簡潔的布線更使得基于RTL8019AS的以太網(wǎng)技術成為了替代傳統(tǒng)現(xiàn)場總線技術的一種重要手段。
[1]吳全玉,陳杰.基于RTL8019AS的單片機網(wǎng)絡通信接口設計[J].現(xiàn)代電子技術,2008,(1).
[2]陳傳虎.基于RTL8019AS的串口與以太網(wǎng)接口轉(zhuǎn)換器的設計[J].電子工程師,2008,(5).
[3]蘇錦秀,楊慶江,張廣璐.以太網(wǎng)控制芯片RTL8019AS詳細配置[J].現(xiàn)代電子技術,2007,(2).