基于AD73360和TMS320F2812的数据采集系统设计
这些寄存器中每一位的详细含义请参阅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。
- 基于计算机的测量仪器的内部和外部校准(10-08)
- 基于暂态行波法的配电网故障定位装置研究(02-01)
- 数据采集处理系统在电力中的应用设计(12-30)
- 如何通过整合众多特点和性能来解决数据采集兼容性问题(09-15)
- VC串口通信的数据采集系统设计(10-09)
- 基于PCI-9846H的死区时间引起的电压波形畸变的研究(11-10)