欢迎您访问长沙鹏翔电子科技有限公司官方网站

技术与应用

PCIE高速声发射仪/千兆网络声发射仪

技术与应用

基于FPGA 的多通道可变采样率采集卡设计

发布日期:2017-06-01 17:59    浏览次数:

    测试测量领域,在各种飞行器飞行试验中,数据采集装置作为测试系统的核心,弥补了无线电遥测的缺点,采集并记录着飞行器内部各功能部分的各种工作环境参数和飞行动态参数,为飞行器的设计改进提供了可靠的试验依据,在遥测系统中有着不可替代的作用。本文针对相关课题的任务要求,以现场可编程门阵列作为核心存储芯片[1],设计了一种可以工作在各种恶劣环境下的数据采集存储系统,为获取可靠的飞行试验数据提供了有力的保障[2]。
1 总体方案设计
    设计的采集存储卡包含16 个通道,借助FPGA丰富的I /O 资源和强大的逻辑控制能力,通过控制两片多通道ADC 独立采样、转换和缓存的方法,可以使不同ADC 的采样率互不相同,各ADC 的采样率参数由计算机软件随卡地址一齐装订下发。当针对不同频率的被测信号选择不同采样率时,抗混叠滤波器的截止频率也必须相应调整。设计中采用截止频率可调的开关电容型滤波器,实现了截止频率随采样率参数自动调整。采集得到的数据除实时上传到计算机外,还同时存储到板载Flash 存储器中[2],本设计的结构框图如图1 所示。

2 系统硬件电路设计
2. 1 前端调理滤波电路设计
2. 1. 1 运放的选择
    每个ADC 都有各自的量程,如果被测信号的变化范围小于这个量程,就会浪费ADC 的分辨位数,比如用量程为- 5 ~ + 5 V 的ADC 对变化范围为0~ 5 V 的信号进行模数转换将浪费一半的量化值;如果被测信号的变化范围大于这个量程,则可能损坏ADC; 当输入信号变化范围正好等于ADC 量程时得到的转换精度相对较高。前端调理电路处在A/D 转换电路的前端,它的输出质量直接影响最终的采集精度,运算放大器作为调理电路最重要的组成部分,在选用时不仅要求有足够的带宽和驱动能力,还必须有足够的速度以满足采样/保持时间。综合考虑速度和精度要求,本设计中调理电路部分选择了精度高、噪声低、共模抑制比高的运放OPA4228,其3 dB 带宽达33 MHz,能保证被测信号不失真地通过; 失调电压仅为75 μV,偏置电流仅为10 nA,能有效降低运放及外围电路产生的噪声,从而减小ADC 采样误差,提高采样精度。对OPA4228施加10 V 阶跃信号时,其输出稳定在最终值0. 01%和0. 1%误差带内的时间分别为2 μs 和1. 5μs,能匹配ADC 的采样时间[3]。
    本设计中要将0 ~ 5 V 的输入信号调理到- 5 ~+ 5 V 的ADC 模拟输入范围内,采用的方法为: 先使输入信号经过减法电路减去2. 5 V,再经过一个增益为2 的放大电路。从电路结构上看,减法电路是反相输入和同相输入相结合的放大电路[4],如图2 所示。利用虚短和虚断的概念可得到式( 1) ; 如果所选电阻满足Rb6 = Rfb2 = Rb8 = Rb10,式( 1) 可以简化为式( 2) ,此时减法电路的增益为1。

    图2 中所有电阻选用10 kΩ。当Vos1 = 0 V 时,I2 = 0. 25 mA,即单路减法电路最大需要0. 25 mA 的驱动电流,所以16 路最大需要4 mA。

2. 1. 3 抗混叠滤波电路设计
    抗混叠滤波的实质是低通滤波,其作用是滤除被测信号中可能会折叠到低频段的高频成分,防止造成假频干扰。本设计中,ADC 的采样率是可以变化的,这给确定抗混叠滤波器的截止频率造成了困难,截止频率太小会使通过的信号失真,而截止频率太大又失去了低通滤波的意义,最好的方法是截止频率能随着采样率的变化自动调整。设计中选用了一阶RC 滤波器,其截止频率接近于LTC1068的截止频率[4],如图3 所示: 取Rff5 = 1 kΩ,Cff5 = 10nF。
   
