基于DSP的MEMS陀螺儀信號(hào)處理平臺(tái)的設(shè)計(jì)
MEMS信號(hào)處理系統(tǒng)劃分為三個(gè)獨(dú)立的任務(wù):數(shù)據(jù)采集任務(wù)、陀螺信號(hào)處理任務(wù)和上位機(jī)通信任務(wù)。各個(gè)任務(wù)之間通過DSP/BIOS的旗語信號(hào)量進(jìn)行同步和協(xié)調(diào)。
數(shù)據(jù)采集任務(wù)是負(fù)責(zé)對(duì)MEMS陀螺的信號(hào)進(jìn)行采集。該任務(wù)是系統(tǒng)的關(guān)鍵部分,優(yōu)先級(jí)最高,執(zhí)行時(shí)間比其他任務(wù)短,因此選用DSP/BIOs的硬件中斷模塊(HWI)。硬件中斷模塊(HWI)具有嚴(yán)格的實(shí)時(shí)性和高優(yōu)先級(jí),一旦SPIFIFO接收寄存器被外部ADC寫滿,立即產(chǎn)生相應(yīng)的中斷,CPU立即掛起當(dāng)前的任務(wù),調(diào)用相應(yīng)的中斷服務(wù)程序數(shù)據(jù)采集任務(wù),將FIFO緩沖區(qū)內(nèi)的采樣值讀入接收數(shù)據(jù)緩沖區(qū),啟動(dòng)后續(xù)采樣。這時(shí)中斷服務(wù)程序退出,CPU的控制權(quán)返還給先前的任務(wù)。
陀螺信號(hào)處理任務(wù)負(fù)責(zé)對(duì)采集到的數(shù)字量信號(hào)進(jìn)行小波除噪和溫度補(bǔ)償?shù)人惴ㄌ幚?。在設(shè)計(jì)時(shí)引入了DSP/BIOS的另一種線程類型TSK來實(shí)現(xiàn)。任務(wù)是獨(dú)立使用的CPU進(jìn)程,真正體現(xiàn)了多線程的思想,支持阻塞和優(yōu)先級(jí)搶斷。
TSK共有15個(gè)優(yōu)先級(jí),每個(gè)任務(wù)均有自己獨(dú)立的堆棧,響應(yīng)延時(shí)比較長,適合對(duì)實(shí)時(shí)性要求不是很高的進(jìn)程。TSK對(duì)象的優(yōu)先級(jí)低于硬件中斷(HWI),可根據(jù)任務(wù)的優(yōu)先級(jí)和當(dāng)前執(zhí)行狀況調(diào)度或搶占任務(wù)。陀螺信號(hào)處理任務(wù)在數(shù)據(jù)采集任務(wù)的空閑周期執(zhí)行,也就是在采樣值寫入FIFO緩沖區(qū)這段時(shí)間執(zhí)行。當(dāng)數(shù)據(jù)采集任務(wù)執(zhí)行完成,發(fā)送旗語信號(hào)量SEM_PROC陀螺信號(hào)的處理任務(wù),對(duì)數(shù)據(jù)緩沖區(qū)內(nèi)的采樣值進(jìn)行處理,如果沒有收到旗語信號(hào)量SEM_PROC任務(wù)自動(dòng)掛起。
上位機(jī)通信任務(wù)負(fù)責(zé)系統(tǒng)與外部通信,將處理完成的數(shù)據(jù)通過SCI接口傳輸給上位機(jī)。上位機(jī)通信任務(wù)同樣采用DSP/BIOS中的TSK線程實(shí)現(xiàn)。上位機(jī)通信任務(wù)的優(yōu)先級(jí)低于任務(wù)陀螺信號(hào)處理任務(wù),在數(shù)據(jù)采集和信號(hào)處理的間隙執(zhí)行。陀螺信號(hào)處理任務(wù)執(zhí)行完成,發(fā)送旗語信號(hào)量SEM-XMIT上位機(jī)通信任務(wù),將數(shù)據(jù)送出。
本文引用地址:http://cafeforensic.com/article/188871.htm
3 MEMS信號(hào)處理平臺(tái)軟件設(shè)計(jì)方案
MEMS陀螺儀信號(hào)處理平臺(tái)的軟件設(shè)計(jì)包括DSP程序設(shè)計(jì)、FPGA控制和時(shí)序程序設(shè)計(jì)。DSP編程的主要任務(wù)是初始化、管理板上的資源,并實(shí)現(xiàn)前端數(shù)字信號(hào)處理的算法。這里以TI公司提供的功能強(qiáng)大的CCS(Code Composer Studio)為集成開發(fā)環(huán)境。
系統(tǒng)上電復(fù)位后。首先完成DSP自身的初始化,包括配置RAM模塊,設(shè)置I/O模式、定時(shí)器模式、中斷等,然后程序進(jìn)人循環(huán)狀態(tài),等待中斷。
FPGA的軟件設(shè)計(jì)主要包括對(duì)A/D的采集控制、數(shù)據(jù)存儲(chǔ)與傳輸?shù)目刂?、信?hào)的預(yù)處理和同步時(shí)序的產(chǎn)生與控制。首先由FPGA把A/D采集來的MEMS陀螺儀的數(shù)據(jù)存儲(chǔ)在FPGA中,然后由FPGA對(duì)采集來的信號(hào)進(jìn)行預(yù)處理,然后等待DSP的控制信號(hào)把預(yù)處理的信號(hào)送入DSP中進(jìn)行信號(hào)處理和傳輸。系統(tǒng)軟件的設(shè)計(jì)方案如圖3所示。
4 結(jié) 語
本文設(shè)計(jì)的MEMS陀螺信號(hào)處理平臺(tái),能夠完成三軸陀螺信號(hào)的采集和處理,并將處理過的MEMS陀螺信號(hào)發(fā)送給主機(jī),由于采用了TI公司高性能的DSP芯片TMS320VC33,并在軟件設(shè)計(jì)中采用了DSP/BIOS多任務(wù)機(jī)制,使得該信號(hào)處理平臺(tái)具有體積小,精度高,實(shí)時(shí)性好等優(yōu)點(diǎn),能夠滿足對(duì)MEMS陀螺信號(hào)處理,在實(shí)際應(yīng)用中具有一定的參考價(jià)值。
評(píng)論