微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于AD73360和TMS320F2812的数据采集系统设计

基于AD73360和TMS320F2812的数据采集系统设计

时间:12-06 来源:电子设计网 点击:

\


  这些寄存器中每一位的详细含义请参阅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。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top