《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于MCU與DSP的雙機壓電捷聯(lián)慣導系統(tǒng)
基于MCU與DSP的雙機壓電捷聯(lián)慣導系統(tǒng)
摘要: 基于TMS320C5410實現的壓電捷聯(lián)慣導系統(tǒng)平臺,電路體積小,系統(tǒng)穩(wěn)定性高。經測試,整體性能滿足誤差校正、姿態(tài)角及速度、加速度的計算要求,并提供了捷聯(lián)慣導系統(tǒng)實現各種算法的基礎平臺。
Abstract:
Key words :

    引言

    近年來,廣大科研工作者研究了各種減小壓電捷聯(lián)慣導系統(tǒng)的誤差方法,使壓電慣性器件的精度得到了極大的提高[1].本文介紹了一種實用的基于DSP實現的壓電捷聯(lián)慣導系統(tǒng)方案。

    1 系統(tǒng)的硬件設計

    整個壓電捷聯(lián)慣導系統(tǒng)分為三個部分:壓電慣性組合部分;由ADS1251與ADuC834組成的信號接口與模數轉換單元;由TMS320C54lO等構成的數據處理單元。系統(tǒng)框圖如圖1所示。

系統(tǒng)框圖

 

 

    壓電慣性組合采用專用壓電陀螺及壓電加速度計。由TI公司24位,20 kHz的A/D轉換器ADSl251完成六路壓電陀螺及壓電加速度計的信號精確采樣,實際采樣速率為500 Hz。采用美國模擬器件公司的8位51 MCU微處理器ADuC834作六路采樣的主控制器。ADuC834集成了溫度傳感器、62 KB的可編程程序EEPROM、定時器,以及I2C兼容的SPI和標準的串行I/O等。通過SPI方式讀人六路采樣轉換后的信號,同時完成溫度的采樣,所有采樣后得到的數字信號通過HPI接口寫入到TMS320C5410的數據單元。采用ADuC834的口0與口2實現與TMS320C54lO的HPI接口相連,接口電路如圖2所示。

      接口電路

    數據處理單元由TMS320C5410、SST39VF200B及MAX3111E組成。TMS320C5410是TI公司54系列DSP處理器,外接 10 MHz晶振,通過設置PLL,工作頻率在100 MHz,處理能力可達到l00MIPS。它采用微計算機工作方式(MP/MC引腳接地),外接SST39VF200B作為外接存儲器。系統(tǒng)啟動時,由固化在TMS320C5410片內RoM的自舉引導程序加載SST39VF200B中的應用程序。TMS320C5410與ST39VF200B接口如圖3所示。

TMS320C5410與ST39VF200B接口

 

 

 

    TMS320C5410的McBSP0與MAX3111E相連,完成串口數據的輸出。設置McBSP0工作在SPI主動模式,與MAX311lE進行通信。電路接口如圖4所示。

電路接口

    2 系統(tǒng)軟件設計

    2.1 HPl接口

    系統(tǒng)軟件包括ADuC834的軟件設計與DSP的軟件設計。ADuC834軟件部分采用匯編語言編寫,完成HPI的初始化、溫度信號的采集、通過相應引腳的控制完成六路信號采集及接收、HPI數據的發(fā)送等。采用了HINT引腳信號來完成雙方數據的同步。DSP通過向HPIc的HINT位寫I,使HINT引腳變?yōu)榈碗娖?,指示ADuC834發(fā)送新的數據幀。ADuC834從引腳P2.7讀到此低電平信號,寫完一幀數據到設定的DSP數據區(qū)域,再寫HPIC的 HINT位,恢復HINT引腳為高電平。然后向HPIC中的DSPINT位寫入1,通知DSP進人HPI中斷接收數據。DSP接收完數據后,再向HPIC 的HINT位寫l,指示新的數據傳輸過程。

    2.2 主程序

    DSP部分的軟件采用C語言設計,包括豐程序、HPI中斷服務子程序及定時中斷服務子程序。主程序完成系統(tǒng)的初始化,包括DSP工作模式的設置、堆棧的設置、初始化McBSPO、初始化MAX3111E、設置定時中斷等??驁D如圖5所示。

                       框圖

    2.3捷聯(lián)姿態(tài)計算

    HPI中斷部分完成數據接收的同時,完成數據的計算處理,ADuC834的數據已存放在設定的幾個數據單元,對讀出數據采用四元數算法進行捷聯(lián)姿態(tài)計算。算法部分功能模塊如圖6所示。

