摘要:提出采样系统的硬件采用AD73360型AD转换器采集测量多路电压和电流信号;使用TMS320F2812 DSP芯片实现高速同步采样及电力参数在时域的计算;给出了AD73360和TMS320F2812的硬件接口电路。采样系统软件使用IQmath Library以实现浮点运算与定点程序代码的无缝接口.简化了程序开发,采用C语言编程.给出了主程序、多通道缓冲串行接口(McBSP)初始化过程等的流程图。论述了采样接收中断、电力参数的时域计算、时域采样数据处理等技术。通过测试验证了设计方案的适用性和正确性。
0 引言
电力系统中经常需要测量多路电压及电流信号。当电网频率变化时。必须采用同步技术才能保证采样计算的。本文采用AD公司的AD73360(简称73360)型AD转换器及TI公司推出的2000系列DSP TMS320F2812(简称F2812)很好地实现了高速同步采样。并且实现了电力参数在时域的计算。73360使用6线工业标准同步串行接口与CPU接口。F2812支持6线工业标准同步串行接13,所以73360与DSP经过极其简洁的连接后即可实现高速同步交流采样。另外。由于单片73360具有6个同时采样的模拟量输入通道。所以特别适合于三相制电力运行参数测控类应用系统。
多通道数据采集系统一般是在一块印刷电路板上集成了模拟多路开关、程控放大器、采样/保持器、A/D和D/A转换器等器件,其原理框图如图1所示[1]。这类系统虽然可以采集多路模拟信号,但其实只有一路A/D转换器,为了能够采集多路模拟信号,只能利用模拟多路开关在多路模拟信号之间进行切换。这样做的好处是可以减少硬件成本和缩小板卡的尺寸,但是当多个模拟信号巡回采样时,各路信号之间必然存在采样的时差。
本文利用AD73360、TMS320F2812设计了数据采集系统,包含6个以上可同时采样的模拟通道,从而有效地减少了由于采样时间不同而产生的相位误差。
1 数据采集系统设计
本文设计的数据采集卡如图2所示。A/D转换器AD73360是一个包含6路模拟信号输入通道的器件,每路通道均包含独自的信号调理器、可编程放大器和16位的A/D转换部分。这样可实现对多路模拟信号的同时采样,以减小采样的相位差。数字信号处理器(DSP)采用TMS320F2812,实现对A/D转换器AD73360的控制和读取采样数据,从而减少了逻辑控制电路。计算机接口电路采用RS232C和RS485标准串行口实现DSP与上位机之间的通信。
1.1 A/D转换器AD73360
73360是6通道模拟输入的16位串行可编程A/D转换器。由于采用Σ-△A/D转换原理,具有良好的内置抗混叠性能。所以对模拟前端滤波器的要求不高。用一阶RC低通滤波器就能满足要求。73360能保证6路模拟信号同时采样。在变换过程巾延迟很小。并且无需CPU干预,从而有效地减少了由于采样时间不同而产生的相位误差。每个通道可以允许从直流到4 kHz的模拟信号通过。且能提供77 dB的信噪比。由于其采样率和输入信号增益都是可编程的。当输入时钟频率为16.384 MHz时。采样频率可分别设置为64 kHz、32 kHz、16 kHz和8 kHz;增益可在O~38dB之间选择。因而它既适合于大信号的应用。也适合于小信号的应用。73360还可以多片级联使用,从而扩充模拟输入的通道数。多可级联8片即48个通道。
1.1.1 AD73360同步串行通信接口SPORT概述
AD73360同步串行通信接口SPORT包含6条信号线,分别是串行数据输出端SDO、数据输出帧同步端SDOFS、串行数据输入端SDI、数据输入帧同步端SDIFS、同步时钟SCLK和串行接口使能端SE。该接口有三种工作方式:编程、数据以及混合方式。AD73360以“时分多址”的模式输入和输出数据。其特点是每一个通道的输出数据占用固定的时间片,即使该通道被关闭,该时间片也不会被其他通道占用,此时数据输出端SDO处于三态。图3显示了六个通道全部打开时数据输出端SDO和数据输出帧同步端SDOFS的时间波形,图4则显示了通道1、3、5打开时的输出时间波形。AD73360每次上电或复位以后,自动进入编程状态,每一个采样周期输出一个数据输出帧同步信号SDOFS,如图5所示。这样DSP可利用此帧同步脉冲给AD73360写入控制字。图6为各管脚的信号时序图[2]。
1.1.2 AD73360控制寄存器
AD73360有8个控制寄存器,每个都是8位,如表1所示。其中前两个控制寄存器CRA和CRB用来配置同步串行接口SPORT,可以设置数据率、主时钟速率以及级联芯片数目等参数。如果多个AD73360级联,则其CRA和CRB的设置必须完全一致。其余6个寄存器用来控制各个通道的A/D转换器。
向这些控制寄存器写入数据时,要遵循一定的格式。控制字的格式如表2所示。其中各个部分的含义如下:
(1) :该位为高时,表明这是一个有效控制字。
(2) :读写控制。
(3) 芯片地址:芯片级联时用于确定接收数据的芯片。当该地址为零时,表明当前芯片接收该控制字;若不为零,则芯片将该数减一,并将控制字从SPORT发送给下一个芯片。
(4) 寄存器地址:选择要写入数据的控制寄存器,见表1。
(5) 寄存器数据:写入或读出的数据。
由于单片AD73360具有六个同时采样的模拟量输入通道,所以特别适合于三相制电力运行参数测控(三个相电压和三个相电流同时采样)以及电机控制等应用系统。
1.2 数字信号处理器TMS320F2812的多通道缓冲串口McBSP
TMS320F2812的McBSP主要特点是:多通道缓冲串行12J(McBSP)是一种同步串行接口。支持多种通信方式和串行外围接口SPI(Serial Peripheral Interface)方式,可以比较灵活地进行配置。使用方便。尤其可贵的是用2个16级、32位的先人先出FIFO(First InFirst Out)代替直接存储器存储DMA(Direct MenloryAccess)方式;全双工通信方式:二级缓冲传送与三级缓冲接收。适用于连续的数据流。接收和发送采用独立的时钟和帧同步。多通道模块允许:可采用外部时钟信号和帧同步信号或都南内部的采样率产生器产生:数据位的大小可以选择8、12、16、20、24、32位。 TMS320F2812的McBSP有6条信号线。其中3条用于发送数据,分别是发送数据端MDXA、发送帧同步端MFSXA和发送时钟MCLKXA。另外3条用于接收数据,分别是接收数据端MDRA、接收帧同步端MFSRA和接收时钟MCLKRA。
McBSP能与多种串行接口器件直接通信,工作方式灵活,但同时也造成端口配置复杂。McBSP具有38个寄存器,由此可见其复杂程度。这些寄存器可分成四大类:数据寄存器、控制寄存器、多通道寄存器和FIFO寄存器。要使McBSP正确工作,必须配置好这些寄存器,这就需要对McBSP的工作机制有深刻的理解。表3列出了部分寄存器,大部分属于数据寄存器和控制寄存器,是在非FIFO和非多通道方式下需要用到的寄存器[4]。值得注意的是,PCR和MFFINT虽然分别属于多通道和FIFO寄存器,但是在非FIFO和非多通道方式下依然要用到。
这些寄存器中每一位的详细含义请参阅TMS320F2812技术手册,其中一些重要参数将在下面提到。
2 系统实现
在图2所示的系统框图中,A/D转换器AD73360将模拟输入量转换成数字量,TMS320F2812负责从AD73360读取数字量并进行相应的计算,计算结果则通过RS232C和RS485标准串行口传输给上位机。在这个系统中,难点在于AD73360与TMS320F2812的接口设计。
2.1 AD73360与TMS320F2812的通信接口设计
AD73360具有一个同步串行通信接口SPORT与上位机通信,该接口可以很好地兼容现在大多数的DSP。本文利用TMS320F2812的多通道缓冲串口McBSP与AD73360进行通信。
2.1.1 AD73360与TMS320F2812之间的连接方式
根据对AD73360的同步串行通信接口SPORT的分析可知,在首次上电和复位后AD73360便进入编程状态,自动产生输出帧同步信号,该信号不受外部器件的影响。所以在AD73360与TMS320F2812的通信接口中,AD73360应为主设备,TMS320F2812应为从设备。主从关系确定以后,才可以确定信号线的连接方式和程序设计。
两者之间的信号线连接方式如图7所示,AD73360的输出帧同步端SDOFS不仅连接到DSP的两个帧同步端MFSRA和MFSXA,而且还连接到自己的输入帧同步端SDIFS。其同步时钟SCLK端也同时连到DSP的两个时钟端MCLKXA和MCLKRA。另外,DSP的两个通用I/O端口GPIOA0、GPIOA1则连接到AD73360的复位端和串行接口使能端SE,实现对AD73360的控制。
2.1.2 DSP的McBSP配置
McBSP的配置应以AD73360的时序图为依据。分析图3~图6,可以得出McBSP的一些重要参数如下:
(1) 发送帧同步MFSXA为高电平有效,FSXP=0。
(2) 接收帧同步MFSRA为高电平有效,FSRP=0。
(3) 帧同步均为输入,FSRM= 0,FSXM=0。
(4) 发送时钟MCLKXA和接收时钟MCLKRA均为输入,CLKXM=0,CLKRM=0。
(5) 数据输出在发送时钟的上升沿,CLKXP=0。
(6) 数据接收采样在接收时钟的下降沿,CLKRP=0。
(7) 单相帧,RPHASE=0,XPHASE=0。
(8) 每帧一个字,RFRLEN1=00b,XFRLEN1=00b。
(9) 每个字16位,RWDLEN1=010b,XWDLEN1=010b。
(10)数据延迟为1位,RDATDLY=01b,XDATDLY=01b。
确定了以上各个参数的值,才可以在程序中正确配置McBSP的各个寄存器。
2.1.3 DSP程序设计
DSP程序采用C语言编写,在TI公司的集成开发环境CCS2.0下调试通过。程序流程如图8所示,主要包括DSP端口(GPIO和McBSP)初始化、AD73360初始化(复位和输出控制命令)、等待接收A/D转换数据等步骤。
初始化GPIO主要是配置GPIOA0和GPIOA1,分别控制AD73360的复位端和串行接口使能端SE。初始化McBSP是按照上文所述的重要参数值配置各个寄存器,使McBSP的工作方式与AD73360吻合。各寄存器的具体值如下:
RCR2 = 0x0041;
RCR1 = 0x0040;
XCR2 = 0x0041;
XCR1 = 0x0040;
SRGR2 = 0x2000;
SRGR1 = 0x0101;
PCR = 0x0000;
MFFINT = 0x0004;
初始化AD73360的流程如图9所示。TMS320F2812与AD73360接口系统设计中关键的部分是AD73360的初始化。由于AD73360是主设备,TMS320F2812是从设备,所以帧同步信号由AD73360发出。TMS320F2812需要在每个帧同步信号到来之前准备好要发送的数据,要做到这一点,首先,在AD73360开始工作前将要发送的数据写入发送寄存器DXR1中;然后,将AD_SE置为高电平,AD73360的SPORT开始工作。当帧同步信号到来后,DSP将数据发送给AD,同时接收数据。随后及时将下一个数据写入发送寄存器DXR1中。这样在每一个帧同步信号到来时,DXR1中都有正确的数据以供发送。
AD7336初始化完成后,就自动采样并输出采样数据。为了提高DSP程序的效率,应采用中断方式接收测量数据。TMS320F2812的中断系统通过外设中断扩展PIE(Peripheral Interrupt Expansion)模块来控制。PIE可以支持96个独立中断,并分成12组,每组8个中断。通过切换开关,可以使每组中断对应一个CPU内核中断线,12组共需12根CPU内核中断线(INT1~INT12)。McBSP的接收中断MRINT位于第6组的第5位,中断初始化程序不再赘述。
2.2 两片AD73360级联与TMS320F2812的接口设计
如果想要增加模拟通道的数目,可以将多片AD73360级联起来。如图10所示,两片AD73360级联起来可以获得12个模拟通道。AD73360片1的SDI接DSP的MDXA,SDO、SDOFS分别接片2的SDI、SDIFS。AD73360片2的SDO接DSP的MDRA、SDOFS则接片1的SDIFS和DSP的MFSXA、MFSRA。数据的流程可以归纳为:(1)流出DSP方向:DSP→AD73360片1→AD73360片2;(2)流入DSP方向:AD73360片1→AD73360片2→DSP。
采样数据的输出时序如图11所示,两片AD73360交替输出。
DSP程序的设计中,初始化GPIO和McBSP部分均与上文单片AD的情况比较类似,但是初始化AD73360部分不尽相同,如图12所示。
两片AD级联时程序设计的关键在于控制字的输出必须交替进行,即先输出AD73360片2的一个控制字,再输出片1的一个控制字,顺序不可颠倒,直到所有的控制字发送完。根据DSP输出数据的流程,其发出的控制字先到片1。片1接到片2的控制字时,验证该控制字的芯片地址位不为0,将该地址位减1,在下一个帧同步信号到来时发给片2,而此时片1也接收到了自己的控制字。CRB和CRA控制AD芯片的工作模式和启动,必须配置成一样,并且同时到达各自的AD芯片。若不同时到达,则片1和片2不能同时启动工作,接口设计失败。
为了保证设计成功,充分利用DSP的McBSP具有双缓冲的特点,提前将两个控制字写入DXR中,保证在任意时刻McBSP都至少有一个等待发送的数据,避免帧同步信号到来时McBSP没有有效数据发送。这样两片AD可在相同时刻接到相应的控制字,并同时启动。这在多片AD73360级联工作时至关重要。
由于提前写入了两个控制字,所以要单独读数据,使一个控制字发送出去。至于程序其余部分与单片AD73360接口设计类似,不再叙述。两片AD73360级联与DSP的接口设计可以扩展成多片AD73360级联的设计。
系统设计中需要注意的问题是模拟信号与数字信号的隔离。本文采用两项措施实现隔离:(1)DSP和AD73360分别用不同的隔离电源供电;(2)DSP与AD73360之间的接口线路用光耦隔离。这样可以取得比较好的隔离效果。
利用AD73360和TMS320F2812设计了多通道数据采集系统,实现了模拟通道的同步采样,解决了多通道采样的时差问题,满足了系统的要求。本文设计的数据采集系统应用于三相制电力运行参数测控系统,实验证明系统是完全可行的。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。