基于AX88796B的網(wǎng)絡接口模塊的設計與實現(xiàn)
出處:firingsky1 發(fā)布于:2008-08-18 15:44:09
引言
網(wǎng)絡技術應用日益普及的今天,工業(yè)現(xiàn)場的儀器儀表、數(shù)據(jù)采集和控制設備也日趨網(wǎng)絡化,工業(yè)自動化和網(wǎng)絡的結合越來越密切。而將以太網(wǎng)和嵌入式系統(tǒng)相結合應用于工業(yè)控制中已成為趨勢。
AX88796B是Asix公司推出的一款為嵌入式和工業(yè)以太網(wǎng)應用而設計的低引腳數(shù)以太網(wǎng)控制芯片。其內部集成10/100Mb/s自適應的介質訪問層MAC和物理層收發(fā)器PHY以及8K×16位的SRAM。AX88796B可應用于商業(yè)級0~70C和工業(yè)級-40C~85C的溫度范圍。AX88796B支持MCS-51系列、80186系列、ISA總線和SRAM-like接口類型。執(zhí)行基于IEEE802.3/IEEE802.3u局域網(wǎng)標準的10Mb/s和100Mb/s以太網(wǎng)控制功能,并且提供發(fā)送隊列功能來增強標準NE2000的發(fā)送性能。
AT91R40008微控制器是基于ARM7TDMI核的32位RISC結構的嵌入式微控制器,非常適于工業(yè)實時控制應用。AX88796B引腳的LQFP封裝減少了PCB空間并且和NE2000兼容,編程簡單,其驅動可以容易快速的移植到許多嵌入式系統(tǒng)中。因此,綜合上述兩種芯片的優(yōu)點,我們選擇AX88796B和AT91R40008作為工業(yè)實時控制中嵌入式網(wǎng)絡應用的解決方案,具有很好的工業(yè)應用價值和前景。

圖1 AX88796B內部結構圖
AX88796B內部結構及工作原理
1 AX88796B的內部結構
網(wǎng)卡上電復位時EEPROM接口能夠通過CSR中偏移為14H的SMI/EEPROM寄存器來存取數(shù)據(jù),MAC地址由EEPROM中讀取,并被自動載入地址為0000h~001fh和0400h~040fh的內部存儲區(qū)中。如果沒有使用EEPROM,每次上電對網(wǎng)卡進行初始化時候就手動給它分配一個MAC地址。
AX88796B內部有一個16KB(0x4000~0x7fff)大小的SRAM,該SRAM是雙端口SRAM,可以同時被網(wǎng)卡讀寫和用戶讀寫,這片地址空間的一部分被保留用來存放一個緩沖環(huán)結構,另一部分可以給用戶使用。在本設計中,16KB的SRAM全部被用來接收和發(fā)送數(shù)據(jù)包。本地DMA正是通過這個緩沖環(huán)結構來接收報文的。這個結構由一連串相鄰的固定長度為256B的緩沖區(qū)構成,每256字節(jié)稱為一頁,共有64頁。頁的地址就是地址的高8位,頁地址為0x00~0xff。其中0x40~0x4B為網(wǎng)卡的發(fā)送緩沖區(qū),共12頁,剛好可以存儲2個的以太網(wǎng)包,所以我們把發(fā)送緩沖區(qū)分成兩部分進行輪流發(fā)送。使用0x4c~0x7f共52頁為網(wǎng)卡的接收緩沖區(qū)。AX88796B的SRAM空間結構和收發(fā)緩沖區(qū)結構如圖2、3所示。

圖2 SRAM空間結構

圖3 收發(fā)緩沖區(qū)
2 AX88796B的工作原理
由四個寄存器來控制接收緩沖區(qū)的操作。Page Start Address Register (PSTART)和Page Stop Address Register(PSTOP)定義了接收緩沖區(qū)的起始和終止頁號,形成一個接收緩沖環(huán)。當前頁地址寄存器(Current Page Register)指向個用于存儲數(shù)據(jù)包的緩沖區(qū)。邊界指針寄存器(Boundary Pointer Register)指向在緩沖環(huán)中個未被主機讀取的數(shù)據(jù)包。如果本地DMA地址與Boundary Pointer Register的值相等,則接收過程中止。邊界指針也被用來初始化遠端DMA來移動一個數(shù)據(jù)包,當數(shù)據(jù)包被移走后,邊界指針也向前增長。這樣,Current Page Register如同一個寫指針,Boundary Pointer如同一個讀指針。接收到一個數(shù)據(jù)包時,從PSR中指定的頁號開始存儲,如果一個256B的緩沖區(qū)不夠,DMA會執(zhí)行一個前向連接來連接下一個緩沖區(qū)以存儲這個數(shù)據(jù)包的剩余部分。連接的時候緩沖區(qū)必須是連續(xù)的,一個數(shù)據(jù)包總是會被存儲在相鄰的緩沖區(qū)里。在連接下一個緩沖區(qū)前,緩沖管理邏輯會執(zhí)行兩個比較,首先比較下一個緩沖區(qū)的DMA地址是否和page Stop Register相等,若相等,則DMA地址被恢復為page start address register中保存的地址。其次和boundary pointer register比較,如果相等,則接收報文過程終止。Boundary Pointer Register能夠防止緩沖區(qū)里的數(shù)據(jù)還沒有讀出就被重寫。
要發(fā)送和接收數(shù)據(jù)包就必須通過DMA讀寫AX88796B內部的SRAM。DMA分為遠程DMA(Remote DMA)和本地DMA(Local DMA)。CPU從網(wǎng)卡的SRAM讀寫數(shù)據(jù)稱為遠端DMA。AX88796B讀寫SRAM稱為本地DMA。數(shù)據(jù)包的接收過程:當數(shù)據(jù)包到達網(wǎng)卡的MAC層后,本地DMA先將到達MAC層的報文傳送到網(wǎng)卡的內存中,主機CPU再通過遠端DMA通道從網(wǎng)卡內存中讀取數(shù)據(jù)包。數(shù)據(jù)包的發(fā)送過程:主機CPU通過遠端DMA把要發(fā)送的數(shù)據(jù)包送到網(wǎng)卡的內存中,本地的DMA將該數(shù)據(jù)包傳送到MAC層,再經(jīng)由內部的PHY層發(fā)送至網(wǎng)絡。
參考文獻:
[1]. 70C datasheet http://www.hbjingang.com/datasheet/70C_1809295.html.
[2]. 40C datasheet http://www.hbjingang.com/datasheet/40C_2210963.html.
[3]. MCS-51 datasheet http://www.hbjingang.com/datasheet/MCS-51_477840.html.
[4]. AT91R40008 datasheet http://www.hbjingang.com/datasheet/AT91R40008_143866.html.
[5]. ARM7TDMI datasheet http://www.hbjingang.com/datasheet/ARM7TDMI_139812.html.
[6]. RISC datasheet http://www.hbjingang.com/datasheet/RISC_1189725.html.
[7]. LQFP datasheet http://www.hbjingang.com/datasheet/LQFP_1054170.html.
[8]. PCB datasheet http://www.hbjingang.com/datasheet/PCB_1201640.html.
上一篇:ZigBee定位解決方案
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 工業(yè)5G技術在智能制造中的應用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應用技術指南2025/12/18 10:48:14
- 無線傳輸電路基礎,射頻前端設計、天線匹配與鏈路預算計算2025/10/27 13:55:50
- ASK 解調的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結構、特性與應用全解析2025/9/3 10:29:21









