新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式ARM處理器的M2M終端總體設計

        基于嵌入式ARM處理器的M2M終端總體設計

        作者: 時間:2010-11-26 來源:網絡 收藏


           系統軟件設計采用分層的結構,從底到上分別為:串口驅動層(物理層)、PPP協議層(鏈路層)、IP協議層(網絡層)、UDP協議和ICMP層(傳輸 層)以及應用層。在移植好的LwIP協議棧中,通過在各層中建立相應功能的線程,實現數據的封裝。底層軟件為上層軟件提供函數支持,上層軟件利用底層軟件 完成應用程序的編寫和實現。軟件采用自底向上的設計方法逐步實現系統中各個函數的功能,各部分函數實現均采用模塊化的設計方法。每個任務對應一個模塊對 每個任務單獨進行設計后,最終由FreeRTOS操作系統統一管理,通過采用信號量和郵箱的方式實現多個任務之間的通信,軟件各部分主要函數之間的關系如 圖3所示。

          在MC35SerialISR()中將接收的數據存放到xQRxChars隊列中后,發送SemMC35Rx信號量來激活PPPRxTask()任務,通過對接收數據的解析,確定數據包的類型,然后由相應的函數對接收數據進行處理。

           如果接收的數據是應用程序的數據,將由IPRx()函數判斷目標主機是否正確,再經過傳輸層解析數據從而判定對數據處理的應用程序。最后由應用程序解析 數據并執行相應的功能,如將數據通過串口發送到主機、向數據采集系統發送控制命令、接收數據采集系統的數據并發送等。當接收隊列中所有數據均處理完畢后, 延時250ms如果還沒有接收到數據,則任務通過等待信號量SemMC35Rx將自己掛起。數據的發送過程是一個相反的過程。

          應用 程序根據需要的功能建立UDPTxTask()或ICMPTxTask()任務,并將數據發送到xAPPTxQ隊列中。相應的任務再調用IPTx()和 PPPTx()函數進行數據的封裝并將數據發送到XqTxChar隊列中,從而喚醒MC35SerialISR()中斷程序將數據通過串口發送到 MC35i中進行傳輸。為提高系統的實時性,本文中FreeRTOS采用可剝奪內核方式進行調度。采用FreeRTOS操作系統對任務進行管理簡化了軟件 的編寫難度,同時提高了程序的可讀性和可移植性。

          總結

          基于GPRSM2M產品的無線數據傳輸以及遠程監控系統是目前國內外研究的熱點。本文采用完全免費的操作系統和TCP/IP協議棧給出的系統設計方案具備成本低、性能好、可升級等優點,為遠程監控系統相關領域的數據傳輸提供了一個可行的設計方案。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        關鍵詞: 嵌入式 ARM 電源

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 瓦房店市| 同德县| 中阳县| 醴陵市| 新蔡县| 民勤县| 泉州市| 怀柔区| 安远县| 青神县| 乌海市| 顺平县| 宜昌市| 偃师市| 宣威市| 巴塘县| 黎平县| 九寨沟县| 股票| 台北市| 贡觉县| 卫辉市| 沂南县| 土默特左旗| 旺苍县| 沙湾县| 泸水县| 如东县| 文水县| 洛宁县| 博湖县| 翁牛特旗| 南华县| 阿坝| 通城县| 夏河县| 乐清市| 桓台县| 白玉县| 越西县| 梁河县|