王 彤,馬建倉,秦 濤,齊金剛
(西北工業大學 電子信息學院,陜西 西安 710072)
基于DSP/BIOS多線程的小型組合導航系統設計
王 彤,馬建倉,秦 濤,齊金剛
(西北工業大學 電子信息學院,陜西 西安 710072)
將GPS與SINS組合起來可以充分發揮二者的優勢,是一種實用的導航方式。但是傳統的設計方案都是在雙端口RAM的基礎上進行數據存儲與傳輸的,因此會帶來體積大、成本高、功耗大等問題。基于小型化GPS/SINS組合導航系統的目的,本設計采用DSP/BIOS多線程編程技術對TMS320F28335數字信號處理器進行程序設計。工程實現的結果證明,所設計的系統不僅導航功能完整、性能穩定,更具有成本低、體積小和功耗低的特點,在普通的導航領域有一定的應用價值。
組合導航;MEMS;多線程;雙端口RAM
捷聯慣性導航 (Strapdown Inertial Navigation System,SINS)是隨著MEMS技術的發展而逐漸成熟的一種新興技術,已經成為了一個國家科技發展水平的重要標志之一。捷聯式慣性導航系統省去了慣性平臺,直接將慣性器件安裝在載體上,所以結構簡單、體積小、維護方便。它不依賴外界信息,也不向外界輻射能量,因此不易受到干擾,是一種自主導航方式.但存在誤差積累、對準時間長并且不能提供時間信息等缺點。GPS作為一種家喻戶曉的衛星導航系統卻不存在上述問題,而且導航精度較高。但GPS信號容易被遮擋,數據率較低并且無法再高動態中使用。若將GPS與SINS取長補短,組合起來設計導航系統,便可以實現捷聯慣導與GPS的優勢互補。在眾多應用領域中,二者的有機組合是必要的,即使采用低精度的MEMS傳感器,GPS/SINS組合導航系統在許多應用領域中也可以滿足用戶的導航定位需求。
為了使GPS/SINS組合導航系統體積更小、成本更低,系統在單片機和DSP進行數據通信時,沒有采用常用的雙口RAM[1-3]思想來實現數據緩存功能,而是充分利用了DSP強大的數據處理能力,利用CCS環境提供的DSP/BIOS多線程工具進行程序進行設計,將單片機發送的數據存儲在DSP的擴展RAM中,再進行數據的讀取與處理,從而減小了系統體積。
研制的組合導航系統由傳感器單元[4]、信號采集單元、導航解算與組合單元等組成。具體的硬件組成如圖1所示。
傳感器單元包括微慣性測量單元(MIMU)及其信號放大電路、磁阻傳感器、高度計模塊和GPS模塊,具體硬件框圖如圖1所示。
微慣性傳感單元是本設計中微慣性測量單元的核心,包括MEMS陀螺和加速度計兩部分。其中陀螺選用的是ADXR624,它是由AD公司研制的一款功能全、低成本的單軸角速率傳感器,具有體積小、性能穩定的特點。芯片上提供兩個自測功能引腳和一個溫度補償輸出引腳,用戶可以通過編程通過溫度補償算法進一步提高陀螺信號輸出的精度。加速度計選用的是AD公司的三軸加速度計ADXL335,既可以用來測量重力引起的靜態加速度,也可以用來測量由運動、沖擊或者振動引起的動態加速度,3個輸出引腳上可各自用一個電容來方便的控制輸出信號的帶寬。陀螺和加速度計的 輸出信號均采用 放大器進行信號隔離放大。

