chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RTL8019AS以太網(wǎng)控制器實現(xiàn)以太網(wǎng)通訊的應用方案

電子設(shè)計 ? 來源:電子技術(shù)應用 ? 作者:曹宇,魏豐,胡士毅 ? 2021-06-15 16:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

由臺灣Realtek公司生產(chǎn)的RTL8019AS以太網(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所示。

遠程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 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 接口電路設(shè)計

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

圖2給出了89C52單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊的接口電路框圖。用到的主要芯片有80C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位鎖存)、62256(32K字節(jié)的RAM)。為分配好地址空間,采用對93C46進行讀(或?qū)懀┎僮鱽碓O(shè)置RTL8019AS的端口I/O基地址和以太網(wǎng)物理地址。

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

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

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

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

表2 RTL8019AS地址線的連接表

通過ADDR15、I/OW、I/OR來劃分RTL8019AS和62256的地址空間。ADDR15接62256的CE腳,低電平時選擇62256;高電平時選擇RTL8019AS的地址空間80C52單片機的地址為16位,按圖2的電路框圖連接RTL8019AS的地址空間。定義reg00~reg1f來對應端口00300H~0031FH。

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

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

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

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

表3 RTL8019AS的ISA總線接口引腳與單片機的連接表

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

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

LED0、LED1各接一發(fā)光二極管以反映通訊狀態(tài):LED0表示LED_COL,即通訊有沖突;LED1表示LED_RX,即接收到網(wǎng)上的信息包。

4 程序設(shè)計

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

4.1 復位RTL8019AS

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

4.2 初始化RTL8019AS

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

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

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

(3)PSTART=0x4c,PSTOP=0x80,構(gòu)造緩沖環(huán):0x4c~0x80;

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

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

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

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

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

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

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

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

(12)設(shè)置網(wǎng)卡地址寄存器PAR0~PAR5;

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

圖2 89C52單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊的接口電路框圖

4.3 發(fā)送幀

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

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

5 軟件的調(diào)試與驗證

調(diào)試環(huán)境包括RTL8019AS實驗板、PC機(帶網(wǎng)卡)以及網(wǎng)線。

