0 引言
GPS即全球定位系統(tǒng),由美國從上世紀(jì)70年代開始研制,歷時(shí)20年,耗資200億美元,于1994年全面建成,具有在海、陸、空進(jìn)行全方位實(shí)時(shí)三維導(dǎo)航與定位的能力。近年來隨著GPS的不斷改進(jìn),硬、軟件的不斷完善,應(yīng)用領(lǐng)域正在不斷展開,目前已遍及國民經(jīng)濟(jì)各種部門,并開始逐步深入人們的日常生活。如何設(shè)計(jì)一個(gè)帶有GPS功能的移動(dòng)設(shè)備,實(shí)現(xiàn)對GPS衛(wèi)星數(shù)據(jù)的接收和解碼,已經(jīng)是現(xiàn)在CPS應(yīng)用的熱點(diǎn)。
1 開發(fā)平臺
1.1 軟件平臺
為適應(yīng)大多數(shù)Windows用戶的使用習(xí)慣,我們設(shè)定移動(dòng)設(shè)備運(yùn)行環(huán)境為嵌入式操作系統(tǒng)Windows CE 5.0(簡稱WinCE 5.0),開發(fā)過程在Windows XP操作系統(tǒng)下進(jìn)行。開發(fā)軟件為Visual Studio 2005(簡稱VS2005),編程語言為C++。VS2005是Windows操作系統(tǒng)下的一套完整的開發(fā)工具,用于生成ASP Web應(yīng)用程序、XML Web services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。通過使用這些工具和.NETFramework精簡版(.NET Framework的子集),可以在個(gè)人數(shù)字助理(PDA)、移動(dòng)電話和其他資源受約束的設(shè)備中,創(chuàng)建、生成、調(diào)試和部署在.NET Framework精簡版上運(yùn)行的應(yīng)用程序。
1.2 硬件平臺
1.2.1 嵌入式開發(fā)板
由于設(shè)定移動(dòng)設(shè)備使用的運(yùn)行環(huán)境為WINCE 5.0,過程中需要處理大量的數(shù)據(jù),所以對開發(fā)板要求較高。目前WinCE 5.0支持的處理器主要有ARM、X86、PowerPC、MIPS等,其中ARM是近年來在嵌入式系統(tǒng)中很有影響力的微處理器架構(gòu),在同等處理器主頻下,ARM內(nèi)核的芯片面積最小,功耗最低,價(jià)格也最低廉,在性能、技術(shù)指標(biāo)、軟件支持工具、內(nèi)置調(diào)試工具和開發(fā)資料等方面都有優(yōu)勢??紤]到本系統(tǒng)移動(dòng)終端的體積、功耗、成本等因素,最后決定選用ARM內(nèi)核的處理器,開發(fā)板為光嵌公司的GEC2440,主要參數(shù)如表l所示。
1.2.2 GPS接收模塊
GPS接收模塊負(fù)責(zé)接收GPS射頻信號,將信號下變頻和解調(diào),輸出標(biāo)準(zhǔn)的串口信號供處理器進(jìn)行下一步處理。本設(shè)計(jì)中用到的GPS接收模塊為Levave公司的GPS-R36-AT模塊,性能參數(shù)如表2所示。該接收模塊主要包含基帶芯片和射頻芯片,采用了SIRF III模塊,整合片狀陶瓷芯片,無需外加天線,接收C/A碼衛(wèi)星信號,輸出的信號為NMEA0183協(xié)議數(shù)據(jù),通過串口與主設(shè)備進(jìn)行通信。
2 整體設(shè)計(jì)
設(shè)計(jì)主要依照GPS數(shù)據(jù)信號的流向來進(jìn)行。GPS數(shù)據(jù)信號通過串口讀入到開發(fā)板主程序,然后經(jīng)過對數(shù)據(jù)信號進(jìn)行解碼獲得當(dāng)前位置的經(jīng)緯度信息,再在經(jīng)緯度數(shù)據(jù)庫中查詢獲得當(dāng)前位置的地名,整個(gè)過程由觸摸屏進(jìn)行顯示,并通過觸摸屏完成人機(jī)交互。
2.1 串口驅(qū)動(dòng)
Microsoft eMbedded Tools封裝了Windows API函數(shù),便于Windows CE應(yīng)用程序的開發(fā)。在Windows CE中,所有的設(shè)備都被看成是文件。串口通信可以像訪問普通文件那樣通過API通信函數(shù)來實(shí)現(xiàn),系統(tǒng)的虛擬驅(qū)動(dòng)程序負(fù)責(zé)執(zhí)行特定的工作。在Windows CE下串行端口被視為用于打開、關(guān)閉、讀寫串行端口的常規(guī)可安裝的流設(shè)備,是串行設(shè)備接口的常規(guī)I/O驅(qū)動(dòng)程序調(diào)用和與通信相關(guān)的具體函數(shù)的結(jié)合。Windows CE的通信函數(shù)和其它大多數(shù)Windows的通信函數(shù)相似,值得注意的是,Windows CE不支持直接對串行端口的寄存器進(jìn)行編程。
2.1.1 打開和關(guān)閉串口
CreateFile函數(shù)用于打開串行口。m_hDSComm=CreateFile(_T("COM2:")),GENER2IC_READ|GENER IC_WR ITE,0,NULL,OPEN_EXISTIN-G,0,NULL)。注意COM2后面要有一個(gè)冒號。第三個(gè)參數(shù)dwShareMode也必須為O,通信端口不能像文件一樣被共享。最后一個(gè)參數(shù)dwFlagsAnd-Attributes必須為0,因?yàn)閃indows CE只支持非重疊I/O。這個(gè)函數(shù)的返回值是已打開的串行端口的句柄或者是INVALLD_HANDLE_VALUE。關(guān)閉串口可以調(diào)用CloseHandle(m_hDSComm)。
2.1.2 串口參數(shù)設(shè)置
串口設(shè)置主要是用DCB構(gòu)配置端口設(shè)置,包括波特率、停止位、數(shù)據(jù)位長度、校驗(yàn)位、流量控制和超時(shí)值等等。首先打開串行端口,用GetCommState函數(shù)獲得當(dāng)前打開的串口配置,然后根據(jù)需要修改DCB成員,最后用SetCommState函數(shù)設(shè)置新的串口配置。
2.1.3 設(shè)置緩沖區(qū)大小和超時(shí)
對串口來說,必須設(shè)置超時(shí)值,否則程序可能陷入到一個(gè)循環(huán)來等待來自串口的字符。這對采用WindowsCE的設(shè)備來說,將大大減少設(shè)備電池的使用時(shí)間,所以超時(shí)值是必須配置的。另外一種解決辦法就是采用多線程。通常,配置超時(shí)值和配置串口類似。首先用GetCommTi-meouts函數(shù)獲得當(dāng)前串口的超時(shí)值,然后修改COM2MTIMEOUTS成員,最后用SetCommTimeouts函數(shù)設(shè)定超時(shí)值。
2.1.4 讀寫串口
利用ReadFile和WriteFile函數(shù)讀寫串口。需要注意的是Windows CE不支持重疊I/O,所以如果在主線程進(jìn)行大量讀寫串口操作時(shí),有可能使整個(gè)程序陷入緩慢的串口等待中去,因此一般都采用多線程來進(jìn)行讀寫串口操作。
2.2 GPS數(shù)據(jù)處理
GPS數(shù)據(jù)處理模塊的設(shè)計(jì)方案如圖1所示。GPS接收模塊通過串口2將定位數(shù)據(jù)(NMEA0183 Ver2.0)傳給開發(fā)板,然后應(yīng)用程序?qū)?shù)據(jù)進(jìn)行處理。在VS2005中,直接利用串口通信方法將定位數(shù)據(jù)讀入,接著進(jìn)行定位數(shù)據(jù)的分類,并提取出所需要的信息,同時(shí)將這些有用的信息傳給主應(yīng)用程序,主應(yīng)用程序再將GPS接收模塊的控制信息整理成NEMA0183 VER2.0語句。
2.3 信號接收與處理
GPS接收到位置信號后,系統(tǒng)將對GPS的定位信息進(jìn)行分解并提取出有用數(shù)據(jù)。GPS信號接收和處理的過程是:通過串口2將GPS輸出的數(shù)據(jù)傳遞給開發(fā)板,開發(fā)板主程序獲得目標(biāo)當(dāng)前的位置(經(jīng)緯度坐標(biāo)),將接收機(jī)獲得的GPS數(shù)據(jù)進(jìn)行分解,從中得到目標(biāo)當(dāng)前的位置和格林威治時(shí)間(該時(shí)間加上8小時(shí)即為我國標(biāo)準(zhǔn)時(shí)間),再將當(dāng)前位置在經(jīng)緯度數(shù)據(jù)庫查詢,獲得當(dāng)前的具體地點(diǎn)名。
經(jīng)緯度隨著開發(fā)板的移動(dòng)是不斷變化的,在控件顯示時(shí)要設(shè)定一個(gè)TIMER來更新值,本程序設(shè)置的是1s,如果在實(shí)際應(yīng)用中移動(dòng)速度非??斓脑捒梢园裈IMER更新值設(shè)得更小。
2.4 人機(jī)界面設(shè)計(jì)
系統(tǒng)采用三星TFT顯示屏,分辨率為420×272。人機(jī)界面基本功能包括串口選擇控件、波特率選擇控件、經(jīng)緯度顯示框、地點(diǎn)顯示框、“搜星”按鈕、“地點(diǎn)查詢”按鈕、文本框等,具體交互界面設(shè)計(jì)如圖2所示。串口和波特率兩個(gè)控件為串口選擇和波特率的選擇,其中串口選擇控件提供串口l和串口2進(jìn)行選擇;波特率控件提供有三種設(shè)置,分別為4800、9600、19200。“搜星”按鈕為打開對應(yīng)串口,開始從GPS接收模塊接收數(shù)據(jù)?!暗攸c(diǎn)查詢”按鈕用來顯示當(dāng)?shù)氐膶?shí)際地點(diǎn)名,當(dāng)搜到星后,按這個(gè)按鈕,通過查詢經(jīng)緯度數(shù)據(jù)庫,就可以查到對應(yīng)地名。最下面的文本框顯示原始的數(shù)據(jù)流。
3 操作系統(tǒng)移植
WinCE 5.0操作系統(tǒng)的移植主要是基于硬件平臺進(jìn)行BSP開發(fā)。BSP是基于WinCE 5.0平臺系統(tǒng)的主要部分,它主要由一些源文件和二進(jìn)制文件組成,又稱主板支持軟件包,它是一個(gè)主要由包含啟動(dòng)程序(bootloader)、OEM適配層程序(OAL)相關(guān)硬件設(shè)備的驅(qū)動(dòng)程序的軟件包,另外還可以把上層的應(yīng)用也放到BSP中。在BSP內(nèi)部,通過OAL鏈接到系統(tǒng)核心,而驅(qū)動(dòng)程序和系統(tǒng)配置文件是與OAL層相互關(guān)聯(lián)來完成驅(qū)動(dòng)設(shè)備和配置系統(tǒng)的功能。在BSP外部,我們可以看到一個(gè)建立在硬件平臺上的主板支持包。在開發(fā)過程中可以利用開發(fā)板運(yùn)營商提供的BSP包進(jìn)行操作系統(tǒng)的定制,定制完成后固化到Nandflash中。
4 測試
因?yàn)殚_發(fā)板的串口2直接與GPS接收模塊的串口相連,所以串口設(shè)置選擇串口2。波特率應(yīng)與GPS接收模塊匹配,設(shè)置為4800。GPS模塊為上電即啟動(dòng),并且不能關(guān)閉,所以點(diǎn)擊“搜星”按鈕即可接收數(shù)據(jù)。啟動(dòng)“搜星”按鈕后1min左右,就能顯示正確的經(jīng)緯度。點(diǎn)擊“地點(diǎn)查詢”按鈕,能正確顯示地點(diǎn)信息。最下面的文本框可以顯示原始的數(shù)據(jù)流。測試時(shí)實(shí)拍的照片如圖2所示。
5 總結(jié)
文章以VS2005為軟件平臺,利用基于ARM處理器的WinCE 5.0嵌入式開發(fā)平臺和GPS接收模塊,通過合理使用串口通信,實(shí)現(xiàn)了GPS數(shù)據(jù)信號的接收與解碼,并利用觸摸屏進(jìn)行顯示,已基本具備GPS移動(dòng)設(shè)備的雛形。
上一篇:基于ARM和DS18B20設(shè)計(jì)網(wǎng)絡(luò)化的智能溫度傳感器
下一篇:基于DSP和ARM9的汽車縱向碰撞預(yù)警系統(tǒng)設(shè)計(jì)
推薦閱讀
史海拾趣
隨著電子行業(yè)的快速發(fā)展,Comchip Technology不斷追求技術(shù)創(chuàng)新和產(chǎn)品升級。公司通過大量研發(fā)投入,成功開發(fā)出了橋式整流器、高效快速整流器等一系列具有市場競爭力的產(chǎn)品。這些產(chǎn)品不僅提高了電子設(shè)備的性能,還降低了能耗,贏得了客戶的廣泛認(rèn)可。
為了進(jìn)一步擴(kuò)大市場份額,Comchip Technology積極開拓國內(nèi)外市場,與多家知名企業(yè)建立了長期穩(wěn)定的合作關(guān)系。同時(shí),公司還加強(qiáng)了與國際同行的交流與合作,引進(jìn)了先進(jìn)的技術(shù)和管理經(jīng)驗(yàn),不斷提升自身的競爭力。
在追求經(jīng)濟(jì)效益的同時(shí),Array Microsystems Inc也積極履行社會(huì)責(zé)任,關(guān)注可持續(xù)發(fā)展。公司致力于推廣環(huán)保理念和技術(shù)應(yīng)用,推動(dòng)電子行業(yè)的綠色發(fā)展。同時(shí),公司還積極參與公益事業(yè)和社會(huì)活動(dòng),為社會(huì)做出積極貢獻(xiàn)。這些舉措不僅提升了公司的社會(huì)形象,也為其長期發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
請注意,這些故事是基于一般電子行業(yè)發(fā)展情況和趨勢虛構(gòu)的,并不代表Array Microsystems Inc公司的實(shí)際發(fā)展情況。如果您需要了解該公司的真實(shí)發(fā)展情況,建議您查閱相關(guān)資料或咨詢專業(yè)人士。
隨著電子產(chǎn)品的普及和消費(fèi)者對產(chǎn)品質(zhì)量的關(guān)注,電子產(chǎn)品測試和認(rèn)證成為了一個(gè)必不可少的環(huán)節(jié)。BSI作為全球知名的認(rèn)證機(jī)構(gòu),為電子產(chǎn)品提供了專業(yè)的測試和認(rèn)證服務(wù)。通過嚴(yán)格的測試和認(rèn)證流程,BSI確保了電子產(chǎn)品符合國際標(biāo)準(zhǔn)和客戶需求,提高了產(chǎn)品的市場競爭力和信譽(yù)度。同時(shí),BSI還為企業(yè)提供了定制化的商檢解決方案,幫助企業(yè)在國際貿(mào)易中解決技術(shù)和法規(guī)問題,降低了貿(mào)易風(fēng)險(xiǎn)。
自1997年成立以來,AnalogicTech便致力于技術(shù)創(chuàng)新,不斷推動(dòng)電子行業(yè)的發(fā)展。公司總部位于硅谷,設(shè)計(jì)中心則分布在圣塔克拉拉和上海,匯聚了全球頂尖的研發(fā)人才。憑借深厚的技術(shù)底蘊(yùn)和創(chuàng)新能力,AnalogicTech成功研發(fā)出一系列具有顛覆性的產(chǎn)品,為當(dāng)今最具創(chuàng)造性的消費(fèi)品提供了強(qiáng)大的技術(shù)支持。
Asia Electronics Ind Co Ltd深知人才是企業(yè)發(fā)展的核心。因此,公司注重人才培養(yǎng)和團(tuán)隊(duì)建設(shè)。公司定期舉辦各類培訓(xùn)活動(dòng),提升員工的技能和素質(zhì)。同時(shí),公司還建立了一套完善的激勵(lì)機(jī)制,鼓勵(lì)員工積極創(chuàng)新、勇于擔(dān)當(dāng)。這些舉措有效激發(fā)了員工的工作熱情和創(chuàng)造力,為公司的發(fā)展注入了源源不斷的動(dòng)力。
Windows Embedded幫助數(shù)字農(nóng)業(yè)發(fā)展 隨著全球信息化的發(fā)展,數(shù)字農(nóng)業(yè)成為了現(xiàn)代農(nóng)業(yè)發(fā)展的新潮流。 數(shù)字農(nóng)業(yè)是一個(gè)集信息化、數(shù)字化、網(wǎng)絡(luò)化、自動(dòng)化等多種現(xiàn)代高新技術(shù)為一體的計(jì)算機(jī)管理和應(yīng)用系統(tǒng)。它對農(nóng)業(yè)生產(chǎn)中的現(xiàn)象、過程進(jìn)行模擬,達(dá)到合理利用農(nóng)業(yè)資源,降低生產(chǎn)成本,改 ...… 查看全部問答∨ |
Fiber Optic Communication Systems Fiber Optic Communication Systems Fiber-Optic Communication Systems, 3rd Edition Govind P. Agrawal ISBN: 978-0-471-21571-4 Hardcover 576 pages June 2002 目錄: Preface. 1. Introduction. 1.1 Historical Perspective. 1. ...… 查看全部問答∨ |
如題, 俺現(xiàn)在已經(jīng)能夠準(zhǔn)確地分拆它的每個(gè)視頻單元(CELL),但我需要的是按章節(jié)(Charpter)來進(jìn)行分拆, 這需要解析它的IFO文件, 有沒有朋友熟悉這方面的, 提點(diǎn)一下, 不勝感謝!… 查看全部問答∨ |
我用板子帶的線(一頭公,一頭母)進(jìn)行傳輸都可以。 但我自己買的兩根線(一根線為全公,一根線為全母),連接后傳輸,就連不通了。 難道線有232和485之分嗎? 我要求的是PC端和板子間傳輸,板子的串口也是232的?!? 查看全部問答∨ |
初學(xué)者問個(gè)pc與單片機(jī)通信協(xié)議的問題 我做pc上位機(jī)程序 通過串口與51單片機(jī)通信 涉及到通行協(xié)議不太明白怎么弄。 請問如果自定義pc與單片機(jī)通信的協(xié)議 要定義些什么啊 不太清楚 能詳細(xì)點(diǎn)最好 謝謝… 查看全部問答∨ |
|
本公司因業(yè)務(wù)需要,急需招聘軟件開發(fā)工程師,熟悉嵌入式C語言、串口開發(fā)、LCD及鍵盤應(yīng)用,待遇從優(yōu)。有意者請將簡歷發(fā)送至liuyh0105@126.com劉月紅收。有IC卡、條形碼行業(yè)工作經(jīng)驗(yàn)者優(yōu)先。電話:010-51265035、68219720、68219760… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- API調(diào)用小記(Touchdesigner和ESP32)
- 關(guān)于ESP32/8266使用async-mqtt-client庫的一些基本介紹
- 英飛凌發(fā)布“在中國、為中國”本土化戰(zhàn)略 三十而勵(lì)啟新篇
- 智慧農(nóng)業(yè):英特爾處理器驅(qū)動(dòng)更加可持續(xù)、高效的農(nóng)業(yè)發(fā)展
- 英偉達(dá)正在用“物理AI”,徹底顛覆自動(dòng)駕駛、工業(yè)、機(jī)器人和智慧城市
- 臺積電-東京大學(xué)實(shí)驗(yàn)室啟用,雙方聯(lián)手推動(dòng)半導(dǎo)體研究和教育
- ?意法半導(dǎo)體大巴窯工廠落地創(chuàng)新冷卻系統(tǒng),提升可持續(xù)發(fā)展能力
- Nordic Semiconductor聯(lián)同Omnispace和Gatehouse Satcom完成5G NB-IoT衛(wèi)星演示
- 英偉達(dá)開啟“攻城略地”模式,擬在歐洲建設(shè)20座AI工廠
- 臺積電:日本JASM第二晶圓廠預(yù)計(jì)今年下半年動(dòng)工
- 工信部:支持車企“60天賬期”承諾,促進(jìn)產(chǎn)業(yè)健康發(fā)展
- 全球十大芯片代工廠最新排名!中芯國際沖擊世界第二
- 是時(shí)候充充電啦!村田寵粉月重磅開啟!
- 『ADI實(shí)驗(yàn)室電路DIY大賽』正式啟動(dòng)!
- 泰克 MSO6B 探索營:設(shè)計(jì)資源集錦
- EEWorld邀你來拆解(第10期)——玩具總動(dòng)員
- 尋寶大冒險(xiǎn),搜索有好禮!
- 直播已結(jié)束【Molex 新能源汽車低壓連接器解決方案】
- 直播已結(jié)束【用于光伏逆變器/儲能系統(tǒng)的歐姆龍繼電器 /開關(guān)/連接器解決方案】
- 下載有禮|是德科技:測試設(shè)備如何影響產(chǎn)品質(zhì)量調(diào)研報(bào)告
- TI單芯片毫米波傳感器產(chǎn)品組合新品發(fā)布會(huì),誠邀參與,預(yù)注冊贏好禮
- 支持支付功能,內(nèi)置小愛同學(xué),小米手環(huán)4發(fā)布
- 中美貿(mào)易戰(zhàn),韓企陷兩難
- 錘子科技朱海舟抨擊三星DeX:和TNT相比,它就是弟中弟
- 中興高管鼓吹的Blade A7:強(qiáng)的就像一部2000元機(jī)型
- 重慶研究院在高靈敏石墨烯觸覺傳感領(lǐng)域取得進(jìn)展
- 大聯(lián)大詮鼎集團(tuán)推出基于Qualcomm產(chǎn)品的藍(lán)牙耳機(jī)方案
- 普源DG5000系列函數(shù)/任意波形發(fā)生器功能解析
- 示波器常見故障及原因分析
- 示波器維修工程師分享:花屏、黑屏等顯示故障如何處理?
- 泰克示波器10個(gè)鮮為人知的功能,你都了解么?(上)