新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM處理器結合GPRS模塊設計M2M終端的總體設計方案

        ARM處理器結合GPRS模塊設計M2M終端的總體設計方案

        作者: 時間:2013-12-09 來源:網絡 收藏
        GPRS參數設置態:處理器控制啟動MC35i模塊后進入此狀態,通過發送AT命令對模塊及必要的網絡參數進行設置,為使各個參數均設置成功,軟件設計中增加了容錯重試機制。
        PPP協商態:GPRS參數設置完成后,通過發送AT*99***1#CR>命令開始MC35i模塊與GPRS網絡ISP(網絡服務提供商)PPP協商。軟件設計中采用LCPHandler()函數完成LCP協商,PAPHandler()完成認證,由IPCPHandler()完成IPCP協商,如果最后獲得ISP和本節點的IP地址,則進入PPPOVER態,此后就能進行數據的傳輸了。由于GPRS網絡等原因,PPP協商有時會失敗,此時應重啟MC35i模塊,再按照狀態機流程重新連接。
        UDP數據傳輸態:當程序采用UDP方式進行數據傳輸時,程序進入此狀態。通過xDataTrsmtTask()任務進行數據的UDPIP封裝和解析。
        TCP數據傳輸態:當節點調用uip_cionnect()函數與監控中心建立連接后,程序進入TCP數據傳輸態,進行基于TCP的數據傳輸。
        數據的封裝和傳輸
        通過GPRS進行數據的傳輸需要經過Internet網絡進行中轉,因而傳輸的數據封裝必須進行TCPIP協議。文中利用軟件進行了數據封裝。需要傳輸的數據經過傳輸層UDP協議頭封裝,然后是IP協議頭的封裝,最后進行PPP協議的封裝。經過封裝傳輸到MC35i的數據格式如表1所示。
        ARM處理器結合GPRS模塊設計M2M終端的總體設計方案
        MC35i將接收到的數據透明地傳輸到Internet網絡中。通過Internet網絡路由器中轉,最終將數據傳輸到監控中心。接收端對接收到的數據按照相應的層次進行解析,從而確定數據的目標程序。
        系統軟件設計采用分層的結構,從底到上分別為:串口驅動層(物理層)、PPP協議層(鏈路層)、IP協議層(網絡層)、UDP協議和ICMP(傳輸層)以及應用層。在移植好的LwIP協議棧中,通過在各層中建立相應功能的線程,實現數據的封裝。底層軟件為上層軟件提供函數支持,上層軟件利用底層軟件完成應用程序的編寫和實現。軟件采用自底向上的設計方法逐步實現系統中各個函數的功能,各部分函數實現均采用模塊化的設計方法。每個任務對應一個模塊。對每個任務單獨進行設計后,最終由FreeRTOS操作系統統一管理,通過采用信號量和郵箱的方式實現多個任務之間的通信,軟件各部分主要函數之間的關系如圖3所示。
        ARM處理器結合GPRS模塊設計M2M終端的總體設計方案
        MC35SerialISR()中將接收的數據存放到xQRxChars隊列中后,發送SemMC35Rx信號量來激活PPPRxTask()任務,通過對接收數據的解析,確定數據包的類型,然后由相應的函數對接收數據進行處理。
        如果接收的數據是應用程序的數據,將由IPRx()函數判斷目標主機是否正確,再經過傳輸層解析數據從而判定對數據處理的應用程序。最后由應用程序解析數據并執行相應的功能,如將數據通過串口發送到主機、向數據采集系統發送控制命令、接收數據采集系統的數據并發送等。當接收隊列中所有數據均處理完畢后,延時250ms如果還沒有接收到數據,則任務通過等待信號量SemMC35Rx將自己掛起。數據的發送過程是一個相反的過程。應用程序根據需要的功能建立UDPTxTask()ICMPTxTask()任務,并將數據發送到xAPPTxQ隊列中。相應的任務再調用IPTx()PPPTx()函數進行數據的封裝并將數據發送到XqTxChar隊列中,從而喚醒MC35SerialISR()中斷程序將數據通過串口發送到MC35i中進行傳輸。為提高系統的實時性,本文中FreeRTOS采用可剝奪內核方式進行調度。采用FreeRTOS操作系統對任務進行管理簡化了軟件的編寫難度,同時提高了程序的可讀性和可移植性。
        結語
        基于GPRS M2M產品的無線數據傳輸以及遠程監控系統是目前國內外研究的熱點。本文采用完全免費的操作系統和TCPIP協議棧給出的系統設計方案具備成本低、性能好、可升級等優點,為遠程監控系統相關領域的數據傳輸提供了一個可行的設計方案。

        上一頁 1 2 下一頁

        關鍵詞: ARM處理器 GPRS模塊 M2M終端

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 垣曲县| 竹山县| 义马市| 建瓯市| 长子县| 海安县| 同心县| 绥芬河市| 蒙城县| 民县| 城口县| 江油市| 武冈市| 光泽县| 枣强县| 万山特区| 舞钢市| 舒城县| 房产| 广宁县| 安乡县| 保德县| 宜宾县| 宁城县| 平江县| 阜新| 台前县| 申扎县| 灌云县| 珠海市| 二手房| 集安市| 鄄城县| 涟源市| 新津县| 曲水县| 武功县| 内丘县| 广宗县| 桃园市| 阜宁县|