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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于嵌入式處理器的無人機地面控制站設計

          基于嵌入式處理器的無人機地面控制站設計

          作者:謝方明 梁存真 防空兵指揮學院 時間:2011-02-22 來源:電子產(chǎn)品世界 收藏

            3 軟件方案

          本文引用地址:http://www.ex-cimer.com/article/117109.htm

            基于硬件方案,運行定制的Windows CE操作系統(tǒng),編寫測控控制臺軟件,實現(xiàn)對無人機控測遙數(shù)據(jù)控制和處理。

            3.1 WinCE的定制

            過微軟提供的Platform Builder根據(jù)需要定制Windows CE操作系統(tǒng),具體步驟如下。

            新建平臺:在platform Builder 平臺利用向?qū)蟿?chuàng)建一個基于CAYMAN:ARMV4I包的平臺。

            添加驅(qū)動:在PB右邊的catalog窗口中選擇所要填加的驅(qū)動或應用,包括串口驅(qū)動等。

            刪除組件:刪除不需要的組件,以減小定制后的操作系統(tǒng)體積。

            編譯WinCE:得到二進制的image:“nk.bin”和“nk.nb0”。

            燒寫EBOOT:利用開發(fā)系統(tǒng)JTAG加載程序加載Eboot。

            下載運行WinCE鏡像:利用Eboot通過以太網(wǎng)下載方式把nk.nb映像文件下載到平臺的的RAM空間執(zhí)行。

            輸出SDK:輸出定制平臺的SDK,用于編寫在該平臺下運行的測控應用程序。

            3.2 測控控制臺軟件

            3.2.1 軟件結(jié)構(gòu)
           

           

            測控主程序在操作系統(tǒng)提供的支撐下,主要功能是由串口通信模塊實現(xiàn)數(shù)據(jù)收發(fā),包括完成遙控指令、程控飛行數(shù)據(jù)和任務設備控制指令的上傳,完成遙測數(shù)據(jù)及其它下行數(shù)據(jù)的接收和存儲,并向操作人員提供遙測數(shù)據(jù)顯示和回放功能、撥號管理功能、指令輸入功能等,軟件功能組成和結(jié)構(gòu)如圖4所示。

            3.2.2 串口通信模塊的實現(xiàn)

            測控程序采用API函數(shù)實現(xiàn)串口通訊,通信流程如圖5所示。

            3.2.3 數(shù)據(jù)處理和圖形顯示

            數(shù)據(jù)處理用于對讀串口線程得到的數(shù)據(jù)進行處理,根據(jù)與飛行控制器約定的數(shù)據(jù)格式協(xié)議,從數(shù)據(jù)串中分別取出各種飛行參數(shù)到相應的變量中,并調(diào)用更新函數(shù)更新對應的Edit Control的顯示內(nèi)容。

            遙測數(shù)據(jù)中的俯仰角、滾轉(zhuǎn)角、航向角和高度四個參數(shù),對于無人機飛行狀態(tài)的判斷具有重要作用,為避免占用過多系統(tǒng)資源,采用屏幕繪圖動態(tài)顯示,在更新時僅對成圖的關(guān)鍵點進行相應的計算,避免屏閃。

          cdma相關(guān)文章:cdma原理




          關(guān)鍵詞: 無線通信 PXA270 

          評論


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