新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于MiniGUI的GPS自動定位系統(tǒng)設(shè)計

基于MiniGUI的GPS自動定位系統(tǒng)設(shè)計

作者: 時間:2012-08-16 來源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://2s4d.com/article/154133.htm

的衛(wèi)星技術(shù),可以將移動目標的動態(tài)位置(包括經(jīng)度和緯度)、時間、狀態(tài)等信息通過無線通信鏈路實時傳送到監(jiān)控中心,從而在電子地圖上顯示出移動終端運動的軌跡,并對終端的位置、速度、運動方向、報警信息等用戶感興趣的參數(shù)進行監(jiān)控和查詢。本文提出一種的嵌入式,具有占用資源少、高性能、高可靠性及可配置的特點,并可以成功移植到多種硬件和操作平臺上。

1 總體

本系統(tǒng)采用ARM7內(nèi)核的LPC2103處理器,軟件上采用占用硬件資源較少、實時性能和可移植性能優(yōu)良的μC/OS-II操作系統(tǒng),圖形界面采用。

1.1 系統(tǒng)實現(xiàn)功能

系統(tǒng)實現(xiàn)主要功能包括:實時采集數(shù)據(jù)并進行處理;查詢當前地理位置;通過圖形用戶界面顯示數(shù)據(jù)。

1.2 整體硬件結(jié)構(gòu)

系統(tǒng)整體硬件結(jié)構(gòu)如圖1所示。

系統(tǒng)采用的LPC2103是一個支持實時仿真的16/32位ARM?TDMI-S CPU的微處理器,帶有32 KB高速FLASH、8 KB SRAM,小型LQFP48封裝,低功耗,帶有2個URAT以及多個I/O接口,符合系統(tǒng)要求。GPS模塊SP3232E與LPC2103的串口0接口,負責數(shù)據(jù)的采集。受LPC2103引腳數(shù)量限制,4×4的鍵盤采用I2C輸入、輸出的7920芯片與LPC2103接口。LCD顯示采用TFT6758,液晶屏幕2.2 in,240×320點像素。

1.3 系統(tǒng)軟件結(jié)構(gòu)

系統(tǒng)軟件結(jié)構(gòu)如圖2所示,基于MiniGUI的應(yīng)用程序通過ANSI C庫以及MiniGUI自身提供的API來實現(xiàn)自己的功能。底層驅(qū)動包括鍵盤以及TFT6758液晶顯示,為便于移植MiniGUI通過圖形抽象層和輸入抽象層與輸入、輸出設(shè)備接口。

2 系統(tǒng)硬件

2.1 控制系統(tǒng)最小系統(tǒng)

控制系統(tǒng)最小系統(tǒng)如圖3所示。

LPC2103最小系統(tǒng)需要模擬和數(shù)字3.3 V電源以及核心電源1.8 V。為便于波特率的設(shè)置,晶振頻率采用11.059 2 MHz。PO.14引腳通過10 kΩ電阻上拉禁止 ISP功能。DBGSEL引腳接高電平使能調(diào)試狀態(tài),正常工作時接低電平。由阻容電路構(gòu)成低電平復(fù)位電路,SW-PB按鍵按下產(chǎn)生處理器復(fù)位信號。

2.2 GPS接口電路

該電路主要作用是接收GPS模塊發(fā)送數(shù)據(jù),保存到處理器存儲單元,處理后等待MiniGUI圖形用戶界面顯示。GPS模塊采用九針串口數(shù)據(jù)輸出,RS232電平,需要 SP3232E電平轉(zhuǎn)換芯片與LPC2103的串口O連接。SP3232E是3 V工作電源的RS232電平轉(zhuǎn)換芯片。

2.3 鍵盤電路

本系統(tǒng)采用4×4小鍵盤,用于數(shù)據(jù)輸入和模擬鼠標。S13模擬左鍵,S15模擬右鍵,S9、S10、S11、s14分別模擬向左、下、右、上移動鼠標,其余為數(shù)字輸入鍵。由于LPC2103引腳數(shù)量限制,采用有I2C接口的7290芯片做鍵盤接口。鍵盤電路復(fù)位與系統(tǒng)復(fù)位共用nRST復(fù)位信號。有按鍵按下時,中斷信號通過EINTO送入LPC2103外部中斷處理單元。7290的I2C接口加4.7 kΩ的上拉電阻與LPC2103的I2C串行總線接口,I/O引腳為PO.2和PO.3。鍵盤電路如圖5所示。

