基于mc35i的m2m終端設(shè)計(jì)與研究xkpf
對(duì)每個(gè)任務(wù)單獨(dú)進(jìn)行設(shè)計(jì)后,最終由FreeRTOS操作系統(tǒng)統(tǒng)一管理,通過采用信號(hào)量和郵箱的方式實(shí)現(xiàn)多個(gè)任務(wù)之間的通信,軟件各部分主要函數(shù)之間的關(guān)系如圖3所示。本文引用地址:http://m.butianyuan.cn/article/195191.htm
在MC35SerialISR()中將接收的數(shù)據(jù)存放到xQRxChars隊(duì)列中后,發(fā)送SemMC35Rx信號(hào)量來激活PPPRxTask()任務(wù),通過對(duì)接收數(shù)據(jù)的解析,確定數(shù)據(jù)包的類型,然后由相應(yīng)的函數(shù)對(duì)接收數(shù)據(jù)進(jìn)行處理。
如果接收的數(shù)據(jù)是應(yīng)用程序的數(shù)據(jù),將由IPRx()函數(shù)判斷目標(biāo)主機(jī)是否正確,再經(jīng)過傳輸層解析數(shù)據(jù)從而判定對(duì)數(shù)據(jù)處理的應(yīng)用程序。最后由應(yīng)用程序解析數(shù)據(jù)并執(zhí)行相應(yīng)的功能,如將數(shù)據(jù)通過串口發(fā)送到主機(jī)、向數(shù)據(jù)采集系統(tǒng)發(fā)送控制命令、接收數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)并發(fā)送等。當(dāng)接收隊(duì)列中所有數(shù)據(jù)均處理完畢后,延時(shí)250ms如果還沒有接收到數(shù)據(jù),則任務(wù)通過等待信號(hào)量SemMC35Rx將自己掛起。數(shù)據(jù)的發(fā)送過程是一個(gè)相反的過程。
應(yīng)用程序根據(jù)需要的功能建立UDPTxTask()或ICMPTxTask()任務(wù),并將數(shù)據(jù)發(fā)送到xAPPTxQ隊(duì)列中。相應(yīng)的任務(wù)再調(diào)用IPTx()和PPPTx()函數(shù)進(jìn)行數(shù)據(jù)的封裝并將數(shù)據(jù)發(fā)送到XqTxChar隊(duì)列中,從而喚醒MC35SerialISR()中斷程序?qū)?shù)據(jù)通過串口發(fā)送到MC35i中進(jìn)行傳輸。為提高系統(tǒng)的實(shí)時(shí)性,本文中FreeRTOS采用可剝奪內(nèi)核方式進(jìn)行調(diào)度。采用FreeRTOS操作系統(tǒng)對(duì)任務(wù)進(jìn)行管理簡(jiǎn)化了軟件的編寫難度,同時(shí)提高了程序的可讀性和可移植性。
總結(jié)
基于GPRS m2m產(chǎn)品的無線數(shù)據(jù)傳輸以及遠(yuǎn)程監(jiān)控系統(tǒng)是目前國(guó)內(nèi)外研究的熱點(diǎn)。本文采用完全免費(fèi)的操作系統(tǒng)和TCP/IP協(xié)議棧給出的系統(tǒng)設(shè)計(jì)方案具備成本低、性能好、可升級(jí)等優(yōu)點(diǎn),為遠(yuǎn)程監(jiān)控系統(tǒng)相關(guān)領(lǐng)域的數(shù)據(jù)傳輸提供了一個(gè)可行的設(shè)計(jì)方案。
評(píng)論