摘 要:本文介绍了一种基于TMS320VC5416的多路加速度采集与处理系统的设计方法。该系统采用AD73360作为数据采集前端,通过DSP的McBSP和AD73360级联,可实现多路模拟加速度信号的实时采集和处理。
关键词:TMS320VC5416;AD73360;加速度;数据处理
引言
多路加速度采集系统在平台式惯导系统中起着至关重要的作用。在早期的产品中,控制和处理核心都采用冯·诺衣曼总线结构的微处理器,由于其指令执行速度较慢,设计一个高性能的实时采集与处理系统显得比较困难。本文介绍了一种采用TMS320V C5416(DSP)作为处理器,用十六位高精度AD73360作为ADC的多路加速度采集系统设计方法。
图1 系统硬件原理图
图2 加速度信号预处理电路
图3 AD73360与TMS320VC5416接口电路图
图4 系统软件流程图
系统硬件设计
系统由A/D转换电路、DSP及其外围电路和通信接口电路组成,如图1所示。
A/D转换电路设计
AD73360简介
AD73360 工作模式控制起来非常方便,当器件加电以后,DSP通过XF或者写I/O 的方式将AD73360的片选SE引脚置为高电平,此时AD73360处于上电复位状态,输出同步帧信号SDOFS,当采用图3的接法时,可以通过DSP 的McBSP串口向AD73360写入控制字。AD73360由8个寄存器来控制,控制字字长为16位。
在用AD73360进行电路设计时,可直接用单极性输入方式,也可采取差动输入方式将单片AD73360接成三通道转换器。不过在用AD73360器件内部参考电压对模拟输入前端进行直流偏置时,最好采用高输入阻抗的运算放大器进行隔离。
加速度信号预处理电路设计
加速度信号预处理电路主要对输入的多路加速度信号进行取样、直流偏置和抗混叠滤波处理,具体电路如图2所示。
在直流偏置之前,首先采用精密电阻网络R1和R2对加速度信号进行取样。为了尽可能提高A/D转换精度,减小电路板的体积,系统使用AD73360片内参考电压REFOUT作直流偏置。在送到运算放大器OP2进行直流偏置之前,采用运算放大器OP1进行隔离,以确保ADC的REFOUT端子没有输入、输出电流,从而保证ADC片内精密电压源电压恒定和较高的A/D转换精度。最后,经R5和C1组成RC网络,抗混迭滤波后送到AD73360进行A/D转换。
AD73360与TMS320VC5416的接口设计
AD73360 片内集成有同步串口SPI,通过和DSP的McBSP简单连接便可组成一个多通道同步数据采集系统。AD73360的复位信号/RESET、片选信号SE 分别由DSP器件的/RESET和XF引脚通过一个上升沿双D触发器提供,这样可以确保AD73360的复位信号、片选信号和DMCLK保持同步,以免发生读写错误。McBSP的输入/输出时钟均由AD73360提供,即DSP的同步缓冲串口工作于外部时钟模式。通过多片AD73360级联,最多可以实现 48路同步采集系统(见图3)。系统在收到主控单片机的启动命令后,将XF置为高电平,AD73360处于上电复位状态,DSP将控制字依顺序写到所有 AD73360中,最后启动A/D转换,系统开始对加速度信号进行采集。
DSP外围电路和通信接口电路设计
DSP 外围电路包括时钟、电源、复位以及片外程序存储器电路。系统采用外部时钟模式,电源和复位电路采用TI公司专用芯片TPS767D301和TPS3707 -33。由于TMS320VC5416无片内Flash,因此系统采用AM29LV200B作为程序存储器,此芯片是16位Flash存储器。系统上电后,DSP片内引导程序将AM29LV200B中的工作程序加载到片内SRAM,提高程序执行效率。
系统通信电路包括并行通信和串行通信两部分,由于主控单片机采用5V逻辑,故并行通信的握手信号和数据线均需采用SN74LV245B进行电平隔离,同时数据总线需用 SN74LV373进行锁存。并行通信的握手信号若采用I/O读写的方式实现,数据传输效率会降低许多,所以系统将McBSP2定义为通用I/O口,用 McBSP2来和主控单片机握手,从而减少硬件开销,同时提高数据传输速度。
TMS320VC5416片内无UART端口,要实现和主控单片机的串行数据通信,本系统采用ST16C650,通过I/O读写访问ST16C650,从而实现DSP和主控单片机之间的串行通信。
系统软件设计
为了编写出模块性强、执行效率高的DSP程序,该系统在开发过程中采用汇编语言和C语言相结合的方式进行软件开发。用C语言编写程序主体,用汇编语言进行硬件接口程序编写。
系统软件执行过程如图4所示,其中左图为主程序流程,右图为中断程序流程。系统加电后,首先对McBSP、AD73360、DMA和串/并通信接口等进行初始化,然后等待主控单片机的启动命令,接收到启动命令后开始进行多路加速度信号的采集和处理,并将经过线性修正和滤波的加速度数据实时发送给主控单片机。
中断响应程序包括定时器中断程序、DMA中断程序和数据传输请求中断程序。当系统打开中断后,一旦收到启动命令,便启动AD73360,同时定时器开始计时;AD73360将转换后的离散加速度数据经McBSP0直接送到DMA,并分类装到各个RAM区间,当DMA指定的数据块缓冲区充满以后,DSP响应 DMA中断,对加速度值进行线性修正和数字滤波;若主控计算机数据请求中断产生,DSP通过并口、串口向主控计算机发送加速度值和空间位置信息;若定时器产生中断,DSP将开关变量T置为1。当中断返回后,继续进行加速度数据处理,并判断开关变量T的状态,决定是否给出控制信号。
试验结果
因为在地面模拟三维加速度输入较为困难,在数据采集试验中,选用三路100Hz正弦信号作为模拟输入,用1kHz采样率进行采样。采集系统幅度和相位一致性较好,需要在实际应用中进一步检验其采集精度。
结语
利用AD73360和TMS320V C5416进行加速度采集系统设计需注意以下几个问题:由于DSP系统具有低功耗、双电源和高速度性能,在设计时需考虑芯片引脚的外接方式和工艺特性; AD73360的模拟电源和数字电源要隔离;DSP和AD73360之间的接口在布线时需注意抗干扰,必要时可在串行数据线上串接10左右的电阻;在用 AD73360提供的参考电压作直流偏置时,最好先用运算放大器隔离。
本文关键字:加速度 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术
上一篇:以单一DSP控制多重三相逆变器