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

          新聞中心

          EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 公交車載GPS智能報(bào)站系統(tǒng)設(shè)計(jì)

          公交車載GPS智能報(bào)站系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-03-30 來(lái)源:網(wǎng)絡(luò) 收藏

            GSM/ GPRS 與A 技術(shù)的整合使得該模塊可以滿足跟蹤、導(dǎo)航、車輛船舶等設(shè)備和資產(chǎn)的監(jiān)控管理以及其他 的應(yīng)用。鍵盤掃描和屏幕顯示由單片機(jī)做數(shù)據(jù)處理。鍵盤顯示板主要實(shí)現(xiàn)鍵盤掃描、液晶屏幕的顯示并與ARM處理器模塊進(jìn)行通訊。硬件系統(tǒng)整體框圖如圖2所示。

          系統(tǒng)組成

          圖2 系統(tǒng)組成

            1. 2 軟件總體設(shè)計(jì)

            系統(tǒng)的主要功能由ARM 控制, 采用C 語(yǔ)言進(jìn)行編程, 采用多線程處理相關(guān)功能模塊。執(zhí)行相關(guān)過(guò)程如下: 系統(tǒng)初始化完成后, 依據(jù)GPS 定位信息和系統(tǒng)存儲(chǔ)的線路信息計(jì)算位置、報(bào)站和讀取相關(guān)信息, 并由ARM 控制車內(nèi)的顯示模塊進(jìn)行顯示、語(yǔ)音播放以及向數(shù)據(jù)中心進(jìn)行數(shù)據(jù)傳送。

            2 設(shè)計(jì)實(shí)現(xiàn)

            2. 1 系統(tǒng)初始化

            在系統(tǒng)運(yùn)行之前, 必須用軟件程序?qū)Ω鞑糠诌M(jìn)行初始化。初始化包括以下幾個(gè)部分:

            ARM 以及系統(tǒng)初始化;顯示按鍵模塊初始化;外部器件、接口初始化: 主要是GPS、GPRS和語(yǔ)音芯片等設(shè)備的初始化;軟件系統(tǒng)的初始化: 設(shè)置全局變量、指針和數(shù)組、數(shù)據(jù)結(jié)構(gòu)以及公交信息初始化。

            系統(tǒng)軟件部分主要是在主程序中檢測(cè)GPS 信息, 確定公交車當(dāng)前的地理位置, 然后決定是否播放語(yǔ)音信息。同時(shí)還需要實(shí)現(xiàn)按鍵所要求的功能, 如切換到手動(dòng)播報(bào)等。本系統(tǒng)的軟件部分開(kāi)發(fā)工作是基于Linux 開(kāi)發(fā)環(huán)境實(shí)現(xiàn)的。根據(jù)系統(tǒng)要完成的功能和各個(gè)模塊的運(yùn)行情況, 主程序部分采用了多線程以及消息隊(duì)列的方式, 可以及時(shí)接收GPS 數(shù)據(jù)。

            因?yàn)橹皇褂肎PRMC 幀的數(shù)據(jù), 串行通訊的數(shù)據(jù)量不大, 通訊及數(shù)據(jù)處理過(guò)程比較快, 系統(tǒng)能夠及時(shí)播放報(bào)站及其他語(yǔ)音信息。公交車途經(jīng)的各站點(diǎn)的經(jīng)緯度數(shù)據(jù)需要預(yù)先測(cè)量好, 并存放到系統(tǒng)的數(shù)據(jù)區(qū), 作為對(duì)比參考使用。GPRS 的信息通過(guò)串行口傳遞, 采用查詢法, 按鍵也使用查詢方式進(jìn)行接收, 以確定按下的是哪個(gè)功能鍵。軟件采用C 語(yǔ)言編寫, 調(diào)試成功后燒錄到Flash 中, 實(shí)現(xiàn)脫機(jī)運(yùn)行。



          評(píng)論


          相關(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); })();