<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 用51單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊

          用51單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊

          ——
          作者:曹宇 魏豐 胡士毅 時間:2006-12-20 來源:電子技術(shù)應(yīng)用 收藏

          互聯(lián)硬件、軟件的迅猛發(fā)展,使得用戶呈指數(shù)增長,在使用計算機進行互聯(lián)的同時,各種家電設(shè)備、儀器儀表以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制設(shè)備在逐步地走向網(wǎng)絡(luò)化,以便共享網(wǎng)絡(luò)中龐大的信息資源。在電子設(shè)備日趨網(wǎng)絡(luò)化的背景下,利用廉價的51來控制實現(xiàn)以太網(wǎng)具有十分重要的意義。

          1 以太網(wǎng)(Ethernet)協(xié)議

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

          表1 以太網(wǎng)的物理傳輸幀結(jié)構(gòu)表

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

          據(jù)開始。

          2 以太網(wǎng)控制器簡介

          由臺灣Realtek公司生產(chǎn)的以太網(wǎng)控制器,由于其優(yōu)良的性能、低兼的價格,使其在市場上10Mbps網(wǎng)卡中占有相當?shù)谋壤?/P>

          2.1 主要性能

          (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拓撲結(jié)構(gòu)的自動極性修正;

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

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

          2.2 內(nèi)部結(jié)構(gòu)

          RTL8019AS內(nèi)部可分為遠程DMA接口、本地DMA接口、MAC(介質(zhì)訪問控制)邏輯、數(shù)據(jù)編碼解碼邏輯和其他端口。內(nèi)部結(jié)構(gòu)如圖1所示。

                       內(nèi)部結(jié)構(gòu)

          遠程DMA接口是指對RTL8019AS內(nèi)部RAM進行讀寫的總線,即ISA總線的接口部分。收發(fā)數(shù)據(jù)只需對遠程DMA操作。本地DMA接口是把RTL8019AS與網(wǎng)線的連接通道,完成控制器與網(wǎng)線的數(shù)據(jù)交換。

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

          2.3 內(nèi)部RAM地址空間分配

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

          要接收和發(fā)送數(shù)據(jù)包就必須通過DMA讀寫RTL8019AS內(nèi)部的16KB RAM。它實際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線RTL8019AS讀或?qū)懺揜AM,即本地DMA;另一套總線是單片機讀或?qū)懺揜AM,即遠程DMA。

          2.4 分配

          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端口,只要用其中的一個就可以了。復(fù)位端口包括18H~1FH共8個地址,功能一樣,用于RTL8019AS復(fù)位。

          3 接口電路設(shè)計

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

          圖2給出了89C52單片機控制RTL8019AS實現(xiàn)以太網(wǎng)的接口電路框圖。用到的主要芯片有80C52、RTL8019AS、93C46(64



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();