PCI Express总线接口板的设计与实现

时间:2022-04-14 04:53:50

PCI Express总线接口板的设计与实现

摘 要:当前,pci express总线以其串行点对点传输方式,传输速率高,扩展性灵活等特点广泛应用于台式机、笔记本电脑、服务器、通信、工作站的内置设备等领域。介绍PCI Express总线接口板的设计实现。简要介绍PCI Express总线,采用PLX公司的PEX8311芯片实现接口设计,描述了方案的具体软硬件设计和实现。

关键词:PCI Express;体系结构;PEX8311;复杂可编程逻辑器件;Windriver

中图分类号:TP334.7 文献标识码:B 文章编号:1004-373X(2009)04-158-04

Design and Implementation of PCI Express Bus Interface Board

LI Dan,HE Zhanzhuang,LI Hao

(Xi′an Micro-electronics Technology Institute,Xi′an,710065,China)

Abstract:At present,PCI Express bus with its serial point-to-point transmission,high transfer rate and flexible extension is widely used in desktop and notebook computers,servers,communications,workstations and other fields. The design and implementation of PCI Express bus interface board and PCI Express bus are introduced briefly.This design uses the chip PEX8311 of PLX Company.This article mainly describes the hardware and software designs.

Keywords:PCI Express;system architecture;PEX8311;CPLD;Windriver

在过去的十几年中,PCI总线得到了广泛的应用。但是随着微处理器、存储器和互连网络的飞速发展,并行数据传输的PCI总线其性能已经越来越不能满足高性能计算机平衡设计的要求。随后出现了许多串行互连技术,并行数据传输转为串行数据传输已经成为一种趋势。串行点对点的PCI Express总线以其良好的性能得到广泛应用。针对其应用,提出一种基于

PCI Express总线的接口板的设计与实现方法。

1 PCI Express总线简介

Intel在2001年首先提出了替代PCI总线的新总线技术PCI Express,当时Intel称之为“3GIO”,意为“第三代I/O标准”。PCI-SIG于2001年、2006年先后提出了PCI Express 1.0/2.0规范。

PCI-Express总线具有点对点串行互联;双通道、高带宽、传输速度快;灵活的扩展性;低电源消耗,电源管理功能;支持设备热拨插和热交换;使用小型连接,节约空间,减少串拢 ;在软件层保持与PCI兼容等特点。

2 PCI Express总线系统结构

PCI Express的基本结构包括根组件(Root Complex)、交换器(Switch)、桥(Bridge)和终端设备(Endpoint)。集成在北桥芯片中的根组件,用于CPU和内存子系统于I/O设备之间的连接。交换器支持在不同终端设备间进行对等通信。桥是指PCI Express到PCI或PCI-X的桥接设备,实现PCI Express-to-PCI和PCI Express-to-PCI-X桥接功能,用来支持传统PCI/PCI-X设备。

终端设备可以包括多个功能模块,可以通过其有且仅有的一个上游端口与根设备或Switch连接。通常,终端设备指的是系统的设备,如以太网、USB或图形设备。如图1所示。

PCI Express体系结构采用分层设计,从下而上分别是:物理层(Physical Layer)、数据链路层(Data Link Layer)和事务层(Transaction Layer)。如图2所示。

3 PCI Express接口板的硬件设计

PCI Express总线接口的实现大体有2类方法:一类是使用FPGA/CPLD等可编程器件开发逻辑转换电路。根据实现功能的多少,所需的等效门密度约为5 000~15 000门,可自行编程或是购买已有IP核的产品实现;另一类是使用专用的接口芯片。前者开发成本高、难度大、周期长、测试设备昂贵,但是批量生产成本低,适合大规模全定制或半定制ASIC的生产。而后者实现了PCI Express总线的物理层、数据链路层和事务层的控制逻辑,用户可以专注在其应用方面的开发,而不必再调试PCI Express接口,开发难度大大降低,是实现PCI Express接口的有效方法。

该设计选用PLX公司的专用接口芯片PEX8311作为桥接芯片来实现PCI Express接口设计。

3.1 PEX8311芯片简介

PEX8311是PLX公司开发的第一款PCI Express总线到本地总线的接口芯片。它符合PCI Express1.0a基本规范,并且其本地端寄存器与PLX公司的PCI系列接口芯片基本兼容。

3.1.1 PEX8311的特点

