<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > ARM9處理器S3C2440的GPS導(dǎo)航終端機的設(shè)計

          ARM9處理器S3C2440的GPS導(dǎo)航終端機的設(shè)計

          作者: 時間:2009-12-11 來源:網(wǎng)絡(luò) 收藏

          0 引言

          隨著汽車等各種車輛交通工具的普及,車輛導(dǎo)航設(shè)備的需求也變得日益旺盛。作為車載設(shè)備.不僅要有可靠的性能,而且需要具有便攜、低功耗和低價格等特點。而采用基于ARM微處理器的嵌入式系統(tǒng)與GPS模塊相配合的GPS機的設(shè)計方案,可以很好的滿足這一系統(tǒng)需求。為此,本文介紹了一種利用ARM9開發(fā)板和GPS模塊實現(xiàn)GPS導(dǎo)航功能的終端機的軟硬件結(jié)構(gòu)和設(shè)計方法。

          1 GPS導(dǎo)航系統(tǒng)結(jié)構(gòu)

          本文所介紹的GPS全球定位導(dǎo)航系統(tǒng)按功能可分為嵌入式主控模塊、GPS模塊、顯示模塊、擴展模塊及供電模塊等五大部分。

            嵌入式主控模塊基于S3C2440處理器,主要負責(zé)對GPS導(dǎo)航模塊數(shù)據(jù)的響應(yīng)、處理和控制。在硬件上,主控模塊就是一個嵌入式開發(fā)板,包括觸摸LCD接口電路、SD卡接口電路、FLASH、SDRAM等。而在軟件上,主控模塊上應(yīng)當運行嵌入式Linux系統(tǒng)。而嵌入式Linux操作系統(tǒng)的主要作用是管理程序模塊進程并調(diào)度進程等。

            GPS模塊主要用于接收導(dǎo)航衛(wèi)星數(shù)據(jù),并以特定的格式發(fā)送給主控模塊。顯示模塊可選用3.5寸TFT帶觸摸屏LCD,主要用于與用戶進行交互。擴展模塊主要指的是SD卡。供電模塊主要為系統(tǒng)正常工作提供電源。圖1所示是該系統(tǒng)的結(jié)構(gòu)圖。

          2 GPS數(shù)據(jù)的提取

            GR-87型GPS模塊的輸出語句遵循NMEA-0183標準。該標準的語句都是以“$”開始,以CR>LF>結(jié)束。 “$”之后是5字符地址,頭兩個字符為發(fā)送者識別碼(GPS為“GP”),后3位為語句名稱。定位信息中的數(shù)據(jù)由“,”來劃分。GPS模塊一般每秒可以輸出一次NMEA-0183格式語句。在導(dǎo)航系統(tǒng)中,一般只需要用到時間、日期、經(jīng)緯度、速度。而由于RMC語句完整包含了系統(tǒng)所需的上述信息,因此。只需要對RMC語句進行提取即可。圖2所示是對GPS數(shù)據(jù)進行提取的具體流程。


          3 導(dǎo)航地圖的實現(xiàn)

            在獲得了經(jīng)緯度等定位信息之后,還需要將它們直觀的顯示在電子地圖或其它顯示媒體上,這樣才能真正起到導(dǎo)航的作用。要想將其準確的顯示在電子地圖上,就需要用一定的算法進行轉(zhuǎn)化,即地圖匹配算法。

            


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();