微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于PCI Express总线的数据采集设备的实现

基于PCI Express总线的数据采集设备的实现

时间:07-06 来源:互联网 点击:

/O接口兼容。

3.3 硬件电路设计

采集部分硬件电路包含2个通道的ADC和触发电路,每通道ADC转换后的数据CH1[9:0]和CH2[9:0]传输到FPGA端口。PCIE接口电路包括3个部分:第1部分是PX1011A与FPGA的连接信号线,包括8位的收发信号TXD[7:0]和RXD[7:0];控制信号RX_DATAK,RX_VALID,RX_CLK,RX_EIDLE,RX_POLAR,RX_PHY_STAT,TX_DATAK,TX_CLK,TX_EIDLE,TX_COMP,TX_DET_LOOP,TX PWRDN0,TX_PWRDN1,状态信号STAT0,STAT1,STAT2和复位信号RESET。第2部分是PX1011A与PCIE接口的连接信号线,包括差分接收信号,差分发送信号,差分时钟。第3部分是PCI Express的配置接口,包括PCIE_TMS,PCIE_TCK,PCIE_TDO,PCIE_TDI和PCIE_TRST。如图1所示。

PCB布线时有以下注意点:终端阻抗布线尽量降低容性;一组信号,避免在参考层断续;高速信号尽量在一层布线,且不打孔,否则要在过孔处打一个U形的地孔;微波传输带,差分信号布线线宽5 mil,间距7 mil;带状传输线,差分信号布线线宽5 mil,间距5 mil。信号之间的间距在20 mil以上,高压和边缘尖锐的信号尽量远离差分线,避免干扰。

接口上数据采用SSTL2信号发送,传送速率达到250 MB/s。每组数据发送端需串行一个25欧姆电阻,数据接收端上拉50 Ω电阻,提高信号的阻抗匹配。TD和RX每组为8位250 MB/s信号,为了减少信号间的延时误差,每组信号布线时尽量等长且减少走线长度。

3.4 Pipe Core实现PCIE总线协议

Xilinx PCI Express Pipe Core符合PCI ExpressBase Specification v1.1规范协议和电特性兼容,提供完整的端点解决方案包括物理链接与处理及配置管理模块。支持同步点对点通信,上行和下行流程控制,与PCI Express处理排序规则完全兼容。

Pipe Core数据管理包括传输层、数据链路层、物理层3个模块。这些模块包括产生和进行传输包、数据流的控制管理、物理接口初始化、并串转换以及其他的接口操作。由Pipe Core组成数据通道,并可以构成多PCI Express设备的拓扑结构。如图2所示。

4 基于WinDriver的驱动程序开发

4.1 采集设备的驱动安装

将数据采集设备安装到计算机PCI express×1插槽,启动计算机时操作系统会检测到此设备并提示添加硬件向导,忽略此提示。然后,从开始菜单选择WinDriver/DriverWizard,新建工程。此时DriverWizard将会显示所有的计算机中的即插即用设备

根据设备信息(ID号)选择所要测试的设备,如图3所示,数据采集设备ID号为0301,双击此设备,出现设备测试对话框,向指定的设备空间写入数据测试设备是否工作良好。最后由DriverWizard生成简单的驱动程序代码。

4.2 数据传输模式与配置函数

驱动程序得到从数据采集设备发送的数据,并存储在指定的内存空间,根据用户的选择可以实时显示或者存储在磁盘空间。使用WinDriver编写的驱动程序通过WinDriver内核模块与硬件进行通信,本驱动程序要实现的主要功能是从设备读取指定的数据到计算机,并根据要求发送命令到设备控制寄存器对设备的各种状态进行控制。

设备与计算机进行数据传输有2种模式:PIO模式和DMA(直接内存访问)模式。PIO模式主要实现计算机和数据采集卡之间的命令传输;DMA模式主要针对大块数据传输,传输过程中不需要经过CPU,数据直接从设备传送到内存中,数据传输的速率快,可以充分利用PCIE数据带宽。

为了能从设备中读到数据,首先应该获得设备的信息,设备信息主要包括厂家ID号,设备内存映射空间,设备所在插槽号以及其他设备专用配置信息。只有获得了设备信息才能实现对设备的访问,这些信息通过下面2个函数得到:

void WD_PciScanCards函数用于检测安装于PCIE总线上的设备。Void WD_PciGetCardInfo函数获取PCI设备的资源信息,例如内存资源,I/O资源,中断资源等。对设备信息的登记是通过结构WD_CARD_REGISTER来实现,它包含了硬件的各项信息。这些信息可以通过第一步中的2个函数获得。在确定WD_CARD_REGISTER结构后调用函数WDCardRegister向Windriver Kernel登记设备。在得到了设备信息并且向WinDriver注册了此设备后就可以在设备和计算机之间传输数据。

5 结 语

采用PCI express总线实现数据采集设备可以有效地提高数据的传输带宽,解决总线带宽不足瓶颈带来的种种问题。文中的总线设计为1个通道的PCI express,双向的读写速度为250 MB/s。后面的设计中会不断提高Pcie总线的通道数,以满足更高的总线设计需求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top