算法部分功能模塊

點擊看原圖

 

 

 


    2.4串行數據發(fā)送

    通過配置McBSPO及MAX311lE,實現在定時中斷部分完成計算出的角度、位置,速度等數據的發(fā)送。設定了每10ms發(fā)送一次數據,采用查詢方式完成數據的發(fā)送。

    在系統(tǒng)引導時完成McBSPO及MAX3111E的初始化,McBSP0始初化程序如下:

 

    基于MCU與DSP的<a class=雙機壓電捷聯(lián)慣導系統(tǒng)圖示" border="0" onclick="return show_orginral(this)" src="http://files.chinaaet.com/images/20100816/877aa6a6-85b6-48ae-be99-f192082a6b4c.jpg" style="cursor: pointer;" title="點擊看大圖" width="580" />

點擊看原圖

 

 


基于MCU與DSP的雙機壓電捷聯(lián)慣導系統(tǒng)圖示

點擊看原圖

 

 


   

    通過查詢SPCR2的XRDY位與XEMPTY位可知是否可向McBSP寫數據,查詢程序如下:

    基于MCU與DSP的雙機壓電捷聯(lián)慣導系統(tǒng)圖示

點擊看原圖

 

 

 


    通過發(fā)送數據寫配置寄存器完成MAX3111E的初始化,程序如下:

void init_max3111e(){
    unsigned int flagl="0xO";;
    mcbsp ready();
    *DXRl0=0xc801;
    //寫配置寄存器,允許發(fā)送緩沖區(qū)空中斷,fosc=3.6864 MHz
    //波特率為115 200 b/s,8位數據位,1位停止位
    mcbsp_ready();
};

  &n bsp; 在發(fā)送數據時,為保證MAX311E不丟失數據,需用中斷方式或查詢方式,在MAX3111E的緩沖區(qū)空時再發(fā)送數據,查詢方式發(fā)送數據程序如下:

void sendl(unsigned char data){
    unsigned char flag="0x0",datahi,datalow;
    while(flag!=0x4801){//第14位為1,表示發(fā)送緩沖區(qū)為空
  & amp;nbsp; mcbsp_ready()
    基于MCU與DSP的雙機壓電捷聯(lián)慣導系統(tǒng)圖示

 

    3 程序的編譯與自舉

    通過JTAG接口,由仿真器可方便的對平臺進行調試,同時完成應用程序的寫入??稍贑CS集成開發(fā)環(huán)境中建立相應的工程,導入.cmd文件、 vector.asm文件、庫文件、源程序等。在編譯選項中加入一v548,編譯后生成相應的.out文件。整個程序小于32 KB,使用C54xx通用Flash燒寫工具C54xx Flash Tool 2.01[2],生成相應的16位hex文件及Flash燒寫的flashburn.Out文件。在CCS中導入flashburn.out,設置CPU 寄存器DROM位為0,然后運行,即完成了對SST39VF200B中程序的燒寫。

    結語

    基于TMS320C5410實現的壓電捷聯(lián)慣導系統(tǒng)平臺,電路體積小,系統(tǒng)穩(wěn)定性高。經測試,整體性能滿足誤差校正、姿態(tài)角及速度、加速度的計算要求,并提供了捷聯(lián)慣導系統(tǒng)實現各種算法的基礎平臺。

此內容為AET網站原創(chuàng),未經授權禁止轉載。