在开关电容滤波器内部,由输入时钟控制的MOS 开关高速切换,会对输出模拟信号产生馈通效应,因此在滤波器输出端也要加RC 低通滤波器来最大限度降低时钟馈通引入的噪声。如图3 中Rff51、Cff51所示。FPGA 产生的方波脉冲直接输入到LTC1068 时钟管脚时会产生较大的过冲和下冲,如图4( a) 所示; 在时钟管脚上串联一个200 Ω 电阻后,时钟线上的高频成份明显被滤除,时钟边沿的陡峭程度降低,过冲也随之消失,如图4( b) 所示。其中图中Y 轴方向每一大格代表1 V,X 轴方向每一大格代表200 ns。

2. 2 A/D 转换电路的设计
    设计中选用了8 通道AD7606 作为本系统采集芯片,尽管AD7606 的内部箝位保护电路允许输入过压达到± 16. 5 V,但瞬时电压可能超过± 16. 5 V导致箝位电路开启而损坏器件。因此在模拟输入通道上应该放置一个串联电阻,以将超过± 16. 5 V的电流限制在± 10 mA 以下。设计中选用了1 kΩ的电阻,如图5 中RV1所示。因为模拟输入通道Vx上串联了一个电阻,每个模拟输入对应的VxGND 上也应该串联一个与之相等的电阻以防止出现失调误差,如图5 中Rv2所示。AD7606 支持三种数字接口模式: 高速串行模式、并行字节( 8 bit) 模式和并行( 16 bit) 模式,所需接口模式可以由PAR /SER/BYTE 和BYTE SEL 两个管脚来选择。考虑到接插件的接线端子数和PCB 空间都比较紧张,本设计选用了并行字节模式,所有通道的A/D 转换结果( 16位) 分两次8 位读出,先读高8 位,后读低8 位。通道间按升序逐个读出,即第一次读出的是通道1 的高8 位,最后一次读出的是通道8 的低8 位。并行字节模式比并行模式节省空间,比高速串行模式节省时间。
3 FPGA 逻辑时序设计
3. 1 通信协议设计
    设计通信协议是为了保证整个测试系统有条不紊地协同工作,本文主要详细介绍主控制卡与采集存储卡之间的通信协议,不论是主控制卡向采集存储卡下发数据,还是采集存储卡向主控制卡上传数据,也不论传送的是地址、命令还是数据,主控制卡与采集存储卡之间都是以9 位二进制数的形式通信的,如表1 所示,其中D8 是标志位,‘0’代表数据,‘1’代表地址或命令,到底是地址还是命令还要看D7,D7 的‘0’代表地址,‘1’代表命令。传送地址时,D6 ~ D2 代表测试记录仪的地址,D1 ~ D0 代表一台测试记录仪中采集存储卡的地址,D0 的‘0’代表选中第一块采集存储卡,‘1’代表选中第二块采集存储卡,而当D1 为‘1’时,无论D0 是什么,两块采集存储卡都被选中。采集存储卡将D1 ~ D0 的值与自己的实际地址相比较,来判断是不是给自己发的命令。
    传送命令时,D6 ~ D0 代表命令代码,命令代码与具体内容的对应关系如表2 所示。数据分为采样率参数和编帧之后的数据,前者由主控制卡下发给采集存储卡,后者由采集存储卡上传至主控制卡。如果数据是前者,D7 ~ D4 代表ADC2( 9 ~ 16 路) 的采样率,D3 ~ D0 代表ADC1( 1 ~ 8 路) 的采样率,采样率参数与实际采样率的对应关系如表2 所示; 如果数据是后者,D7 ~ D0 代表AD7606 实际采集的数字量或附加的帧标志,当且仅当上传帧结束标志( 帧尾) 时D8 为‘1’,以告知主控制卡已读完一帧数据。


