基于FPGA和DSP的多路同步数据采集系统设计

2012-07-12 04:58湖南工业大学
电子世界 2012年6期
关键词:双口时序端口

湖南工业大学 黄 鹤

引言

随着非线性电力电子技术的发展,大量非线性的开关设备以低功耗、高效率等优点在工业中得到越来越多的应用。这些开关设备作为一种电力电子设备,它的输出侧的电压、电流含有丰富的高次谐波。以往的变频电参数测量系统中,常多采用单片机作为控制核心部件,对多路信号进行采集和处理,缺点在于采样点数少,精度不高,需要频繁中断系统的运行,从而减弱系统的数据运算能力[1]。因此本文中介绍一种采用以FPGA芯片为核心并结合高精度16位采样芯片和DSP TMS320F2812来实现高速同步数据采集,它能对信号保持高速采样的同时对数据进行快速运算,避免了以往微处理器需要频繁中断的缺点,同时可以灵活地调整采样率,可以满足对开关电源电参数的测量需要。

1.系统整体设计

系统结构如图1所示,三相电压和三相电流共六路信号经过传感器之后送至滤波电路,再经过AD转换模块进行六路同步采样,不丢失相位信息,最后由DSP进行最后的参数计算和处理。采用双口RAM作为AD转换模块与DSP双向通信的缓冲芯片,双口RAM芯片具有2套独立的控制线、地址线和数据线,可以对任何一个端口进行独立的操作,有利于DSP全速执行数据预算。整个数据采集电路的时序控制都有FPGA完成,保证了采样的持续性和实时性。

图1 系统结构框图

图3 双口RAM接口电路

图4 主程序流程图

图5 AD7606时序图

图6 仿真时序图

2.系统构建与实现

2.1 FPGA器件

随着电子技术的迅速发展,FPGA已经实现了大容量、速度快等特点,为电子设计带来了方便。FPGA的工作时钟可以高达几百兆赫兹,可以满足高速数据采集的要求,是一种较为理想的系统实现方法。文中选择Altera CycloneⅡ系列EP2C8Q208为硬件核心,CycloneⅡ是基于StratixⅡ的90nm工艺推出的FPGA。它具有8256个逻辑单元(LE),内置4K RAM,2个锁相环(PLL)以及18个乘法器模块[2](如图1所示)。

2.2 AD转换模块

AD采样芯片采用Analog Device公司的AD7606,AD7606是一种高速、低功耗、8通道同步采样的16位V电源供电,支持真正的±10V和±5V双模数转换器。输入信号可进行同步采样,以保留输入通道上信号的相关相位信息。该转换器采用无极性信号输入;它包含低噪声、高输入阻抗信号调理放大器,1M模拟输入阻抗。同时AD7606集成了一个衰减为约40dB的前端二阶抗混叠模拟滤波器,能以高达200ksps的快速吞吐率进行采样;转换过程和数据采集通过CONVST信号和内部振荡器进行控制,2个CONVST引脚使8个模拟输入或者组4个模拟输入通道能够同步采样;同时该器件内置LDO(低压差稳压器)、片上精密基准和基准缓冲器、跟踪与保持电路、转换时钟、模拟输入箝位保护和2.3-5V的Vdrive,大大简化了数据采集系统的设计[3]。AD7606的接口电路见图2。

2.3 双口RAM

双口RAM采用IDT公司64K×16bit的双口芯片IDT70V28。利用双口RAM实现数据传输的关键是解决RAM地址同时被访问时的争用问题[4]。IDT70V28允许从两个端口同时读写任何存储单元,但当两个端口同时读写或一读一写同一地址单元时,容易发生错误。为避免此类情况发生,IDT70V28通过BUSY管脚来处理这种情况,在左右端口对不同存储空间进行读写操作时,可同时存储,此时左右端口的BUSY信号同时置高。若对同一空间同时进行存储操作时,哪一端的存储要求信号先出现,则该端BUSY信号置高,允许存储;哪一端存储信号后出现,则该端BUSY信号置低,禁止存储。FPGA和IDT70V28接口电路如图3所示。

