新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种基于CPCI总线的高性能以太网卡设计

一种基于CPCI总线的高性能以太网卡设计

作者:时间:2014-06-10来源:网络收藏

0 引 言

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

基于PCI总线的控制器是现在以致将来网络应用方面的一个主要发展方向。8位ISA网卡目前已被淘汰,市场上常见的是16位ISA接口的 10 Mb/s网卡,它的惟一好处就是价格低廉,适合于一些如网吧等要求不高的场合使用。而VESA、EISA网卡速度虽然快,但价格较贵,市场很少见。目前市场上的主流网卡是PCI总线的网卡。技术是在PCI技术基础之上经过改造而成,基于卡性能更高。该文就是要设计一种高性能又不增加芯片成本的卡电路。在仔细分析以太网的原理和理解总线原理的基础上,以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子系统之间起数据缓冲的作用。

10/100 Mb/s CS/CD子系统执行802.3协议定义的功能,比如帧重组、碰撞的检测等。10/100 Mb/sPHY子系统直接连接到10/100 Mb/s的网络,支持100 Base-Tx Fullduplex,100 Base-Tx Halfduplex,10 Base-Tx Fullduplex,10 Base-Tx Halfduplex。

2.2 Intel 82551寄存器

Intel 82551以太网控制芯片的操作命令主要是通过SCB(Control/Status Register)寄存器来控制。SCB的格式如表1所示。

 

 

其中偏移地址为00h的低16位是SCB的状态位,每一位都对应表示中断的状态,引起中断的原因,以及CU和RU的状态。高16位是命令位,通过向该命令位写入命令字,控制Intel 82551的各种行为。偏移地址为04h的是指向命令块的指针,由于Intel82551是通过CU单元来执行各种命令块,所以要告知CU单元所执行的命令的地址。Intel 82551芯片还有一系列的特殊命令,例如Nop,Configue,Transmit和Receive等命令。

3 CPCI总线与Intel 82551连接方法

CPCI是一种同步总线,数据/地址复用,总线宽度为32位,可以扩展到64位,最高工作频率为64 MHz。支持快速背对背传输、碎发传输及Cache操作,具有较高的传输速率、数据吞吐率和良好的扩展性。连接方法如图1所示。

 

 

4 Intel 82551与传输介质接口

要实现以太网接口,以太网变压器是不可缺少的。在差分接收引脚(RX+/RX-)上,需要1个专用于10 Base-T操作的1:1脉冲变压器;在差分发送引脚(TX+/TX-)上,需要外接1个带有中心抽头的1:2.5脉冲变压器。变压器应具有2 kV以上的电压隔离性能,以防止静电干扰。接口电路如图2所示。

 

 

5 以太网控制芯片配置

其他的,还有一颗E2PROM芯片,通常是一颗93C46。里面记录了网卡芯片的供应商ID、子系统供应商ID、网卡的MAC地址、网卡的一些配置,如SMI总线上PHY的地址,BootROM的容量,是否启用BOOTROM引导系统等。

在系统启动时,CPU遍历查找PC总线以及设备,为其分配所需要的资源,并映射其设备空间。其查找的依据就是PCI配置空间中的DeviceID和VendorID这两个字段。

它表示系统中可能存在VendorID为0x8086(表明是Intel公司生产的),DeviceID为0x1209(Intel 82551在Intel公司的序号)的设备,这样的设备可以有多个。使用eeupdate工具对93C46在线读写,写入内容如下:

 

 

6 结 语

网卡插入系统运行良好,连上HUB,与其他系统收发数据正常。Chariot(网络战车)是一款权威的网络测试软件,它可以模拟出多种网络使用环境,测量网络的数据吞吐量、传输速率等数据。利用Chariot来测试这款网卡和市场购买的网卡。用 Chariot测试时,先找来A、B两台电脑,将两台电脑对连并装上Chariot。A电脑作为测试机,两款网卡就装在这台机器上,将网线分别插到A电脑的不同网卡上就可以进行测试了。Intel82559网卡由于处理器性能更强,所以无论在传输速率、CPU占用率和转发率上都有更好表现,比其他网卡更强。



关键词: CPCI 以太网

评论


相关推荐

技术专区

关闭