当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]引言随着计算机技术的发展,数据传输带宽的日益增长,总线技术也在迅速的发展。高速信号传输,海量数据采集与记录,实时视频图像处理以及其他数据处理的数据吞吐量现以kMb/

引言

随着计算机技术的发展,数据传输带宽的日益增长,总线技术也在迅速的发展。高速信号传输,海量数据采集与记录,实时视频图像处理以及其他数据处理的数据吞吐量现以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信号,为了减少信号间的延时误差,每组信号布线时尽量等长且减少走线长度。[!--empirenews.page--]

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总线的通道数,以满足更高的总线设计需求。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