為了延長(zhǎng)電池使用壽命,使系統(tǒng)不工作的時(shí)候處于休眠模式。CC2430采取定時(shí)喚醒的工作方式,由SP12的WAKE UP引腳輸出定時(shí)信號(hào),周期為6 s,送至MCU的鍵盤中斷輸入端, 將MCU從睡眠狀態(tài)喚醒。當(dāng)CC2430檢測(cè)到喚醒命令時(shí)被激活,它的寄存器狀態(tài)發(fā)生變化,CC2430進(jìn)入工作模式。首先檢測(cè)汽車的加速度,若加速度小于一個(gè)設(shè)定的范圍則表明汽車處于停止?fàn)顟B(tài),MCU重新進(jìn)入睡眠狀態(tài)。若加速度大于某個(gè)設(shè)定的范圍則汽車已經(jīng)在運(yùn)行狀態(tài),傳感器SP12采集溫度壓力數(shù)據(jù),采用閾值比較法,把當(dāng)前獲得的數(shù)值與寄存器中的報(bào)警閾值進(jìn)行比較,若超出閾值范圍,說(shuō)明數(shù)據(jù)異常,向主機(jī)提示進(jìn)行報(bào)警;數(shù)據(jù)正常時(shí),再判斷定時(shí)發(fā)送數(shù)據(jù)的時(shí)間,如果定時(shí)時(shí)間沒(méi)有到就進(jìn)入休眠;定時(shí)時(shí)間到,就進(jìn)行組幀、編碼,把數(shù)據(jù)包發(fā)送到主機(jī)。發(fā)送成功后, CC2430重新進(jìn)入休眠狀態(tài)。再判斷定時(shí)發(fā)送數(shù)據(jù)的時(shí)間,如果定時(shí)時(shí)間沒(méi)有到就進(jìn)入休眠;定時(shí)時(shí)間到,就進(jìn)行組幀、編碼,把數(shù)據(jù)包發(fā)送到主機(jī)。發(fā)送成功后,CC2430重新進(jìn)入休眠狀態(tài),等待下一次被喚醒。正常時(shí)定時(shí)喚醒和異常時(shí)實(shí)時(shí)喚醒的結(jié)合使整個(gè)設(shè)計(jì)符合低功耗要求,又能保證系統(tǒng)的可靠性。
3.2 接收模塊的軟件設(shè)計(jì)
接收模塊的程序流程圖如圖5所示。本文引用地址:http://butianyuan.cn/article/157794.htm
上電運(yùn)行后,初始化接收器的CC2430芯片,配置相關(guān)寄存器,主機(jī)進(jìn)入等待數(shù)據(jù)狀態(tài)。接收到一個(gè)數(shù)據(jù)幀后,主機(jī)將接收到的數(shù)據(jù)包中的信息與E2PROM中的信息進(jìn)行對(duì)比,判斷是哪個(gè)輪胎的數(shù)據(jù),經(jīng)過(guò)CRC校驗(yàn)和輪胎ID判斷無(wú)誤后,送液晶模塊顯示出當(dāng)前值。當(dāng)檢測(cè)到溫度、壓力值偏離正常值時(shí)進(jìn)行報(bào)警,提醒駕駛員注意。
無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)要進(jìn)行相互的數(shù)據(jù)交流就要有相應(yīng)的無(wú)線網(wǎng)絡(luò)協(xié)議。本文中主機(jī)和從機(jī)基于ZigBee通信協(xié)議進(jìn)行模塊間的無(wú)線通信。
發(fā)射模塊以數(shù)據(jù)幀的形式發(fā)送數(shù)據(jù),通過(guò)發(fā)送數(shù)據(jù)幀的前導(dǎo)位喚醒接收模塊,隨后發(fā)送數(shù)據(jù)幀,數(shù)據(jù)幀格式如表1所示。
本文主要介紹了基于ZigBee的胎壓監(jiān)測(cè)系統(tǒng)的硬件設(shè)計(jì)與軟件實(shí)現(xiàn)。ZigBee技術(shù)彌補(bǔ)了低成本、低功耗和低速率無(wú)線通信市場(chǎng)的空缺,利用ZigBee技術(shù)的低功率、低復(fù)雜度、組網(wǎng)靈活的特點(diǎn)滿足了胎壓監(jiān)測(cè)系統(tǒng)的具體要求,實(shí)現(xiàn)了實(shí)時(shí)監(jiān)測(cè)輪胎內(nèi)部狀態(tài)和異常報(bào)警的功能。本設(shè)計(jì)方案較好地解決了系統(tǒng)低功耗、高可靠性的問(wèn)題,市場(chǎng)前景十分廣闊。
評(píng)論