車載GPS導航系統(tǒng)的設(shè)計
本設(shè)計在系統(tǒng)終端采用了ARM處理器和嵌入式操作系統(tǒng)μC/OS-II作為開發(fā)平臺,通過采用ARM處理器可達到最大為60MHz的CPU操作頻率,使得數(shù)據(jù)處理能力大大加強,同時,基于嵌入式操作系統(tǒng)μC/OS-II開發(fā)設(shè)計的軟件具備了很強的擴展性和穩(wěn)定性。
系統(tǒng)結(jié)構(gòu)
1 功能簡介
該車載GPS導航系統(tǒng)由GPS系統(tǒng)獲得當時所在的位置的經(jīng)緯度,通過換算和地圖匹配在地圖上得到當時的實際位置,然后由用戶輸入目的地,通過A*最短路徑算法計算最短路徑并在矢量地圖上顯示,同時提取GPS提供的速度、時間等信息并顯示在屏幕上。
2 系統(tǒng)硬件結(jié)構(gòu)
該系統(tǒng)的硬件核心是意法半導體ARM7系列中的16/32位RISC處理器STR710FZ2T6芯片,該芯片擁有豐富的外設(shè)和增強的I/O功能,能滿足低功耗、高性能的嵌入式系統(tǒng)應(yīng)用,還擁有可以尋址4個存儲器段的外部存儲器接口(EMI),支持SRAM、Flash和ROM等多種存儲器類型,同時支持多種啟動方式。它非常適合嵌入式系統(tǒng)的開發(fā),本系統(tǒng)正是基于該芯片的這些特點設(shè)計的。系統(tǒng)框圖如圖1所示。
500)this.style.width=500;" />
圖1 硬件框圖
系統(tǒng)以STR710FZ2T6微處理器為核心,采用2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR Flash(SST39LF160)。外部添加了用于接收GPS信號的GPS模塊、用于顯示的液晶面板以及鍵盤輸入模塊。
①RS-232串行通信接口電路
在本文的設(shè)計中,該系統(tǒng)與外界采用RS-232串行接口進行數(shù)據(jù)傳輸,其電路如圖2所示。STR710FZ2T6具有全雙工的串行通信接口,通過它與GPS模塊實現(xiàn)數(shù)據(jù)通信,并采用MAX3232芯片實現(xiàn)RS-232電平與TTL電平之間的轉(zhuǎn)換。
500)this.style.width=500;" />
圖2 串行通信電路
SP3232E是Sipex公司生產(chǎn)的一種RS232接口芯片,使用單一電源電壓供電,電源電壓在3.0~5.5V范圍內(nèi)都可以正常工作,其額定電流為300μA。只需外接四個0.1μF的電容,保證數(shù)據(jù)傳輸速率在120Kb/s下保持RS232輸出電平,可以很方便地完成TTL電平與RS232電平之間的轉(zhuǎn)換。
②USB接口電路
為了以后開發(fā)USB功能先將USB口設(shè)置出來,接口電路如圖3所示。
500)this.style.width=500;" />
圖3 USB接口電路
3 ARM控制模塊
嵌入式開發(fā)的硬件平臺的選擇主要是嵌入式處理器的選擇,在一個系統(tǒng)中使用什么樣的嵌入式處理器內(nèi)核主要取決于應(yīng)用的領(lǐng)域、用戶的需求、成本、開發(fā)的難易程度等因素。確定了使用哪種嵌入式處理器內(nèi)核以后,接下來就是結(jié)合實際情況,考慮系統(tǒng)外圍設(shè)備的需求情況,選擇一款合適的處理器。在本設(shè)計中,數(shù)據(jù)處理和控制模塊是車載端的核心控制部件,它是一個基于ARM微處理器的嵌入式系統(tǒng),它的主要功能是進行數(shù)據(jù)處理和控制車載端的各組成部分,并按照通信協(xié)議的要求,執(zhí)行相應(yīng)的操作。該系統(tǒng)包括CPU存儲器、I/O接口以及各種控制邏輯電路等。結(jié)合目前民用車輛的實際情況,選取了STR710FZ2T6微處理器,它采用高性能的32位結(jié)構(gòu),具有高密度的16位指令集和低功耗的特點,將處理器內(nèi)核與片內(nèi)高速存儲器和多項外圍功能結(jié)合在一片微處理器上,為大量的計算機嵌入式控制應(yīng)用提供了靈活的低成本的解決方案。
4 GPS模塊
系統(tǒng)采用的GPS模塊通過異步串行通信方式與微處理器控制模塊進行通信。在硬件連接上 只需連接兩個信號線 TXD、RXD和地線即可進行數(shù)據(jù)傳輸。
串行通信采用較高的通信電壓±5~±15V,常采用±10V和±12V,而且為負邏輯電平,即邏輯0電平規(guī)定為+5~+15V,邏輯1電平規(guī)定為-15~-5V,因此標準串行接口與TTL/CMOS電平之間必須經(jīng)過電平轉(zhuǎn)換。
在設(shè)計中,串行通信接口采用美信公司的MAX232作為轉(zhuǎn)換芯片。MAX232可以轉(zhuǎn)換兩組串行信號,在本設(shè)計中只轉(zhuǎn)換一組,TXD2與RXD2和外設(shè)GPS連接,MCU_RXD與MCU_TXD和ARM處理器連接。MAX232芯片外接的四個lμF的充電電容,芯片外接5V電壓即可工作。
500)this.style.width=500;" />
圖4 顯示模塊
5 顯示模塊
本設(shè)計中采用TG160128液晶顯示模塊,用直接訪問方式。將內(nèi)置6963控制器的液晶顯示模塊直接與STR710FZ2T6的P0和P2口相連。顯示模塊的讀和寫由ARM的讀寫操作信號控制。然后再向Frame Buffer輸出接收到的并經(jīng)過處理的導航信息。這時顯示屏上就可以顯示定位點精確的經(jīng)度、緯度及本地時間了,具體電路如圖4所示。
軟件設(shè)計
1 軟件數(shù)據(jù)設(shè)計
導航軟件中的數(shù)據(jù)主要是導航地圖的空間數(shù)據(jù),主要由與導航需求相關(guān)的一些信息組成,包括道路網(wǎng)幾何形狀、道路等級和服務(wù)設(shè)施等。
500)this.style.width=500;" />
2 軟件系統(tǒng)設(shè)計
導航軟件是以導航數(shù)據(jù)庫為數(shù)據(jù)基礎(chǔ)的。針對導航數(shù)據(jù)庫的操作行為,從功能上將導航軟件分為具有導航功能的部分和具有瀏覽功能的部分。
3 軟件界面設(shè)計
如前所述,從大的功能上導航軟件分為具有瀏覽功能的部分和具有導航功能的部分。因此也設(shè)計了兩種不同的界面:瀏覽界面和導航界面。
500)this.style.width=500;" />
圖6 線程圖
4 嵌入式軟件設(shè)計
該嵌入式系統(tǒng)采用μC/OSII操作系統(tǒng),由于MCU的處理功能有限,所以在具體的軟件實現(xiàn)過程中采用多線程技術(shù),如圖6所示。