《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 用51單片機控制RTL8019AS實現以太網通訊

用51單片機控制RTL8019AS實現以太網通訊

2008-10-20
作者:曹 宇 魏 豐 胡士毅

  摘? 要: 介紹以太網的幀協議和以太網控制芯片RTL8019AS的結構特性;介紹51單片機控制" title="單片機控制">單片機控制RTL8019AS實現以太網通訊的硬件設計方案;采用C51語言實現ARP協議(地址解析協議),并進行了系統的調試與驗證。

  關鍵詞: RTL8019AS? Ethernet? 51單片機? TCP/IP協議

?

  互聯網絡硬件、軟件的迅猛發展,使得網絡用戶呈指數增長,在使用計算機進行網絡互聯的同時,各種家電設備、儀器儀表以及工業生產中的數據采集與控制設備在逐步地走向網絡化,以便共享網絡中龐大的信息資源。在電子設備日趨網絡化的背景下,利用廉價的51單片機來控制RTL8019AS實現以太網通訊具有十分重要的意義。

1 以太網(Ethernet)協議

  一個標準的以太網物理傳輸幀由七部分組成(如表1所示,單位:字節)。

?

?

  除了數據段的長度不定外,其他部分的長度固定不變。數據段為46~1500字節。以太網規定整個傳輸包的最大長度不能超過1514字節(14字節為DA、SA、TYPE),最小不能小于60字節。 除去DA、SA、TYPE 14字節,還必須傳輸46字節的數據,當數據段的數據不足46字節時需填充,填充字符的個數不包括在長度字段里;超過1500字節時,需拆成多個幀傳送。事實上,發送數據時,PR、SD、FCS及填充字段這幾個數據段由以太網控制器" title="以太網控制器">以太網控制器自動產生;而接收數據時,PR、SD被跳過,控制器一旦檢測到有效的前序字段(即PR、SD),就認為接收數據開始。

2 RTL8019AS以太網控制器簡介

  由臺灣Realtek公司生產的RTL8019AS以太網控制器,由于其優良的性能、低廉的價格,使其在市場上10Mbps網卡中占有相當的比例。

2.1 主要性能

  (1)符合Ethernet II與IEEE802.3(10Base5、10Base2、10BaseT)標準;

  (2)全雙工,收發可同時達到10Mbps的速率;

  (3)內置16KB的SRAM,用于收發緩沖,降低對主處理器的速度要求;

  (4)支持8/16位數據總線,8個中斷申請線以及16個I/O" title="I/O">I/O基地址選擇;

  (5)支持UTP、AUI、BNC自動檢測,還支持對10BaseT拓撲結構的自動極性修正;

  (6)允許4個診斷LED引腳可編程輸出;

  (7)100腳的PQFP封裝,縮小了PCB尺寸。

2.2 內部結構

  RTL8019AS內部可分為遠程DMA接口、本地DMA接口、MAC(介質訪問控制)邏輯、數據編碼解碼邏輯和其他端口。內部結構如圖1所示。

?

?

  遠程DMA接口是指單片機對RTL8019AS內部RAM進行讀寫的總線,即ISA總線的接口部分。單片機收發數據只需對遠程DMA操作。本地DMA接口是指RTL8019AS與網線的連接通道,完成控制器與網線的數據交換。

  MAC(介質訪問控制)邏輯完成以下功能:當單片機向網上發送數據時,先將一幀數據通過遠程DMA通道送到RTL8019AS中的發送緩存區,然后發出傳送命令;當RTL8019AS完成了上一幀的發送后,再開始此幀的發送。RTL8019AS接收到的數據通過MAC比較、CRC校驗后,由FIFO存到接收緩沖區;收滿一幀后,以中斷或寄存器標志的方式通知主處理器。FIFO邏輯對收發數據作16字節的緩沖,以減少對本地DMA請求的頻率。

