基于DSP的MEMS陀螺仪信号处理平台的设计
基于DSP的MEMS陀螺仪信号处理平台的设计
本文选用TI公司的
TMS320VC33作为MEMS陀螺仪信号处理平台的核心芯片,同时引入DSP/BIOS实时操作系统提供的多任务处理机制,在对陀螺仪信号进行数据采集的间隙同时对先采集来的信号数据进行处理和传输,确保数据采集和处理的实时性,大大提高了信号处理平台的工作效率,在高速实时数据采集和处理领域具有一定的应用价值。
MEMS陀螺仪信号的处理平台的硬件系统应该包括以下几个部分:DSP模块,数据采集模块,上位机通信模块和JTAG调试接口模块。
在整个MEME陀螺信号处理平台中,A/D转换器是整个系统数据采集部分关键核心器件,信号处理系统中选用了美国德州仪器(TI)公司的ADS8364作为MEMS陀螺信号处理平台的A/D转换器。ADS8364是TI公司推出的高速、低功耗、6通道16位A/D转换芯片,共有64个引脚。其时钟信号由外部提供,最高频率为5MHz,对应的采样频率是250kHz。数字电源供电电压为3~5V,即可以与3.3V供电的微控制器接口,也可以与5V供电的微控制器接口。所以ADS8364非常适合应用在精度要求较高,结构简单的嵌入式信号处理系统中。
ADS8364的时钟信号由外部提供,这里由FPGA提供时钟信号,主要是考虑到FPGA可以灵活地改变时钟频率,进而改变系统的采样频率。A/D转换完成后产生转换结束信号EOC。将ADS8364的BYTE引脚接低电平,使转换结果以16位的方式输出。地址/模式信号(A0,A1,A2)决定ADS8364的数据读取方式,可以选择的方式包括单通道、周期或FIFO模式。将ADD引脚置为高电平,使得读出的数据中包含转换通道信息。考虑到数据采集处理系统的采样频率一般较高,如果用DSP直接控制ADS8364的访问,将占用DSP较多的资源,同时对DSP的实时性要求也较高。因此在本系统设计中,用FPGA实现ADS8364的接口控制电路,并将转换结果存储在FPGA中,用DSP实现FPGA芯片的输出接口。
TMS320VC33DSP中的串口是一种同步串行接口,串行通信接口(SCI)是采用双线通信的异步串行通信接口,即通常所说的UART口,VC33内部带有串行通信模块,该串口支持16级接收和发送FIFO,可以与PC和其他异步通信外设进行数字通信,在信号处理平台系统中采用RS232通信方式将数据发给上位机,与TMS320VC33接口的外设选用MAX3232。
陀螺信号处理任务负责对采集到的数字量信号进行小波除噪和温度补偿等算法处理。在设计时引入了DSP/BIOS的另一种线程类型TSK来实现。任务是独立使用的CPU进程,真正体现了多线程的思想,支持阻塞和优先级抢断。
每个任务均有自己独立的堆栈,响应延时比较长,适合对实时性要求不是很高的进程。TSK对象的优先级低于硬件中断(HWI),可根据任务的优先级和当前执行状况调度或抢占任务。陀螺信号处理任务在数据采集任务的空闲周期执行,也就是在采样值写入FIFO缓冲区这段时间执行。当数据采集任务执行完成,发送旗语信号量SEM_PROC陀螺信号的处理任务,对数据缓冲区内的采样值进行处理,如果没有收到旗语信号量SEM_PROC任务自动挂起。
本文设计的MEMS陀螺信号处理平台,能够完成三轴陀螺信号的采集和处理,并将处理过的MEMS陀螺信号发送给主机,由于采用了TI公司高性能的DSP芯片TMS320VC33,并在软件设计中采用了DSP/BIOS多任务机制,使得该信号处理平台具有体积小,精度高,实时性好等优点,能够满足对MEMS陀螺信号处理,在实际应用中具有一定的参考价值。