【導讀】陀螺儀是一種能夠精確地確定運動物體方位的儀器,它是現代航空、航海、航天和國防工業(yè)中廣泛使用的一種慣性導航儀器,它的發(fā)展對一個國家的工業(yè),國防和其他高科技的發(fā)展具有十分重要的戰(zhàn)略意義。
近年來隨著MEMS(微機電系統)技術的發(fā)展,MEMS陀螺儀的研究與發(fā)展受到了廣泛的重視。MEMS陀螺儀具有體積少、重量輕、可靠性好、易于系統集成等優(yōu)點,應用范圍廣闊。但是目前MEMS陀螺儀的精度還不是很高,要想大范圍應用必須對MEMS陀螺儀的信號進行處理。
本文選用TI公司的TMS320VC33作為MEMS陀螺儀信號處理平臺的核心芯片,同時引入DSP/BIOS實時操作系統提供的多任務處理機制,在對陀螺儀信號進行數據采集的間隙同時對先采集來的信號數據進行處理和傳輸,確保數據采集和處理的實時性,大大提高了信號處理平臺的工作效率,在高速實時數據采集和處理領域具有一定的應用價值。
1 MEMS陀螺儀信號處理平臺的硬件結構
1.1 信號處理平臺的硬件結構及工作原理
MEMS陀螺儀信號的處理平臺的硬件系統應該包括以下幾個部分:DSP模塊,數據采集模塊,上位機通信模塊和JTAG調試接口模塊。
數據采集模塊由兩部分組成:6路16位模/數轉換器ADS8364和同步時序控制器FPGA(A3P250VQ100)。FPGA(A3P250VQ100)一方面是控制各個單元時序,另一方面是為了對A/D采集來的陀螺信號進行預處理。
模/數轉換器ADS8364通過FPGA與DSPVC33相連,采集三軸陀螺信號。
DSP主要完成對陀螺信號的降噪運算。陀螺信號經DSP處理后再由SCI接口傳送到上位機。
系統設計的原理框圖如圖1所示。
在圖1中三路陀螺模擬信號經過各自的信號調理、抗混迭濾波后進入多通道A/D轉換器,在FPGA的控制下選擇一路信號進行轉換,轉換結果送入FPGA片上FIFO緩存,由DSP讀取數據并進行數字信號處理。同時FPGA對A/D轉換器傳過來的信號進行預處理,再送到DSP進行信號降噪處理,保證了MEMS陀螺信號處理系統處理的實時性。然后DSP把處理后的結果送至上位機和經過串口輸出,完成數字輸出和模擬輸出,滿足不同的應用要求。
1.2 信號處理平臺A/D電路設計
在整個MEME陀螺信號處理平臺中,A/D轉換器是整個系統數據采集部分關鍵核心器件,信號處理系統中選用了美國德州儀器(TI)公司的ADS8364作為MEMS陀螺信號處理平臺的A/D轉換器。ADS8364是TI公司推出的高速、低功耗、6通道16位A/D轉換芯片,共有64個引腳。其時鐘信號由外部提供,最高頻率為5 MHz,對應的采樣頻率是250 kHz。數字電源供電電壓為3~5 V,即可以與3.3 V供電的微控制器接口,也可以與5 V供電的微控制器接口。所以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芯片的輸出接口。圖2為ADS8364與FPGA的接口電路設計圖。
1.3 DSP的串行通信接口設計
TMS320VC33 DSP中的串口是一種同步串行接口,串行通信接口(SCI)是采用雙線通信的異步串行通信接口,即通常所說的UART口,VC33內部帶有串行通信模塊,該串口支持16級接收和發(fā)送FIFO,可以與PC和其他異步通信外設進行數字通信,在信號處理平臺系統中采用RS 232通信方式將數據發(fā)給上位機,與TMS320VC33接口的外設選用MAX3232。
2 MEMS陀螺儀信號處理平臺系統任務分析
MEMS信號處理系統劃分為三個獨立的任務:數據采集任務、陀螺信號處理任務和上位機通信任務。各個任務之間通過DSP/BIOS的旗語信號量進行同步和協調。
數據采集任務是負責對MEMS陀螺的信號進行采集。該任務是系統的關鍵部分,優(yōu)先級最高,執(zhí)行時間比其他任務短,因此選用DSP/BIOs的硬件中斷模塊(HWI)。硬件中斷模塊(HWI)具有嚴格的實時性和高優(yōu)先級,一旦SPIFIFO接收寄存器被外部ADC寫滿,立即產生相應的中斷,CPU立即掛起當前的任務,調用相應的中斷服務程序數據采集任務,將FIFO緩沖區(qū)內的采樣值讀入接收數據緩沖區(qū),啟動后續(xù)采樣。這時中斷服務程序退出,CPU的控制權返還給先前的任務。
陀螺信號處理任務負責對采集到的數字量信號進行小波除噪和溫度補償等算法處理。在設計時引入了DSP/BIOS的另一種線程類型TSK來實現。任務是獨立使用的CPU進程,真正體現了多線程的思想,支持阻塞和優(yōu)先級搶斷。
TSK共有15個優(yōu)先級,每個任務均有自己獨立的堆棧,響應延時比較長,適合對實時性要求不是很高的進程。TSK對象的優(yōu)先級低于硬件中斷(HWI),可根據任務的優(yōu)先級和當前執(zhí)行狀況調度或搶占任務。陀螺信號處理任務在數據采集任務的空閑周期執(zhí)行,也就是在采樣值寫入FIFO緩沖區(qū)這段時間執(zhí)行。當數據采集任務執(zhí)行完成,發(fā)送旗語信號量SEM_PROC陀螺信號的處理任務,對數據緩沖區(qū)內的采樣值進行處理,如果沒有收到旗語信號量SEM_PROC任務自動掛起。
上位機通信任務負責系統與外部通信,將處理完成的數據通過SCI接口傳輸給上位機。上位機通信任務同樣采用DSP/BIOS中的TSK線程實現。上位機通信任務的優(yōu)先級低于任務陀螺信號處理任務,在數據采集和信號處理的間隙執(zhí)行。陀螺信號處理任務執(zhí)行完成,發(fā)送旗語信號量SEM-XMIT上位機通信任務,將數據送出。
3 MEMS信號處理平臺軟件設計方案
MEMS陀螺儀信號處理平臺的軟件設計包括DSP程序設計、FPGA控制和時序程序設計。DSP編程的主要任務是初始化、管理板上的資源,并實現前端數字信號處理的算法。這里以TI公司提供的功能強大的CCS(Code Composer Studio)為集成開發(fā)環(huán)境。
系統上電復位后。首先完成DSP自身的初始化,包括配置RAM模塊,設置I/O模式、定時器模式、中斷等,然后程序進人循環(huán)狀態(tài),等待中斷。
FPGA的軟件設計主要包括對A/D的采集控制、數據存儲與傳輸的控制、信號的預處理和同步時序的產生與控制。首先由FPGA把A/D采集來的MEMS陀螺儀的數據存儲在FPGA中,然后由FPGA對采集來的信號進行預處理,然后等待DSP的控制信號把預處理的信號送入DSP中進行信號處理和傳輸。系統軟件的設計方案如圖3所示。
4 結 語
本文設計的MEMS陀螺信號處理平臺,能夠完成三軸陀螺信號的采集和處理,并將處理過的MEMS陀螺信號發(fā)送給主機,由于采用了TI公司高性能的DSP芯片TMS320VC33,并在軟件設計中采用了DSP/BIOS多任務機制,使得該信號處理平臺具有體積小,精度高,實時性好等優(yōu)點,能夠滿足對MEMS陀螺信號處理,在實際應用中具有一定的參考價值。
推薦閱讀: