新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 一種基于CPCI總線的高性能以太網(wǎng)卡設(shè)計(jì)

一種基于CPCI總線的高性能以太網(wǎng)卡設(shè)計(jì)

作者: 時(shí)間:2014-06-10 來源:網(wǎng)絡(luò) 收藏

0 引 言

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

基于PCI總線的控制器是現(xiàn)在以致將來網(wǎng)絡(luò)應(yīng)用方面的一個(gè)主要發(fā)展方向。8位ISA網(wǎng)卡目前已被淘汰,市場上常見的是16位ISA接口的 10 Mb/s網(wǎng)卡,它的惟一好處就是價(jià)格低廉,適合于一些如網(wǎng)吧等要求不高的場合使用。而VESA、EISA網(wǎng)卡速度雖然快,但價(jià)格較貴,市場很少見。目前市場上的主流網(wǎng)卡是PCI總線的網(wǎng)卡。技術(shù)是在PCI技術(shù)基礎(chǔ)之上經(jīng)過改造而成,基于卡性能更高。該文就是要設(shè)計(jì)一種高性能又不增加芯片成本的卡電路。在仔細(xì)分析以太網(wǎng)的原理和理解總線原理的基礎(chǔ)上,以Intel 82551為例研究設(shè)計(jì)了一種高效的以太網(wǎng)卡電路。

1 CPCI的特點(diǎn)

CPCI(Compact Peripheral Computer Intercon-nect,緊湊的PCD具有以下特點(diǎn):

(1)繼續(xù)采用PCI局部總線技術(shù);

(2)拋棄IPC傳統(tǒng)機(jī)械結(jié)構(gòu),改用經(jīng)過20年實(shí)踐檢驗(yàn)了的高可靠歐洲卡結(jié)構(gòu),改善了散熱條件,提高了抗振動沖擊能力,符合電磁兼容性要求;

(3)拋棄IPC的金手指式互連方式,改用2 mm密度的針孔連接器,具有氣密性、防腐性,進(jìn)一步提高了可靠性,并增加了負(fù)載能力。

2 Intel 82551以太網(wǎng)控制芯片簡介

Intel 82551是Intel公司的一款高集成的以太網(wǎng)控制芯片,它的主要功能是實(shí)現(xiàn)以太網(wǎng)幀的收發(fā)。它集成了10/100 Base-T MAC控制器和10/100 Base-TPHY控制器,支持?jǐn)?shù)據(jù)的全雙工或半雙工傳輸,支持自動協(xié)商,支持10/100 Mb/s傳輸速率,支持流控機(jī)制。

2.1 Intel 82551芯片結(jié)構(gòu)

Intel 82551由五個(gè)單元組成:并行子系統(tǒng)、FIFO系統(tǒng)、Manageability系統(tǒng)、CSMA/CD 單元、PHY單元。并行子系統(tǒng)包括FLASH/E2PROM接口、PCI接口、DMA通道和微碼引擎。Intel 82551具備128 KB尋址能力的FLASH和E2PROM接口,外擴(kuò)的FLASH或E2PROM主要用來儲MAC地址和一些配置信息。Intel 82551通過CPCI接口掛接到CPCI總線上,與CPU間的數(shù)據(jù)傳輸通過DMA(Direct Memory Access,直接內(nèi)存存取)的方式進(jìn)行,這種方式是Intel82551向CPU申請CPCI總線控制權(quán),在不需CPU的干預(yù)下與系統(tǒng)內(nèi)存之間進(jìn)行數(shù)據(jù)的傳輸,而且Intel82551具有Scatter/Gather(分散/集聚)能力,能夠支持連續(xù)地訪問內(nèi)存物理地址不連續(xù)的數(shù)據(jù)塊。微碼引擎的主要任務(wù)是將系統(tǒng)內(nèi)存空間的數(shù)據(jù)緩沖區(qū)的指針告訴DMA單元,以便Intel 82551直接訪問數(shù)據(jù)緩沖區(qū)。微碼引擎具體分為CU(發(fā)送單元)和RU(接收單元)兩個(gè)相互獨(dú)立的部分,CU控制數(shù)據(jù)的發(fā)送,RU控制數(shù)據(jù)的接收,均不需CPU的干預(yù),是控制Intel 82551數(shù)據(jù)收發(fā)的主要功能模塊。FIFO子系統(tǒng)包括3 KB的發(fā)送緩沖區(qū),3 KB的接收緩沖區(qū),以及FIFO控制器。它的作用是在并行子系統(tǒng)和CSMA/CD子系統(tǒng)之間起數(shù)據(jù)緩沖的作用。

