您的位置 首页 解答

怎么规划根据FPGA和USB2.0的高精度数据收集体系?

现代电子侦查技术要求能够对外部模拟信号进行精确提取和分析,从而对数据采集的精度提出了很高的要求,本文提出了一种以FPGA 作为主控制器的高精度500

现代电子侦办技能要求能够对外部模仿信号进行准确提取和剖析,然后对数据收集的精度提出了很高的要求,本文提出了一种以FPGA 作为主操控器的高精度500M 数据收集体系规划办法,详细地论述了各硬件渠道的详细构成。最终运用QUARTUS 内部的嵌入式逻辑剖析仪(SignalTap ii)能够观察到被收集到的信号而且对数据的有用位数及功用进行简略剖析。

0 导言

跟着数字通信技能的逐渐开展,高速数据收集体系现已逐渐替代传统的数据收集体系,其广泛应用在很多场合。新一代可编程逻辑器件FPGA 都具有较多的IO 端口以及强壮的数据处理才能,这也为高速高精度数据收集体系的研制供给了根底条件。

1 作业原理

本文规划的数据收集卡硬件原理框图1 如下所示。


如图1 所示,前端模仿电路将外界的模仿信号转化成为ADC能够接纳到的数据格局;高速时钟电路供给500MHz 的高速时钟,ADC 在此时钟效果下,进行ADC 改换。在整个数据收集卡中,FPGA 是进行收集操控,以及数据接纳的中心。FPGA 依照1 :4 的比率对将接纳到的500MHz 的LVDS 差分数据流进行分流和降速。

数据分流之后因为数据速率与USB 接口数据传输速度不同,所以还要进行FIFO 缓冲。FIFO 的写时钟与串行收发器坚持同步,当FIFO 缓冲器被写满之后,由FPGA 读取FIFO 缓冲器中的数据,而且将数据经过USB 接口芯片传输到上位机中进行显现或许存储。

2 体系规划

数据收集卡首要包括高速A/D 转化模块、FPGA 主控模块和USB 接口电路三个模块。

2.1 高速A/D 转化模块

ADC 芯片作为模数转化的中心,规划选用TI 公司推出的ADS5463,其选用流水线型结构,最高采样速度500MSPS,精度12位,具有高速差分数字接口LVDS.

关于高速ADC 采样电路,模仿信号输入接口的规划不只要确保满意的传输带宽而且要完结将单端的输入信号变成差分信号的功用。本规划运用射频变压器将单端输入转化为差分输入,并经过TI 公司出产的可级联中频扩大器THS9001 芯片完成中频信号扩大的功用。

在A/D 转化模块中,采样一直的质量非常重要。在本文的规划中,选用了锁相环芯片CDCM61001 生成采样时钟,并运用FPGA内部PLL 资源倍频生成采样时钟作为备用的采样时钟。本规划是用25M 的时钟倍频20 倍生成500M 以LVPECL 格局的差分电平方法。

高速A/D 转化模块的原理图如图2 所示:


2.2 FPGA 主控模块

FPGA 是整个收集模块的操控中心,其首要的功用是接纳数据,而且对数据进行降速、分流以及缓冲,而且将数据传经过USB接口传输给上位机。在本文的规划规划中,挑选Cyclone II 系列的EP2C35F672C6,它归于一款中等密度的FPGA,相比较于ASIC低得多的本钱在单片机上完成杂乱的数字体系。

规划运用FPGA 的Bank3 和Bank4 接纳来自ADS5463 输出的高速LVDS 数据,包括DRY(数据输出准备好)以及OVR(数据溢出位)。Bank5 和Bank6 用于USB 接口芯片的操控,其他BANK 留作扩展之用。

在FPGA 主控模块中,AD 输出信号和时钟信号被传输到FPGA 中的DIFFIO_RX p/n 通道上。其间p 表明正差分通道信号,而n 表明负差分通道信号。在这部分的软件规划中,运用altvds模块接纳ADC 的输出数字信号、一直信号,而且运用DMUX 对数据流进行串行- 并行转化,以便利对输入信号的后续操作。

数据流在DMUX 模块的仿真成果如图3 所示。


如图3 所示,Data_in 是一路500MHz 的数据流,而dout1,2,3,4 为Data_in 经过DMUX 进行降速和分流之后的成果。从图中能够看出,500MHz 的高速数据流经过DMUX 降速、分流之后的输出较洁净、滑润,在高速状况下,到达这种成果是比较抱负的,对体系规划上也是很有利的。

经过DMUX 降速之后的数据流现已到达了FPGA 的处理要求,可是因为FPGA 的处理速度和与上位机相连的USB 接口速率不匹配,为此需求选用FIFO 来进行缓冲。在本文的规划中,选用两个容量为4K,宽度为32 位的FIFO 来来作为FPGA 与USB 接口之间的数据缓冲。FPGA 接纳高速DMUX 降速后的数据流,而且写入到FIFO 中,当FIFO 写满8K 之后,发动读一直,将FIFO 中的数据经过USB 接口分批读取到上位机中。

2.3 USB 接口电路规划

USB 接口的首要功用是将FPGA 缓冲区中的数据读取到上位机中。在本文的规划中,USB 接口电路选用CYPRESS 公司CY7C68013A 芯片。CY7C68013A 芯片集成了串行接口引擎来便利读取FPGA 中的数据。芯片选用2MHz 的时钟信号,一同运用外部EEPROM 存储固件程序。在USB 接口电路的初始化过程中,首要需求从EEPROM 中读取固件程序。FPGA 经过USB 接口与上位机进行数据传送的流程图如图4 所示。


如图4 所示,EZ-USB FX2 芯片中包括有GPIF 和SlavFIFO 两种接口方法,能够满意不同数据流速度以及用户对数据处理实时性的要求。在CY7C68013A 芯片中,其接口时钟与FPGA中的IFCLK 引脚衔接,然后在FPGA 中的FIFO 缓冲写满时,FPGA能够操控USB 接口电路开端从FIFO 缓冲区中读取数据。

USB 接口的首要作业室完成对FIFO 缓冲区中数据的读取,因而其规划的逻辑也首要是对FIFO 读、写状况机的监控,其完成的流程如下:在接纳到数据读指令之后,分红8 次读取FIFO中的128 位数据,而且将这些数据一同存放到FPGA 操控寄存器组中;将FPGA 的FIFO 中的数据读出,而且写入到EP6 端点缓冲区中。状况机先由闲暇状况进入等候状况;当EP2 不为空时,进入读状况EP2 ;当读指令有用时,那么就进行数据的读取而且发送相应的指令,之后回到闲暇状况;在等候状况下,当EP2 为空,EP6 不满时,开端写EP6,写满后也回到闲暇状况。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/150142.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部