一種GPS移動(dòng)設(shè)備的設(shè)計(jì)和實(shí)現(xiàn)
1.2.2 GPS接收模塊
GPS接收模塊負(fù)責(zé)接收GPS射頻信號(hào),將信號(hào)下變頻和解調(diào),輸出標(biāo)準(zhǔn)的串口信號(hào)供處理器進(jìn)行下一步處理。本設(shè)計(jì)中用到的GPS接收模塊為L(zhǎng)evave公司的GPS-R36-AT模塊,性能參數(shù)如表2所示。該接收模塊主要包含基帶芯片和射頻芯片,采用了SIRF III模塊,整合片狀陶瓷芯片,無(wú)需外加天線,接收C/A碼衛(wèi)星信號(hào),輸出的信號(hào)為NMEA0183協(xié)議數(shù)據(jù),通過(guò)串口與主設(shè)備進(jìn)行通信。
2 整體設(shè)計(jì)
設(shè)計(jì)主要依照GPS數(shù)據(jù)信號(hào)的流向來(lái)進(jìn)行。GPS數(shù)據(jù)信號(hào)通過(guò)串口讀入到開(kāi)發(fā)板主程序,然后經(jīng)過(guò)對(duì)數(shù)據(jù)信號(hào)進(jìn)行解碼獲得當(dāng)前位置的經(jīng)緯度信息,再在經(jīng)緯度數(shù)據(jù)庫(kù)中查詢獲得當(dāng)前位置的地名,整個(gè)過(guò)程由觸摸屏進(jìn)行顯示,并通過(guò)觸摸屏完成人機(jī)交互。
2.1 串口驅(qū)動(dòng)
Microsoft eMbedded Tools封裝了Windows API函數(shù),便于Windows CE應(yīng)用程序的開(kāi)發(fā)。在Windows CE中,所有的設(shè)備都被看成是文件。串口通信可以像訪問(wèn)普通文件那樣通過(guò)API通信函數(shù)來(lái)實(shí)現(xiàn),系統(tǒng)的虛擬驅(qū)動(dòng)程序負(fù)責(zé)執(zhí)行特定的工作。在Windows CE下串行端口被視為用于打開(kāi)、關(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不支持直接對(duì)串行端口的寄存器進(jìn)行編程。
2.1.1 打開(kāi)和關(guān)閉串口
CreateFile函數(shù)用于打開(kāi)串行口。m_hDSComm=CreateFile(_T(COM2:)),GENER2IC_READ|GENER IC_WR ITE,0,NULL,OPEN_EXISTIN-G,0,NULL)。注意COM2后面要有一個(gè)冒號(hào)。第三個(gè)參數(shù)dwShareMode也必須為O,通信端口不能像文件一樣被共享。最后一個(gè)參數(shù)dwFlagsAnd-Attributes必須為0,因?yàn)閃indows CE只支持非重疊I/O。這個(gè)函數(shù)的返回值是已打開(kāi)的串行端口的句柄或者是INVALLD_HANDLE_VALUE。關(guān)閉串口可以調(diào)用CloseHandle(m_hDSComm)。
評(píng)論