新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT91RM9200的以太網(wǎng)接口模塊設(shè)計

基于AT91RM9200的以太網(wǎng)接口模塊設(shè)計

作者: 時間:2009-06-16 來源:網(wǎng)絡(luò) 收藏

2.5 JTAG電路
JTAG是一種國際標準測試協(xié)議,主要用于芯片內(nèi)部測試及對系統(tǒng)進行仿真、調(diào)試,是開發(fā)、調(diào)試嵌入式系統(tǒng)的一種簡潔高效的手段。它有兩種標準:14針和20針接口。該中選擇20針接口標準。JTAG調(diào)試接口是否標準,直接影響到硬件平臺是否能夠連接ARM仿真器。所以在設(shè)計時,有以下幾點需要注意:
(1)盡可能按照標準的20針接口設(shè)計。如果設(shè)計成14針接口,一定要嚴格按照14針接口對應(yīng)于20針接口的對應(yīng)關(guān)系來設(shè)計。
(2)nTRST和nRESET、引腳不用時,要用10 kΩ的電阻拉高,否則JTAG上這兩個引腳的信號不確定,會造成ARM調(diào)試器不能正常連接目標系統(tǒng)。
(3)JTAG上輸出的信號都要用10 kΩ的電阻拉高。
2.6 UART、串行接口電路設(shè)計
的UASRT作為同步/異步串行接口,在調(diào)試狀態(tài)下作為調(diào)試串口;在正常工作狀態(tài)下為一般串行口使用,可以通過RS 232實現(xiàn)與其他設(shè)備的通信。該設(shè)計中的UART、接口芯片是MAX3232,其工作電壓為3.3 V,16引腳SOIC封裝。其最為簡單且常用的是三線制接法,即地線,接收數(shù)據(jù)線和發(fā)送數(shù)據(jù)線三腳對應(yīng)相連。
在完成以上幾部分電路設(shè)計后,的嵌入式系統(tǒng)就具有了安全可靠的工作條件,也為下面的擴展接口設(shè)計打下了良好的基礎(chǔ)。

本文引用地址:http://butianyuan.cn/article/152469.htm


3 接口設(shè)計
在ARM系統(tǒng)中,接口是與遠程機進行通信及調(diào)試的基礎(chǔ),還可以進行內(nèi)部局域網(wǎng)和互聯(lián)網(wǎng)間的通信。而ARM的系統(tǒng)若沒有以太網(wǎng)接口,其應(yīng)用價值就會大打折扣。因此,就整個嵌入式系統(tǒng)而言,以太網(wǎng)接口電路是必不可少的,但同時也是相對復(fù)雜的。
從硬件的角度看,以太網(wǎng)接口電路主要由MAC控制器和物理層接口(PHY)兩大部分構(gòu)成。該設(shè)計中所用到的以太網(wǎng)接口芯片RTL8019AS,其內(nèi)部結(jié)構(gòu)包含這兩部分。RTL8019AS是一款高集成度的以太網(wǎng)控制芯片,具有8/16位總線模式,集成了IEEE802.3協(xié)議標準的MAC層和PHY層的性能,與NE2000相兼容,支持以太網(wǎng)全雙工通信方式;支持UTP,AUI和BNC自動檢測,支持16位I/O基本地址選項和額外I/O地址輸入/輸出完全解碼方式;支持存儲器瞬時讀寫,收發(fā)可同時達到10 Mb/s的速率,內(nèi)置16 KB的SRAM,可以方便地與微處理器進行連接。它支持多種嵌入式處理器芯片,內(nèi)置有FIFO緩存器用于發(fā)送和接收數(shù)據(jù)。
3.1 以太網(wǎng)接口工作原理
使用RTL8019AS作為以太網(wǎng)的物理層接口,它的基本工作原理是:在收到由主機發(fā)來的數(shù)據(jù)包后,偵聽網(wǎng)絡(luò)線路。如果線路忙,它就等到線路空閑為止,否則,立即發(fā)送該數(shù)據(jù)幀。在發(fā)送過程中,首先為數(shù)據(jù)包添加幀頭(包括前導(dǎo)字段和幀開始標志),然后生成CRC校驗碼,最后將此數(shù)據(jù)幀發(fā)送到以太網(wǎng)上。
在接收過程中,它將從以太網(wǎng)收到的數(shù)據(jù)包在經(jīng)過解碼、去幀頭和地址校驗等步驟后緩存在片內(nèi)。在CRC校驗通過后,它會根據(jù)初始化配置情況,通知RTL8019AS收到了數(shù)據(jù)包。最后,用某種傳輸模式(I/O模式、Memory模式、DMA模式)傳到ARM系統(tǒng)的存儲區(qū)中。
3.2 硬件電路設(shè)計
用RTL8019AS芯片設(shè)計的以太網(wǎng)控制器相關(guān)電路,可以通過RJ45連上以太網(wǎng),在判斷網(wǎng)卡芯片是否工作正常時,有兩個依據(jù),一是看狀態(tài)指示LED是否有閃爍;二是用專用網(wǎng)絡(luò)監(jiān)聽工具軟件進行監(jiān)聽。在本設(shè)計中用兩個LED指示燈表示接收和發(fā)送狀態(tài),當有網(wǎng)絡(luò)連接且收發(fā)數(shù)據(jù)包時,LED閃爍。此外,網(wǎng)卡芯片單獨不能工作,還必須有一個網(wǎng)絡(luò)變壓器在RJ45接口和網(wǎng)卡芯片中間進行電平轉(zhuǎn)換,該設(shè)計中所用的電平轉(zhuǎn)換器是20F001N。另外要特別注意,由于RTL8019AS的復(fù)位引腳是高電平有效,而的NRST引腳是低電平有效,所以不能直接將兩個引腳進行連接。該設(shè)計所用的解決方法是:在兩引腳間加上一個共發(fā)射極的三極管,利用它的反相作用,來達到兩個復(fù)位引腳間的電平匹配。同時,為了提高數(shù)據(jù)的傳輸速率,需要將網(wǎng)卡芯片設(shè)計成16位的數(shù)據(jù)通道,這就要求將RTL8019AS的IOCSl6B引腳用電阻上拉來達到設(shè)計目的。RTL8019AS與AT91RM9200進行連接還需要以下引腳:NOE,NEW,NCS2,D[O:15],一條中斷線IRQ0以及地址線A[O:4](設(shè)計RTL8019AS的I/O基地址為300H,所以只需要SA[O:4]接A[O:4],而A[5:19]只需要接地即可)。至此,硬件電路已經(jīng)設(shè)計完畢,整個電路的結(jié)構(gòu)框圖如圖1所示。