3. 2 采集控制模块
    一块采集存储卡上有两片AD7606,其中ADC1采集1 ~ 8 路模拟信号,ADC2 采集9 ~ 16 路模拟信号。由于两片AD7606 的采样率可能不同,因此它们的CONVST( 采样脉冲输入) 、RD /SCLK( 读数时钟) 和DB7 ~ DB0( 数据输出端口) 在硬件上应该相互独立,采集控制逻辑也不能混在一起; 但是当两片AD7606 的采样率相同时,只有它们的转换脉冲同步才能保证所有通道间同步采样。因此设计中用同一个时钟驱动两个不同状态机来分别控制两片AD7606 的采样、读数,这样,在相同时间内两个状态机执行的状态数是相同的,也就是说同一时刻下采样率相同的两片AD7606 几乎处于转换周期的同一阶段[5]。
    FPGA 上电后的初始状态会自动配置AD7606的工作模式,包括选择接口模式、选择内/外参考电压等,AD7606 开始采集前必须复位一下才能确保在正确的模式下工作。图6 给出了采集控制的流程图。
    如图6 所示,开始采集前,采集控制模块会收到各片AD7606 的采样率参数,根据这个参数即可以配置过采样率。过采样率设置为4 时,可选择的采样率最大值刚好为50 ksps,但如果加上转换完成后的读数时间,实际采样率就达不到50 ksps,所以设计中选择了在转换过程中读数,只不过读出的是前一次A/D 转换的结果。
    如图6 所示,每当ADC1 采集达到一帧数据量时都需要加帧头“EB + 90 + 卡地址+ 采样率参数”,其中,“卡地址”用于标识数据帧的归属,“采样率参数”与帧的数据量有关。同理每当ADC2 采集达到一帧数据量时都需要加帧尾“14 h”,作为一帧数据结束的标志。

4 性能测试
4. 1 减法电路测试
    从减法电路的同相输入端输入如图7( a) 所示的正弦波,频率为10 kHz,峰峰值为5 V,反相输入端接到ADR421 的输出端,图7( a) 中“ ”为0 V 电压基准线。经过减法电路后的输出如图7( b) 所示。

    对比图7( a) 和图7( b) 可以看出: 经过减法电路后,0~ 5 V 的正弦信号被“减去”2. 5 V,成为-2. 5 ~ + 2. 5 V 的正弦信号,而频率没有变化。其中图中Y 轴方向每一大格代表1 V,X 轴方向每一大格代表50 μs。
4. 2 整个调理电路测试
    从调理滤波电路的最前端输入如图8( a) 所示的10kHz 正弦信号,峰峰值为5 V,相当于0 ~ 5 V输入,经过跟随电路、减法电路、滤波电路、放大电路后最终输出- 5 V ~ + 5 V 的正弦信号,波形如图8( b) 所示。其中图中Y 轴方向每一大格代表2 V,X 轴方向每一大格代表50 μs。

4. 3 功能测试
    输入一个3. 08Vpp的正弦波,在计算机软件中设置ADC1 和ADC2 的采样率分别是1 ksps 和5 ksps,截取两段采集得到的数据如图9 所示。

    根据帧结构计算方法可知,每帧数据应该包含100 个字节。图9 中以十六进制显示采集的数据,图中一帧数据分两行显示,每行50 字节,即实际字节数与计算值相等。每帧数据以帧头“EB 90 8021”开始,其中“EB 90”是帧标志,“80”代表第一台测试记录仪中的第一块采集存储卡,“21”代表ADC1 以1ksps 的速度采样而ADC2 以5ksps 的速度采样。帧头后面的16 个字节数据对应1ms 内ADC1 的所有8 通道1 次采集的结果,紧接着的80字节数据对应1ms 内ADC2 的所有8 通道5 次采集的结果。帧尾“14”被主控制卡“过滤”掉了[6]。

6 结论
    本文提出了一种多通道可变采样率采集存储卡的设计方法,采用信号调理电路对采集信号进行调理,有效保证了对可变采样率模拟信号的准确采集,为遥测数据的采集存储提供了一种全新的实现手段,经应用证明,该设计具有很高的实用价值。

参考文献
1 沈兰荪. 高速数据采集系统的原理与应用. 北京: 人民邮电出版社,1995
2 郭四稳,古乐野. 多通道大容量高速数据采集系统. 四川大学学报,2001; 38( 1) : 29—32
3 洪志良. 模拟集成电路分析与设计. 北京: 科学出版社, 2005
4 郭铮,刘文怡,冯妮. 基于FPGA 多通道高速数据采集存储器设计. 电视技术,2012; 36( 17) : 55—57
5 侯孝民,王元钦. 一种高速数据采集系统的设计. 数据采集与处理,2000; 15( 2) : 245—247
6 雷建胜. 多通道可变采样率采集存储技术研究与实现. 太原: 中北大学,2013



崔永俊    梁永刚    雷建胜    张会新
( 中北大学电子测试技术国家重点实验室,仪器科学与动态测试教育部重点实验室,太原030051)