(1) 集成了单通道、全双工2.5 Gb/s传输的PCI Express端口;

(2) 本地总线配置支持8位、16位和32位的总线结构;

(3) 支持复合和非复合的操作模式;

(4) 高性能DMA数据传输支持块模式,集散模式,循环队列管理和命令模式;

(5) 支持端点和根组件模式;

(6) 芯片小型封装,适合紧凑的电路板设计;

(7) 芯片低功耗设计;

(8) 3.3 V的I/O并且兼容5 V系统;

(9) 串行E2PROM用来可选择的导入配置,支持接口和Microwire接口;

(10) 有8 KB的通配共享RAM。

3.1.2 PEX8311的内部结构

PEX8311作为一种桥接芯片,在PCI Express总线和本地总线之间传递信息。它可以作为主控设备去控制2个总线,也可以作为目标设备去响应2个总线。它通过内部的控制逻辑模块、内部总线状态机模块和本地总线状态机模块共同控制芯片的数据传输。PEX8311的结构如图3所示。

3.1.3 PEX8311的地址空间及数据传输方式

PEX8311的地址空间分为PCI Express地址空间和局部地址空间。前者包括配置寄存器、I/O空间、内存映射I/O(32位)、可预取内存空间(64位);后者包括空间0、空间1、扩展RAM空间。

PEX8311支持3种数据传输方式。分别是:主模式(Direct Master)、从模式(Direct Slave)、直接存储器存取模式(DMA)。

3.2 PCI Express接口板的硬件设计方案

采用PEX8311的接口板设计在逻辑上可分为3个功能模块:PCI Express接口部分、E2PROM部分和本地总线部分,如图4所示。

PEX8311提供完备的PCI Express从设备支持,PCI Express接口部分的信号线可以直接与PCI Express连接器(俗称金手指)连接。其中,REFCLK±是一组差分时钟,它由系统主板提供。2个参考时钟都要求保持在正常工作频率100 MHz的±300 ppm之内。PRSNT1/PRSNT2信号线用于检查附加卡是否插入连接器。此次设计中将PRSN1和PRSNT2相连,这样当接口板插入到PCI Express连接器时就能进行存在检测。在此,使用+3.3 V和12 V电源,由于不使用3.3VAUX,将其连一个电容并接地。PCI Express接口部分电路,如图5所示。

PEX8311提供两个串行E2PROM接口,在系统上电后读取配置信息。SPI串行E2PROM是PCI Express的配置E2PROM。它主要用来控制PCI Express的性能。SPI串行E2PROM可以用来预配置片上8 KB共享缓存。Microwire串行E2PROM是本地配置E2PROM,它用来控制本地总线行为,并分配合适的地址范围。

本地总线部分是此次设计中的重点。PEX8311与CPLD相连的部分包括LA地址总线、LAD数据总线、LBE字节使能信号、LW/R读写信号等。

本地总线端的数据使用的是8位数据,在这种模式下LBE1和LBE0提供地址线线[1:0]。CPLD用来控制PEX8311的读写操作和数据传送。

SRAM用于存放用户的数据和代码,为程序的运行和保存临时文件提供空间。SRAM的数据/地址线与PEX8311相连,SRAM的管理由CPLD实现。XR16C854是一款通用的串口通信控制器。它带有128位的FIFOS和独立的接收/发送FIFO计数器,完成最基本的串行通信功能。其数据/地址由PEX8311提供,读/写/片选由CPLD控制。RS 422收发器要求传输速率高达10 Mb/s,选择MAXⅡ公司的MAX13087E。

CPLD如何设计实现PEX8311本地总线控制对整个功能的实现起着至关重要的作用。PEX8311通过本地总线与本地设备进行通信。它支持3种本地总线数据传输方式:单周期模式、4周期突发模式、连续突发模式。下面简要介绍如何用CPLD实现单周期模式。

图6为PEX8311的单周期读写的VHDL语言时序控制状态机设计。状态0为空闲状态,如本地总线请求信号LHOLD被置为1,则转到状态1,否则停留在状态0。状态1为总线保持状态,在此状态下应将本地总线响应信号LHOLDA置为1。如ADS信号为0且LW/R为1转到状态2;如ADS信号为1且LW/R和BLAST都为0转到状态3,这次操作为单周期读。状态2为单周期写状态,在此状态下要置READY信号为0,以表示写数据有效,在BLAST为0时转到状态3。状态3为读写完成操作状态,当LHOLD被置为0时,表明PEX8311不再请求本地总线,转到状态0,当BLAST为0且LHOLD为1时,表明PEX8311还要进行读写数据,则转到状态1继续。