4 軟件設(shè)計
4.1 以太網(wǎng)口初始化
初始化第一步是復(fù)位以太網(wǎng)口。以太網(wǎng)口復(fù)位分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位通過給RTL8019AS的RESET引腳發(fā)送一個復(fù)位脈沖;軟件復(fù)位通過寫端口達到復(fù)位,也就是給18~1F之間的任意一個寄存器寫入任意一個數(shù),就使得以太網(wǎng)口復(fù)位。第二步是設(shè)置一些寄存器的初始值,寄存器保存本機的物理地址,只有和寄存器保存的物理地址相同的以太網(wǎng)幀才被接收(RCR寄存器中PRO=O)。
以太網(wǎng)口第一次復(fù)位必須是硬件復(fù)位,硬件復(fù)位以后要經(jīng)過大約10 ms的等待才能對以太網(wǎng)口操作,特別是發(fā)送和接收操作。
4.2 以太網(wǎng)口存儲及初始化
RTL8019AS內(nèi)部RAM地址范圍從0x0000~0x7FFFF,其中0x4000~Ox7FFF用作接收和發(fā)送緩沖區(qū)。緩沖區(qū)是按頁管理的,256 b為一頁,這樣接收發(fā)送緩沖頁面是0x40~0x7F。發(fā)送緩沖區(qū)的起始頁在TPSR寄存器中設(shè)置,接收緩沖區(qū)的起始頁在PSTART寄存器中設(shè)置,PSTART實際上也表明了發(fā)送緩沖區(qū)的結(jié)束頁。接收緩沖區(qū)的結(jié)束頁是PSTOP。所以發(fā)送緩沖區(qū)的頁從TPSR到PSTART-1,接收緩沖區(qū)的頁從PSTART到PSTOP-1。一般設(shè)置如下:


使發(fā)送緩沖區(qū)可以容納下兩個最大以太網(wǎng)幀(最大為1 514 B),第一個幀放在SEND_START_PAGEO起始頁,第二個幀放在SEND_START_PAGE1起始頁,剩下的緩沖區(qū)都作為接收緩沖區(qū)。
RTL8019AS內(nèi)部RAM是雙口 RAM,因為它要支持兩個獨立的操作:一個是用戶CPU讀取RAM中的內(nèi)容,對這個操作RTL8019AS提供一個讀寫口,也就是寄存器中的Remote DMA Port;另一個是RTL8019AS內(nèi)部控制電路把從網(wǎng)絡(luò)接收的數(shù)據(jù)寫入RAM中,這時RAM稱為Local DMA。RTL8019AS通過Local DMA寫入RAM是不需要用戶干涉的,它通過Remote DMA Port讀寫RAM。



評論


相關(guān)推薦

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

關(guān)閉