3.系统软件设计

3.1 系统运行流程

系统初始化上电之后,开始采集数据,采集过程中系统始终对6路模拟信号进行同时采集,每次采集的数据按顺序输出,直接存储在双口RAM中,数据的提取和运算都有FPGA和DSP完成。DSP工作于中断模式,当数据存储到一定程度后,由FPGA发出中断信号通知DSP读取,这样有利于在采集工程中不间断的进行采样,而DSP则有更多的时间去处理其他运算。整个系统工作流程如图4所示。

3.2 VHDL实现及仿真

AD7606含有8个采样通道,这里只取其中6路,故将CONVSTA和CONVSTB两个引脚短接在一起让芯片工作在8路同步采样模式。AD7606有三种读出模式:并行/串行/字节,将PAR/SER/BYTE引脚电平拉低把读出模式设置为并行模式,在选择好转换模式后,给CONVST一个负脉冲即可启动AD7606,在CONVST的上升沿作用下,各路模拟信号被同时采样,同时BUSY管脚输出变为高电平,标志着模数转换正在进行,不能进行新的转换。其输出变为下降沿时,表明各通道转换结束。RD引脚用来输出转换结果寄存器读取数据,对AD7606 RD引脚施加一个RD脉冲序列,可使各通道的转换结果升序逐个输出到并行总线DB[15:0]。BUSY变为低电平后,将读使能信号CS拉低,在此期间对RD引脚施加一个RD脉冲序列,其中第一个RD下降沿输出通道V1的转换结果,下一个RD下降沿则用V2转换结果更新总线,依此类推,在AD7606上,RD的第八个下降沿输出通道V8的转换结果,时序要求如图5所示。

DB[15:0]与双口RAM IDT70V28的DR[15:0]相连,时序由FPGA控制。同时AD工作在FIFO模式,当数据存储到一定容量后由FPGA向DSP发出中断信号通知DSP读取数据,从而有效解决了与CPU通信过程中的地址冲突问题。

在Quartus II集成开发环境中,采用VHDL语言[5]实现FPGA控制A/D转换芯片的功能,系统选用50Mhz的有源晶振,仿真结果如图6所示,其中AD7606是FPGA发出送给AD7606的采样转换信号;CS是读使能信号;RD是读数据信号,两者都是低电平有效;IDT_RW和addrin是FPGA发出给IDT70V28的写使能信号和地址信号。对比图6可以看出,各信号满足工作时序要求[3]。

4.结束语

本文中介绍了一种采用新型AD转换芯片实现了一种同步实时数据采集系统,由于对输入信号进行了同步采样,所以保留了所有输入通道上信号的相位信息,为数据分析与计算提供了基础。应用FPGA控制采集系统的各功能模块,使得系统能真正实现不间断同步采样,同时使得设计变得更加灵活,便于系统调试和检修,并提高了系统的可靠性,该设计方法在高速的实时测控领域着有非常广阔的应用前景。

[1]郑俭锋.多路高速信号并行采样及实时存储解决方案[J].电子设计应用,2007,03.

[2]Altera Corportion.Cyclone II Device Handbook.http://www.altera.com.cn/literature/lit-cyc2.jsp.

[3]AD7606 datasheet.8-Channel DAS with 16-Bit,Bipolar Input,Simultaneous Sampling ADC,Analog Device Inc,2010.

[4]杨坤,杨洪耕.基于DSP与CPLD的电能质量无缝分析技术实现[J].电测与仪表,2003(9):19-23.

[5]杨晓慧,杨旭.FPGA系统设计与实例[M].人民邮电出版社,2010.

猜你喜欢
双口时序端口
清明
一种端口故障的解决方案
基于不同建设时序的地铁互联互通方案分析
双口RAM在航天伺服系统中的应用
基于FPGA 的时序信号光纤传输系统
端口阻塞与优先级
Matching mechanism analysis on an adaptive cycle engine
一种毫米波放大器时序直流电源的设计
双口RAM读写正确性自动测试的有限状态机控制器设计方法
8端口IO-Link参考设计套件加快开发速度