新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > EM200在分布式探測站組網通信的應用

        EM200在分布式探測站組網通信的應用

        作者: 時間:2012-02-10 來源:網絡 收藏

        進程3負責從RAM緩沖區中截取一段之前串口0接收到的數據,并按AT指令TCP發送格式打包并發送給模塊,然后檢測AT指令暫存緩沖區中的應答響應結果,判斷是否立即發出下一輪TCP發送指令給,如圖10所示。進程3對串口1執行發送操作,實時性相對進程1和進程2要求更低,因此進程3的優先級可設為三者中最低一級。

        本文引用地址:http://www.104case.com/article/155305.htm

        j.jpg


        4.2.2 接收端軟件設計
        接收端也分為三個進程,依靠RTOS的調度機制,MCU在三個進程之間切換執行,實現接收端對來自CDMA網絡數據包的接收并將解析后的有效數據發送給融合中心。
        鑒于收到自CDMA網絡數據后會直接經串口將數據包輸出的特性(不同于其他模塊會將數據暫存在模塊內部,只有當收到AT指令讀命令后才會輸出數據包),因此最高優先級進程1的任務就是通過串口1接收自EM200的數據包并將其壓入在RAM開辟的緩沖區。如圖11接收端的進程1架構與發送端進程1類似。

        k.jpg


        由于進程1中收到的數據包含有部分無效字符,因此中等優先級進程2負責解析緩沖區數據包中的有效數據,若檢測到緩沖區中無完整的數據包,則調用RTOS提供的OSTimeDlyHMSM函數延時一定時間,在延時期內主動釋放MCU的使用權,若檢測到一個以上的完整數據包,則在解析處理后將有效數據送入在內存中開辟的串口0發送緩沖區,該進程架構如圖12所示。

        l.jpg


        低優先級的進程3負責檢測串口0的發送緩沖區是否為空,若不為空則通過串口0將緩沖區中數據發送出去,如圖13所示。

        m.jpg


        只有在進程2延時期內且進程1處于掛起狀態,負責串口0發送任務的進程3才得以執行。由于采用了延時的方式主動釋放對MCU的使用權,因此延時的大小決定了進程3每次的執行時間,延時若設得過大可能會造成數據包解析不及時從而導致串口1收到的數據包在接收緩沖區中大量堆積,使得實時性大大降低。延時若設得過小則會導致進程3在發送一段較長的數據時被經常打斷,微控制器的處理資源被浪費在頻繁的進程切換上,綜合考慮此處將延時設定為50ms。

        5 結語
        本文介紹了一套基于EM200模塊的CDMA數據收發系統,利用該系統組建的網絡可適應各種地理環境,結合CDMA系統較短的傳輸時延配以合理的軟硬件設計,能夠確保整個網絡較高的實時性能,滿足無源信息融合系統要求。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金门县| 逊克县| 荣昌县| 南召县| 徐汇区| 万盛区| 崇阳县| 栖霞市| 无为县| 泰州市| 罗源县| 博客| 望奎县| 临夏市| 秀山| 重庆市| 建湖县| 德清县| 九龙城区| 修文县| 池州市| 桐梓县| 平原县| 东乡族自治县| 安康市| 多伦县| 三门县| 电白县| 渭南市| 长治县| 巴彦县| 新干县| 临湘市| 钟山县| 宜宾县| 玉山县| 钟祥市| 泰来县| 饶河县| 灵寿县| 开远市|