2.3 內部RAM地址空間分配

  RTL8019AS內部有兩塊RAM區。一塊16K字節,地址為0x4000~0x7fff;一塊32字節,地址為0x0000~0x001f。RAM按頁存儲,每256字節為一頁。一般將RAM的前12頁(即0x4000~0x4bff)存儲區作為發送緩沖區;后52頁(即0x4c00~0x7fff)存儲區作為接收緩沖區。第0頁叫Prom頁,只有32字節,地址為0x0000~0x001f,用于存儲以太網物理地址。

  要接收和發送數據包就必須通過DMA讀寫RTL8019AS內部的16KB RAM。它實際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線是RTL8019AS讀或寫該RAM,即本地DMA;另一套總線是單片機讀或寫該RAM,即遠程DMA。

2.4 I/O地址分配

  RTL8019AS具有32個輸入輸出地址,地址偏移量為00H~1FH。其中00H~0FH共16個地址,為寄存器地址。寄存器分為4頁:PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(Command Register命令寄存器)中的PS1、PS0位來決定要訪問的頁。但與NE2000兼容的寄存器只有前3頁,PAGE3是RTL8019AS自己定義的,對于其他兼容NE2000的芯片如DM9008無效。遠程DMA地址包括10H~17H,都可以用來做遠程DMA端口,只要用其中的一個就可以了。復位端口包括18H~1FH共8個地址,功能一樣,用于RTL8019AS復位。

3 接口電路設計

  下面介紹51系列單片機與RTL8019AS的接口電路,實現的網絡接口采用UTP(無屏蔽雙絞線)RJ-45接口。

  圖2給出了89C52單片機控制RTL8019AS實現以太網通訊的接口電路框圖。用到的主要芯片有89C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位鎖存)、62256(32K字節的RAM)。為分配好地址空間,采用對93C46進行讀(或寫)操作來設置RTL8019AS的端口I/O基地址和以太網物理地址。

?

?

  93C46是采用4線SPI串行接口的Serial EEPROM,容量為1Kbit(64×16bit),主要保存RTL8019AS的配置信息。00H~03H的地址空間用于存儲RTL8019AS內配置寄存器" title="配置寄存器">配置寄存器CONFIG1~4的上電初始化值;地址04H~11H存儲網絡節點地址即物理地址;地址12H~7FH內存儲即插即用的配置信息。RTL8019AS通過引腳EECS、EESK、EEDI控制93C46的CS、SK、DI引腳,通過EEDO接收93C46的DO引腳的狀態。RTL8019AS復位后讀取93C46的內容并設置內部寄存器的值,如果93C46中內容不正確,RTL8019AS就無法正常工作。先通過編程器如ALL07把配置好的數據寫入93C46,再焊入電路。

  對93C46進行數據配置:數據00H寫入93C46的地址00H內;93C46地址04H~0AH中存放的是物理地址,可以寫入設計所需的物理地址值,或不修改,采用原始值為物理地址。通過編程器讀出04H~0AH的原始值為52544CC59906,即所采用的物理地址。

這樣,RTL8019AS復位后讀取93C46中配置好的內容,對應設置配置寄存器CONFIG1的值為00H,CONFIG1的低4位IOS3~0用于選擇I/O 基地址。IOS3~0設置值均為0時,RTL8019AS選擇的端口I/O 基地址為300H。

  RTL8019AS的地址為20位,那么用到RTL8019AS的地址空間為00300H~0031FH,用二進制表示00300H~0031FH,可以發現第19位到第5位是固定的:000000000011000。RTL8019 AS的20根地址線SA0~SA19如表2連接。

?

