基于FPGA的GPS+GSM雙重車載定位系統(tǒng)設(shè)計
摘要:為了克服一般車載導(dǎo)航系統(tǒng)定位不連貫的缺陷,利用NiosⅡ軟核處理器配置靈活、擴(kuò)展性強(qiáng)等特點,結(jié)合GPS和GSM模塊,設(shè)計出了一種基于SoPC技術(shù)的雙重定位系統(tǒng)。該設(shè)計利用SoPC Builder開發(fā)工具將NiosⅡ處理器、存儲器和接口等組件及μC/OS-Ⅱ操作系統(tǒng)快速地嵌入到FPGA中,用單個芯片完成了人機(jī)交互模塊、控制模塊和通信模塊等功能,較一般的GPS導(dǎo)航設(shè)備更能實現(xiàn)較高精度的實時連續(xù)系統(tǒng)定位,且該設(shè)計在不改變硬件的基礎(chǔ)上可方便升級、擴(kuò)展更多功能。
關(guān)鍵詞:FPGA;GPS;NiosⅡ;μC/OS-Ⅱ
0 引言
目前在車輛GPS導(dǎo)航系統(tǒng)中,主要是直接利用無差分、無SA誤差的GPS定位數(shù)據(jù)來實現(xiàn)車輛在地圖上的定位。考慮到定位信號存在一定的誤差,5%概率下誤差會超過15 m,同時城市中建筑物、橋梁以及樹木等還對GPS信號形成遮擋,甚至?xí)?dǎo)致信號失效,從而進(jìn)一步影響定位精度。而車在行進(jìn)過程中進(jìn)行導(dǎo)航時,尤其是在路口以及立交橋等特殊地點的導(dǎo)航時,系統(tǒng)往往需要更為精確的定位。為此,本設(shè)計充分利用了FPGA強(qiáng)大的邏輯控制功能和NiosⅡ處理器的多可配置標(biāo)準(zhǔn)外設(shè)接口功能,結(jié)合GPS和GSM功能模塊,設(shè)計了一款雙重定位系統(tǒng)。通常情況下用GPS進(jìn)行定位,在特殊情況下可以開通GSM網(wǎng)絡(luò)定位功能實現(xiàn)雙定位,再通過GSM網(wǎng)絡(luò)將定位信息、時間和終端特殊信息傳送到監(jiān)控中心,或者接收監(jiān)控中心傳來的信息,完成定位和監(jiān)控等功能。
1 NiosⅡ軟核嵌入式處理器
NiosⅡ處理器是Altera公司的第二代用戶可配置的通用32位RISC軟核微處理器,是Altera公司特有的基于通用FPGA架構(gòu)的軟CPU內(nèi)核。N-iosⅡ系列支持使用專用指令。專用指令是用戶增加的硬件模塊,它增加了算術(shù)邏輯單元(ALU)。用戶能為系統(tǒng)中使用的每個NiosⅡ處理器創(chuàng)建多達(dá)256個專用指令,這使得設(shè)計者能夠細(xì)致地調(diào)整系統(tǒng)硬件以滿足性能目標(biāo)。專用指令邏輯和本身NiosⅡ指令相同,能夠從多達(dá)兩個源寄存器取值,可選擇將結(jié)果寫回目標(biāo)寄存器。同時,NiosⅡ系列支持60多個外設(shè)選項,開發(fā)者能夠選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合,而不必支付根本不使用的硅片功能。在FPGA中使用軟核處理器比硬核的優(yōu)勢在于,硬核實現(xiàn)沒有靈活性,通常無法使用最新的技術(shù)。隨著系統(tǒng)日益先進(jìn),基于標(biāo)準(zhǔn)處理器的方案會被淘汰,而基于NiosⅡ處理器的方案是基于HDL源碼構(gòu)建的,能夠修改以滿足新的系統(tǒng)需求,避免了被淘汰的命運(yùn)。將處理器實現(xiàn)為HDL的IP核,開發(fā)者能夠完全定制CPU和外設(shè),獲得恰好滿足需求的處理器。
2 系統(tǒng)的硬件設(shè)計與實現(xiàn)
定位終端系統(tǒng)的硬件由一塊FPGA芯片和GPS模塊,GSM模塊,外部存儲SDRAM,F(xiàn)LASH,SRAM,LCD及控制模塊等組成,其結(jié)構(gòu)框圖如圖所示。FPGA芯片主要實現(xiàn)NiosⅡ軟核處理器、片上存儲器和各種接口驅(qū)動等功能,其包括NiosⅡ系統(tǒng)和外設(shè)兩部分。NiosⅡ系統(tǒng)包括NiosⅡ處理器、存儲器、定時器、串行接口、并行接口和連接各個組件的Avalon交換結(jié)構(gòu)總線。其中GPS_UART和GSM_UART分別實現(xiàn)與GPS和GSM模塊的串行通信,LCD控制器實現(xiàn)與人機(jī)交互模塊的連接。
評論