当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:PCI Express是最新的总线和接口标准,具有数据传输速率高,支持点对点传输以及热插拔等特点。首先,介绍PCI Express总线的发展与体系构架。然后结合采用Xilinx公司的FPGA与PHY器件设计采集设备的过程,详细介绍硬件系统的电路设计,以及采用Xilinx Pipe Core实现PCI Express物理层、链路层、传输层和使用WinDriver开发简单的驱动程序。结合PCI Express总线设计的采集设备,整体性能可以显著提高,其必将取代以往各种总线的数据采集设备。

随着计算机技术的发展,数据传输带宽的日益增长,总线技术也在迅速的发展。高速信号传输,海量数据采集与记录,实时视频图像处理以及其他数据处理的数据吞吐量现以kMb/s为量级。

未来计算机系统对带宽和扩展性的要求已经超越了第二代总线技术。第三代高性能I/O总线技术——PCI Express(PCIE)总线解决了以往总线的不足,它的发展将取代第二代总线成为新的数据总线,其提供了更加完善的性能、更多的功能、更强的可扩展性和更低的成本。

本文研究PCI Express总线技术的发展与构架,介绍采用Xilinx公司的FPGA与NXP公司的PHY器件实现一种经济简单的数据采集设备。在电路设计中,分析了总线信号高速布线的要求。

最后详细介绍数据采集设备的数据通道部分在Xilinx Pipe Core中的实现,并通过WinDriver软件开发简单的驱动程序。

2 PCIE总线发展和构架介绍

2.1 PCIE总线的发展

PCI Express是用来互连诸如计算机和通信平台应用中外围设备的第三代I/O总线技术,第一代总线包括ISA,EISA,VESA和微通道(Micro Channel)总线,而第二代总线则包括了PCI,PCI-X和AGP。PCIExpress是一种能够应用于一点设备、台式电脑、工作站、服务器、嵌入式计算机和通信平台等所有周边I/O设备互连的总线。

PCIE最初由InteI发展,并于1992年在市场发布。PCIE的体系结构继承了第二代总线体系结构最有用的特点,并且采用计算机体系结构中新的开发成果。它保留了原先的通讯模型和下载配置机制,但抛弃了共享总线的方式,采用点到点的总线连接方式。由于它提供了更高的性能特点和越来越大的带宽,从而解决了PCI,PCI-X和AGP的许多缺点,是以后PC发展必然采用的接口总线,其必将取代PCI,PCI-X以及图形加速器(AGP)。

2.2 PCIE总线的构架

PCI Express保持了与PCI寻址模式(加载-存储体系结构具有单层地址空间)的兼容性,从而保证了对现有应用程序和驱动的兼容性。同时,PCI Express的配置机制是与PCI一致的即插即用标准。

软件层发出读写请求,使用基于数据包、分段传输的协议通过物理层传输至I/O设备。链路层向这些数据包添加序列号和循环冗余校验(CRC)以建立一个高度可靠的数据传输机制。基本的物理层包括传输对和接收对两个单工通道,统称为一个信道。1个lane的信道可以保证每个方向约250 MB/s标准带宽,这其中大约200 MB/s用来传输数据,其余被文件的协议部分占用。这一速率为一般PCI设备的2~4倍,同时PCIExpress总线点到点的总线连接结构可以让每个PCIExpress设备都具有这个带宽。

3 基于FPGA与PHY器件的采集设备实现

3.1 采集通道器件和FPGA的选型及设计

采集设备包含2个采集通道,采用模/数转换芯片ADS5102设计。ADS5102是德州仪器的一款10 b-65MSPS采样率并带内部电压参考的模/数转换器,采用1.8 V模拟供电。与同一类型的ADS5103相比,它的采样率更高,而且采用差分信号输入,有效地提高了输入信号的共模抑制比。

FPGA选用Xilinx公司Spartan-3系列XC3S1000。其采用90 nm材料生产,容量高、成本低,具有业界一流的区块和分布,具有多达784个I/O,MicroBlaze 32位RISC软处理器和支持乘法累加器(MAC)功能的嵌入XtremeDSP功能。

Xilinx Spartan-3 PCI Express设计包括一个PCIExpress Pipe Endpoint LogiCore。Xilinx低成本Spartan-3系列提供PCI Express协议层核。PCIE PipeEndpoint LogiCORE整合了分立的PCIE PHY,提供了全面的、完全符合PCI Express基础规范(PCI Express Base Specification)v1.1的PCIE端点解决方案。

3.2 外部PHY器件PX1011A

NXP公司的PX1011A符合PCI Express规范v1.0a和v1.1,是一款与低成本FPGA一起使用而优化的单通道2.5 Gb/s的PCI Express PHY器件。

