1、第 45 卷第 3 期2023 年 5 月 湖北大学学报(自然科学版)Journal of Hubei University(Natural Science)Vol.45No.3May 2023收稿日期:20220725作者简介:周杨罗(1995),男,硕士生;罗显志,通信作者,教授,E-mail:luoxianzhi 文章编号:10002375(2023)03042006基于 PCIe 接口的高速 ADC 采集系统设计周杨罗,罗显志,李政,刘阳(湖北大学计算机与信息工程学院,湖北 武汉 430062)摘要:随着现代电子技术的快速发展,数据采集被应用于各行各业,并且在雷达测控以及医疗成像等领域
2、需要采样率达到 Gsps 级别.为了提高实时信号采集的速度与准确性,在考虑到实时性与通用性情况下,设计一种具有 FMC 接口、5 Gsps 采样率、10 位分辨率的数据采集系统.该系统利用 Kintex-7 系列芯片作为核心芯片,控制 E2V 公司的高速 ADC 芯片 EV10AQ190,采集的数据经过多相滤波算法,通过 PCIe 总线传输至上位机.文中对数据采集系统的方案设计进行了阐述,对数据采集系统进行验证,并与 Matlab 仿真进行对比,结果显示该系统可以达到数据采集系统的设计要求.关键词:FPGA;PCIe 总线;ADC 采集系统;EV10AQ190;多相滤波中图分类号:TN919.
3、6文献标志码:ADOI:10.3969/j.issn.1000-2375.2022.00.079著录信息:周杨罗,罗显志,李政,等.基于 PCIe 接口的高速 ADC 采集系统设计J.湖北大学学报(自然科学版),2023,45(3):420-425.DOI:10.3969/j.issn.1000-2375.2022.00.079.ZHOU Y L,LUO X Z,LI Z,et al.Design of high speed ADC acquisition system based on PCIe interface J.Journal of Hubei University(Natural
4、Science),2023,45(3):420-425.DOI:10.3969/j.issn.1000-2375.2022.00.079.Design of high speed ADC acquisition system based on PCIe interfaceZHOU Yangluo,LUO Xianzhi,LI Zheng,LIU Yang(School of Computer and Information Engineering,Hubei University,Wuhan 430062,China)Abstract:With the rapid development of
5、 modern electronic technology,data acquisition is applied in all walks of life,and in radar measurement and control,medical imaging and other fields,the sampling rate is up to Gsps.In order to improve the speed and accuracy of real-time signal acquisition,a data acquisition system with FMC interface
6、,5 Gsps sampling rate and 10 bit resolution was designed in consideration of real-time and generality.The system used the kintex-7 series chip as the core chip and controls the high-speed ADC chip EV10AQ190 of E2V company.The collected data was transmitted to the upper computer through the PCIe bus
7、through the polyphase filtering algorithm.In this paper,the scheme design of the data acquisition system was described,the data acquisition system was verified and compared with the Matlab simulation.The results show that the system can meet the design requirements of the data acquisition system.Key
8、 words:FPGA;PCIe bus;ADC data acquisition system;EV10AQ190;Polyphase filtering 0引言随着信息技术的发展,高速采集系统广泛应用在雷达系统、卫星遥测、医用图像、宽带网络通信等多个领域.对于诸多领域的各类复杂系统来说,数据传输的准确性和实时性都至关重要,是一切算法分析的基础.在此使用可扩展性极强的 FMC 高速接口设计成子母板结构,采用 FPGA 作为基带信号处理的核心板,并利用 DDR3 存储器和 PCIe 传输接口实现数据存储上传功能,此结构可以针对不同应用场景第 3 期周杨罗,等:基于 PCIe 接口的高速 ADC
9、 采集系统设计421 定制化解决方案1.传统的 PCI 总线很难达到现有的高宽带要求,PCI Express 总线技术在其构造上取得了突破性改进,采取高速差分串行总线技术,实现设备点到点互连.为了实现连续数据高吞吐量,本次设计采用的是基于 PCIe 总线结构来实现数据传输.本文采用 PCIe2.08 接口协议,使用 Xilinx 提供的 IP 核避免多驱动程序控制。驱动程序使用 VS开发,上层应用软件使用 Qt Creator 平台在 Windows10 环境下开发,实现了主机到板卡(host to card,H2C)和板卡到主机(card to host,C2H)的数据传输。1系统整体设计系
10、统的设计方案是根据系统的实际需求确定的,在本次的高速采集系统设计中,应用场景是接收模拟射频信号的过程.整个系统架构包括 FPGA 控制载板、高速 AD 数据采集子板和 PC 服务器.FPGA 母板与 ADC 子板使用 FMC(FPGA mezzanine card)控制器相连接,数据传输部分使用 PCIe 总线标准将处理完成的数据传输到 PC 端上位机.系统整体结构框图如图 1 所示.图 1系统整体结构框图FPGA 选 用 XILINX 公 司 的 K7 系 列:XC7K325T-2FFG900.ADC 芯 片 选 用 E2V 公 司 的EV10AQ190A,该芯片-3 dB 输入带宽可达 3
11、.2 GHz,片内集成了 4 路 1.25 GHz 采样率、10 bit 分辨率ADC,可以工作在单通道、双通道、四通道等 3 种模式下,最高采样率可达到 5 GHz.由于实际场景需要采样接近 2 GHz 频率的射频信号,所以本次系统采用的是单通道 5 GHz 采样率模式,如图 2 所示.图 2EV10AQ190A 芯片单通道模式时钟驱动在单通道模式下,任意一个端口输入的模拟信号同时进入 ADC 芯片的四个通道,四个通道的时钟均由同一外部时钟驱动,即四路 ADC 共用频率为 1.25 GHz 的时钟电路.外部输入 2.5 GHz 时钟,该时钟会被 2 分频为 1.25 GHz,来驱动内部采样时
12、钟.由图 2 的所示,同相的 1.25 GHz 的时钟驱动 A 路ADC,反相的 1.25 GHz 时钟驱动 B 路 ADC,同相的 1.25 GHz 时钟经过 90延时驱动 C 路 ADC,反相的1.25 GHz 时钟经过 90延时驱动 D 路 ADC.即四路 ADC 通道并行处理模拟数据,得到最高 5 GHz 的等效采样率2.2数据传输逻辑设计本文数据传输逻辑设计基于 Verilog 语言,采用自顶而下模块化设计思路,使用 Vivado2019.2 开发软件编写.在 FPGA 软件逻辑部分,主要由三部分组成:FPGA 端程序、PCIe 卡驱动以及 PC 上位机测试程序,程序的流程框图如图
13、3 所示.422 湖北大学学报(自然科学版)第 45 卷图 3程序流程图ADC 采集模块在采集到数据后会产生 FIFO(first input first output)请求,通知 FIFO 数据读写模块把ADC 数据写入 FIFO 中,在把数据存入 DDR3 之前,由于 DDR3 的数据接口是 AXI 接口,所以在这里通过了 AXI 协议转换模块以及总线交叉模块完成 DDR3 的数据存入操作;在读取 DDR3 数据时,PC 机端程序通过 PCIe 通信模块发出读取 DDR3 中的数据指令,DDR3 中的数据通过 AXI 总线和 PCIe 通信模块把数据返回到 PC 机端;此外用户寄存器模块预
14、留了用户寄存器接口,用户可以通过预留的接口,将操作板卡的信息通过命令传输及数据采集模块传输给上位机3-5.2.1PCI Express 结构及驱动PCIe 是第三代互联网通信的 I/O 总线,具有速率高、兼容性高等优势.采用事务处理层、链路层、物理层的分层体系:事务处理层接收数据请求并将其封装为数据包,转换为总线事务;链路层用于数据包的正确接收与发送,确保数据可靠与完备;物理层发送链路层的数据包以及本身产生的数据包,接收另外一端发送设备传输过来的数据上传至链路层6.层次结构如图 4 所示.图 4PCIe 层次结构图目前 PCIe 接口主要有 3 个版本,即 PCIe1.0、PCIe2.0 和
15、PCIe3.0,理论上各版本的性能都是在上一代基础上翻倍提升.本次设计中采用 PCIe2.08 接口,其可提供的链路带宽为 4 GB/s,满足本文设计中数据与上位机实时传输的要求7.本文是以 DMA(direct memory access)的方式来控制 PCIe 总线的数据交换.为了让 PCIe 通信应用的更加便捷,XILINX 提供了 XDMA IP 以及配套的驱动程序,并且适用于目前主流的 Windows 系统以及Linux 系统.XDMA IP 核在 AXI4 内存映射和 AXI4 接口之间提供高带宽的直接存取访问,选择分散收集SG(Scatter Gather)功能将数据移动任务从位
16、于处理器系统中的中央处理器(CPU)中剥离出来8.并且可以通过增加一个 AXI4-Lite 接口,来获取上位机的控制寄存器值以便上位机下发指令.设置 XDMA IP 硬核,将 PCIe 接口链路设置为 8,AXI 数据总线位宽设置为 128 bit,AXI 参考时钟为250 MHz,最大链路传输速率为 8.0 GT/s.使能 AXI4-Lite 接口可以使主机通过 PCIe 接口访问用户逻辑第 3 期周杨罗,等:基于 PCIe 接口的高速 ADC 采集系统设计423 寄存器.XDMA 控制 DDR3 的时钟为内部 100 MHz 时钟,给到 MIG IP 核的时钟入口.通过寄存器写入方式,将 C2H 描述符起始地址写入寄存器,DMA 传输从 DDR 源地址中获取数据,并将数据发送到主机目的地址.PC 端上位机采用 WinDriver 生成的 PCIe 驱动,并利用 XILINX 提供的 API 函数实现数据接收与发送的应用程序设计.安装好驱动后,开发人员即可根据 PCIe 驱动源码,来进行 API 函数的编写.PC 端应用程序调用的 API 函数主要包括如下9.(1)getDevice