新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于mc35i的m2m終端設(shè)計與研究xkpf

基于mc35i的m2m終端設(shè)計與研究xkpf

作者: 時間:2010-12-08 來源:網(wǎng)絡(luò) 收藏


嵌入式軟件設(shè)計

采用嵌入式實時操作系統(tǒng)可以更合適、有效地利用CPU的資源,簡化應(yīng)用軟件的設(shè)計,縮短系統(tǒng)開發(fā)時間,更好地保證系統(tǒng)的實時陛和可靠性。 FreeRTOS是在Sourceforge網(wǎng)站上發(fā)布的微內(nèi)核嵌入式實時操作系統(tǒng),它是完全免費的操作系統(tǒng),具有源碼公開、可移植、可裁減、調(diào)度策略靈活的特點。作為一個輕量級的操作系統(tǒng),F(xiàn)reeRTOS提供的功能包括:任務(wù)管理、時間管理、信號量、消息隊列、內(nèi)存管理等

FreeRTOS支持優(yōu)先級和輪換時間片兩種調(diào)度算法,可根據(jù)用戶需要設(shè)置為可剝奪型內(nèi)核或不可剝奪型內(nèi)核。本文基于FreeRTOS給出了M2M終端實現(xiàn)PPP協(xié)商以及數(shù)據(jù)封裝傳輸?shù)能浖O(shè)計方案。

基于狀態(tài)機設(shè)計GPRS連接任務(wù)

由于網(wǎng)絡(luò)和信號較弱等原因,可能導(dǎo)致節(jié)點與GPRS網(wǎng)絡(luò)連接的失敗,采用基于狀態(tài)機的結(jié)構(gòu)設(shè)計方法對各個階段產(chǎn)生的錯誤進行處理,能保障模塊與GPRS網(wǎng)絡(luò)建立可靠連接。程序狀態(tài)機如圖2所示。

本文引用地址:http://m.butianyuan.cn/article/195191.htm

閑待命態(tài):此時處在離線關(guān)閉狀態(tài),節(jié)點處在低功耗模式下,系統(tǒng)復(fù)位后處于此狀態(tài)。

GPRS參數(shù)設(shè)置態(tài):處理器控制啟動MC模塊后進入此狀態(tài),通過發(fā)送AT命令對模塊及必要的網(wǎng)絡(luò)參數(shù)進行設(shè)置,為使各個參數(shù)均設(shè)置成功,軟件設(shè)計中增加了容錯重試機制。

PPP協(xié)商態(tài):GPRS參數(shù)設(shè)置完成后,通過發(fā)送AT*99***1#命令開始MC模塊與GPRS網(wǎng)絡(luò)ISP(網(wǎng)絡(luò)服務(wù)提供商) 的PPP協(xié)商軟件設(shè)計中采用LCPHandler()函數(shù)完成LCP協(xié)商,PAPHandler()完成認證,由IPCPHandler()完成IPCP 協(xié)商,如果最后獲得ISP和本節(jié)點的IP地址,則進入PPPOVER態(tài),此后就能進行數(shù)據(jù)的傳輸了,由于GPRS網(wǎng)絡(luò)等原因,PPP協(xié)商有時會失敗,此時應(yīng)重啟MC35i模塊,再按照狀態(tài)機流程重新連接。

UDP數(shù)據(jù)傳輸態(tài):當程序采用UDP方式進行數(shù)據(jù)傳輸時,程序進入此狀態(tài),通過xDataTrsmtTask()任務(wù)進行數(shù)據(jù)的UDP/IP封裝和解析。

TCP數(shù)據(jù)傳輸態(tài):當節(jié)點調(diào)用uip_cionnect()函數(shù)與監(jiān)控中心建立連接后,程序進入TCP數(shù)據(jù)傳輸態(tài),進行基于TCP的數(shù)據(jù)傳輸。

數(shù)據(jù)的封裝和傳輸

通過GPRS進行數(shù)據(jù)的傳輸需要經(jīng)過Internet網(wǎng)絡(luò)進行中轉(zhuǎn),因而傳輸?shù)臄?shù)據(jù)封裝必須進行TCP/IP協(xié)議。文中利用軟件進行了數(shù)據(jù)封裝,需要傳輸?shù)臄?shù)據(jù)經(jīng)過傳輸層UDP協(xié)議頭封裝,然后是IP協(xié)議頭的封裝,最后進行PPP協(xié)議的封裝。經(jīng)過封裝傳輸?shù)組C35i的數(shù)據(jù)格式如表1所示。


MC35i將接收到的數(shù)據(jù)透明地傳輸?shù)絀nternet網(wǎng)絡(luò)中。通過Internet網(wǎng)絡(luò)路由器中轉(zhuǎn),最終將數(shù)據(jù)傳輸?shù)奖O(jiān)控中心。接收端對接收到的數(shù)據(jù)按照相應(yīng)的層次進行解析,從而確定數(shù)據(jù)的目標程序。

系統(tǒng)軟件設(shè)計采用分層的結(jié)構(gòu),從底到上分別為:串口驅(qū)動層(物理層)、PPP協(xié)議層(鏈路層)、IP協(xié)議層(網(wǎng)絡(luò)層)、UDP協(xié)議和 ICMP層(傳輸層)以及應(yīng)用層。在移植好的LwIP協(xié)議棧中,通過在各層中建立相應(yīng)功能的線程,實現(xiàn)數(shù)據(jù)的封裝。底層軟件為上層軟件提供函數(shù)支持,上層軟件利用底層軟件完成應(yīng)用程序的編寫和實現(xiàn)。軟件采用自底向上的設(shè)計方法逐步實現(xiàn)系統(tǒng)中各個函數(shù)的功能,各部分函數(shù)實現(xiàn)均采用模塊化的設(shè)計方法。每個任務(wù)對應(yīng)一個模塊



關(guān)鍵詞: xkpf 35i m2m mc

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