基于CPCI總線10/100 Mb/s以太網卡的設計與實現
0 引 言
基于PCI總線的以太網控制器是現在以致將來網絡應用方面的一個主要發展方向。8位ISA網卡目前已被淘汰,市場上常見的是16位ISA接口的10 Mb/s網卡,它的惟一好處就是價格低廉,適合于一些如網吧等要求不高的場合使用。而VESA、EISA網卡速度雖然快,但價格較貴,市場很少見。目前市場上的主流網卡是PCI總線的網卡。CPCI技術是在PCI技術基礎之上經過改造而成,基于CPCI以太網卡性能更高。該文就是要設計一種高性能又不增加芯片成本的以太網卡電路。在仔細分析以太網的原理和理解CPCI總線原理的基礎上,以Intel 82551為例研究設計了一種高效的以太網卡電路。
1 CPCI的特點
CPCI(Compact Peripheral Computer Intercon-nect,緊湊的PCD具有以下特點:
(1)繼續采用PCI局部總線技術;
(2)拋棄IPC傳統機械結構,改用經過20年實踐檢驗了的高可靠歐洲卡結構,改善了散熱條件,提高了抗振動沖擊能力,符合電磁兼容性要求;
(3)拋棄IPC的金手指式互連方式,改用2 mm密度的針孔連接器,具有氣密性、防腐性,進一步提高了可靠性,并增加了負載能力。
2 Intel 82551以太網控制芯片簡介
Intel 82551是Intel公司的一款高集成的以太網控制芯片,它的主要功能是實現以太網幀的收發。它集成了10/100 Base-T MAC控制器和10/100 Base-TPHY控制器,支持數據的全雙工或半雙工傳輸,支持自動協商,支持10/100 Mb/s傳輸速率,支持流控機制。
2.1 Intel 82551芯片結構
Intel 82551由五個單元組成:并行子系統、FIFO系統、Manageability系統、CSMA/CD 單元、PHY單元。并行子系統包括FLASH/E2PROM接口、PCI接口、DMA通道和微碼引擎。Intel 82551具備128 KB尋址能力的FLASH和E2PROM接口,外擴的FLASH或E2PROM主要用來儲MAC地址和一些配置信息。Intel 82551通過CPCI接口掛接到CPCI總線上,與CPU間的數據傳輸通過DMA(Direct Memory Access,直接內存存取)的方式進行,這種方式是Intel82551向CPU申請CPCI總線控制權,在不需CPU的干預下與系統內存之間進行數據的傳輸,而且Intel82551具有Scatter/Gather(分散/集聚)能力,能夠支持連續地訪問內存物理地址不連續的數據塊。微碼引擎的主要任務是將系統內存空間的數據緩沖區的指針告訴DMA單元,以便Intel 82551直接訪問數據緩沖區。微碼引擎具體分為CU(發送單元)和RU(接收單元)兩個相互獨立的部分,CU控制數據的發送,RU控制數據的接收,均不需CPU的干預,是控制Intel 82551數據收發的主要功能模塊。FIFO子系統包括3 KB的發送緩沖區,3 KB的接收緩沖區,以及FIFO控制器。它的作用是在并行子系統和CSMA/CD子系統之間起數據緩沖的作用。
電子鎮流器相關文章:電子鎮流器工作原理
評論