国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于MiniGUI 的GPS 自動定位系統設計

發布時間:2010-12-1 14:59    發布者:techshare
關鍵詞: GPS , MiniGUI , 自動定位
基于GPS的衛星定位技術,可以將移動目標的動態位置(包括經度和緯度)、時間、狀態等信息通過無線通信鏈路實時傳送到監控中心,從而在電子地圖上顯示出移動終端運動的軌跡,并對終端的位置、速度、運動方向、報警信息等用戶感興趣的參數進行監控和查詢。本文提出一種基于MiniGUI的嵌入式自動定位系統,具有占用資源少、高性能、高可靠性及可配置的特點,并可以成功移植到多種硬件和操作系統平臺上。

1 系統總體設計

本系統采用ARM7內核的LPC2103處理器,軟件上采用占用硬件資源較少、實時性能和可移植性能優良的μC/OS-II操作系統,圖形界面采用MiniGUI。

1.1 系統實現功能

系統實現主要功能包括:實時采集GPS數據并進行處理;查詢當前地理位置;通過MiniGUI圖形用戶界面顯示GPS數據。

1.2 整體硬件結構

系統整體硬件結構如圖1所示。





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

1.3 系統軟件結構

系統軟件結構如圖2所示,基于MiniGUI的應用程序通過ANSI C庫以及MiniGUI自身提供的API來實現自己的功能。底層驅動包括鍵盤以及TFT6758液晶顯示,為便于移植MiniGUI通過圖形抽象層和輸入抽象層與輸入、輸出設備接口。





2 系統硬件設計

2.1 控制系統最小系統

控制系統最小系統如圖3所示。





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

2.2 GPS接口電路

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





2.3 鍵盤電路

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





2.4 TFT6758 LCD接口電路

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





3 系統軟件設計

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

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

3.2 MiniGUI在LPC2103上的移植

(1)MiniGUI的GAL移植

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

(2)MiniGUI的IAL移植

MiniGUI通過INPUT數據結構表示輸入引擎,該數據結構定義在ial.h文件中。INPUT數據結構定義很多函數指針,這些函數指針指向設定的IAL對應函數,從而實現硬件輸入。程序輸入引擎為comminput.c,通過底層鍵盤驅動程序comm_driver.c讀取鍵盤輸入數據。該驅動程序把16個鍵模擬成O~9數字鍵和鼠標的左右鍵。

(3)MiniGUI的交叉編譯

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

3.3 系統應用程序設計

(1)主程序設計

主程序流程如圖7(a)所示,用來完成操作系統的初始化。其中使用語句OSTaskCreate(Task0,(void*)O,&TaskStk[TaskStkLengh-1],10)創建任務O;使用語句MiniGUI_app_entry()創建MiniGUI主線程;使用語句KevMbox=OSMboxCreate(NULL)建立一個郵箱,用于傳遞按鍵消息,最后開始多任務調度。





(2)任務O設計

任務O流程如圖7(b)所示,用來完成系統硬件的初始化。通過I2C接口的輸入引擎讀取按鍵鍵值,如有按鍵按下通過OSMboxPost(KeyMbo-x,(void*)&s_key_in)發送鍵值到KeyMbox郵箱。通過郵局OSTimeDly(5)交出CPU占用資源,運行其他任務。

(3)MiniGUI入口程序設計

入口程序如圖7(c)所示,用來完成消息處理。使用語句InitMainWindow()初始化窗體;使用語句ShowWindow(hMainWnd,SW_SHOWNORMAL)顯示窗體,其中hMainWnd為窗體句柄;使用語句GetMessage(&Msg,hMainWnd))獲取消息,其中Msg數據結構用于保存消息;使用語句Trans-lateMessage(&Msg)把消息送入隊列;使用語句DispatchMessage(&Msg)分配信息給窗體回調函數;使用語句MainWindowThreadCleanup(hM-ainWnd)清除線程。

(4)MiniGUI窗體回調程序設計

窗體回涮函數流程如圖7(d)所示,根據消息類型確定要執行的程序。如果消息類型為MSG-PAINT,先調用GPS數據讀取以及處理程序,用MiniGUI內部函數TextOut(hdc,10,10,”顯示字符”),在指定位置顯示字符;最后調用μC/OS-II系統函數OSTimeDly(100)開始任務調度。如果消息類型為MSG_CLOSE,用語句DestroyMainWindow(hWnd)銷毀窗體;用語句PostQuitMessage(hWnd)發送退出消息。

4 GPS的自動定位系統實驗

系統軟件采用ADS V1.2開發、調試,使用PC機對MiniGUI源代碼進行編譯,生成MiniGUI靜態鏈接庫文件MiniGUI-Lib.a。然后交叉編譯MiniGUI應用程序,與MiniGUI靜態鏈接庫、POSIX線程庫鏈接,生成二進制文件下載到LPC2103的Flash運行。系統軟件編譯過程如圖8所示。

GPS模塊和LPC2103串口0連接,并放置到室外,將生成的可執行文件燒寫到LPC2103的Flash內部,上電運行,運行結果如圖9所示。





結語

本自動定位系統運行穩定,具有功耗低、速度快、可裁剪、可固化、實時性能優越等特點。能夠準確顯示經度、緯度、系統日期、時間、海拔、航向、航速等信息,并可以對所處位置進行查詢。
本文地址:http://www.qingdxww.cn/thread-43340-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 為何選擇集成電平轉換?
  • PIC18-Q71系列MCU概述
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产视频日本 | 欧美视频 亚洲视频 | 欧美va在线 | 日本精品视频一视频高清 | 欧美日日操 | 国产精品亚洲欧美一级久久精品 | 周末情人全集免费观看 | 亚洲天堂在线播放 | 最近最新2019年中文字幕 | 精品国产日韩一区三区 | 羞羞网站在线观看 | 日日做日日摸夜夜爽 | 欧美日韩国产一区 | 久热青青青在线视频精品 | 成人亚洲综合 | 手机在线观看亚洲国产精品 | 国产成人麻豆tv在线观看 | 国产九九视频在线观看 | 亚洲大胆美女人体一二三区 | 99久久精彩视频 | www.91麻豆.com | 精品国产人成在线 | 成人黄网大全在线观看 | 天堂在线最新版www中文 | 亚洲视频自拍 | 久久伊人天堂视频网 | 高清视频 一区二区三区四区 | 69网站在线观看 | 四虎影视最新 | 久久精品影院一区二区三区 | 国产黄色小视频网站 | 日日摸夜夜添夜夜免费视 | 日韩高清免费观看 | 免费福利片 | 久在线观看| 国产国拍亚洲精品永久不卡 | 日韩精品视频免费在线观看 | 国内精品久久久久尤物 | 日本在线一区二区 | 国产一级第一级毛片 | 看全色黄大色黄大片视频 |