3.3 PCI Express接口板的PCB设计

PCI Express接口板的PCB设计应遵循高速信号布线设计的要求。每个信号面都应有一个完整的地平面作为参考面,这样的设计使信号走线都有最佳的电流回流途径,有效地控制串扰、EMC和信号线的阻抗,保证信号质量。PCB板上差分阻抗为100 Ω±10 Ω,符合PCI Express规范的要求。单端阻抗为50 Ω±10 Ω。PCI Express接口的物理连接由2对差分线对组成,信号线的数据传输率位2.5 Gb/s。所以必须对信号的走线进行严格的控制。

从PEX8311的输出信号引脚到PCI Express接口的金手指的走线长度不能超过25.4 mm。差分线对内的2条信号线最好严格等长,公差不能超过±0.127 mm,走线途径基本相同。SRAM的频率较高,所以要注意布线的长度和路径,以保证信号的完整性。实验证明这样的PCB

设计充分满足PCI Express接口信号的传输要求。

4 PCI Express接口板驱动程序及软件开发

PCI Express总线与PCI总线在软件层是完全兼容的,因此PCI Express接口板驱动程序的开发过程与PCI设备驱动程序的开发过程是相同的。

在Windows操作系统下,微软公司提供了DDK开发工具,同时其他公司也提供了开发工具,如VtoolsD,Driverworks,WinDriver等。用DDK进行开发,需要了解操作系统内核知识,开发难度大,周期比较长。用其他公司的开发软件,不用了解DDK的核心知识,开发驱动相对要快。其中JUNGO公司的WinDriver开发工具,在用户级(ring 3)进行核心驱动开发,时间短,并且产生的驱动程序稳定高效,支持不同的操作系统,可移植性强。用户接口函数可采用Microsoft Visual C++6.0进行开发,提供标准的动态库函数,可供VB,VC,Delphi等工具开发的应用程序调用。用户通过用户接口函数对板卡上的资源进行调度和访问。

该设计采用驱动程序开发工具WinDriver,进行相应模块的驱动程序开发,实现在Windows操作系统下的安装和配置。

5 结 语

经测试,该接口板在单字读写模式下,执行程序死循环,CPU占用率80%以上,数据传送速率6 Mb/s;在突发读写模式下,执行内存块复制,CPU占用率80%以上,数据传送速率60 Mb/s;在DMA突发读写模式下,执行直接存储,CPU占用率10%,数据传送速率240 Mb/s。通过与普通PCI9054接口板的对比,PCI Express接口板具有明显优势。

这里介绍了PCI Express接口板的软硬件设计。提供了PCI Express接口板设计模板,为日后军用CPCI总线功能模板向PCI-Express总线的过渡提供设计参考。

参 考 文 献

[1]PCISIG.PCI Express 2.0 Base Specification[S].2006.

[2]PCISIG.PCI Express Card Electromechanical Specification 1.0a[S].2003.

[3]PLX PEX8311 RDK Hardware Reference Manual Version0.9[Z].2005.

[4]PLX PEX8311 Data Book Version0.9[Z].2006.

[5]EXAR XR16C845 REV3.0.1[Z].2005.

[6]田玉敏,王菘,张波.PCI Express系统体系结构标准教材[M].北京:电子工业出版社,2001.

[7]黄小红,李峰,倪卫芳.PEX8311芯片数据传输研究[J].电子工程师,2007,33(10):64-67.

[8]邵科技,孙文武.PCI Express总线技术的应用[A].中国计算机应会CCF设置专业委员会2006年学术年会\.2006.

[9]张志明,池宇华,杜继宏,等.PCI接口扩展卡的快速开发方案[J].电子技术应用,2005,31(2):13-15.

[10]张惠娟,周利华,翟鸿鸣.Windows环境下的设备驱动程序开发[M].西安:西安电子科技大学出版社,2002.

作者简介 李 丹 女,1983年出生,硕士研究生。研究方向为计算机应用技术。

贺占庄 男,博士,总工程师。研究方向为计算机控制技术。

上一篇:PNG的硬件解码加速设计 下一篇:基于HSV空间的大壁虎脑图谱图像分割研究