圖1 系統硬件框圖Fig.1 Hardware diagram of the GPS/SINS integrated navigation system
磁阻傳感器用于電子羅盤的設計,采用的是Honeywell公司的HMC1043。該芯片靈敏度較高,可以用來測量從數十微高斯到六高斯強度的磁通量,多用于低磁場強度磁性傳感器電路的應用設計中,具有小型化、性價比高、易于裝配等優點。 磁阻輸出信號經過AD623信號放大電路進行差分放大。
高度計模塊選用的是Bosch公司的BMP085,該芯片可以直接與單片機的I2C總線相連,氣壓和溫度數據必須通過BMP085上E2PROM中的矯正數據進行補償。它具有超低功耗和低工作電壓的特點,并且器件工作噪聲低,適用于各種移動設備中。由于它輸出的是氣壓數據,因此輸出的數據受溫度和氣候的影響較大。
GPS模塊選用的是臺灣HOLUX公司的GY—87,它采用的是SiFR star三代芯片,具有很強的搜星能力。該模塊具有高性能、低功耗、體積小和易于集成等優點。GY—87的輸出語句以及波特率可根據用戶需要進行刪減和更改。該GPS模塊采用NMEA0183 ASCII碼輸出,為提高系統數據發送效率,設計時定制GPS輸出語句僅保留推薦最小化具體衛星定位數據(GPRMC)語句,同時定制波特率為9 600Baud。
系統設計的數據采集單元由兩部分組成,一是初始對準時采用的ADUC842單片機的A/D轉換器;二是MIMU工作時采用的ADS8344 A/D轉換器。
ADUC842單片機的A/D轉換器采集磁阻傳感器和MEMS加速度計的數據,用于磁阻電子羅盤設計。ADuc842單片機由外部32.768 KHz的無源晶振提供時鐘,經過內部鎖相環,時鐘倍頻后,單片機時鐘頻率可達16.67 MHz。提供了SCI、SPI和I2C3種類型的串口,設計時,將SPI用于控制采樣芯片和接收采樣芯片數據,SCI用于單片機向DSP進行數據傳送,I2C用于接收高度計氣壓數據。由于ADuc842的SPI與I2C共用了MOSI、MISO與SCLOCK引腳,因此在同時使用這兩個串口模塊時,需要將寄存器CFG841/CFG842的MSPI位置位,同時將 SPI的MOSI、MISO與SCLOCK管腳移至P3.3、P3.4 和 P3.5。
ADS8344數據采集芯片用于對精度要求較高的MEMS陀螺和加速度計的數據采集,它是一款16位8通道AD轉換器。輸入方式采用8通道單端輸入,串口異步傳輸。電路采用SPI串口進行ADS8344和單片機之間的通信和數據的傳輸。由于芯片上DOUT、DIN和DCLK3個引腳通信時的電壓值很低,為避免產生不必要的誤碼,提高傳輸質量,在此3個管腳上增加了驅動電路,以提高數據傳輸的準確性。ADS8344的時鐘信號由單片機經分頻后提供,一次AD轉換時間為24個時鐘周期,最高轉換速率可達100 kHz,在此情況下多對應的時鐘頻率 fclk=24×fs=2.4 MHz。
系統采用TMS320F28335 DSP用來實現系統初始對準、導航解算以及組合導航的等功能,TMS320F28335提供了高達150 MHz的主頻頻率,支持32位的浮點運算,具有強大的數據處理能力。設計時,采用數字信號處理器的3個SCI模塊作為對外數據傳輸接口,分別用于接收GPS的數據、接收單片機發送的數據和向上位機發送處理之后的數據。采用BIOS工具進行程序設計,擴展了256K×16的RAM和512K×16的flash以滿足DSP數據處理時對存儲空間的要求。
DSP/BIOS[5]是CCS提供的一套支持多線程的程序設計工具,它本身占據很少的CPU資源,可以幫助開發人員更加方便的控制DSP的硬件資源,更加靈活的協調DSP各個模塊的工作,從而大大提高軟件的開發速度和調試進度。DSP/BIOS提供底層的應用函數接口,支持系統實時分析、線程管理、調度軟件中斷、周期函數和idle函數(后臺運行函數)以及外部硬件中斷與各種外設的管理。它提供了 CLK、PRD、HWI、SWI、TSK與IDL等線程類型,同時CCS還提供多種分析和評估代碼工具,可以方便直觀地了解CPU在代碼各個部分的開銷情況,功能十分強大。通過線程的調度,可以將數據的存儲與讀取工作放在DSP處理器中進行,將DSP因此可省去CPU之間數據緩存空間,直接進行CPU間的數據傳輸。采用DSP/BIOS工具進行DSP程序設計的系統軟件流程如圖2所示。
在DSP/BIOS環境下,main函數僅僅執行必要的初始化工作,初始化工作結束之后,CPU將控制權交給DSP/BIOS,由DSP/BIOS進行線程的調度,從而實現數據存儲與讀取、系統初始對準[6]、四元數姿態解算[7]、速度和位置解算和無跡kalman濾波[8]功能。DSP程序中的DSP/BIOS中斷線程如表1所示。

表1 .DSP/BIOS配置的中斷Tab.1 Interruption configuration of DSP/BIOS