?

  通過ADDR15、I/OW、I/OR來劃分RTL8019AS和62256的地址空間。ADDR15接62256的CE腳,低電平時選擇62256;高電平" title="高電平">高電平時選擇RTL8019AS的地址空間。89C52單片機的地址為16位,按圖2的電路框圖連接地址總線,在程序里則通過使用8000H~801FH來選中RTL8019AS的地址空間。定義reg00~reg1f 來對應端口00300H~0031FH:

  #define reg00 XBYTE[0x8000] /* 300H*/

  #define reg01 XBYTE[0x8001] /* 301H*/

  ...

  #define reg1f XBYTE[0x801F] /* 31FH*/

  讀寫操作、復位操作對應的引腳按表3連接。

?

?

  采用10BASE-T布線標準通過雙絞線進行以太網通訊,而RTL8019AS內置了10BASE-T收發器,所以網絡接口的電路比較簡單。外接一個隔離LPF濾波器0132,TPIN±為接收線,TPOUT±為發送線,經隔離后分別與RJ-45接口的RX±、TX±端相連。

時鐘電路通過T1、T2接一個20MHz晶振以及2個電容,實現全雙工方式。

  LED0、LED1各接一發光二極管以反映通訊狀態:LED0表示LED_COL,即通訊有沖突;LED1表示LED_RX,即接收到網上的信息包。

4 程序設計

  所有程序采用Franclin C51語言編制,可讀性強,移植性好,開發簡易。

4.1 復位RTL8019AS

  89C52的P3.4連接RTL8019AS的RESDRV來進行復位操作。RSTDRV為高電平有效,至少需要 800ns的寬度。給該引腳施加一個1μs以上的高電平就可以復位。施加一個高電平后,然后施加一個低電平。復位過程將執行一些操作,至少需要2ms的時間,推薦等待更久的時間之后如100ms之后才對它操作,以確保完全復位。

4.2 初始化RTL8019AS

  初始化頁0與頁1的相關寄存器,頁2的寄存器是只讀的,不可以設置,頁3的寄存器不是NE2000兼容的,不用設置。

  (1)CR=0x21,選擇頁0的寄存器;

  (2)TPSR=0x45,發送頁的起始頁地址,初始化為指向第一個發送緩沖區的頁即0x40;

  (3)PSTART=0x4c,PSTOP=0x80,構造緩沖環:0x4c~0x80;

  (4)BNRY=0x4c,設置指針;

  (5)RCR=0xcc,設置接收配置寄存器,使用接收緩沖區,僅接收自己地址的數據包(以及廣播地址數據包)和多點播送地址包,小于64字節的包丟棄,校驗錯的數據包不接收;

  (6)TCR=0xe0,設置發送配置寄存器,啟用CRC自動生成和自動校驗,工作在正常模式;

  (7)DCR=0xc8,設置數據配置寄存器,使用FIFO緩存,普通模式,8位數據DMA;

  (8)IMR=0x00,設置中斷屏蔽寄存器,屏蔽所有中斷;

  (9)CR=0x61,選擇頁1的寄存器;

  (10)CURR=0x4d,CURR是RTL8019AS寫內存的指針,指向當前正在寫的頁的下一頁,初始化時指向0x4c+1=0x4d;

  (11)設置多址寄存器MAR0~MAR5,均設置為0x00;

  (12)設置網卡地址寄存器PAR0~PAR5;

  (13)CR=0x22,選擇頁1的寄存器,進入正常工作狀態。

4.3 發送幀

  將待發送的數據按幀格式封裝,通過遠程DMA通道送到RTL8019AS中的發送緩存區,然后發出傳送命令,完成幀的發送。需要設置以太網目的地址、以太網源地址、協議類型,再按所設置的協議類型來設置數據段。之后啟動遠程DMA,數據寫入RTL8019AS的RAM,再啟動本地DMA,將數據發到網上。

  RTL8019AS無法將整個數據包通過DMA通道一次存入FIFO,則在構造一個新的數據包之前必須先等待前一數據包發送完成。為提高發送效率,設計將12頁的發送緩存區分為兩個6頁的發送緩存區,一個用于數據包發送,另一個用于構造新的數據包,交替使用。

