基于DSP的車(chē)載GPS/DR組合導(dǎo)航系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)充分發(fā)揮了DSP進(jìn)行加、乘運(yùn)算的優(yōu)勢(shì),實(shí)現(xiàn)了導(dǎo)航參數(shù)的實(shí)時(shí)運(yùn)算,并利用FPGA和16C554擴(kuò)展外圍通信接口,將串行數(shù)據(jù)轉(zhuǎn)為并行數(shù)據(jù)后通過(guò)數(shù)據(jù)總線同DSP進(jìn)行通信,把處理器從大量的I/O中斷響應(yīng)負(fù)擔(dān)中解脫出來(lái),提高CPU的運(yùn)行效率。解算后的導(dǎo)航參數(shù)再通過(guò)數(shù)據(jù)總線到FPGA經(jīng)過(guò)轉(zhuǎn)化后以串行數(shù)據(jù)的格式輸出。同時(shí),考慮到IMU數(shù)據(jù)量較大,數(shù)據(jù)更新率大于100Hz,并不把收到的每一包數(shù)據(jù)直接發(fā)送到DSP,而是首先進(jìn)行濾波處理后,再通過(guò)一個(gè)FIFO,暫時(shí)將數(shù)據(jù)存儲(chǔ)起來(lái),在數(shù)據(jù)量達(dá)到一定程度的時(shí)候,再通知DSP把這些數(shù)據(jù)取走,這樣做可以進(jìn)一步減輕DSP的負(fù)擔(dān),提高運(yùn)行效率。
3中心處理單元的硬件設(shè)計(jì)
中心處理單元的硬件部分主要由電源模塊、數(shù)據(jù)通信模塊、FPGA部分、DSP部分等組成。
3.1系統(tǒng)電源模塊
整個(gè)系統(tǒng)需要使用1.8V、2.5V、3.3V和5V四種電壓。其中DSP需要1.8V和3.3V作為核心供電和I/O供電;FPGA需要2.5V和3.3V電壓供電;GPS需要5V電壓供電,因此整個(gè)系統(tǒng)采用5V電壓供電。然后通過(guò)兩片TI公司的TPS73HD3XX系列芯片進(jìn)行電壓轉(zhuǎn)換,可以分別獲得所需電壓。TPS73HD3XX系列芯片為雙路電壓輸出轉(zhuǎn)換芯片,具有非常低的靜態(tài)電流,即使對(duì)于變化負(fù)載,靜態(tài)電流在實(shí)際中仍能夠保持不變。
3.2數(shù)據(jù)通信模塊
TL16C554擴(kuò)展的數(shù)據(jù)通信模塊的硬件結(jié)構(gòu)圖如圖3所示.
TL16C554的地址線A2~A0、數(shù)據(jù)線D7~D0分別和DSP的地址總線A2~A0、外部數(shù)據(jù)線D7~D0直接相連,而片選信號(hào)CSA~CSD、讀寫(xiě)信號(hào)IOR/IOW以及中斷信號(hào)INTA~INTD則接入FPGA并由FPGA處理。電路中使用FPGA一方面可以對(duì)UART的地址靈活配置,另一方面也可以靈活生成UART的選通和讀寫(xiě)信號(hào),從而增強(qiáng)系統(tǒng)的靈活性,方便系統(tǒng)調(diào)試。
3.3FPGA部分
傳統(tǒng)的系統(tǒng)設(shè)計(jì)大部分是以DSP為主機(jī)負(fù)責(zé)數(shù)據(jù)處理、以單片機(jī)為從機(jī)負(fù)責(zé)數(shù)據(jù)采集的多機(jī)并行系統(tǒng),但從機(jī)單片微控制器的速度限制制約著整個(gè)采集處理系統(tǒng)的速度。針對(duì)這種情況,將傳統(tǒng)的多機(jī)結(jié)構(gòu)改為宿主式單機(jī)結(jié)構(gòu):系統(tǒng)仍然以DSP作數(shù)據(jù)處理主機(jī),用多種計(jì)數(shù)器、邏輯電路、時(shí)鐘電路組成的純硬件子系統(tǒng)來(lái)代替過(guò)去的從機(jī)系統(tǒng)[4].但若采用傳統(tǒng)的方法,即用標(biāo)準(zhǔn)的數(shù)字電路芯片擴(kuò)展實(shí)現(xiàn)此子系統(tǒng),必然需要多片電路芯片,這不僅使系統(tǒng)結(jié)構(gòu)復(fù)雜,連線增多,還使可靠性隨之降低。因此,系統(tǒng)采用了現(xiàn)場(chǎng)可編程門(mén)陣列器件FPGA來(lái)設(shè)計(jì)該子系統(tǒng)。用FPGA設(shè)計(jì)本系統(tǒng)最大的優(yōu)點(diǎn)是節(jié)省了PCB板子面積,并且滿(mǎn)足低成本的要求。并且在系統(tǒng)設(shè)計(jì)完成后,如果想升級(jí)、改進(jìn)系統(tǒng),不必更改任何硬件電路,只需要將FPGA內(nèi)部邏輯重新編程即可。
FPGA掉電后配置信息不能夠保存,再次上電時(shí)需要對(duì)其重新進(jìn)行配置,因此需要使用片外存儲(chǔ)器保存配置信息。本設(shè)計(jì)中選擇ALTERA公司的epc2作為配置芯片。epc2是一種可以多次擦寫(xiě)的具有可編程FLASH的存儲(chǔ)器,專(zhuān)門(mén)用于ALTERA公司的FPGA的配置。同時(shí),系統(tǒng)板上的JTAG口,可以實(shí)現(xiàn)對(duì)epc2進(jìn)行編程和對(duì)FPGA的在線配置。通過(guò)撥碼開(kāi)關(guān)實(shí)現(xiàn)對(duì)FPGA的在線配置和對(duì)epc2的編程的切換,具體硬件連接如圖4所示。
3.4DSP部分
DSP需要系統(tǒng)算法程序存儲(chǔ)器,采用FLASH存儲(chǔ)器進(jìn)行存儲(chǔ),本系統(tǒng)選用四片256k×16bCY7C1041擴(kuò)展了兩個(gè)256k×32b的RAM,為復(fù)雜組合算法提供了存儲(chǔ)空間;選用了兩片16位SST39VF400FLASH芯片作為系統(tǒng)的程序存儲(chǔ)器。采用FLASH存儲(chǔ)器克服了傳統(tǒng)EPROM體積大的缺點(diǎn),同時(shí)有利于減小電路板的面積。通過(guò)DSP仿真器,按照FLASH的燒寫(xiě)算法可以將程序?qū)懭氲紽LASH中,完成DSP算法的存儲(chǔ)。系統(tǒng)上電時(shí)通過(guò)自舉方式,可以快速加載程序。這樣做可以降低系統(tǒng)的成本、體積和功耗。
在DSP之前增加一個(gè)FIFO,等待數(shù)據(jù)滿(mǎn)足要求后由DSP一起讀取,由此解決IMU輸出數(shù)據(jù)量大造成CPU響應(yīng)頻繁的問(wèn)題。優(yōu)化了系統(tǒng)的效率。IMU數(shù)據(jù)中各數(shù)據(jù)都由高字節(jié)和低字節(jié)兩部分組成,通過(guò)串口接收數(shù)據(jù)后,可以合并為16位的形式。16C554芯片具有16字節(jié)的FIFO緩存器,滿(mǎn)足系統(tǒng)的要求。利用FIFO的半滿(mǎn)信號(hào)作為通知DSP接收數(shù)據(jù)的中斷信號(hào),通知DSP進(jìn)行讀取。根據(jù)DSP進(jìn)行數(shù)據(jù)讀寫(xiě)的開(kāi)銷(xiāo)時(shí)間以及所進(jìn)行的運(yùn)算量,并考慮實(shí)際接收數(shù)據(jù)的大小和傳輸波特率,計(jì)算出DSP對(duì)一包數(shù)據(jù)進(jìn)行所花費(fèi)的時(shí)間以及FIFO中寫(xiě)入一包數(shù)據(jù)花費(fèi)時(shí)間,從而使系統(tǒng)能夠順利完成解算任務(wù)。
4結(jié)束語(yǔ)
GPS/DR車(chē)輛組合定位導(dǎo)航系統(tǒng)將GPS系統(tǒng)與DR系統(tǒng)相結(jié)合,提高了系統(tǒng)的有效性、完整性和精度。利用DR航跡推算系統(tǒng)能保證衛(wèi)星信號(hào)丟失時(shí)車(chē)輛位置信息輸出。系統(tǒng)具有全方位、全天候、無(wú)遮擋、高精度的特點(diǎn),具有良好的應(yīng)用前景。此組合導(dǎo)航系統(tǒng)具有強(qiáng)大數(shù)據(jù)處理能力,同時(shí)具有體積小、低成本、高可靠性、實(shí)時(shí)性好等優(yōu)點(diǎn)。該設(shè)計(jì)充分發(fā)揮了DSP強(qiáng)大的數(shù)據(jù)處理能力,利用了FPGA的高集成度編程仿真方便、速度快等優(yōu)點(diǎn),而且使得系統(tǒng)在今后具有很大的改進(jìn)余地,可以實(shí)現(xiàn)用同樣的硬件實(shí)現(xiàn)不同的功能。
評(píng)論