TMS320F2812的多通道高速同步交流采样设计
扫描二维码
随时随地手机看文章
摘要:在电力运行参数测控类应用系统中,采用AD73360型A/D转换器采集多路电压和电流信号,使用TMS320F2812实现了高速同步采样及电力参数在时域的计算;给出AD73360和TMS320F2812的硬件接口电路;采样系统采用C语言编程,给出了主程序、多通道缓冲串行接口初始化过程等的流程图;论述了采样接收中断、时域采样数据处理等技术。通过测试验证了设计方案的适用性和正确性。
关键词:AD73360;TMS320F2812;同步采样;电力参数;交流采样
引言
多通道数据采集系统一般是在一块印刷电路板上集成了模拟多路开关、程控放大器、采样/保持器、A/D转换器等器件。这类系统虽然可以采集多路模拟信号,但其实只有一路A/D转换器。为了能够采集多路模拟信号,本文采用美国ADI公司的AD73360型A/D转换器及TI公司推出的2000系列DSP TMS320F2812,很好地实现了高速同步采样。AD73360使用6线工业标准同步串行接口与CPU接口,TMS320F2812支持6线工业标准同步串行接口,所以AD73360与DSP经过简洁的连接后即可实现高速同步交流采样。另外,由于AD73360具有6个同时采样的模拟量输入通道,所以特别适合三相制电力运行参数测控类应用系统。
1 AD73360介绍
AD73360是ADI公司推出的6通道模拟输入前端的可编程处理器。由于采用调制型A/D转换原理,具有良好的内置抗混叠性能,所以对模拟前端滤波器的要求不高。每个A/D转换通道由程控放大器、高速采集的A/D调制器、抽去数字滤波器组成。放大器增益、采样率、抗混叠数字滤波器的截止频率均可编程设置。每个通道可以允许直流频率为4 kHz的模拟信号通过,且能提供77 dB的信噪比。由丁其采样率和输入信号增益都是可编程的,当输入时钟频率为16.384 MHz时,采样频率可分别设置为64 kHz、32 kHz、16 kHz、8 kHz。增益可在0~38 dB
之间选择,因而它既适合大信号的应用,也适合小信号的应用。
AD73360内部共有8个控制寄存器,分别是CRA~CRH,它们所占用的地址为0~7,每个的长度为8位。AD73360的同步串行接口能够识别长度为16位的来自DSP的控制字。其控制字格式如表1所列。
2 TMS320F2812的McBSP口介绍
TMS320F2812是32位的定点DSP,主频可达150MHz,是目前用于测控系统、电机控制等领域中的热点产品。芯片资源非常丰富,可简化外围电路没计。串行通信模块包括两个SCI口、一个SPI口、CAN总线和多通道缓冲串口McBSP,能满足多种串行通信模式的需要。它有6条信号线:其中3条用于发送数据,分别为发送数据端MDXA、发送帧同步端MFSXA和发送时钟MCLKXA;另外3条用于接收数据,分别是接收数据端MD RA、接收帧同步端MFSRA和接收时钟MCLKRA。它能与多种串行接口器件直接通信,工作方式非常灵活,但同时也造成了端口配置复杂。McBSP有38个寄存器,这些寄存器可分为4类:数据寄存器、控制寄存器、多通道寄存器和FIFO寄存器。
3 采样系统的硬件设计
为获得合适的采集的交流信号,三相电压、电流先分别经过电压互感器TV、电流互感器TA的变换、电阻采样和电容滤波变换,然后以差分方式输入A/D转换芯片内进行采样转换。TMS320F2812有6条信号线。其中3条用于发送数据,它们是发送数据段MDXA、发送帧同步端MFS XA、发送时钟MCLKXA。另外3条是接收数据端。它们是接收数据段MDRA、接收帧同步端MFSRA和接收时钟MCLKRA。AD73360和TMS320F2812的硬件接口电路如图1所示。图中将4个帧同步信号连接成帧同步返同环方式。输出帧同步信号SDOFS发送到TMS320F2812的输入帧同步信号FSR,TMS320F2812的发送帧同步信号FSX输出到自身的接收帧同步信号SDIFS,同时连接SDIFS和SDOFS,使其保持同步;AD73360的数据输入信号SDI和输出信号SDO分别与TMS320F2812的数据发送信号MDXA和数据接收信号MDRA相连;TMS320F2812的发送时钟信号MCLKXA与接收时钟信号MCLKRA都取自AD73360的时钟输出信号SCLK;锁相环输出的倍频信号AD_SE直接触发AD73360的激活信号SE,从而实现同步锁相采集。
4 采样系统的软件设计
在开始接收AD73360采集的数据之前,按照设计要求进行初始化。对TMS320F2812的设置:首先关闭可屏蔽中断,设置中断屏蔽寄存器,允许McBSP同步串行口发送接收中断信号。其次,DSP采用查询的方式对AD73360进行初始化,当DSP的输出电平由低变高时使AD73360同步串行口有效,同时复位结束。最后当AD73360初始化过程结束,不再接收控制命名时,系统转入数据模式,发送采样数据。主程序流程如图2所示。
4.1 McBSP初始化
初始化McBSP时,由于接收或发送帧同步信号正跳或负跳变时,开始接收或发送1个字的第1位,而发送和接收的帧同步信号均取自AD73 360,所以发送和接收都应该设置1位延时,应满足时序要求。
4.2 AD73360初始化
当程序把DSP的McBSP与FIFO配置完毕后,开始初始化AD73360。初始化时,先进入编程模式,这样AD73360只接收控制字,而不接收同步输出数据。但这些数据仍具有一定意义,它是TMS320F2812从AD73360读回的相应指令寄存器内容,如写入0x8000时,同步输出为0xb080;写入0x810E,同步输出为0xB10E。本实验没置采样频率为32 kHz,SCLK=McLK=16.384 MHz。下面的程序为发送控制字:
4.3 采样接收中断
中断接收程序构架如下:
5 时域采样数据处理
①系统输入电压频率50 Hz,A/D采样后用均方根法测得的值与理论值的比较如表2所列。
其中:Us为系统输入电压;UAD为A/D采样电压;Um为测量值;Uth为理论值,它们为A/D转换后的量化值;ε为相对误差。
②输入信号U=220 V,频率f=50 Hz,相位φ=0°,有功的测量值与标准值的比较如表3所列。
其中:i为电流,Pn为有功功率标准值,Pm为有功功率测量值。
③输入信号U=220 V,电流I=1.5 A,频率f=50 Hz,无功及功率因数的测量值与标准值的比较如表4所列。
其中:φ为二相源相位,Qn为无功标准值,Qm为无功测量值,εp为相对误差,λn为功率因数标准值,λm为功率因数测量值,ελ为相对误差。
从上面3个表中可以看出,在时域采用均方根法,求取的电压、电流有效值和有功、无功标准值比电网中的标准值更加准确,更接近于实际电网中的实际电力参数。均方根算法能有效地避免高次谐波的影响,并且随着每周采样点的增多,可以提高采集的精度。
结语
本设计使用DSP芯片自带的FIFO接收中断方法进行数据读取,可一次进入多个数据后产生中断,节省了DSP的时间,实现了模拟通道的同步采集,解决了多通道采样的时差问题,从而具有较好的实时性,满足了系统的要求,特别适用于电力运行参数的测控类应用系统。