基于DSP的MEMS陀螺儀信號(hào)處理平臺(tái)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
陀螺儀是一種能夠精確地確定運(yùn)動(dòng)物體方位的儀器,它是現(xiàn)代航空、航海、航天和國(guó)防工業(yè)中廣泛使用的一種慣性導(dǎo)航儀器,它的發(fā)展對(duì)一個(gè)國(guó)家的工業(yè),國(guó)防和其他高科技的發(fā)展具有十分重要的戰(zhàn)略意義。
近年來(lái)隨著MEMS(微機(jī)電系統(tǒng))技術(shù)的發(fā)展,MEMS陀螺儀的研究與發(fā)展受到了廣泛的重視。MEMS陀螺儀具有體積少、重量輕、可靠性好、易于系統(tǒng)集成等優(yōu)點(diǎn),應(yīng)用范圍廣闊。但是目前MEMS陀螺儀的精度還不是很高,要想大范圍應(yīng)用必須對(duì)MEMS陀螺儀的信號(hào)進(jìn)行處理。
本文選用TI公司的TMS320VC33作為MEMS陀螺儀信號(hào)處理平臺(tái)的核心芯片,同時(shí)引入DSP/BIOS實(shí)時(shí)操作系統(tǒng)提供的多任務(wù)處理機(jī)制,在對(duì)陀螺儀信號(hào)進(jìn)行數(shù)據(jù)采集的間隙同時(shí)對(duì)先采集來(lái)的信號(hào)數(shù)據(jù)進(jìn)行處理和傳輸,確保數(shù)據(jù)采集和處理的實(shí)時(shí)性,大大提高了信號(hào)處理平臺(tái)的工作效率,在高速實(shí)時(shí)數(shù)據(jù)采集和處理領(lǐng)域具有一定的應(yīng)用價(jià)值。
1 MEMS陀螺儀信號(hào)處理平臺(tái)的硬件結(jié)構(gòu)
1.1 信號(hào)處理平臺(tái)的硬件結(jié)構(gòu)及工作原理
MEMS陀螺儀信號(hào)的處理平臺(tái)的硬件系統(tǒng)應(yīng)該包括以下幾個(gè)部分:DSP模塊,數(shù)據(jù)采集模塊,上位機(jī)通信模塊和JTAG調(diào)試接口模塊。
數(shù)據(jù)采集模塊由兩部分組成:6路16位模/數(shù)轉(zhuǎn)換器ADS8364和同步時(shí)序控制器FPGA(A3P250VQ100)。FPGA(A3P250VQ100)一方面是控制各個(gè)單元時(shí)序,另一方面是為了對(duì)A/D采集來(lái)的陀螺信號(hào)進(jìn)行預(yù)處理。
模/數(shù)轉(zhuǎn)換器ADS8364通過(guò)FPGA與DSPVC33相連,采集三軸陀螺信號(hào)。
DSP主要完成對(duì)陀螺信號(hào)的降噪運(yùn)算。陀螺信號(hào)經(jīng)DSP處理后再由SCI接口傳送到上位機(jī)。
系統(tǒng)設(shè)計(jì)的原理框圖如圖1所示。
在圖1中三路陀螺模擬信號(hào)經(jīng)過(guò)各自的信號(hào)調(diào)理、抗混迭濾波后進(jìn)入多通道A/D轉(zhuǎn)換器,在FPGA的控制下選擇一路信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)果送入FPGA片上FIFO緩存,由DSP讀取數(shù)據(jù)并進(jìn)行數(shù)字信號(hào)處理。同時(shí)FPGA對(duì)A/D轉(zhuǎn)換器傳過(guò)來(lái)的信號(hào)進(jìn)行預(yù)處理,再送到DSP進(jìn)行信號(hào)降噪處理,保證了MEMS陀螺信號(hào)處理系統(tǒng)處理的實(shí)時(shí)性。然后DSP把處理后的結(jié)果送至上位機(jī)和經(jīng)過(guò)串口輸出,完成數(shù)字輸出和模擬輸出,滿足不同的應(yīng)用要求。
1.2 信號(hào)處理平臺(tái)A/D電路設(shè)計(jì)
在整個(gè)MEME陀螺信號(hào)處理平臺(tái)中,A/D轉(zhuǎn)換器是整個(gè)系統(tǒng)數(shù)據(jù)采集部分關(guān)鍵核心器件,信號(hào)處理系統(tǒng)中選用了美國(guó)德州儀器(TI)公司的ADS8364作為MEMS陀螺信號(hào)處理平臺(tái)的A/D轉(zhuǎn)換器。ADS8364是TI公司推出的高速、低功耗、6通道16位A/D轉(zhuǎn)換芯片,共有64個(gè)引腳。其時(shí)鐘信號(hào)由外部提供,最高頻率為5 MHz,對(duì)應(yīng)的采樣頻率是250 kHz。數(shù)字電源供電電壓為3~5 V,即可以與3.3 V供電的微控制器接口,也可以與5 V供電的微控制器接口。所以ADS8364非常適合應(yīng)用在精度要求較高,結(jié)構(gòu)簡(jiǎn)單的嵌入式信號(hào)處理系統(tǒng)中。
ADS8364的時(shí)鐘信號(hào)由外部提供,這里由FPGA提供時(shí)鐘信號(hào),主要是考慮到FPGA可以靈活地改變時(shí)鐘頻率,進(jìn)而改變系統(tǒng)的采樣頻率。A/D轉(zhuǎn)換完成后產(chǎn)生轉(zhuǎn)換結(jié)束信號(hào)EOC。將ADS8364的BYTE引腳接低電平,使轉(zhuǎn)換結(jié)果以16位的方式輸出。地址/模式信號(hào)(A0,A1,A2)決定ADS8364的數(shù)據(jù)讀取方式,可以選擇的方式包括單通道、周期或FIFO模式。將ADD引腳置為高電平,使得讀出的數(shù)據(jù)中包含轉(zhuǎn)換通道信息??紤]到數(shù)據(jù)采集處理系統(tǒng)的采樣頻率一般較高,如果用DSP直接控制ADS8364的訪問(wèn),將占用DSP較多的資源,同時(shí)對(duì)DSP的實(shí)時(shí)性要求也較高。因此在本系統(tǒng)設(shè)計(jì)中,用FPGA實(shí)現(xiàn)ADS8364的接口控制電路,并將轉(zhuǎn)換結(jié)果存儲(chǔ)在FPGA中,用DSP實(shí)現(xiàn)FPGA芯片的輸出接口。圖2為ADS8364與FPGA的接口電路設(shè)計(jì)圖。
1.3 DSP的串行通信接口設(shè)計(jì)
TMS320VC33 DSP中的串口是一種同步串行接口,串行通信接口(SCI)是采用雙線通信的異步串行通信接口,即通常所說(shuō)的UART口,VC33內(nèi)部帶有串行通信模塊,該串口支持16級(jí)接收和發(fā)送FIFO,可以與PC和其他異步通信外設(shè)進(jìn)行數(shù)字通信,在信號(hào)處理平臺(tái)系統(tǒng)中采用RS 232通信方式將數(shù)據(jù)發(fā)給上位機(jī),與TMS320VC33接口的外設(shè)選用MAX3232。
[!--empirenews.page--]2 MEMS陀螺儀信號(hào)處理平臺(tái)系統(tǒng)任務(wù)分析
MEMS信號(hào)處理系統(tǒng)劃分為三個(gè)獨(dú)立的任務(wù):數(shù)據(jù)采集任務(wù)、陀螺信號(hào)處理任務(wù)和上位機(jī)通信任務(wù)。各個(gè)任務(wù)之間通過(guò)DSP/BIOS的旗語(yǔ)信號(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來(lái)實(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í)比較長(zhǎng),適合對(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ā)送旗語(yǔ)信號(hào)量SEM_PROC陀螺信號(hào)的處理任務(wù),對(duì)數(shù)據(jù)緩沖區(qū)內(nèi)的采樣值進(jìn)行處理,如果沒有收到旗語(yǔ)信號(hào)量SEM_PROC任務(wù)自動(dòng)掛起。
上位機(jī)通信任務(wù)負(fù)責(zé)系統(tǒng)與外部通信,將處理完成的數(shù)據(jù)通過(guò)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ā)送旗語(yǔ)信號(hào)量SEM-XMIT上位機(jī)通信任務(wù),將數(shù)據(jù)送出。
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采集來(lái)的MEMS陀螺儀的數(shù)據(jù)存儲(chǔ)在FPGA中,然后由FPGA對(duì)采集來(lái)的信號(hào)進(jìn)行預(yù)處理,然后等待DSP的控制信號(hào)把預(yù)處理的信號(hào)送入DSP中進(jìn)行信號(hào)處理和傳輸。系統(tǒng)軟件的設(shè)計(jì)方案如圖3所示。
4 結(jié) 語(yǔ)
本文設(shè)計(jì)的MEMS陀螺信號(hào)處理平臺(tái),能夠完成三軸陀螺信號(hào)的采集和處理,并將處理過(guò)的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à)值。