當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 一.系統(tǒng)硬件概述1.1.ARM LPC2210芯片簡介LPC2210是Philips公司推出的微處理器,帶有16 KBRAM,76個(gè)通用I/O口,12個(gè)獨(dú)立外部中斷引腳,集成有8通道的10位A/D,能夠基于芯片設(shè)計(jì)復(fù)雜的系統(tǒng)。1.2.RTL80

一.系統(tǒng)硬件概述

1.1.ARM LPC2210芯片簡介

LPC2210是Philips公司推出的微處理器,帶有16 KBRAM,76個(gè)通用I/O口,12個(gè)獨(dú)立外部中斷引腳,集成有8通道的10位A/D,能夠基于芯片設(shè)計(jì)復(fù)雜的系統(tǒng)。

1.2.RTL8019AS芯片簡介

?RTL8019AS是臺(tái)灣Realtek半導(dǎo)體公司生產(chǎn)的以太網(wǎng)控制器,其性能包括:支持EthernetII和IEEE802.3標(biāo)準(zhǔn);支持8/16位數(shù)據(jù)總線;內(nèi)置16 KWord的SRAM;全雙工,收發(fā)同時(shí)達(dá)到10 Mb/s;支持BNC,AUI,UTP介質(zhì)。RTLS019AS可提供100腳的TQFP封裝,減少了PCB面積,更適合于嵌入式系統(tǒng)。

1.3.HR901170A芯片簡介

HR901170A是漢仁電子有限公司生產(chǎn)的RJ45接口連接器(帶網(wǎng)絡(luò)變壓器/濾波器),該連接器滿足IEEES02.3和IEEE902.3ab標(biāo)準(zhǔn),能夠較好地抑制電磁干擾。通過HR901170A系統(tǒng)就可以連接到以太網(wǎng)上。

注:RTL8019AS與網(wǎng)絡(luò)介質(zhì)之間的連接由Rj45接頭HR901170A完成。

二RTL8019AS芯片工作原理

2.1RTL8019AS寄存器及其映射方式

?RTL8019AS寄存器采用內(nèi)存映射的方式。映射地址根據(jù)具體的硬件連接方式不同而不同。在LPC2210開發(fā)板中RTL8019AS在CPU的存儲(chǔ)空間上映射的基地址為0X83400000。

?LPC2210通過16位DMA方式實(shí)現(xiàn)對RTL8019AS雙口RAM的訪問,另外使用P0.8控制RTL8019AS芯片復(fù)位,使用以太網(wǎng)接口時(shí)必須將P0.8設(shè)置為輸出模式,并且將跳線器JP8_NET_RST短接。RTL8019AS芯片中的中斷輸出與P0.9(EINT3)相連,當(dāng)需要使用RTL8019AS中斷時(shí)必須將P0.9設(shè)置為EINT3功能,并且將跳線器JP8_NET_INT短接。

2.2RTL8019AS內(nèi)部結(jié)構(gòu)及工作原理

1>RTL8019AS芯片內(nèi)部具有一個(gè)16Kbytes的雙口RAM作為數(shù)據(jù)FIFO,它從邏輯上可劃分為64個(gè)256字節(jié)的頁,每一個(gè)頁面包括16個(gè)寄存器,每個(gè)寄存器均是8位。在不同的頁面下,同一個(gè)端口對應(yīng)不同的寄存器。

2>一般將RAM的前12頁(即0X4000~0X4bff)存儲(chǔ)區(qū)作為發(fā)送緩沖區(qū);后52頁(即0x4c00~0x7fff)存儲(chǔ)區(qū)作為接收緩沖區(qū);頁的地址就是地址的高8位(即0x40~0x4b;0x4c~0x7f);第0頁叫Prom頁,只有32字節(jié),地址為0x000~0x001f,用于存儲(chǔ)以太網(wǎng)物理地址。

說明:

2寄存器和內(nèi)置RAM是網(wǎng)卡功能實(shí)現(xiàn)的載體,驅(qū)動(dòng)程序也是通過對它們的操作完成CPU所指令的任務(wù)。驅(qū)動(dòng)程序所涉及的寄存器主要在Page0和Page1。

2至于內(nèi)置RAM,在Jumper模式下我們只需要關(guān)心其收發(fā)緩存部分。偏移地址從0x4000開始至0x7FFF的16KB RAM區(qū)域構(gòu)成8019的收發(fā)緩存,它以256字節(jié)為單位劃分為64頁(Page),頁地址為0x40 ~ 0x7F,發(fā)送和接收緩存所分配的頁數(shù)可以由驅(qū)動(dòng)程序設(shè)定。一種比較常見的分配方式為[0x40,0x4C)用作發(fā)送,[0x4C,0x80)用作接收,這也是本例所采用的配置。

3>接收和發(fā)送數(shù)據(jù)包是通過DMA讀寫RTL8019AS內(nèi)部的16K B RAM,它是雙端口的RAM,即有兩套總線連接到該RAM。

