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