10/100 Mb/s CS/CD子系統(tǒng)執(zhí)行802.3協(xié)議定義的功能,比如幀重組、碰撞的檢測等。10/100 Mb/sPHY子系統(tǒng)直接連接到10/100 Mb/s的網(wǎng)絡(luò),支持100 Base-Tx Fullduplex,100 Base-Tx Halfduplex,10 Base-Tx Fullduplex,10 Base-Tx Halfduplex。

2.2 Intel 82551寄存器

Intel 82551以太網(wǎng)控制芯片的操作命令主要是通過SCB(Control/Status Register)寄存器來控制。SCB的格式如表1所示。

 

 

其中偏移地址為00h的低16位是SCB的狀態(tài)位,每一位都對應(yīng)表示中斷的狀態(tài),引起中斷的原因,以及CU和RU的狀態(tài)。高16位是命令位,通過向該命令位寫入命令字,控制Intel 82551的各種行為。偏移地址為04h的是指向命令塊的指針,由于Intel82551是通過CU單元來執(zhí)行各種命令塊,所以要告知CU單元所執(zhí)行的命令的地址。Intel 82551芯片還有一系列的特殊命令,例如Nop,Configue,Transmit和Receive等命令。

3 CPCI總線與Intel 82551連接方法

CPCI是一種同步總線,數(shù)據(jù)/地址復(fù)用,總線寬度為32位,可以擴(kuò)展到64位,最高工作頻率為64 MHz。支持快速背對背傳輸、碎發(fā)傳輸及Cache操作,具有較高的傳輸速率、數(shù)據(jù)吞吐率和良好的擴(kuò)展性。連接方法如圖1所示。

 

 

4 Intel 82551與傳輸介質(zhì)接口

要實(shí)現(xiàn)以太網(wǎng)接口,以太網(wǎng)變壓器是不可缺少的。在差分接收引腳(RX+/RX-)上,需要1個(gè)專用于10 Base-T操作的1:1脈沖變壓器;在差分發(fā)送引腳(TX+/TX-)上,需要外接1個(gè)帶有中心抽頭的1:2.5脈沖變壓器。變壓器應(yīng)具有2 kV以上的電壓隔離性能,以防止靜電干擾。接口電路如圖2所示。

 

 

5 以太網(wǎng)控制芯片配置

其他的,還有一顆E2PROM芯片,通常是一顆93C46。里面記錄了網(wǎng)卡芯片的供應(yīng)商ID、子系統(tǒng)供應(yīng)商ID、網(wǎng)卡的MAC地址、網(wǎng)卡的一些配置,如SMI總線上PHY的地址,BootROM的容量,是否啟用BOOTROM引導(dǎo)系統(tǒng)等。

在系統(tǒng)啟動時(shí),CPU遍歷查找PC總線以及設(shè)備,為其分配所需要的資源,并映射其設(shè)備空間。其查找的依據(jù)就是PCI配置空間中的DeviceID和VendorID這兩個(gè)字段。

它表示系統(tǒng)中可能存在VendorID為0x8086(表明是Intel公司生產(chǎn)的),DeviceID為0x1209(Intel 82551在Intel公司的序號)的設(shè)備,這樣的設(shè)備可以有多個(gè)。使用eeupdate工具對93C46在線讀寫,寫入內(nèi)容如下:

 

 

6 結(jié) 語

網(wǎng)卡插入系統(tǒng)運(yùn)行良好,連上HUB,與其他系統(tǒng)收發(fā)數(shù)據(jù)正常。Chariot(網(wǎng)絡(luò)戰(zhàn)車)是一款權(quán)威的網(wǎng)絡(luò)測試軟件,它可以模擬出多種網(wǎng)絡(luò)使用環(huán)境,測量網(wǎng)絡(luò)的數(shù)據(jù)吞吐量、傳輸速率等數(shù)據(jù)。利用Chariot來測試這款網(wǎng)卡和市場購買的網(wǎng)卡。用 Chariot測試時(shí),先找來A、B兩臺電腦,將兩臺電腦對連并裝上Chariot。A電腦作為測試機(jī),兩款網(wǎng)卡就裝在這臺機(jī)器上,將網(wǎng)線分別插到A電腦的不同網(wǎng)卡上就可以進(jìn)行測試了。Intel82559網(wǎng)卡由于處理器性能更強(qiáng),所以無論在傳輸速率、CPU占用率和轉(zhuǎn)發(fā)率上都有更好表現(xiàn),比其他網(wǎng)卡更強(qiáng)。



關(guān)鍵詞: CPCI 以太網(wǎng)

評論


相關(guān)推薦

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

關(guān)閉