車載GPS導(dǎo)航系統(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導(dǎo)航系統(tǒng)由GPS系統(tǒng)獲得當(dāng)時所在的位置的經(jīng)緯度,通過換算和地圖匹配在地圖上得到當(dāng)時的實際位置,然后由用戶輸入目的地,通過A*最短路徑算法計算最短路徑并在矢量地圖上顯示,同時提取GPS提供的速度、時間等信息并顯示在屏幕上。
2 系統(tǒng)硬件結(jié)構(gòu)
該系統(tǒng)的硬件核心是意法半導(dǎo)體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所示。
圖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)換。
圖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所示。
圖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電壓即可工作。
圖4 顯示模塊
5 顯示模塊
本設(shè)計中采用TG160128液晶顯示模塊,用直接訪問方式。將內(nèi)置6963控制器的液晶顯示模塊直接與STR710FZ2T6的P0和P2口相連。顯示模塊的讀和寫由ARM的讀寫操作信號控制。然后再向Frame Buffer輸出接收到的并經(jīng)過處理的導(dǎo)航信息。這時顯示屏上就可以顯示定位點精確的經(jīng)度、緯度及本地時間了,具體電路如圖4所示。
軟件設(shè)計
1 軟件數(shù)據(jù)設(shè)計
導(dǎo)航軟件中的數(shù)據(jù)主要是導(dǎo)航地圖的空間數(shù)據(jù),主要由與導(dǎo)航需求相關(guān)的一些信息組成,包括道路網(wǎng)幾何形狀、道路等級和服務(wù)設(shè)施等。
圖5 軟件系統(tǒng)框圖
2 軟件系統(tǒng)設(shè)計
導(dǎo)航軟件是以導(dǎo)航數(shù)據(jù)庫為數(shù)據(jù)基礎(chǔ)的。針對導(dǎo)航數(shù)據(jù)庫的操作行為,從功能上將導(dǎo)航軟件分為具有導(dǎo)航功能的部分和具有瀏覽功能的部分。
3 軟件界面設(shè)計
如前所述,從大的功能上導(dǎo)航軟件分為具有瀏覽功能的部分和具有導(dǎo)航功能的部分。因此也設(shè)計了兩種不同的界面:瀏覽界面和導(dǎo)航界面。
圖6 線程圖
4 嵌入式軟件設(shè)計
該嵌入式系統(tǒng)采用μC/OSII操作系統(tǒng),由于MCU的處理功能有限,所以在具體的軟件實現(xiàn)過程中采用多線程技術(shù),如圖6所示。