2.4 TFT6758 LCD接口電路

系統(tǒng)顯示采用2.2 in的TFT6758液晶屏,LCD控制器為HD66781。IM3和IM0引腳接地,采用16位總線方式與LPC2103連接,16位數(shù)據(jù)由DBl~DB8、DB1O~DB17輸入, TFT6758液晶屏的控制引腳CS、RS、WR、RD分別由P0.4~P0.7控制。其中PO.5高電平為數(shù)據(jù)操作,低電平為命令操作。TFT6758的復(fù)位由PO.24引腳控制。CAT32TDI為TFT6758白光LED驅(qū)動的升壓芯片,可以驅(qū)動4個串聯(lián)的白光LED。CAT32TDI的關(guān)閉由PO.26引腳控制。為在沒有配置LPC2103引腳時也能輸出背光,加10 kΩ上拉電阻。CAT32TDI為恒流輸出,大小由1.5 kΩ電阻控制,電流大小為15 mA。TFT6758 LCD接口電路如圖6所示。

3 系統(tǒng)軟件

3.1 μC/OS-II在LPC2103上的移植

與處理器無關(guān)的μC/OS-II源代碼可以直接在網(wǎng)上下載;與處理器相關(guān)的代碼需要自己根據(jù)LPC2103編寫,其中OS_CPU.H定義與處理器相關(guān)的常數(shù)、宏以及類型。OS_CPU A.ASM實現(xiàn)的功能包括:使就緒優(yōu)先級最高任務(wù)運行;任務(wù)級切換;中斷后任務(wù)切換;實現(xiàn)周期性時鐘源。OS CPU C.C主要實現(xiàn)任務(wù)堆棧的初始化。INCLUDES.H主頭文件包含程序所需的頭文件,方便程序編寫。通過OS_CFG..H文件實現(xiàn)操作系統(tǒng)的配置和裁剪。

3.2 MiniGUI在LPC2103上的移植

(1)MiniGUI的GAL移植

為便于移植,MiniGUI引入圖形抽象層GAL,定義了一組不依賴任何特殊硬件的抽象接口,所有頂層的圖形操作建立在抽象接口上,類似于操作系統(tǒng)的驅(qū)動程序。根據(jù)液晶驅(qū)動模塊和LPC2103的硬件連接編寫液晶驅(qū)動程序lcddriver.c和lcddriver.h。根據(jù)系統(tǒng)硬件編寫圖形引擎程序commlcd.c。圖形引擎程序需要調(diào)用液晶驅(qū)動程序中的函數(shù)。

(2)MiniGUI的IAL移植

MiniGUI通過INPUT數(shù)據(jù)結(jié)構(gòu)表示輸入引擎,該數(shù)據(jù)結(jié)構(gòu)定義在ial.h文件中。INPUT數(shù)據(jù)結(jié)構(gòu)定義很多函數(shù)指針,這些函數(shù)指針指向設(shè)定的IAL對應(yīng)函數(shù),從而實現(xiàn)硬件輸入。程序輸入引擎為comminput.c,通過底層鍵盤驅(qū)動程序comm_driver.c讀取鍵盤輸入數(shù)據(jù)。該驅(qū)動程序把16個鍵模擬成O~9數(shù)字鍵和鼠標的左右鍵。

(3)MiniGUI的交叉編譯

使用ADSl.2集成開發(fā)環(huán)境建立MiniGUI Lib工程,工程下添加MiniGUI源文件以及配置文件,編譯生成MiniGUI_Lib.a庫文件。Lib.a文件是針對LPC2103和μC/OS-II操作系統(tǒng)的POSIX的線程庫,并提供了內(nèi)存管理接口以及I/O接口,共占用3 MB動態(tài)內(nèi)存,使用1個μC/OS-II互斥信號量,優(yōu)先級42,每增加1個線程信號量增加3個,最大線程16個,任務(wù)優(yōu)先級43~58,1個MiniGUI線程堆棧(8 KB)。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