新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT91RM9200的以太網接口模塊設計

        基于AT91RM9200的以太網接口模塊設計

        作者: 時間:2009-06-16 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/152469.htm


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

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


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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 咸丰县| 泰和县| 泗水县| 琼海市| 灵丘县| 万载县| 山阳县| 多伦县| 鄂托克前旗| 濮阳县| 宣威市| 沙洋县| 洪江市| 九江县| 甘南县| 华阴市| 安化县| 祁门县| 同心县| 望江县| 伊宁市| 乳山市| 陇川县| 奉新县| 碌曲县| 嘉荫县| 亚东县| 翼城县| 襄城县| 沅江市| 九龙坡区| 曲阳县| 屯留县| 漳州市| 武鸣县| 阳春市| 余干县| 辽宁省| 札达县| 宜城市| 镇赉县|