基于DSP的数据采集系统设计
2010-08-15肖高贤
肖高贤
(湖南工业职业技术学院,湖南 长沙 410208)
基于DSP的数据采集系统设计
肖高贤
(湖南工业职业技术学院,湖南 长沙 410208)
介绍了一个基于工控机与DSP的高速数据采集系统,给出了系统的总体介绍方案,选取了系统的主要硬件模块,分析了系统主要硬件电路的功能和部分软件的设计思想。该方案主要围绕实时、高速、大容量数据采集等多方面考虑,以突出方案的优越性,为电力系统交流电量数据采集提出了一个有效的途径。
DSP;数据采集
一、引言
随着科学技术的发展,雷达、通讯、电子对抗、航天测量、图象、多媒体等诸多领域对数据采集系统提出了更高的要求。随着一些新的高性能的电子芯片的推出,电子系统设计有了更多的选择和更方便的条件,使交流电量同步采集得到了快速展。实现多路并行数据的高速数据采集,并且使系统具有良好的可扩展性,是数据采集发展的重要方向。如何将大量的数据同步快速地存储,是采集器设计亟待解决的问题。
本文选择以DSP芯片为主处理单元、融合工控机为从处理单元的系统结构方案,除了满足对大量数据的信息处理要求外,还实现了液晶显示和键盘控制功能。之所以采取 DSP加工控机的方案,是考虑到系统实际要处理的信息可能很多、工作量很大,如果所有用任务都交给 DSP来完成,不仅影响DSP的处理速度,恐怕还难以胜任。而PMU是低成本的,主要长处是对外部I/O设备的控制功能,但其数字信号处理能力很差,正好与DSP功能互补。在诸多任务中,对于液晶显示、键盘控制等简单处理环节可以交由工控机很好地完成,这样充分利用了单片机在控制方面的长处,使得 DSP可以专门用于数字信号的处理和各种算法的实现,可以满足许多实时处理的需要。
交流电量同步采集要求所有测量数据都对应一个全局时标,这就要求系统必须有一个高精度的同步时钟。全球定位系统GPS的出现,解决了这一难题。利用GPS接收板发出的串口时间信息和同步秒脉冲,在测量系统内建立整个测量系统的实时时钟,由串口时间信息建立测量系统的年、月、日和时、分、秒,由同步秒脉冲和计数器建立测量系统的微秒级时钟,使测量系统可以在任意时刻读出精度达到1 s的时间;在采样过程中,不但获得采样点的值,同时由 DSP对该采样点打上时间标签,然后对采样的数据进行傅立叶变换 (FFT),使之成为连续的采样波形。
要实现对较宽频域范围内高频、瞬态信号细节的精确、实时测量,则要求有较高的采样率和分辨率,实时信号处理流程则必须具备对大流量采样数据的快速运算处理能力。就信号处理而言,DSP在内核结构和指令系统方面可以提供高速的不同类型、不同层次、不同定制的算法处理支持,其运算机制、寻址方式、内部资源非常丰富,不过由于DSP实时运算处理总需一定的周期的原因,另外在数据处理的同时,DSP还有一些诸如数据上传、取控制及模块间通讯等操作要占用外部资源,则在采样率30MHz以上的场合,DSP并不能不丢失地存取高速A/D器件的转换数据,于是需要借助外围硬件电路协助控制管理数据采集进程,本文采用双口ROM对采集的数据进行缓存,然后工控机从ROM中读出数据,对数据进行处理。从系统的集成度、可重构性、可靠性等方面考虑,CPLD是这类高速数据实时数据采集系统外围逻辑构造的较好选择。CPLD的使用,将所有的逻辑都集中到一个芯片当中,极大的节省了空间,再加上可在线编程等,从而极大地增加了系统设计的灵活性,因而得到了越来越广泛的应用。
二、数据采集模块结构及工作原理
整个系统可分为4个部分:第1部分,数据采集及控制部分;第2部分,数据采集的数据缓存部分;第3部分,工控机数据处理部分;第4部分,人机接口部分。本文的同步采集器共采集处理6路模拟信号:UA,UB,UC,IA,IB,IC。6路模拟信号经过前端信号调理电路和A/D转换器后变成数字信号被传送到DSP中,通过外围硬件电路双口ROM对数据进行缓存,再由工控机读取这些数据,并进行数据的处理。本文将 GPS接收板接收到的同步秒脉冲1PPS作为整个系统的同步时钟。CPLD逻辑控制模块通过接收同步秒脉冲1PPS和DSP的控制信号,并经过一定的逻辑运算产生同步采样信号,以控制不同地点同步采集器的 A/D转换器同时开始采样保持和模数转换,从而实现了交流电量的异地同步采集。另外,CPLD还负责双口ROM的读写时序控制以及产生 A/D转换器外部时钟等。
三、数据采集系统的硬件选用
1.DSP的硬件选择
系统中,DSP采用 TI公司 TMS320C200系列中的TMS320F2812。TMS320F2812(以下简称F2812)是性价比较高的一款DSP芯片,具有运行速度快、外设集成度高、存储空间大、A/D转换速度快、转换精度高等特点。
2.A/D转换电路模块
本设计采用的是TI公司Burr-Brown产品部推出的A/D转换器ADS7864。
3.双口ROM的选择
本文选用的是 IDT707278作为双口ROM。IDT707278为32K×16位静态双口ROM,允许两个端口同时读写数据每个端口具有独立的控制信号线、地址线和数据线;它允许数据高速存取,最快存取时间为15 ns。
4.工控机的选取
工控机的数据处理速率必须高于数据的采集速率,不然就有可能造成数据的丢失。本文采用的SIEMENS公司生产的PC5478,采用Intel CoreTM2 Duo64位处理器,1 066 MHz前端总线;DDR2667内存技术,容量4 Gb。
5.CPLD的选择
在选择可编程逻辑器件时,所选器件的逻辑资源量能否满足系统的要求是首要考虑的因素,但在实际调试前很难准确确定芯片耗费的资源。CPLD器件的选型大都先使用开发软件大概估算一下需要资源量,选择有一定冗余的器件以便充分满足系统的设计要求;同时也要考虑系统设计完成后,有可能增加新的功能,以及后期的硬件升级的可能性。本设计选用的是Altera公司生产的一款性价比很高的MAX II系列CPLD芯片EPM1270T144C5。
四、数据采集系统的硬件设计
1.模拟信号输入设计
ADS7864的模拟信号输入可以采用单端输入—差分输出方式或差分输入—差分输出方式。6个模拟输入通道分成3对(A、B、C)。每个A/D转换器都有三对输入端(A0/A1.B0/ B1.C0/C1),可以同时采样、转换,因此可以保持两个模拟输入信号的相对相位信息。每对通道都有一个保持信号(HOLDA、HOLDB、HOLDC),这3个保持信号同时有效就可以同时保持6路输入信号。转换的数据分别存放在6个寄存器中。在 A/D转换器开始一次新的转换时,BUSY脚变为低电平,并且在转换进行期间一直保持低电平;在数据被锁存到输出寄存器之后,再升高。完成一次A/D转换至少需要16个时钟周期。转换完成之后,若RD、CS端都被拉低,则可以将数据从并行输出总线读出。ADS7864的每个读操作都输出16位信息 (12位数据、3位通道地址和1位有效数据)。地址/模式信号(A0、A1、A2)选择数据从ADS7864读出的方式。这些地址/模式信号决定是选择单通道模式、循环模式 (在所有通道之间循环)还是先入先出(FIFO)模式。
2.数据缓冲部分的设计
利用CPLD控制向双口ROM写数据:先写地址的低地址段,完成后查询输入FLAG2脚,若为1(在FPGA上电时默认管脚为低电平),把LFAG0输出反向(使之为低电平)。如果FLAG2为高电平,则说明可以向高端地址段写入采集数据,否则继续查询等待,直到为真。这时,另一端的FPGA在向硬盘中写完数据后,也要查询是否低端地址段写完可以继续读取,在高位地址段写完之后,查询低位地址是否被FPGA全部读取,继续循环操作。该方法可以实现很高的数据吞吐率,很方便易行。
五、数据采集系统的软件设计
本系统需要完成数据采集、数据传输、数据存储、数据处理4个基本功能。这4部分在系统软件的监控和任务调度下协调运行。
1.A/D采样软件设计
这部分软件主要完成控制A/D转换过程并由DSP读取转换数据结果。在系统初始化工作结束后,就开始运行 A/D转化部分程序。在 A/D转换器开始一次新的转换时,BUSY脚变为低电平,并且在转换进行期间一直保持低电平;在数据被锁存到输出寄存器之后,再升高。完成一次A/D转换至少需要16个时钟周期。转换完成之后,若RD、CS端电位都被拉低,则可以将数据从并行输出总线读出。如图2所示,DSP按照预先设定好的程序顺序读取6路数据,然后采集的数据通过并行总线接口传输到双ROM里,以便工控机从中读取数据,对数据进行出分析处理。
2.DSP软件读写程序设计
DSP是对数据进行采集的单元。该单元把通过A/D转化过来的数据进行采集,初始化FLAG引脚的方向,然后把采集到的数据写到双ROM里通过FLAG的方向来控制工控机读取数据。
3.工控机的软件设计
工控机作为数据的处理单元,对双口ROM读取的数据进行处理,向指定的I/O写数据“0”,使FLAG脚为0,从双口ROM里读出数据,进行FFT变化(即离散傅立叶变换),并在此上完成电能质量参数的计算,包括电压有效值、电压偏差,功率及功率因数幅值、相位、频率、谐波含有率、总谐波畸变率、不平衡度等参数的计算。当FLAG脚为1时,表示数据已全部读完。
六、结论
本文设计了基于工控机与 DSP的高速数据采集系统,介绍了选用各个功能模块的作用,以及部分主要硬件和软件的设计。本文所设计的数据采集系统已经通过调试,并对各个模块进行了功能测试,达到了预期的目标,电压的有效值、电流的有效值及功率因数等主要参数的测量误差均小于0.45%。该采集系统以实时同步采集、数据传输率高、电路简单、可靠性高等优点在电力系统交流电量数据采集上具有广泛的应用价值。
[1]张卫宁.TMS320C2000系列DSP原理及应用[M].北京:国防工业出版社,2002.
[2]王道宪.CPLD/FPGA可编程逻辑器件应用与开发[M].北京:国防工业出版社,2004.
[3]李光辉,陈志英.DSP技术在电力系统谐波测量中的应用[J].福州大学学报(自然科学版),2005.
[4]赵飞,梁志瑞,牛胜锁.基于DSP和GPS的异地交流电量同步采集系统[J].电测与仪表,2008.
[5]罗漫江,刘书明.ADSP_21062与工控机数据交换电路的设计[J].电子设计应用,2004.
[6]赵伟,鲍慧,刘云峰.基于DSP的高速数据采集系统设计[J].电力科学与工程,2008.
Design of Data Acquisition System on DSP
XIAO Gao-xiao
(Hunan Industry Polytechnic,Changsha 410205,Hunan)
High-speed data acquisition based on industrial computer and DSP is introduced,and the general introduction scheme of system is presented,and the main hardware module of system is chosen,and the function of main hardware circuit of system and the design thought are analyzed.The scheme considers real time,high-speed,great capacity of data acquisition and so on,revealing advantages of the plan,which proposes an effective approach for ac data acquisition of power system.
DSP;Data acquisition
TB1
A
1671-5004(2010)03-0013-02
2010-05-02
肖高贤 (1981-),男,湖南娄底人,湖南工业职业技术学院助教。