針對低成本組合導航技術發展的需要,結合主要傳感器特點,本文介紹了以浮點DSPTMS320VC33為組合導航算法實現的核心處理器,利用TL16C554進行通信口擴展的GPS/DR組合導航系統的設計方案,給出了系統硬件的設計方法。所設計的系統具有體積小、成本低、實時性好、可靠性高、擴展性好等特點,具有廣泛的應用價值。
0引言
目前,差分GPS水平定位精度已經達到3~5m,完全滿足車輛定位精度的要求。但是,由于在城市高建筑群中或穿過立交橋時,常常會出現GPS信號遮擋問題,導致GPS不能正常定位。航位推算(DR)是常用的車輛定位技術,但方向傳感器隨時間積累誤差較大,不能單獨、長時間地使用。采用組合導航系統能夠利用GPS系統提供的位置和速度信息對DR系統的誤差進行實時的校正和補償;當GPS信號失鎖時,又可通過DR系統完成航位推算,提高了組合導航系統的可靠性。
組合導航系統除了要完成大量運算處理工作外,還要實現慣性測量單元IMU(陀螺儀和加速度計)和GPS等傳感器的數據采集、與外部系統的通信、時序邏輯控制和人機接口等功能。在這種情況下,如果僅用一片DSP芯片,則系統的實時性能較差,因此多數組合系統都采用兩個或多個DSP或是由一個或幾個通用的微處理器MPU加上一個DSP構成主從式多處理器系統的方案。而目前利用DSP與FPGA結合的方案來處理高速的數字信號越來越被廣泛采用。
?? 1?? GPS/DR組合導航系統組成
?? 該GPS/DR組合系統具有接收和處理里程計信息、電子羅盤信息、慣性測量單元IMU以及GPS的信息的功能,其系統組成主框圖如圖1所示。
?? GPS提供的絕對位置信息可以為DR提供推算定位的初始值并進行誤差校正;另一方面,DR的推算結果可以用于補償部分GPS定位中的隨機誤差,從而平滑定位軌跡。所以,利用適當的方法將兩種系統組合起來,充分利用其定位信息的互補性,就能夠獲得比單獨使用任何一種方法時都要高的定位精度和可靠性[1]。
2中心處理單元的組成
目前導航系統已經發展成為采用多傳感器數據融合的組合導航系統,導航計算機在完成復雜計算的同時,還要進行大量的數據通信,因此必須具有豐富的通信接口,完成傳感器數據的采集、傳輸任務。這就需要中心處理單元能夠在進行與外部通信的同時,還要保證計算精度和運算速度。
通過對系統進行功能分析,導航計算機需要完成數據采集、數據處理和數據輸出功能。數據輸入部分主要完成各種傳感器輸出數據的采集;數據處理部分主要完成數據濾波、微型慣性測量元件的誤差補償和初始對準、卡爾曼濾波以及進行導航參數解算等等;數據輸出部分主要負責導航參數輸出,應用于定位導航或者下一步需要的輸入。
由于采用多種傳感器進行信息融合,需要較多的外圍通信接口,同時,外部傳感器數據輸出通信主要通過符合RS-232標準的異步串行通信口進行,如果和中央處理器直接相連,大量的中斷響應必將影響到CPU的處理速度,目前各種MCU、MPU可以提供的串口資源也是有限的。
傳統的設計很多都是采用PC104作為系統的中心處理器,PC104體積大,價格高,不利于系統的小型化、低功耗和低成本的實現。因此,本設計考慮采用DSP+FPGA+TL16C554的方案進行設計,其中DSP完成主要的導航參數計算,利用TL16C554進行外部通信接口的擴展,FPGA完成串口的模擬以及相應的邏輯控制以保證三者之間通過數據線的高速通信,提高系統的運行效率和運算精度。
中心處理單元的核心處理器要完成大規模的矩陣運算和代數運算,因此系統選用浮點DSP芯片TMS320VC33。該芯片具有150MFLOPS和75MIPS的運算速度,單指令周期13ns。TMS320VC33通過提高硬件功能來提高速度,而其他處理器是通過改善軟件功能或編碼速率來提高速度的。這種通過硬件來提高性能的方式在以往單芯片DSP上是不可能實現的。處理器具有在單個周期內對整數,浮點數據同時執行并行乘法算數運算的強大功能。同時該芯片具有低功耗,低成本等特點,滿足系統的設計要求[2]。
FPGA具有可編程特性,能夠方便地完成我們所需要的邏輯功能。利用FPGA來擴展外圍通信接口,主要是擴展TTL電平的串行通信口作為系統的備用。根據完成串行通信的資源需求以及今后擴展使用的考慮,這里采用ALTERA公司的ACEX1K30(以下簡稱ep1k30)來完成這項工作。ep1k30可以提供119000門的資源,具有1728個邏輯宏單元,可以實現UART串口,并同時能夠完成相應的譯碼、邏輯控制等功能[3]。
系統包含有多個傳感器,這就要求處理器要擴展出多個串口。DSP芯片TMS320VC33本身有串行通信口,如果直接利用DSP片上的串口資源進行串行通信,只適用于傳輸數據比較少,傳輸速率慢的場合,[]其軟件編程比較復雜,而且控制串行通訊要占用很大的系統資源,影響傳感器的實時處理功能,因此,本系統采用了TI公司生產的4通道異步收發器集成芯片TL16C554擴展DSP串口,實現傳感器與導航計算機的通信。該芯片是一種具有串行異步通信。
接口的大規模集成電路芯片,可以實現數據的并/串、串/并的轉換功能。其內部帶有16字節的FIFO緩沖器。在FIFO模式下,傳輸和接收前將數據緩沖為16字節數據包,減少了CPU的中斷數量。內部包含4片改良的16C550異步傳輸器件,使得串行I/O更加可靠[5]。
中心處理單元的整體硬件設計框圖如圖2。
系統充分發揮了DSP進行加、乘運算的優勢,實現了導航參數的實時運算,并利用FPGA和16C554擴展外圍通信接口,將串行數據轉為并行數據后通過數據總線同DSP進行通信,把處理器從大量的I/O中斷響應負擔中解脫出來,提高CPU的運行效率。解算后的導航參數再通過數據總線到FPGA經過轉化后以串行數據的格式輸出。同時,考慮到IMU數據量較大,數據更新率大于100Hz,并不把收到的每一包數據直接發送到DSP,而是首先進行濾波處理后,再通過一個FIFO,暫時將數據存儲起來,在數據量達到一定程度的時候,再通知DSP把這些數據取走,這樣做可以進一步減輕DSP的負擔,提高運行效率。
3中心處理單元的硬件設計
中心處理單元的硬件部分主要由電源模塊、數據通信模塊、FPGA部分、DSP部分等組成。
3.1系統電源模塊
整個系統需要使用1.8V、2.5V、3.3V和5V四種電壓。其中DSP需要1.8V和3.3V作為核心供電和I/O供電;FPGA需要2.5V和3.3V電壓供電;GPS需要5V電壓供電,因此整個系統采用5V電壓供電。然后通過兩片TI公司的TPS73HD3XX系列芯片進行電壓轉換,可以分別獲得所需電壓。TPS73HD3XX系列芯片為雙路電壓輸出轉換芯片,具有非常低的靜態電流,即使對于變化負載,靜態電流在實際中仍能夠保持不變。
3.2數據通信模塊
TL16C554擴展的數據通信模塊的硬件結構圖如圖3所示.
TL16C554的地址線A2~A0、數據線D7~D0分別和DSP的地址總線A2~A0、外部數據線D7~D0直接相連,而片選信號CSA~CSD、讀寫信號IOR/IOW以及中斷信號INTA~INTD則接入FPGA并由FPGA處理。電路中使用FPGA一方面可以對UART的地址靈活配置,另一方面也可以靈活生成UART的選通和讀寫信號,從而增強系統的靈活性,方便系統調試。
3.3FPGA部分
傳統的系統設計大部分是以DSP為主機負責數據處理、以單片機為從機負責數據采集的多機并行系統,但從機單片微控制器的速度限制制約著整個采集處理系統的速度。針對這種情況,將傳統的多機結構改為宿主式單機結構:系統仍然以DSP作數據處理主機,用多種計數器、邏輯電路、時鐘電路組成的純硬件子系統來代替過去的從機系統[4].但若采用傳統的方法,即用標準的數字電路芯片擴展實現此子系統,必然需要多片電路芯片,這不僅使系統結構復雜,連線增多,還使可靠性隨之降低。因此,系統采用了現場可編程門陣列器件FPGA來設計該子系統。用FPGA設計本系統最大的優點是節省了PCB板子面積,并且滿足低成本的要求。并且在系統設計完成后,如果想升級、改進系統,不必更改任何硬件電路,只需要將FPGA內部邏輯重新編程即可。
FPGA掉電后配置信息不能夠保存,再次上電時需要對其重新進行配置,因此需要使用片外存儲器保存配置信息。本設計中選擇ALTERA公司的epc2作為配置芯片。epc2是一種可以多次擦寫的具有可編程FLASH的存儲器,專門用于ALTERA公司的FPGA的配置。同時,系統板上的JTAG口,可以實現對epc2進行編程和對FPGA的在線配置。通過撥碼開關實現對FPGA的在線配置和對epc2的編程的切換,具體硬件連接如圖4所示。
3.4DSP部分
DSP需要系統算法程序存儲器,采用FLASH存儲器進行存儲,本系統選用四片256k×16bCY7C1041擴展了兩個256k×32b的RAM,為復雜組合算法提供了存儲空間;選用了兩片16位SST39VF400FLASH芯片作為系統的程序存儲器。采用FLASH存儲器克服了傳統EPROM體積大的缺點,同時有利于減小電路板的面積。通過DSP仿真器,按照FLASH的燒寫算法可以將程序寫入到FLASH中,完成DSP算法的存儲。系統上電時通過自舉方式,可以快速加載程序。這樣做可以降低系統的成本、體積和功耗。
在DSP之前增加一個FIFO,等待數據滿足要求后由DSP一起讀取,由此解決IMU輸出數據量大造成CPU響應頻繁的問題。優化了系統的效率。IMU數據中各數據都由高字節和低字節兩部分組成,通過串口接收數據后,可以合并為16位的形式。16C554芯片具有16字節的FIFO緩存器,滿足系統的要求。利用FIFO的半滿信號作為通知DSP接收數據的中斷信號,通知DSP進行讀取。根據DSP進行數據讀寫的開銷時間以及所進行的運算量,并考慮實際接收數據的大小和傳輸波特率,計算出DSP對一包數據進行所花費的時間以及FIFO中寫入一包數據花費時間,從而使系統能夠順利完成解算任務。
4結束語
GPS/DR車輛組合定位導航系統將GPS系統與DR系統相結合,提高了系統的有效性、完整性和精度。利用DR航跡推算系統能保證衛星信號丟失時車輛位置信息輸出。系統具有全方位、全天候、無遮擋、高精度的特點,具有良好的應用前景。此組合導航系統具有強大數據處理能力,同時具有體積小、低成本、高可靠性、實時性好等優點。該設計充分發揮了DSP強大的數據處理能力,利用了FPGA的高集成度編程仿真方便、速度快等優點,而且使得系統在今后具有很大的改進余地,可以實現用同樣的硬件實現不同的功能。
評論
查看更多