文獻標識碼: A
文章編號: 0258-7998(2015)06-0062-04
0 引言
隨著科技的進步和人們生活水平的提高,便攜式導航系統在人們的生活中已經得到了廣泛的應用。采用MIMU/GPS組合導航系統在一定程度上可以實現個人導航系統不受GPS信號限制的全區域導航的連續性和可靠性[1]。而便攜式導航設備往往穿戴于人身上,若傳感器是以硬件有線連接方式進行數據傳輸,會使設備穿戴不便,且會妨礙捕捉對象的正常運動過程。ZigBee技術是一種短距離、低成本、低功耗、低復雜度的無線通信技術,它擁有強大的網絡功能,并且網絡數據傳輸穩定、可靠[2]。基于上述現狀,本導航系統使用GPS和MEMS組合導航,并采用全無線的通信方式,使本系統在穿戴時方便可靠,對捕捉對象運動無束縛作用。
1 便攜式導航系統方案設計
基于微慣性及GPS組合的便攜式導航系統主要由無線發送終端和手持無線接收終端兩部分構成。無線發送終端通常穿戴于人體的某個部位,如鞋上、腿上或腰上等,實現微慣性傳感器數據采集,并通過無線通信的方式將數據發送到便攜式手持無線接收終端;手持無線接收終端主要實現接收無線慣性傳感器數據和采集GPS信息,并將所有數據傳輸給手持終端的導航計算機進行導航解算,并將解算的導航信息顯示在LCD液晶屏幕上。便攜式導航系統示意圖如圖1所示。
系統主要由微慣性測量單元、導航計算機、GPS接收機、電源穩壓電路、LCD液晶屏等構成。根據MIMU/GPS組合便攜式導航系統對導航計算機體積、功耗、運算能力、接口等各方面需求,以DSP+MCU架構實現導航計算機的設計。其中DSP主要完成導航算法和系統控制的主處理器,專注于導航數據的實時解算;另一個為基于無線通信技術的微控制器MCU負責完成對外的數據接口電路及無線通信部分,導航器件包括一個集成三軸陀螺儀、三軸加速度計和三軸磁強計的微慣性測量傳感器以及GPS接收機。
系統選用的器件均為性價比高、可靠性強、技術發展成熟的器件,因此系統具有工作壽命長、功耗低、體積小、便于攜帶等優點,應用前景廣闊。
2 系統硬件設計
2.1 數據采集發送終端
如圖2所示,數據采集發送終端主要由微慣性測量單元ADIS16405、ZigBee無線通信模塊CC2530、電源穩壓電路等構成,實現MEMS傳感器數據采集,并可將數據通過無線或UART協議傳輸給外部設備(PC機等)。MEMS微慣性傳感器選用ADIS16405慣性傳感器,ADIS16405傳感器是一個完整的慣性傳感系統,它包括一個三軸陀螺儀、一個三軸加速度計和一個三軸磁強計[3]。CC2530微控制器通過SPI接口與MEMS微慣性測量傳感電路之間進行雙向通信,一方面通過 SPI 接口對慣性測量模塊相應寄存器進行配置;另一方面讀取MEMS微慣性測量傳感器中的數據。在兩者通信中,CC2530作為主機,ADIS16405為從機。
由于CC2530本身帶有射頻的功能,對于此種小功率網絡節點的設計不需要外加額外的射頻芯片,只需加一些簡單電路即可實現射頻功能。但是在設計節點時,對于發射功率會有一定的要求,當傳輸距離較遠的時候需要加上功放芯片。因為該外接電路的射頻部分使用了單極子的不平衡天線,所以要用一個巴倫電路來優化性能,可以采用低成本的分立電容和電感來實現[4]。
2.2 數據處理接收終端
如圖3所示,數據處理接收終端主要由ZigBee無線通信模塊CC2530、導航計算機、GPS接收機、電源穩壓電路、LCD液晶屏幕等構成。系統以DSP+MCU架構實現導航計算機的設計,其中DSP主要完成導航數據的實時解算,另一個基于ZigBee技術的微控制器MCU負責完成對外部無線通信數據和GPS數據接收。導航結果參數通過液晶屏幕顯示。
系統選用TI公司C6000系列的浮點DSP TMS320C6727B作為導航解算的主處理器,由C6727組成的最小系統主要包括其基礎配置和存儲器電路兩部分,其中基礎配置主要由時鐘模塊、復位電路、調試接口電路等組成。
3 系統軟件設計
3.1 數據采集發送終端軟件設計
系統采用型號為CC2530的MCU,配置定時器10 ms中斷,以100 Hz的采樣頻率通過SPI總線讀取MEMS傳感器原始數據,并應用ZigBee協議,將傳感器數據傳輸到無線接收終端。其軟件流程如圖4所示。
3.1.1 MIMU傳感器數據采集
MEMS微慣性測量模塊配置為SPI通信的從機模式,時鐘由主機CC2530提供。SPI 通信雙方靠主機提供的同步時鐘協調各自的收/發操作,其雙方是否可以通信取決于時鐘模式是否匹配。ADIS16405的SPI模塊在時鐘上升沿接收數據,在時鐘下降沿發送數據,因此要求主機CC2530在時鐘空閑時期要處于低電平狀態。
在圖5中,SCLK表示SPI 的時鐘,DIN表示SPI接收數據,DOUT表示SPI發送數據。慣性測量模塊的SPI在SCLK為高電平時有效,在SCLK上升沿時刻接收數據,在SCLK下降沿發送數據。
3.1.2 MIMU數據無線發送軟件設計
在組網步驟中,本文使用Basic RF。Basic RF由TI公司提供,它包含了IEEE 802.15.4標準的數據包的收發功能[7]。Basic RF為雙向無線通信提供了一個簡單的協議,通過這個協議能夠進行數據的發送和接收。
Basic RF的發送為:
(1)創建一個buffer,把payload放入其中。Payload最大為103 B。
(2)調用basicRfSendPacket()函數發送,并查看其返回值。uint8 basicRfSendPacket(uint16 destAddr, uint8* pPayload, uint8 length)函數功能是給目的短地址發送指定長度的數據,發送成功剛返回SUCCESS,失敗則返回FAILED。其中destAddr為目的短地址,pPayload是指向發送緩沖區的指針,length為發送數據長度。
3.2 數據處理接收終端軟件設計
數據處理接收終端通過RF中斷接收無線慣性傳感器數據,使用DMA控制器采集GPS串口信息,并將所有數據傳輸到導航計算機進行導航解算,也可通過串口通信將數據傳輸給上位機監控平臺。其軟件流程圖如圖6所示。
3.2.1 無線接收軟件設計
Basic RF的接收為:
(1)上層通過basicRfPacketIsReady()函數來檢查是否收到一個新數據包,此函數功能是檢查模塊是否已經可以接收下一個數據,如果準備好則返回 TRUE。
(2)調用basicRfReceive()函數,把收到的數據復制到buffer中,此函數功能是接收來自Basic RF層的數據包,并為所接收的數據配緩沖區。
3.2.2 基于DMA的串口數據收發
便攜式組合導航系統需要解析出的GPS相應參數主要為速度和位置信息。實際OEM板輸出的數據主要有ASCII碼和二進制方式兩種格式。ASCII碼格式比較符合人的閱讀習慣,而二進制方式較適合計算機操作。本文選用二進制方式進行數據解析。GPS共輸出180個字節,頭信息28個字節,其中同步字符有3個AA 44 12,根據3個連續同步字符,可以判斷數據幀接收開始。
針對大數據量的GPS串口間通信,在常規的UART串行數據通信的基礎上,結合CC2530微控制器中DMA控制器的作用,實現DMA控制的UART串口數據包收發,可以避免在MCU處理接收RF數據過程中大流量數據串口通信中的數據丟失,極大地提高串行數據通信過程的MCU獨立性和MCU利用的效率[5-6]。
為了使用DMA通道,必須首先對DMA通道的源地址、目標地址、傳送長度、觸發事件等寄存器進行配置。當DMA通道配置完畢后,在允許任何傳輸發起之前,必須進入工作狀態。DMA通道通過將DMA通道工作狀態寄存器DMAARM中指定位置1,就可以進入工作狀態。一旦DMA通道進入工作狀態,當配置的DMA觸發事件發生時,即可開始數據傳送。圖7為DMA工作流程圖。
4 測試與驗證
本系統無線接收終端接收包含MIMU數據的RF信號并通過DMA采集GPS信號。CC2530有一個內置的接收信號強度指示器(RSSI),可以從寄存器讀出,或自動附加到收到的幀[8];同時在采集MEMS數據時,MCU軟件進行了幀計數,每采集一組數據便計數加1,采集的數據可以通過此信息計算誤包率,判斷是否有數據丟失。
無線接收終端將表1所示的信息通過串口傳輸到上位機監控平臺,并計算顯示當前的誤包率、RSSI值和接收到數據包的個數。
在圖8所示的實驗結果中,RECE為接收包的序號,PER為誤包率,RSSI為和傳輸距離等因素相關的信號強度值。根據串口助手顯示的數據可以看到誤包率一直為零,這說明所設計模塊發送的數據包在一定的距離內全部被正確接收,無線通信的過程中沒有丟包,實驗證明了系統的可靠性很高。
如圖9所示,按矩形路線進行了系統導航實驗,先向北行進大約45 m,再向東按矩形路線回到出發點,導航結果說明系統能夠可靠正常地運行。
本文設計的便攜式導航系統采用型號為CC2530的ZigBee微控制器以100 Hz的采樣頻率讀取MIMU原始數據,并以無線的方式將傳感器數據發送給無線接收終端。同時無線接收終端通過功能強大的DMA控制器采集GPS串口數據,實現DMA控制的串口數據收發,避免了MCU處理串口通信大流量數據時數據丟失,極大地提高了MCU的利用效率。并根據誤包率、RSSI值和接收到數據包的丟失情況對本系統的穩定性和信號傳輸質量進行了評價,最后通過行人導航實驗驗證了系統的正確性。
參考文獻
[1] 龐晗.基于MEMS慣性器件的徒步個人導航儀設計與實現[D].哈爾濱:哈爾濱工程大學,2011.
[2] 王權平,王莉.ZigBee技術及其應用[J].現代電信科技.2004(1).
[3] 牛妍.基于MEMS的微小型嵌入式航姿系統的實現[D].南京:南京航空航天大學,2010.
[4] 劉輝,趙麗芬,孫番典,等.基于CC2530的ZigBee射頻收發模塊設計[J].云南民族大學學報(自然科學版),2012(6).
[5] 楊福廣,李貽斌,尹占芳,等.ARM中基于DMA的高效UART通訊及其應用[J].微計算機信息,2008(2).
[6] 張為,胡曉楠,王曄.基于DMA控制器的UART串行通信設計[J].電子設計工程,2012(6).
[7] 王銘明,陳濤,王建立.基于BasicRF的家居環境監測預警系統設計[J].現代電子技術,2013(24).
[8] ZigBee Alliance.ZigBee Specification V1.0.2005.