Namisoft基于FPGA的多路同步实时数据采集系统纳米软件为了保证数据的一致性,同时对数据进行采样。常用的数据采集方案往往以单片机为控制核心,控制A/D(模数转换器)对多路信号进行采集及处理,但由于单片机本身的指令周期以及处理速度的影响,难以达到对多通道高速数据实时采集的要求; FPGA在高速数据采集方面相比单片机具有较好的优势,全部控制逻辑由硬件来完成,适合对时序要求严格的多路高速实时数据采集系统。
1 系统结构图
分布式电源通常通过并网逆变器接入电网,为了实现对分布式发电的灵活控制,需要采集电网侧的电压电流信号、分布式电源逆变器侧的电压电流信号以及逆变器直流母线侧的电压和电流。采集系统整体结构如图1所示。主要包括电压电流互感器、强电隔离 电路、模拟信号处理电路、模数转换(A/D)电路、A/D控制电路、FFT运算电路、频率测量电路、三相PLL相位锁定电路、双口RAM控制模块以及CPU对FPGA控制的逻辑控制模块等。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10820\wps9.png 纳米软件设计的NSAT-4000 多通道数据采集系统主要采用FPGA(来实现。在FPGA内部,集成了大部分的控制模块,主要有A/D转换控制模块、双口RAM控制模块、频率测量模块及FFT运算模块等,采集到的数据存储到外部的双口RAM中,以便与CPU共享数据。
2 系统模块设计
2.1 模拟信号处理电路
模拟信号处理电路如图2所示,主要处理 传感器输出的模拟信号,并送入A/D模块。 电阻R1的阻值选择10 kΩ,可以减少整个电路对干扰的敏感性; 电容C1可以减少高频干扰电流的差模和共模的干扰,为了使信号不产生延时,电容值一般选取100 pF以下;为了使整个电路有很强的抗共模干扰能力,在运算 放大器的同相输入端接2R2的电阻以使整个电路保持较好的对称性;输入端的2个分裂电阻之间接篏位 二极管以对整个电路保护,防止突然的过电压,篏位二极管应该选择具有低反向电流的快速二极管,在本设计中选用 安捷伦的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的共模抑制比,对于高噪声环境下输入噪声的抑制起到了非常重要的作用。
ADS7864有三种读出模式,设计中通过CPU设置FPGA中的寄存器来确定采取何种模式,这样CPU可以根据实际需要单独地对某一路信号进行采样。在此设置为循环模式,在第一个读信号RD到来时读取通道A0的数据,第二个读信号RD到来时读取通道A1的数据,随后是B0、Bl、C0和C1, A/D转换时序图如图3所示,每个读操作将使ADS7864输出16位信息,其中D15用于表明读出数据是否有效(“1”有效),D14、D13、D12 用于表示所读出数据的通道,D0~D11为该通道采样结果数据。 根据系统要求,采用3片6通道的ADS7864构成A/D转换电路,FPGA和A/D的硬件接口如图4所示。通过FPGA进行同步控制,实现对18路输入信号的同步快速采样。本系统将被测的三相电压分别接至A0、B0、C0;三相电流分别接至A1、B1、C1;通过对HOLDA、HOLDB、HOLDC三个信号同时置低电平,实现三相电压、电流的同步采样,采样转换后的值被保存在6个寄存器中。
根据ADS7864的时序图,在FPGA芯片EP2C20Q240中采用状态机来设计A/D转换控制模块,在 Quartus II 7.2中进行了 仿真,数据读取方式为循环模式,仿真结果如图5所示。
2.3 频率测量模块
在频率测量模块中,首先对电压信号进行滤波和整形,经过比较器后得到一个方波信号,输出的方波信号作为频率测量模块的输入信号。常用的频率测量方法有直接测频法、测周期法和等精度测频法。直接测频法的基本原理是在单位时间T内对被测脉冲信号进行计数,若脉冲数为N,被测信号的频率为f=N/T;测周法是用被测信号作为测量时间闸门,在被测脉冲的一个周期内,对周期为T的标准信号进行计数,得到的计数值为N,则所测信号的频率为f=1/(T×N)。但是这两种方法都会产生±1的误差,直接测频法侧重于高频应用,而测周法侧重于低频应用。本文采用等精度测频法,等精度频率测量方法是在直接测频方法基础上发展而来的,它的实际闸门时间是不固定的,而是被测信号周期的整数倍,故与被测信号同步,因此又称为多周期同步法。此方法消除了对被测信号计数时产生的±1个数字误差,测量精度大大提高,而且实现了在整个测量期间的等精度测量,具有精度高及在测量过程中精度保持恒定的特点,且不随被测号变化而变化。等精度测频法的基本原理如图6所示。 2.4 逻辑控制模块
DSP通过逻辑控制模块向FPGA发一些指令,同时读取FPGA的状态;系统中把FPGA看做DSP的一个外设,使用DSP的XZCS0AND1作为FPGA的片选信号,这样,CPU既可以向FPGA发送命令,也可以从FPGA中读一些状态。
在Quartus II 7.2软件平台中包括一个专用模块库,称之为IP Core,其中的各种硬件功能模块都是经过 EDA厂商周密设计并且通过验证的。设计中FFT运算模块采用 Altera公司自带的FFT IP Core来实现,在FPGA中以硬件逻辑实现FFT运算的功能,简化设计并提高了系统的可靠性。
纳米设计NSAT-4000 多通道数据采集系统。实现了多路数据同步实时采集,应用FPGA控制采集系统的各个模块,其最大的特点是结构灵活,有较强的通用性,适于模块化设计,适合于实时信号处理,从而能够提高整个系统的采集和处理效率。分析了各个子模块的硬件结构框图和控制实现方法。实际应用表明,采用该方法设计的系统能有效地完成多路同步实时数据采集任务。
|