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