基于DSP的車(chē)載GPS/DR組合導航系統硬件設計方案
1 引言
本文引用地址:http://dyxdggzs.com/article/257345.htm目前,差分GPS水平定位精度已經(jīng)達到35m,完全滿(mǎn)足車(chē)輛定位精度的要求。但是,由于在城市高建筑群中或穿過(guò)立交橋時(shí),常常會(huì )出現GPS信號遮擋問(wèn)題,導致GPS不能正常定位。航位推算(DR)是常用的車(chē)輛定位技術(shù),但方向傳感器隨時(shí)間積累誤差較大,不能單獨、長(cháng)時(shí)間地使用。采用組合導航系統能夠利用GPS系統提供的位置和速度信息對DR系統的誤差進(jìn)行實(shí)時(shí)的校正和補償;當GPS信號失鎖時(shí),又可通過(guò)DR系統完成航位推算,提高了組合導航系統的可靠性。
組合導航系統除了要完成大量運算處理工作外,還要實(shí)現慣性測量單元IMU(陀螺儀和加速度計)和GPS等傳感器的數據采集、與外部系統的通信、時(shí)序邏輯控制和人機接口等功能。在這種情況下,如果僅用一片DSP芯片,則系統的實(shí)時(shí)性能較差,因此多數組合系統都采用兩個(gè)或多個(gè)DSP或是由一個(gè)或幾個(gè)通用的微處理器MPU加上一個(gè)DSP構成主從式多處理器系統的方案。而目前利用DSP與FPGA結合的方案來(lái)處理高速的數字信號越來(lái)越被廣泛采用。
2 GPS/DR組合導航系統組成
該GPS/DR組合系統具有接收和處理里程計信息、電子羅盤(pán)信息、慣性測量單元IMU以及GPS的信息的功能,其系統組成主框圖如圖1所示。
圖1 組合導航系統的組成框圖
GPS提供的絕對位置信息可以為DR提供推算定位的初始值并進(jìn)行誤差校正;另一方面,DR的推算結果可以用于補償部分GPS定位中的隨機誤差,從而平滑定位軌跡。所以,利用適當的方法將兩種系統組合起來(lái),充分利用其定位信息的互補性,就能夠獲得比單獨使用任何一種方法時(shí)都要高的定位精度和可靠性。
2 中心處理單元的組成
目前導航系統已經(jīng)發(fā)展成為采用多傳感器數據融合的組合導航系統,導航計算機在完成復雜計算的同時(shí),還要進(jìn)行大量的數據通信,因此必須具有豐富的通信接口,完成傳感器數據的采集、傳輸任務(wù)。這就需要中心處理單元能夠在進(jìn)行與外部通信的同時(shí),還要保證計算精度和運算速度。
通過(guò)對系統進(jìn)行功能分析,導航計算機需要完成數據采集、數據處理和數據輸出功能。數據輸入部分主要完成各種傳感器輸出數據的采集;數據處理部分主要完成數據濾波、微型慣性測量元件的誤差補償和初始對準、卡爾曼濾波以及進(jìn)行導航參數解算等等;數據輸出部分主要負責導航參數輸出,應用于定位導航或者下一步需要的輸入。由于采用多種傳感器進(jìn)行信息融合,需要較多的外圍通信接口,同時(shí),外部傳感器數據輸出通信主要通過(guò)符合RS-232標準的異步串行通信口進(jìn)行,如果和中央處理器直接相連,大量的中斷響應必將影響到CPU的處理速度,目前各種MCU、MPU可以提供的串口資源也是有限的。傳統的設計很多都是采用PC104作為系統的中心處理器,PC104體積大,價(jià)格高,不利于系統的小型化、低功耗和低成本的實(shí)現。因此,本設計考慮采用DSP+FPGA+TL16C554的方案進(jìn)行設計,其中 DSP完成主要的導航參數計算,利用TL16C554進(jìn)行外部通信接口的擴展,FPGA完成串口的模擬以及相應的邏輯控制以保證三者之間通過(guò)數據線(xiàn)的高速通信,提高系統的運行效率和運算精度。
中心處理單元的核心處理器要完成大規模的矩陣運算和代數運算,因此系統選用浮點(diǎn)DSP 芯片TMS320VC33。該芯片具有150MFLOPS和75MIPS的運算速度,單指令周期13ns。TMS320VC33通過(guò)提高硬件功能來(lái)提高速度,而其他處理器是通過(guò)改善軟件功能或編碼速率來(lái)提高速度的。這種通過(guò)硬件來(lái)提高性能的方式在以往單芯片DSP上是不可能實(shí)現的。處理器具有在單個(gè)周期內對整數,浮點(diǎn)數據同時(shí)執行并行乘法算數運算的強大功能。同時(shí)該芯片具有低功耗,低成本等特點(diǎn),滿(mǎn)足系統的設計要求。
FPGA具有可編程特性,能夠方便地完成我們所需要的邏輯功能。利用FPGA來(lái)擴展外圍通信接口,主要是擴展TTL電平的串行通信口作為系統的備用。根據完成串行通信的資源需求以及今后擴展使用的考慮,這里采用ALTERA公司的ACEX1K 30(以下簡(jiǎn)稱(chēng)ep1k30)來(lái)完成這項工作。ep1k30可以提供119000門(mén)的資源,具有1728個(gè)邏輯宏單元,可以實(shí)現UART串口,并同時(shí)能夠完成相應的譯碼、邏輯控制等功能。
系統包含有多個(gè)傳感器,這就要求處理器要擴展出多個(gè)串口。DSP芯片TMS320VC33本身有串行通信口,如果直接利用DSP片上的串口資源進(jìn)行串行通信,只適用于傳輸數據比較少,傳輸速率慢的場(chǎng)合,[ ]其軟件編程比較復雜,而且控制串行通訊要占用很大的系統資源,影響傳感器的實(shí)時(shí)處理功能,因此, 本系統采用了TI公司生產(chǎn)的4通道異步收發(fā)器集成芯片TL16C554擴展DSP串口,實(shí)現傳感器與導航計算機的通信。該芯片是一種具有串行異步通信接口的大規模集成電路芯片,可以實(shí)現數據的并/串、串/并的轉換功能。其內部帶有16字節的FIFO緩沖器。在FIFO模式下,傳輸和接收前將數據緩沖為16字節數據包,減少了CPU的中斷數量。內部包含4片改良的16C550異步傳輸器件,使得串行I/O更加可靠。
中心處理單元的整體硬件設計框圖如圖2。
系統充分發(fā)揮了DSP進(jìn)行加、乘運算的優(yōu)勢,實(shí)現了導航參數的實(shí)時(shí)運算,并利用FPGA和16C554擴展外圍通信接口,將串行數據轉為并行數據后通過(guò)數據總線(xiàn)同DSP進(jìn)行通信,把處理器從大量的I/O中斷響應負擔中解脫出來(lái),提高CPU的運行效率。解算后的導航參數再通過(guò)數據總線(xiàn)到FPGA經(jīng)過(guò)轉化后以串行數據的格式輸出。同時(shí),考慮到IMU數據量較大,數據更新率大于100Hz,并不把收到的每一包數據直接發(fā)送到DSP,而是首先進(jìn)行濾波處理后,再通過(guò)一個(gè)FIFO,暫時(shí)將數據存儲起來(lái),在數據量達到一定程度的時(shí)候,再通知DSP把這些數據取走,這樣做可以進(jìn)一步減輕DSP的負擔,提高運行效率。
評論