DSP與PCI網(wǎng)卡接口設(shè)計(jì)
1RTL8139
本文引用地址:http://2s4d.com/article/152314.htmRTL8139是帶PCI接口的10M/100M自適應(yīng)網(wǎng)卡控制芯片,它提供32位PCI總線控制,支持IEEE802.3u 100Base-T和IEEE802.3x的全雙工流量控制;符合PCI 2.2標(biāo)準(zhǔn),支持高級(jí)配置和電源接口(ACPI)和PCI對(duì)現(xiàn)代操作系統(tǒng)的電源管理(即對(duì)操作系統(tǒng)的直接電源管理),以提高電源管理的效率。此外,RTL8139還支持128KB的Boot ROM,提供網(wǎng)絡(luò)喚醒和遠(yuǎn)程喚醒功能;含有2個(gè)2KB的收發(fā)FIFO;能夠降低網(wǎng)絡(luò)維護(hù)成本,消除使用障礙,而且可以很方便地使網(wǎng)絡(luò)由10M升級(jí)到100M,且?guī)捒梢赃_(dá)到200Mbps。RTL8139內(nèi)部MAC層結(jié)構(gòu)如圖1所示。
1.1 RTL8139的PCI接口
PCI總線分為主(Master)、從(Target)二種類型,Master可以控制PCI總線,Target不能控制PCI總線。標(biāo)準(zhǔn)的主設(shè)備至少有49條線與PCI總線相連;從設(shè)備至少有47條線與PCI總線相連。RTL8139所提供的PCI接口有51條引腳,其引腳簡(jiǎn)介如下。
(1)地址/數(shù)據(jù)信號(hào)
AD31~0:地址、數(shù)據(jù)多路復(fù)用的輸入/輸出信號(hào),在FRAMEB有效時(shí),是地址期;在IRDYB和TRDYB同時(shí)有效時(shí)為數(shù)據(jù)期。
C/BE3~0:總線命令和字節(jié)使能多路復(fù)用信號(hào),負(fù)責(zé)傳輸總線命令。在數(shù)據(jù)期,由傳輸字節(jié)使能信號(hào)來(lái)表示數(shù)據(jù)線上哪些字節(jié)是有效數(shù)據(jù)。
(2)接口控制信號(hào)
FRAMEB:幀周期信號(hào),表示訪問(wèn)的開(kāi)始和持續(xù)時(shí)間。
IRDYB、TRDYB:分別表示主、從設(shè)備準(zhǔn)備好信號(hào),二者必須配合使用,同時(shí)有效時(shí)方能進(jìn)行數(shù)據(jù)傳輸。
STOPB:目標(biāo)設(shè)備請(qǐng)求停止數(shù)據(jù)傳輸信號(hào)。
IDSEL:初始化設(shè)備選擇信號(hào),在參數(shù)配置讀寫(xiě)傳輸期間,用作片選信號(hào)。
DEVSELB:設(shè)備選擇信號(hào)。
(3)仲裁信號(hào)
REQB:總線占用請(qǐng)求信號(hào),表示RTL8139申請(qǐng)總線控制權(quán)。
GNTB:總線占用允許信號(hào),表示總線控制權(quán)已經(jīng)交給RTL8139。
主設(shè)備都必須有以上2種信號(hào)。
(4)錯(cuò)誤報(bào)告信號(hào)
PERRB:數(shù)據(jù)奇偶校驗(yàn)錯(cuò)誤信號(hào)。
SERRB:系統(tǒng)錯(cuò)誤信號(hào)。
(5)其他信號(hào)
CLK:時(shí)鐘信號(hào),最高可達(dá)33MHz。
CLKRUNB:時(shí)鐘運(yùn)行信號(hào),這是RTL8139增設(shè)的信號(hào),用來(lái)請(qǐng)求時(shí)鐘開(kāi)始和表示時(shí)鐘狀態(tài)。
RSTB:復(fù)位信號(hào),低電平有效,至少需要120ns的寬度。
INTAB:中斷請(qǐng)求信號(hào),它需要與RTL8139的ISR和IMR寄存器配合使用。
在嵌入式系統(tǒng)中并不需要連接所有的引腳,可根據(jù)系統(tǒng)的實(shí)際需要進(jìn)行選擇。
1.2 主要寄存器
RTL8139的寄存器映射到I/O空間,I/O空間有256個(gè)地址,地址偏移量為00H~FFH。下面介紹幾個(gè)比較重要的寄存器。
(1)Command Register
該寄存器地址偏移量為0037H,功能為軟復(fù)位網(wǎng)卡,使能網(wǎng)卡的發(fā)送和接收。其描述如表1所示。
評(píng)論