用C51語言編程,實現(xiàn)TCP/IP協(xié)議中ARP數(shù)據(jù)幀的收發(fā)。

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

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650605
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184368
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    5635

    瀏覽量

    175993
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

    ;gt;RTL8019AS的接口電路,實現(xiàn)的網(wǎng)絡(luò)接口采用UTP(無屏蔽雙絞線)RJ-45接口。圖2給出了89C52單片機控制RTL8019AS.html">
    發(fā)表于 06-28 10:39

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

    用51單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊
    發(fā)表于 10-22 11:13

    51單片機與RTL8019AS接入以太網(wǎng),請問怎么測試51單片機是否已經(jīng)接入了以太網(wǎng)?

    51單片機與RTL8019AS接入以太網(wǎng)的板子是現(xiàn)成的,不知道怎么測試51單片機是否已經(jīng)接入了以太網(wǎng),除了ping還需要什么軟件進行測試知道板子已經(jīng)接入了以太網(wǎng),需要TCP調(diào)試助手嗎,
    發(fā)表于 03-06 00:21

    以太網(wǎng)控制器RTL8019AS資料推薦

    以太網(wǎng)控制器RTL8019AS資料下載內(nèi)容包括:RTL8019AS功能和特性RTL8019AS引腳功能
    發(fā)表于 03-30 06:37

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

    如何用51單片機控制RTL8019AS實現(xiàn)以太網(wǎng)通訊?
    發(fā)表于 05-27 07:14

    單片機以太網(wǎng)通訊實現(xiàn)介紹

    本文介紹了以8051為例的單片機與10兆以太網(wǎng)控制器RTL8019AS的硬件連接電路的實現(xiàn)和編程方法。
    發(fā)表于 04-02 16:42 ?47次下載

    基于ARM 嵌入式以太網(wǎng)接口設(shè)計與實現(xiàn)Design and

    本文介紹了一種嵌入式以太網(wǎng)接口的設(shè)計與實現(xiàn),采用AT91RM9200 微控制器以太網(wǎng)控制芯片RTL80
    發(fā)表于 05-27 13:16 ?52次下載

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

    摘要:本文介紹了TCP/IP協(xié)議、RTL8029的結(jié)構(gòu)特性以及PCI總線協(xié)議的特點,給出了一種用P89C51RD2單片機控制以太網(wǎng)接口芯片RTL80內(nèi)
    發(fā)表于 09-19 21:11 ?58次下載

    RTL8019以太網(wǎng)控制芯片

    RTL8019AS 是高度集成 以太網(wǎng)控制器 ,它能夠簡單的解答即插即用 NE2000 兼容適配器,這種適配器具有二重和功率下降特性。通過三電平控制特性,
    發(fā)表于 06-02 16:22 ?277次下載
    <b class='flag-5'>RTL8019</b><b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>控制</b>芯片

    基于以太網(wǎng)的電機控制與診斷的研究

    提出了1種基于以太網(wǎng)的電機控制與診斷方案,闡述了具體的實現(xiàn)過程?;?b class='flag-5'>以太網(wǎng)的電機控制與診斷系統(tǒng)采
    發(fā)表于 08-24 14:48 ?974次閱讀
    基于<b class='flag-5'>以太網(wǎng)</b>的電機<b class='flag-5'>控制</b>與診斷的研究

    RTL8019AS實現(xiàn)嵌入式以太網(wǎng)設(shè)計.rar

    介紹了IOM 以太網(wǎng)控制芯片RTL8019AS的結(jié)構(gòu)和主要性能,以及在SUMSUNG公司的嵌入式微處理S3CA4BOX控制下,使用
    發(fā)表于 08-29 16:30 ?164次下載
    <b class='flag-5'>RTL8019AS</b><b class='flag-5'>實現(xiàn)</b>嵌入式<b class='flag-5'>以太網(wǎng)</b>設(shè)計.rar

    單片機實現(xiàn)以太網(wǎng)通訊硬件設(shè)計

    介紹以太網(wǎng)的幀協(xié)議和以太網(wǎng)控制芯片RTL8019AS的結(jié)構(gòu)特性;介紹單片機控制RTL8019AS
    發(fā)表于 08-29 16:32 ?126次下載
    單片機<b class='flag-5'>實現(xiàn)以太網(wǎng)通訊</b>硬件設(shè)計

    RTL8019AS實現(xiàn)TMS320F240與以太網(wǎng)通信的接口電路

    本文主要介紹了利用以太網(wǎng)控制芯片P.TL8019AS實現(xiàn)TMS320F240與以太網(wǎng)通信的接口電路硬件設(shè)計與軟件分析。從而探索出一種對DSP
    發(fā)表于 09-27 17:27 ?122次下載
    <b class='flag-5'>RTL8019AS</b><b class='flag-5'>實現(xiàn)</b>TMS320F240與<b class='flag-5'>以太網(wǎng)通</b>信的接口電路

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

     摘要:介紹以太網(wǎng)的幀協(xié)議和以太網(wǎng)控制芯片RTL8019AS的結(jié)構(gòu)特性;介紹51單片機控制RTL8019
    發(fā)表于 11-13 10:55 ?2.2w次閱讀
    基于51單片機<b class='flag-5'>控制</b>的<b class='flag-5'>以太網(wǎng)通訊實現(xiàn)</b>

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

    介紹以太網(wǎng)的幀協(xié)議和以太網(wǎng)控制芯片RTL8019AS的結(jié)構(gòu)特性;介紹51單片機控制RTL8019AS
    發(fā)表于 07-19 17:37 ?12次下載
    如何使用51單片機<b class='flag-5'>控制</b><b class='flag-5'>RTL8019AS</b><b class='flag-5'>實現(xiàn)以太網(wǎng)通訊</b>