如圖2:

?一套總線是RTL8019AS讀或?qū)懺揜AM,即本地DMA;

?另一套總線是LPC2210讀或?qū)懺揜AM,即遠(yuǎn)程DMA。

4>本地DMA大部分工作由RTL8019AS自動(dòng)完成,驅(qū)動(dòng)程序只需要在初始化RTL8019AS時(shí)設(shè)置緩沖環(huán)的大小(最大不超過64KB),即寄存器PSTRT和PSTOP的值,同時(shí)使PSTART=BNRY(邊界寄存器)=CURR+1(當(dāng)前頁面指針寄存器)。

5>遠(yuǎn)程DMA操作由外部微處理器完成,RTL8019AS有遠(yuǎn)程讀(Remote Read),遠(yuǎn)程寫(Remote Write)和包發(fā)送(Send Packet)三種工作模式,由命令寄存器(CR)中的RD0,RD1和RD2位控制。其中遠(yuǎn)程讀和遠(yuǎn)程寫的工作相似,都是先賦值遠(yuǎn)程DMA的起始地址寄存器(RSAR0,RSAR1)和遠(yuǎn)程DMA字節(jié)計(jì)數(shù)器(RBCR0,RBCR1),然后在RTL8019AS的遠(yuǎn)程DMA端口讀寫即可。包發(fā)送操作用于數(shù)據(jù)發(fā)送,只需要發(fā)送一個(gè)包發(fā)送命令,就可以在RTL8019AS的遠(yuǎn)程DMA端口讀取RAM中接收的數(shù)據(jù)。當(dāng)執(zhí)行這個(gè)指令時(shí),RTL8019AS就自動(dòng)設(shè)置了起始地址寄存器和字節(jié)計(jì)數(shù)器,邊界寄存器(BNRY)指向下一個(gè)數(shù)據(jù)幀。

------------------------------------------------------------------------------------

關(guān)于具體的寄存器功能請大家查看RTL8019AS的數(shù)據(jù)手冊。

三以太網(wǎng)驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)說明

3.1以太網(wǎng)驅(qū)動(dòng)系統(tǒng)概述

以太網(wǎng)RTL8019AS驅(qū)動(dòng)系統(tǒng)的內(nèi)容是完成對芯片初始化,接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包模塊的編寫。發(fā)送數(shù)據(jù)包時(shí),驅(qū)動(dòng)程序把要發(fā)送的數(shù)據(jù)按指定格式寫入芯片并啟動(dòng)發(fā)送命令,RTL8019AS會(huì)自動(dòng)把數(shù)據(jù)轉(zhuǎn)換成物理幀格式在物理信道上傳輸。反之,當(dāng)接收數(shù)據(jù)報(bào)時(shí),RTL8019AS收到物理信號后將其還原成數(shù)據(jù),按指定格式存放在RAM中,以便主機(jī)程序取用。驅(qū)動(dòng)程序通過控制RTL8019AS內(nèi)部寄存器以及DMA端口,來實(shí)現(xiàn)芯片初始化,接收數(shù)據(jù)報(bào)和發(fā)送數(shù)據(jù)報(bào)的任務(wù)。

3.2 RTL8019AS以太網(wǎng)驅(qū)動(dòng)系統(tǒng)的組成

?芯片初始化模塊:初始化模塊是針對以太網(wǎng)RT8019AS進(jìn)行的初始化設(shè)置,使其能正常芯片復(fù)位,設(shè)置芯片寄存器及啟動(dòng)芯片。

?發(fā)送數(shù)據(jù)報(bào)模塊:所有的數(shù)據(jù)發(fā)送都要通過該模塊發(fā)送

?接收數(shù)據(jù)報(bào)模塊:查詢是否有新數(shù)據(jù)包并接收進(jìn)緩沖區(qū)

?寫數(shù)據(jù)子模塊:把數(shù)據(jù)寫入RTL8019AS芯片中

?讀數(shù)據(jù)子模塊:從RTL8019AS中把數(shù)據(jù)讀出

?設(shè)置芯片物理地址子模塊:將物理地址寫入RTL8019AS(PAR0~PAR5)寄存器中。

?頁面切換模塊:頁面切換功能,可選擇0,1,2三頁,第四頁作為芯片保留。

四.芯片初始化模塊

4.1芯片初始化模塊的功能

初始化LPC2210與設(shè)備相關(guān)的控制管腳和初始化RTL8019AS相關(guān)控制寄存器

4.2芯片初始化模塊的組成

1>選擇引腳:使用P0.8引腳控制RTL8019AS芯片復(fù)位時(shí),要將P0.8設(shè)置為輸出模式2>復(fù)位芯片

?設(shè)置P0.8為輸出高電平,控制RTL8019AS硬件復(fù)位

?向RTL8019AS的0x1f號寄存器寫入00使RTL8019AS軟件復(fù)位。