圖2 系統軟件設計流程圖Fig.2 Software diagram of the GPS/SINS integrated navigation system
在多線程調度時,硬中斷的優先級要高于軟中斷的優先級,系統默認從小到大順序設置硬中斷優先級。系統開始運行時只接受單片機送來的初始對準原始數據,觸發硬中斷PIE_INT9_3,在此硬中斷響應函數中發出軟中斷Init_Align_swi進行初始對準解算。解算完畢后根據GPS和單片機數據到來的先后觸發相應的硬中斷PIE_INT8_5和PIE_INT9_3,調用各自的數據解算/解析軟中斷,若在響應PIE_INT9_3中斷函數期間,GPS觸發PIE_INT8_5,則停止響應PIE_INT9_3,開始接受GPS數據。根據GPS定位狀態系統選擇是否進行組合導航,最終觸發PIE_INT9_2硬中斷,將處理后的數據送至上位機顯示。
上位機通過MAX3232串口模塊接收DSP送來的數據。在上位機上利用MFC編寫了顯示程序,如圖3所示。根據GPS定位狀態和用戶的選擇,系統可輸出3種導航信息,分別是GPS導航信息、GPS不工作時的捷聯慣導導航信息和GPS工作時的組合導航信息。
GPS定位狀態下,采用無跡卡爾曼濾波算法對GPS導航信息和捷聯慣導輸出信息進行信息融合,利用本系統在西北工業大學長安校區部分學院樓及教學樓周邊進行了跑車實驗,軌跡如圖4所示。

圖4 跑車實驗軌跡圖Fig.4 Locus diagram of the vehicle experiment
設計了一種功耗低、成本低的小型組合導航系統,利用CCS環境提供的BIOS工具降低了硬件設計和DSP程序設計的復雜度,解決了以往雙端口RAM硬件設計帶來的高功耗、大體積等問題。利用該系統在西北工業大學進行了跑車實驗,實驗結果證明,該系統功能完整,工作性能穩定,達到了一定的導航精度。
[1]孫華,單志明,楊培科.基于DSP和FPGA的組合導航系統設計[J].計算機應用,2009(29):325-327.
SUN Hua,SHAN Zhi-ming,YANG Pei-ke.Design of integrated navigation system based on DSP and FPGA[J].Journal of computer applications,2009(29):325-327.
[2]黎玉剛.DSP在INS/GPS組合導航系統中的應用[D].西安:西北工業大學,2005.
[3]郭薇,廖林煒.基于MEMS的GPS/SINS艦船組合導航系統設計[J].船舶,2003(24):63-65.
GUO Wei,LIAO Lin-wei.A GPS/SINS integrated navigation system based on MEMS[J].SHIP&BOAT,2003(24):63-65.
[4]郝鵬,馬建倉.基于DSP測量的捷聯慣導系統設計[J].電子設計工程,2011(19):120-122
HAO Peng,MA Jian-cang.Design of SINS based on DSP measurement[J].Electronic Design Engineering,2009(19):120-122.
[5]彭啟琮,管慶.DSP集成開發環境—CCS及DSP/BIOS的原理與應用[M].北京:電子工業出版社,2004.
[6]邵婷婷,馬建倉,胡士峰,等.電子羅盤傾斜及羅差補償算法研究[J].傳感技術學報,2007(20):1335-1337.
SHAO Ting-ting,MA Jian-cang,HU Shi-feng,et al.Research on tilt and Environment error compensation of electronic compass[J].Chinese Journal of Sensors and actuators,2007(20):1335-1337.
[7]張榮輝,賈宏光,陳濤,等.基于四元數法的捷聯式慣性導航系統的姿態解算[J].光學精密工程,2008(16):1963-1970.
ZHANG Rong-hui,JIA Hong-guang,CHEN Tao,et al.Attitude solution for strapdown inertial navigation system based on quaternion algorithm [J].Optics and Precision Engineering,2008(16):1963-1970.
[8]周桃庚,郝群,沙定國.U-卡爾曼濾波在狀態估計中的應用[J].儀器儀表學報,2003(24):410-412.
ZHOU Tao-geng,HAO Qun,SHA Ding-guo.Applications of Unscented Kalman filtering on the state estimation[J].Chinese Journal of Scientific Instrument,2003(24):410-412.
Design of small-sized integrated navigation system based on DSP/BIOS multithread
WANG Tong,MA Jian-cang,QIN Tao,QI Jin-gang
(College of Electronic Information,Northwesten Polytechnic University,Xi’an 710072,China)
GPS/SINS integrated navigation system can take advantage of both global positioning system and strapdown inertial navigation system,it is an ideal way to navigate.But the traditional design proposals are always based on dual port RAM which are used for data storage and transmission,therefore leads to large size,high cost and high power dissipation.Aiming at miniaturizing the GPS/SINS integrated navigation system,DSP/BIOS multithreading is applied in the programming procedure of DSP TMS320F28335.The results show that,the designed system has not only ideal navigation function and stable performance,but also the advantages of low cost,small size and low power dissipation characteristics,having a value in ordinary navigation field.
integrated navigation;MEMS;multithread;dual port RAM
TN962
A
1674-6236(2014)13-0081-03
2013-10-20 稿件編號:201310126
王 彤(1986—),男,河南杞縣人,碩士,助理工程師。研究方向:導航控制。