<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>用51單片機控制RTL8019AS實現以太網通訊

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

      時間:2023-02-20 23:00:15 電子通信論文 我要投稿
      • 相關推薦

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

        摘要:介紹以太網的幀協議和以太網控制芯片RTL8019AS的結構特性;介紹51單片機控制RTL8019AS實現以太網通訊的硬件設計方案;采用C51語言實現ARP協議(地址解析協議),并進行了系統的調試與驗證。
        關鍵詞:RTL8019ASEthernet51單片機TCP/IP協議
        
        互聯網絡硬件、軟件的迅猛發展,使得網絡用戶呈指數增長,在使用計算機進行網絡互聯的同時,各種家電設備、儀器儀表以及工業生產中的數據采集與控制設備在逐步地走向網絡化,以便共享網絡中龐大的信息資源。在電子設備日趨網絡化的背景下,利用廉價的51單片機來控制RTL8019AS實現以太網通訊具有十分重要的意義。
        
        1以太網(Ethernet)協議
        
        一個標準的以太網物理傳輸幀由七部分組成(如表1所示,單位:字節)。
        
        表1以太網的物理傳輸幀結構表
        
        PRSDDASATYPEDATAFCS同步位分隔位目的地址源地址類型字段數據段幀校驗序列7166246~15004
        除了數據段的長度不定外,其他部分的長度固定不變。數據段為46~1500字節。以太網規定整個傳輸包的最大長度不能超過1514字節(14字節為DA、SA、TYPE),最小不能小于60字節。除去DA、SA、TYPE14字節,還必須傳輸46字節的數據,當數據段的數據不足46字節時需填充,填充字符的個數不包括在長度字段里;超過1500字節時,需拆成多個幀傳送。事實上,發送數據時,PR、SD、FCS及填充字段這幾個數據段由以太網控制器自動產生;而接收數據時,PR、SD被跳過,控制器一旦檢測到有效的前序字段(即PR、SD),就認為接收數據開始。
        
        2RTL8019AS以太網控制器簡介
        
        由臺灣Realtek公司生產的RTL8019AS以太網控制器,由于其優良的性能、低兼的價格,使其在市場上10Mbps網卡中占有相當的比例。
        
        2.1主要性能
        
       。1)符號EthernetII與IEEE802.3(10Base5、10Base2、10BaseT)標準;
        
       。2)全雙工,收發可同時達到10Mbps的速率;
        
        (3)內置16KB的SRAM,用于收發緩沖,降低對主處理器的速度要求;
        
       。4)支持8/16位數據總線,8個中斷申請線以及16個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完成了上幀的發送后,再開始此幀的發送。RTL819接收到的數據通過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內部的16KBRAM。它實際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線RTL8019AS讀或寫該RAM,即本地DMA;另一套總線是單片機讀或寫該RAM,即遠程DMA。
        
        2.4I/O地址分配
        
        RTL8019AS具有32位輸入輸出地址,地址偏移量為00H~1FH。其中00H~0FH共16個地址,為寄存器地址。寄存器分為4頁:PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(CommandRegister命令寄存器)中的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實現以太網通訊的接口電路框圖。用到的主要芯片有80C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位鎖存)、62256(32K字節的RAM)。為分配好地址空間,采用對93C46進行讀(或寫)操作來設置RTL8019AS的端口I/O基地址和以太網物理地址。
        
        93C46是采用4線SPI串行接口的SerialEEPROM,容量為1Kbit(64×16bit),主要保存RTL8019AS的配置信息。00H~03H的地址空間用于存儲RTL8019AS內配置寄存器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。RTL8019AS的20根地址線SA0~SA19如表2連接。
        
        表2RTL8019AS地址線的連接表
        
        SA19~SA10接地SA9~SA8接單片機P2口的P2.7,即地址總線ADDR15SA7~SA5接地SA4~SA0對應為地址總線的ADDR0~ADDR4
        通過ADDR15、I/OW、I/OR來劃分RTL8019AS和62256的地址空間。ADDR15接62256的CE腳,低電平時選擇62256;高電平時選擇RTL8019AS的地址空間80C52單片機的地址為16位,按圖2的電路框圖連接RTL8019AS的地址空間。定義reg00~reg1f來對應端口00300H~0031FH。
        
        #definereg00XBYTE[0x8000]/*300H*/
        
        #definereg01XBYTE[0x8001]/*301H*/
        
        …
        
        #definereg1fXBYTE[0x801F]/*31FH*/
        
        讀寫操作、復位操作對應的引腳按表3連接。
        
        表3RTL8019AS的ISA總線接口引腳與單片機的連接表
        
        Pin29IORB讀信號,接到單片機的WR引腳(P3.6)。Pin30IOWB寫信號,接到單片機的RD引腳(P3.7)。Pin33RSTDRVRESET信號,接單片機的T0(P3.4)。Pin34AEN地址有效信號,接地。Pin96IOCS16采用電阻下拉該引腳,復位時刻腳為低電平,選擇8位模式。Pin36~Pin43SD0~SD78位數據總線,接單片機的P0口。(只用到8位數據總線,SD8~SD15不接。)
        采用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程序設計
        
        所有程序采用FramclinC51語言編制,可讀性強,移植性好,開發簡易。
        
        4.1復位RTL8019AS
        
        80C52的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的寄存器,進入正常工作狀態。
        
        圖289C52單片機控制RTL8019AS實現以太網通訊的接口電路框圖
        
        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請求包給PCF機,如此不斷循環,來測試系統的性能。在PC機上采用Sniffer軟件如Windump軟件來監視(或截獲)PC機網卡接收ARP包的情況,取得了滿意的效果。
        
        
        
        

      【用51單片機控制RTL8019AS實現以太網通訊】相關文章:

      用CPLD實現單片機讀寫模塊08-06

      利用VB實現PC機與多單片機通訊08-06

      用Ax88796實現SA1110的以太網接口08-06

      基于單片機控制的數字氣壓計設計與實現08-06

      一種簡單串行鼠標控制的單片機實現08-06

      SPI總線在51系列單片機系統中的實現08-06

      用PIC單片機控制DDS芯片AD9852實現雷達跳頻系統08-06

      單片機控制GSM模塊實現短信收發的軟件設計08-06

      用單片機實現SRAM工藝FPGA的加密應用08-06

      主站蜘蛛池模板: 欧美日本一区二区视频在线观看| 91密桃精品国产91久久| 公喝错春药让我高潮| 18禁在线一区二区三区| 日韩一区二区三区日韩精品| 日本狂喷奶水在线播放212| 国产专区一va亚洲v天堂| 国产99视频精品免费视频76| 国产精品乱码人妻一区二区三区| 人妻人人做人做人人爱| 精品亚洲国产成人av| 免费人成网站免费看视频| 亚洲国产永久精品成人麻豆| 亚洲天堂一区二区成人在线 | 日本一区二区三区专线| 亚洲色婷婷综合开心网| 日韩一区在线中文字幕| 男人扒女人添高潮视频| 国产精品自拍实拍在线看| 九九热这里只有精品在线| 极品一区二区三区水蜜桃| 激情久久综合精品久久人妻| 好吊视频一区二区三区在线| 国内精品自国内精品自久久| 国产精品熟女亚洲av麻豆| 色综合国产一区二区三区| 亚洲大老师中文字幕久热| 国产 一区二区三区视频| 伊在人间香蕉最新视频| 亚洲欧美色综合影院| 国产精品无码免费播放| 天堂一区二区三区av| 亚洲国产精品综合久久网络| 在线观看热码亚洲av每日更新| 国产精品久久一区二区三区| 无码国内精品人妻少妇| 国产免费久久精品44| 日本夜爽爽一区二区三区| 亚洲欧美另类久久久精品播放的| 99精品国产在热久久婷婷| 亚洲色欲在线播放一区|