5 軟件的調試與驗證

  調試環境包括RTL8019AS實驗板、PC機(帶網卡)以及網線。

  用C51語言編程,實現TCP/IP協議中ARP數據幀的收發。

  實驗中,單片機首先構造一個ARP請求包發給PC機,PC機收到后會發送一個ARP應答包給單片機,單片機收到該應答包后再發一個ARP請求包給PC機,如此不斷循環,來測試系統的性能。在PC機上采用Sniffer軟件如Windump軟件來監視(或截獲)PC機網卡接收ARP包的情況,取得了滿意的效果。

?

參考文獻

1 赫爾德·吉爾伯特.以太網(第三版).北京:人民郵電出版社,2000

2 新時代工作室.網絡和通信教程.北京:中國電力出版社, 2000

3 RTL8019AS用戶手冊.REALTEK 半導體公司,2000
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美不卡视频一区发布| 亚洲国产一区视频| 亚洲福利电影| 欧美系列电影免费观看| 国产日产高清欧美一区二区三区| 国产一区二区三区久久| 亚洲成色精品| 亚洲欧美变态国产另类| 羞羞色国产精品| 欧美大片一区二区三区| 久久在线播放| 亚洲欧美国产制服动漫| 女主播福利一区| 可以看av的网站久久看| 亚洲精品在线观| 久久激情视频免费观看| 欧美日韩在线综合| 亚洲视频精选| 久久精品日产第一区二区三区| 欧美日韩国产成人在线观看| 久久精品国产免费看久久精品| 国产精品成人久久久久| 国产精自产拍久久久久久蜜| 亚洲国产婷婷香蕉久久久久久| 国产欧美精品在线观看| 久久精品一区二区国产| 欧美日韩在线观看一区二区| 亚洲美女在线国产| 久久久久久尹人网香蕉| 玖玖视频精品| 亚洲女与黑人做爰| 永久555www成人免费| 国产日韩欧美91| 欧美日韩在线看| 亚洲天天影视| 一区二区三区四区蜜桃| 国产精品亚洲综合| 久久精品国产亚洲一区二区三区| 亚洲美女啪啪| 亚洲一区免费| 国产午夜精品久久久久久久| 国产在线精品一区二区夜色| 国产精品国产精品国产专区不蜜| 国产欧美日韩91| 久久精品观看| 伊人久久婷婷色综合98网| 欧美日韩一区二区三区在线视频| 欧美乱人伦中文字幕在线| 久久亚洲综合色| 欧美精品一区二区视频| 亚洲激情网站免费观看| 欧美一区中文字幕| 亚洲电影av| 精品成人免费| 99综合精品| 亚洲电影在线观看| 欧美精选午夜久久久乱码6080| 久久躁狠狠躁夜夜爽| 欧美中文字幕第一页| 欧美成人一区二区三区在线观看| 欧美女同在线视频| 女主播福利一区| 欧美日韩免费区域视频在线观看| 一区二区三区四区精品| 美日韩精品视频免费看| 91久久香蕉国产日韩欧美9色| 欧美日韩调教| 亚洲精品人人| 国产精品一区二区三区免费观看| 国产精品jvid在线观看蜜臀| 亚洲精品色图| 国产欧美1区2区3区| 欧美一区二区免费观在线| 亚洲在线一区二区三区| 国产亚洲一级高清| 国产精品夫妻自拍| 国产精品videosex极品| 亚洲视频在线观看网站| 欧美三日本三级三级在线播放| 亚洲精品一区二区三区99| 亚洲精品久久久久中文字幕欢迎你| 欧美亚洲动漫精品| 久久青草欧美一区二区三区| 1024国产精品| 久久综合久久久久88| 亚洲肉体裸体xxxx137| 亚洲国产成人av好男人在线观看| 亚洲精品免费在线观看| 久久一区精品| 亚洲国产欧美在线| 国产精品视频精品| 国产精品国产三级国产aⅴ无密码| 欧美一级欧美一级在线播放| 免费亚洲电影在线| 亚洲理论在线观看| 欧美性大战xxxxx久久久| 欧美日韩在线一区二区| 亚洲美女诱惑| 性色av一区二区怡红| 在线日韩一区二区| 国产综合亚洲精品一区二| 欧美日本中文字幕| 日韩视频精品在线| 嫩模写真一区二区三区三州| 欧美视频日韩视频在线观看| 欧美日韩精品一区二区在线播放| 欧美亚洲网站| 欧美激情视频给我| 亚洲男人的天堂在线| 欧美性理论片在线观看片免费| 久久成人免费网| 日韩网站免费观看| 久久九九99视频| 这里只有精品电影| 久久这里有精品15一区二区三区| **欧美日韩vr在线| 欧美日韩一区二区国产| 亚洲人成网站精品片在线观看| 亚洲福利免费| 亚洲欧美一区在线| 亚洲国产精品高清久久久| 亚洲一区二区三区免费在线观看| 亚洲国产精品一区二区第一页| 久久亚洲视频| 一本一道久久综合狠狠老精东影业| 国产又爽又黄的激情精品视频| 极品尤物av久久免费看| 亚洲欧美网站| 亚洲伊人观看| 久久久久久久综合日本| 日韩视频免费在线观看| 久久在线免费视频| 亚洲激情国产| 亚洲经典三级| 欧美在线一级va免费观看| 欧美成人午夜剧场免费观看| 午夜国产精品影院在线观看| 欧美亚洲视频| 国产精品久久国产精品99gif| 亚洲高清视频中文字幕| 亚洲激情欧美| 欧美金8天国| 国产日韩在线不卡| 欧美高清影院| 亚洲一级影院| 免费成人你懂的| 国产精品扒开腿爽爽爽视频| 亚洲乱码国产乱码精品精98午夜| 午夜免费在线观看精品视频| 亚洲电影第1页| 久久久久久亚洲精品杨幂换脸| 欧美xart系列在线观看| 国产精品美女久久久久aⅴ国产馆| 欧美好吊妞视频| 国产精品www色诱视频| 先锋影音久久久| 激情欧美日韩一区| 一区国产精品| 91久久精品日日躁夜夜躁欧美| 久久亚洲综合| 国产精品视频精品视频| 国产精品萝li| 亚洲美洲欧洲综合国产一区| 亚洲视频精选在线| 国产精品区一区| 欧美在线中文字幕| 久久日韩精品| 在线观看亚洲精品视频| 在线观看视频欧美| 激情小说另类小说亚洲欧美| 久久精精品视频| 亚洲电影视频在线| 欧美揉bbbbb揉bbbbb| 在线观看成人一级片| 欧美日韩国产精品一区二区亚洲| 欧美日本精品一区二区三区| 99在线热播精品免费99热| 久久综合久久综合九色| 欧美日韩在线播放一区| 黄色成人av在线| 亚洲一区二区精品视频| 久久久久在线观看| 欧美一激情一区二区三区| 亚洲成色www8888| 黄色亚洲免费| 欧美伦理a级免费电影| 欧美日韩三级电影在线| 精品96久久久久久中文字幕无| 欧美精品www| 欧美激情成人在线视频| 亚洲人成在线播放| 欧美凹凸一区二区三区视频| 欧美精品二区| 国语自产精品视频在线看抢先版结局| 欧美日韩综合网| 久久伊人精品天天| 亚洲精品一区二区三区在线观看| 亚洲欧洲综合另类在线| 国产精品久久久久天堂| 一区二区视频免费在线观看| 亚洲欧美清纯在线制服| 亚洲美女av在线播放| 久久久一本精品99久久精品66| 国产农村妇女精品一区二区| 狠狠综合久久av一区二区小说| 黄色成人免费网站| 亚洲免费成人| 亚洲国产视频a| 欧美日韩国产欧| 一区二区视频在线观看| 99国产精品99久久久久久粉嫩| 最新国产の精品合集bt伙计| 亚洲精品视频啊美女在线直播| 欧美成人免费在线| 国产精品一卡二卡| 亚洲手机成人高清视频| 一区二区三区av| 欧美一区二区在线看| 国产一区二区三区电影在线观看| 亚洲欧美一区二区原创| 欧美精品日韩一区| 亚洲欧洲在线免费| 欧美日本乱大交xxxxx| 欧美成年人视频网站| 国产精品久久久一区二区三区| 亚洲一区综合| 久久久久久久久久看片| 欧美手机在线视频| 亚洲自拍都市欧美小说| 欧美日韩二区三区| 国产精品美女www爽爽爽| 欧美成人资源网| 一区二区三区毛片| 国产区日韩欧美| 久久一区二区三区四区| 亚洲香蕉网站| 久久高清国产| 在线亚洲激情| 国产一区导航| 亚洲国产福利在线| 亚洲国产成人精品视频| 欧美日韩亚洲视频| 欧美日精品一区视频| 久久久噜噜噜久久| 尤物视频一区二区| 欧美日韩一区三区四区| 亚洲婷婷综合色高清在线| 欧美性猛交99久久久久99按摩| 国产精品v片在线观看不卡| 久久精品国产亚洲5555| 韩国精品久久久999| 99人久久精品视频最新地址| 欧美国产日本在线| 亚洲桃花岛网站| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲国产精品va在线看黑人| 乱人伦精品视频在线观看| 亚洲久久成人| 国产亚洲欧美一级| 亚洲网站在线播放| 国产乱码精品一区二区三区忘忧草| 国产毛片一区二区| 欧美顶级艳妇交换群宴| 亚洲一区二区三区在线播放| 亚洲国产一二三| 欧美成人网在线| 久久岛国电影| 99国产欧美久久久精品| 麻豆成人在线观看| 欧美日韩亚洲一区二区| 亚洲精品一区二区三区av| 亚洲激情电影中文字幕| 亚洲永久视频| 一区二区三区**美女毛片| 国产精品久久国产精品99gif| 欧美日韩一区二区三区四区五区| 尤物在线观看一区| 欧美日韩dvd在线观看| 国产色产综合产在线视频| 国产精品vip| 欧美日韩系列| 男人的天堂成人在线| 久久精品毛片| 在线观看视频欧美| 欧美一区二区免费观在线| 影音先锋亚洲精品| 日韩视频不卡| 亚洲视频一区二区免费在线观看| 欧美凹凸一区二区三区视频| 国产精品区一区二区三| 欧美国产综合| 欧美一级久久久| 国产一区二区三区四区在线观看| 国产视频欧美视频| 亚洲视频视频在线| 欧美日韩国产一中文字不卡| 国产日韩欧美电影在线观看| 国产精品久久久久9999高清| 樱桃成人精品视频在线播放| 国产精品久久久久久久久搜平片| 亚洲已满18点击进入久久| 欧美日韩一级大片网址| 亚洲伊人网站| 亚洲精品一区二区在线观看| 一区二区三区免费网站| 亚洲电影欧美电影有声小说| 在线精品视频免费观看| 一区二区三区在线视频观看| 亚洲在线视频一区| 国产亚洲欧美日韩精品| 久久国产精品久久国产精品| 国产一区二区三区久久久久久久久| 好吊成人免视频| 欧美日韩国产三区| 亚洲国产高清自拍| 91久久香蕉国产日韩欧美9色| 亚洲精品一区二区三区av| 在线视频精品| 亚洲精品一区二区三| 国产农村妇女毛片精品久久莱园子| 国内精品久久久久久影视8| 国产亚洲欧美另类一区二区三区| 免费视频最近日韩| 欧美视频在线不卡| 国产精品www网站| 国产一区二区毛片| 亚洲第一偷拍| 国产欧美一区二区视频|