3>使RTL8019AS芯片停止配置命令寄存器(CR):配置CR寄存中的RD2,RD1,RD0三位為100使DMA為停止模式,配置STA,STP位為01。使8019芯片停止,為進(jìn)行寄存器設(shè)置做準(zhǔn)備。4>設(shè)置RTL8019寄存器設(shè)置RTL8019AS芯片寄存器,主要完成對以下幾個(gè)寄存器的初始化:?RBCR0,RBCR1:配置遠(yuǎn)程DMA字節(jié)計(jì)數(shù)寄存器?PSTART:配置接收緩沖區(qū)的起始頁地址?PSTOP:配置接收緩沖區(qū)的結(jié)束頁的地址?TPSR:配置發(fā)送緩沖區(qū)的起始地址?BNRY:配置邊界寄存器(讀指針)?CURR:配置當(dāng)前的接收結(jié)束頁地址(寫指針)1)設(shè)置遠(yuǎn)程DMA字節(jié)計(jì)數(shù)寄存器(RBCR0,RBCR1):初始化遠(yuǎn)程DMA字節(jié)計(jì)數(shù)器為02)設(shè)置接收配置寄存器(RCR)和傳輸配置寄存器(TCR)

在配置寄存器時(shí),要與外部網(wǎng)絡(luò)斷開(因此設(shè)置接收配置寄存器的MON位,和傳輸配置寄存器的LOOPBACK,與外網(wǎng)斷開)。

3)設(shè)置數(shù)據(jù)配置寄存器(DCR):設(shè)置FT1,FT0位為10進(jìn)行FIFO的選擇;設(shè)置ARM位為0,使其不發(fā)送命令包;設(shè)置LS位為1,使其為正常模式;LAS位必須為0;設(shè)置BOS位為1,使其為大端格式(即高字節(jié)在低地址中);設(shè)置WTS位為1,使其為字長度的DMA傳送(16字節(jié)DMA傳送)

4)初始化接收緩沖區(qū)容量為:0x4c~0x7f(PSTART=0X4C,PSTOP=0x80)共52個(gè)頁。

?設(shè)置頁面起始寄存器(PSTART):初始化頁面接收緩沖環(huán)的起始地址為0x4c。

?設(shè)置頁面終止寄存器(PSTOP):初始化頁面接收緩沖環(huán)的結(jié)束地址為0X80。

5)初始化發(fā)送緩沖區(qū)容量為:0x40~0x4b(TPSR=0X40,BNRY=0X4C)共12頁,可存儲(chǔ)兩個(gè)最大以太網(wǎng)數(shù)據(jù)包。(每一頁256字節(jié),256*12=3072,而一個(gè)以太網(wǎng)最大數(shù)據(jù)包為1518)。

?設(shè)置頁面邊界寄存器(BNRY讀指針):初始化頁面最后一次頁面接收緩沖環(huán)的地址為0X4C。

?設(shè)置頁面?zhèn)鬏斊鹗技拇嫫?TPSR):初始化傳輸包的頁面開始地址為0x40。

6)初始化中斷狀態(tài)寄存器和中斷屏蔽寄存器。

?設(shè)置中斷狀態(tài)寄存器(ISR):清除所有中斷標(biāo)志位。

?設(shè)置中斷允許寄存器(IMR):初始化使能OVW(溢出中斷)和PRX(接收包無錯(cuò)誤中斷).

7)設(shè)置當(dāng)前頁面寄存器(CURR):設(shè)置當(dāng)前頁面地址為0x4d

注:該寄存器指出首先接收緩沖器頁面地址。這個(gè)寄存器用來對數(shù)據(jù)包的接收(為寫頁指針)。

8)設(shè)置組播地址寄存器(MR0~MR7):初始化組播地址為0。

說明:組播地址寄存器用于提供為CRC邏輯提供,組播地址的過濾位。

9)設(shè)置芯片物理地址:

調(diào)用寫數(shù)據(jù)子模塊將實(shí)際地址寫入MAC地址寄存器(PAR0~PAR05)中。

這些寄存器用于記錄本以太網(wǎng)節(jié)點(diǎn)的MAC地址,并用于對比接收包的目標(biāo)地址是否一致而決定接收還是放棄。

10)設(shè)置傳輸配置寄存器(TCR)和接收配置寄存器(RCR)為正常模式,與外部網(wǎng)絡(luò)連接

5>設(shè)置芯片啟動(dòng)

6>配置中斷狀態(tài)寄存器(ISR)清除所有中斷標(biāo)志位

4.3芯片初始化模塊的接口

芯片初始化模塊調(diào)用了寫數(shù)據(jù)子模塊,頁面切換子模塊和設(shè)置芯片物理地址子模塊

?設(shè)置芯片物理地址子模塊:將物理地址寫入RTL8019AS芯片中。

?寫數(shù)據(jù)子模塊:將數(shù)據(jù)寫入RTL8019AS芯片中

? 頁面切換子模塊:可選擇Page0,Page1,Page3三

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