数据由接收器的差分输入接口进入PXl011A,在被传送到解串化电路之前,这些数据将小振幅的差分信号变为轨对轨的数字信号。一个载波检测电路将检测线路上是否有数据并将这些信息传送到串行器/解串器SERDES和物理编码子层PCS。SERDES将这些数据串并转化为10位并行数据。然后PCS采用8位/10位解码器来恢复成8位数据格式。

在发送过程中,来自Pipe接口的8位数据通过一个8位/10位编码算法进行编码。8位/10位编码确保串行数据被直流平衡以避免交流耦合系统中的基带漂移,它同时确保足够的数据转换以避免接收端的时钟恢复。

PX1011A的MAC接口采用独立的时钟,由片内100 MHz的基准时钟锁相环产生。锁相环有一个相对较高的带宽来实现可选的扩频并较少EMI。8 b数据接口在250 MFIz上运行并进行SSTL2信号发送,这种模式与流行的FPGA I/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总线的通道数,以满足更高的总线设计需求。



参考文献:

[1].PCIdatasheethttp:///datasheet/PCI_1201469.html.
[2].lanedatasheethttp:///datasheet/lane_1974584.html.
[3].ADS5102datasheethttp:///datasheet/ADS5102_1095388.html.
[4].ADS5103datasheethttp:///datasheet/ADS5103_1095389.html.
[5].XC3S1000datasheethttp:///datasheet/XC3S1000_1730756.html.
[6].RISCdatasheethttp:///datasheet/RISC_1189725.html.
[7].PCBdatasheethttp:///datasheet/PCB_1201640.html.


huiliang

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

往复泵是一种重要的流体输送设备,广泛应用于化工、石油、制药、冶金等领域。其工作原理基于活塞在泵缸内的往复运动,通过改变泵缸内的容积来实现液体的吸入和排出。本文将详细阐述往复泵的工作原理、结构特点、性能参数以及应用领域,以...

关键字: 往复泵 泵缸 设备

液相色谱法是一种高效、快速的分离分析技术,广泛应用于化学、生物、医药等领域。液相色谱仪作为实现液相色谱分析的设备,具有高效、高分辨率、高灵敏度等特点。本文将详细介绍液相色谱仪的操作步骤、原理以及应用。

关键字: 液相色谱法 分离分析技术 设备

漏电保护器是一种用于检测和切断漏电电流的设备,它对于保护人身安全和防止电气火灾具有重要作用。然而,在现实生活中,一些电工并不愿意安装漏电保护器,这背后有着多种原因。本文将探讨电工不愿意安装漏电保护的原因,并分析其背后的因...

关键字: 漏电保护器 检测 设备

工业主板,顾名思义,是专为工业级应用设计的电脑主板。它采用较耐用的元件和材料,以满足工业环境中对稳定性和可靠性的高要求。相比之下,普通主板主要是为个人电脑设计的,旨在满足一般日常使用需求。

关键字: 工业主板 电脑主板 设备

全新的卡片式设计:整个控制中心以卡片形式展现第三方连接状态,对应设备的相关功能以及其它硬件的终端设置,可在控制中心中进行统一管理。

关键字: 硬件 设备 终端

工业自动化系统设计是一项涉及多个领域和技术的综合性任务。它旨在通过自动化设备和系统的集成,提高生产效率、降低能耗、确保产品质量和增强企业竞争力。本文将详细探讨工业自动化系统设计的原则、方法和实践,以期为相关从业人员提供有...

关键字: 工业自动化 设备 系统

电机作为将电能转换为机械能的重要设备,被广泛应用于各种工业和民用领域。根据工作原理的不同,电机可以分为交流电机和直流电机两类。交流电机和直流电机在工作原理、结构和使用场景等方面存在显著的差异。本文将对交流电机和直流电机的...

关键字: 电机 设备 机械能

华为鸿蒙OS 2.0系统是华为最新推出的操作系统,旨在为用户提供更加流畅、智能和安全的移动体验。本文将详细介绍华为鸿蒙OS 2.0系统的支持机型,帮助用户了解哪些设备可以升级到该系统。

关键字: 华为鸿蒙 操作系统 设备

在这篇文章中,小编将对USB接口的相关内容和情况加以介绍以帮助大家增进对USB接口的了解程度,和小编一起来阅读以下内容吧。

关键字: USB 通用串行总线 总线

Holtek专注于无线通信技术持续强化产品研发,宣布新推出Sub-1GHz OOK/GFSK Transceiver Flash MCU BC66F3653和BC66F3663。二款MCU较前代产品增强抗干扰能力、提升传...

关键字: MCU 数据采集 自动化
关闭
关闭