總線分析儀在無(wú)線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)開(kāi)發(fā)中的應(yīng)用
?、俅诮邮諗?shù)據(jù)事件。每次節(jié)點(diǎn)從串口接收到一個(gè)字節(jié)的數(shù)據(jù)將觸發(fā)該事件。對(duì)于信息采集任務(wù)來(lái)說(shuō),其信息是定時(shí)采集的。同時(shí),CAN總線的速率遠(yuǎn)遠(yuǎn)大于無(wú)線傳輸?shù)乃俾?。因此,在?jié)點(diǎn)開(kāi)辟了一段較大的緩存區(qū),對(duì)CAN總線傳過(guò)來(lái)的數(shù)據(jù)進(jìn)行緩存。該緩存區(qū)的大小取決于無(wú)線傳輸?shù)乃俾室约?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/CAN總線">CAN總線在一個(gè)定時(shí)采集周期的數(shù)據(jù)量大小。假設(shè)無(wú)線傳輸?shù)乃俾蕿閂、緩存區(qū)大小為Mem、采集周期為T、每個(gè)采集周期的數(shù)據(jù)量為Data,注意V為傳輸有效數(shù)據(jù)的速率,即要去掉協(xié)議開(kāi)銷以及管理和控制開(kāi)銷,則至少滿足V×T≥Data,Mem≥Data。為提高無(wú)線傳輸?shù)男?,不是每次從串口接受到一個(gè)字節(jié)就從無(wú)線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達(dá)到無(wú)線傳輸一個(gè)數(shù)據(jù)包的大小時(shí),啟動(dòng)任務(wù)一UARTRcvdTask。這種采用任務(wù)的方式進(jìn)行實(shí)際的無(wú)線數(shù)據(jù)傳輸可以避免阻塞其他event事件。
②無(wú)線接受數(shù)據(jù)事件。每次節(jié)點(diǎn)從無(wú)線接口接受到一個(gè)數(shù)據(jù)包將觸發(fā)該事件。事件處理程序主要從協(xié)議數(shù)據(jù)包中獲取傳輸數(shù)據(jù),并且緩存于接受緩存區(qū),具體地怎么處理無(wú)線接受的數(shù)據(jù)的工作,通過(guò)啟動(dòng)任務(wù)——RadioRcvdTask來(lái)完成,以避免阻塞其他event事件。
?、鄱〞r(shí)器事件。該事件定時(shí)觸發(fā)。該事件處理程序主要定時(shí)判斷串口接受數(shù)據(jù)緩存區(qū)是否有數(shù)據(jù),如果有的話,則啟動(dòng)任務(wù)——UARTRcvdTask,以避免到串口收到的數(shù)據(jù)不足一個(gè)協(xié)議數(shù)據(jù)包時(shí),會(huì)長(zhǎng)期滯留在串口接受數(shù)據(jù)緩存區(qū)中。
4 性能分析和實(shí)驗(yàn)
整個(gè)系統(tǒng)的性能主要取決于無(wú)線傳輸?shù)乃俾?。無(wú)線CC1000使用頻率為14.745MHz的晶振作為驅(qū)動(dòng),在該驅(qū)動(dòng)下面CC1000可以提供的最大數(shù)據(jù)傳輸率為19.2 KB/s。考慮無(wú)線傳輸協(xié)議消耗,無(wú)線傳輸數(shù)據(jù)報(bào)的格式如下:
其中TOSH_DATA_LENGTH=29,故協(xié)議的理論有效數(shù)據(jù)比率約為70%。同時(shí),為提高無(wú)線傳輸?shù)男?,不是每次從串口接受到一個(gè)字節(jié)就從無(wú)線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達(dá)到無(wú)線傳輸一個(gè)數(shù)據(jù)包的大小時(shí),才啟動(dòng)發(fā)送任務(wù),故無(wú)線有效傳輸速率約為13.4KB/s,,對(duì)于本系統(tǒng)應(yīng)用來(lái)說(shuō),CAN總線的采樣周期為10 s,每次采樣數(shù)據(jù)為1K數(shù)據(jù)。雖然,CAN總線速率相對(duì)來(lái)說(shuō)較高,但是通過(guò)緩存完全可以滿足需求。 在性能測(cè)試中,該系統(tǒng)持續(xù)運(yùn)行20多個(gè)小時(shí),收發(fā)均無(wú)問(wèn)題。
5 結(jié) 論
本文基于無(wú)線傳感器網(wǎng)絡(luò)給出一種連接CAN總線的無(wú)線通道設(shè)計(jì),主要包括CAN總線無(wú)線接入控制模塊電路設(shè)計(jì)以及無(wú)線傳感器節(jié)點(diǎn)的通信協(xié)議設(shè)計(jì)等內(nèi)容。目前,該系統(tǒng)已經(jīng)實(shí)現(xiàn),實(shí)際使用效果良好。本文內(nèi)容對(duì)于一般的信息采集無(wú)線傳輸系統(tǒng)設(shè)計(jì)具有較好的借鑒意義。
評(píng)論