基于PCIe总线的高速数据采集系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 系统整体设计及工作原理
系统提供了电压、电荷信号入口,可供多种类型的信号测试,其整体结构如图1所示,包括信号采集、信号适调、放大、滤波、A/D 变换、FPGA、PCIe 总线和数据分析等模块。
其工作原理主要是PC 端通过PICe 总线发送命令给FPGA 对系统进行配置,包括参数设置、状态监控、采集控制、数据转存、数据传输方式等,这些命令通过PI 硬核传给FPGA,然后FPGA 通过内置程序把命令传给各个芯片实现主机命令功能系统开启后模拟信号通过模拟开关,经放大器放大后,由A/D 转换器换后进人FPGA,由于PCIe 接口传输速率大于信号采集速率,为了保证数据不丢失,FPGA 将处理后的数据存入在FPGA 内部开辟的FIFO 缓存里,通过PICe 总线快速地将数据传送到PC 端。
2 FPGA 设计模块组成与功能
FPGA 作为本地端的逻辑控制核心是高速数据采集系统的设计核心之一,主要由A/D 模块、时钟模块、组帧模块、PCIe 模块、串口模块、控制模块等6部分组成,如图2所示。
2.1 A/D 模块
与A/D 芯片通信,控制A/D 转换的进程并读取转换结果。
记录下转换发生的时间,与转换结果打包后发往
组帧模块。
2.2 时钟模块
提供相对时间给A/D 模块。
发送绝对时间整秒帧给组帧模块。
为保证系统各信号输出的同步性,这里采用了全局时钟驱动网络,具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,可进行系统及时钟管理和偏移控制。
采用PLL 可实现更高的内部时钟频率,通过全局时钟网络可使时钟延迟和时钟偏移最小,减小或调整时钟到输出(TCO)和建立(TSU)时间。
2.3 组帧模块
将各个AD 模块的数据和时钟模块提供的绝对时间帧整合为单一的数据流,发往PCIe 模块。
tests show that the transmission speed of the acquisition system can meet the requirements of high-speed acquisition field,and has stable performance.Key words : PCIe bus ;data acquisition ;FPGA ;high-speed transmission
图1 系统整体设计框图
2.4 PCIe 模块
PCIe 模块实现了PCIe 总线的物理层、数据链路层、配置管理层的协议,上层提供一个事务层接口,通过该接口完成应用逻辑,最终实现“设备-主机”方向的数据流传输即可。
2.5 串口模块
设计了一个符合RS232通信协议的串口用于承载设备和主机之间的控制协议的收发,同时将一些状态信息反馈给主机。
串口收发及命令解码模块主要完成串口收发控制、主机操作命令接收及解码、命令校验及分发等功能。
2.6 控制模块
解析控制协议,控制设备的运行状态。
主要包括:启动/停止数据采集、授时等。
FPGA 控制模块的控制时序如图3所示。
在控制寄存器中设置了S_R(SRAM_READY)、S_B(SRAM_BUSY)两个信号。
当S_R 为低电平时,FPGA 完成波形数据的下载。
下载完成后, S_R 置高,FPGA 在INT 有效沿信号的触发下,开始延时并进行波形的模拟输出。
当FPGA 对波形数据帧进行操作时,设置S_B 为高以禁止操作,从而保证了信号的完整性和系统的安全性。
3 PCIe 总线设计
3.1 PCIe 简介
与PCI 总线不同,PCIe 总线使用端到端的连接方式,在一条PCIe 链路的两端只能各连接一个设备,这两个设备互为数据发送端和数据接收端。
PCIe 总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe 总线使用的层次结构与网络协议栈较为类似。
由图3示,在PCIe 总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4 根信号线组成。
其中发送端的TX 部件与接收端的RX 部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX 部件与接收端的TX 部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。
低压差分压信号线,一条用于发送于接收(PERP、PERN)。
能力更强,因为差分信号在布线时要求近”,而且在同层。
因此外部干扰噪声将被加载到D+和D-两根信号上,号的逻辑值产生的影响较小。
总线频率。
此外使用差分信号能有效抑制电磁干扰差分信号D+与D-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。
外围电路中,时钟电路、配置电路和加载电路是关键电路。
时钟的质量对芯片的工作质量影响较大,时钟模式可以通过其外设的配置管脚配置。
图3 PCIe 总线物理链路
在PCB 制板时,由于数据采用高速差分信号进行传输,对于差分信号对的布线应该尽可能地短、走直线,差分对内的信号线长度必须保持一致另外在PCB 板的实际加工过程中,层间差分信号若不能保证差分线之间间距等于介质厚度,会造成层间差分对的差分阻抗变化,因此设计时所有差分信号均应布置在同一层内。
3.3 PCIe 搭载的Spartan6系列MCU 图2 FPGA 设计模块框图
向系统中写入随机数,接收到随机数并缓存到FPGA 的双口RAM 中进行存储;从双口RAM 读数据,数据长度与写入保持一致,计算PICe 总线读写速度。
PCIe 总线传输速度测试如图5所示。
4 结束语
为了顺应计算机主板结构的发展趋势,针对PICe 总线的高带宽优势,依托于FPGA 设计出一款实用的高速数据传输系统。
经实际测试,该系统的PCIe 总线的数据带宽达到了200MB/s,相比普通PCI 总线不到100MBs/的传输速率具有
[l]阐张琴,马游春卡的接口设计[2]王齐.PCI Express 社,2010.[3]张素萍,李朝强,统设计[4]麻军伟,刘卫东拟系统设计[J].计算机测量与控制,2011,19(7):1767-1770.[5]李木国,黄影卡设计与实现图4 PCIe 线接口原理图
用FPGA 高速、可并行流水数据处理的能力,通过VGA 接口在显示器上实现了实时图像显示。
经过实际电路验证测试,电路设计合理,结构简单,测试结果符合设计要求。
参考文献
[1]何舒文,王延杰,孙宏海等.高动态科学级CMOS 相机系统的设计[J].液晶与显示,2015,30(4):729-735.
[2]吴胜.SCMOS 高速成像系统关键技术研究[D].重庆:重
庆大学,2015.
[3]王秋鹏.基于FPGA 的MT9P401图像传感器驱动设计
研究[J].电子设计工程,2017,16:187-189.
[4]任勇峰,王国忠,储成群等.基于CMOS 传感器的高性能图
像采集系统设计[J].仪表技术与传感器,2019,1:64-67.[5]侯絮絮,马松龄,孙晨等.基于FPGA 的CMOS 相机实时
数据处理设计[J].电子技术应用,2017,7:36-39.
[6]俞鹏炜,任勇,冯鹏等.基于FPGA 的千兆以太网CMOS 图像
数据传输系统设计[J].国外电子测量技术,2016,11:76-81.[7]张克寒,李明伟.高清CMOS 图像传感器多通道数据传
输系统设计[J].仪表技术与传感器,2017,2:54-57.[8]姚洪涛,黄金栋,谷元保等.一种CMOS 图像传感器图像
采集与测试系统的设计[J].洛阳理工学院学报(自然科学版),2016,1:61-63.
图3 SignalTap II 抓取的图像数据
(上接第36页)。