基于FPGA多通道同步数据采集系统设计
引言
本文引用地址:http://www.amcfsurvey.com/article/191040.htm数据采集在工业测控领域里有广泛的应用,它已成为计算机测控系统的一个重要的环节,尤其在设备故障监测系统中,由于各种设备的结构复杂,运动形式多种多样,发生故障的可能部位很难确定,因此我们需要从设备的各个部位来提取大量的、连续的数据作为设备状态的信息,以此来分析、判断设备是否存在故障,这就需要高速、高性能的数据采集系统来保证采集到的数据的实时性;同时,我们需要对同一设备的不同位置的信号进行同步采集,并借助一些手段来提取特征(例如绘制轴心轨迹图)以判断设备的运行状态。传统的数据采集系统设计中,通常采用单片机或DSP作为主控制器来控制ADC、存储器及其他相关的外围电路来工作。随着可再生能源应用的日益增多,以此建立的分布式发电系统也逐渐增加。为了更好地对分布式电源进行控制,通常需要对多个模拟信号进行实时数据采集,同时为了保证数据的一致性,必须同时对数据进行采样[1-2]。常用的数据采集方案往往以单片机为控制核心,控制A/D(模数转换器)对多路信号进行采集及处理,但由于单片机本身的指令周期以及处理速度的影响,难以达到对多通道高速数据实时采集的要求;并且单片机控制的各种功能模块要靠软件的运行来实现,软件运行时间在整个采样时间中占很大的比例,对并行的多路高速数据采集的速度和效率较低;而FPGA在高速数据采集方面相比单片机具有较好的优势,全部控制逻辑由硬件来完成,适合对时序要求严格的多路高速实时数据采集系统[3]。
1 系统结构图
分布式电源通常通过并网逆变器接入电网,为了实现对分布式发电的灵活控制,需要采集电网侧的电压电流信号、分布式电源逆变器侧的电压电流信号以及逆变器直流母线侧的电压和电流。采集系统整体结构如图1所示。主要包括电压电流互感器、强电隔离电路、模拟信号处理电路、模数转换(A/D)电路、A/D控制电路、FFT运算电路、频率测量电路、三相PLL相位锁定电路、双口RAM控制模块以及CPU对FPGA控制的逻辑控制模块等[4]。
设计的采集系统主要采用Altera公司的FPGA(Cyclone II EP2C20Q240)来实现[6]。在FPGA内部,集成了大部分的控制模块,主要有A/D转换控制模块、双口RAM控制模块、频率测量模块及FFT运算模块等,采集到的数据存储到外部的双口RAM中,以便与CPU共享数据。
2 系统模块设计
2.1 模拟信号处理电路
模拟信号处理电路如图2所示,主要处理传感器输出的模拟信号,并送入A/D模块。电阻R1的阻值选择10 kΩ,可以减少整个电路对干扰的敏感性;电容C1可以减少高频干扰电流的差模和共模的干扰,为了使信号不产生延时,电容值一般选取100 pF以下;为了使整个电路有很强的抗共模干扰能力,在运算放大器的同相输入端接2R2的电阻以使整个电路保持较好的对称性;输入端的2个分裂电阻之间接G位二极管以对整个电路保护,防止突然的过电压,G位二极管应该选择具有低反向电流的快速二极管,在本设计中选用安捷伦的HSMS2702。
2.2 A/D转换控制模块
A/D转换电路采用德州仪器(TI)公司生产的ADS7864[5],该芯片是高速6通道全差分输入双12位A/D转换器,内部含有2个500 kHz采样速率的逐次逼近模数转换器,可以同时进行采样和转换,2个模数转换器分别对应三路输入通道(第一个模数转换器对应的通道为A0、B0、C0,第二个模数转换器对应的通道为A1、B1、C1),芯片含有三路差分采样/保持放大器和一个多路模拟开关。六路通道被分为三对,各由HOLDA、HOLDB、HOLDC三个信号控制为采样或保持模式,输入信号在进入采样保持电路之前经过全差分电路运算,使其在500 kHz采样率的情况下仍能保持高达80 dB的共模抑制比,对于高噪声环境下输入噪声的抑制起到了非常重要的作用。
评论