基于單片機(jī)的高壓開(kāi)關(guān)柜觸頭溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
MSP430F1132的P2.2腳接MAX6613傳感器的模擬數(shù)據(jù)輸出端,利用單片機(jī)內(nèi)部10位AD轉(zhuǎn)化模塊完成溫度信息的模數(shù)轉(zhuǎn)換。
2 軟件設(shè)計(jì)
2.1 上位機(jī)軟件設(shè)計(jì)
上位機(jī)低頻喚醒發(fā)送流程圖如圖4所示。
MSP430單片機(jī)上電初始化后,P2.2腳設(shè)為低電平,對(duì)應(yīng)DIO為高電平,當(dāng)發(fā)送數(shù)據(jù)時(shí)P2.2腳變?yōu)楦唠娖?,DIO腳變?yōu)榈碗娖?。首先發(fā)送8位序列頭信號(hào),延時(shí)1 ms后發(fā)送16位數(shù)據(jù),發(fā)送完成后P2.2腳變?yōu)榈碗娖?,?duì)應(yīng)DIO變?yōu)楦唠娖剑訒r(shí)約15 ms后,P2.1捕獲DIO反饋的負(fù)脈沖確認(rèn)信號(hào),在CCU捕獲中斷服務(wù)程序內(nèi)獲得該信號(hào)下降沿和上升沿的時(shí)間差就能判斷出所有的數(shù)據(jù)是否正確發(fā)送。
2.2 下位機(jī)軟件設(shè)計(jì)
ATA5283芯片初始化后,開(kāi)始偵聽(tīng)125 kHz頻段,當(dāng)有效喚醒信號(hào)出現(xiàn)時(shí),在芯片WAKEUP引腳輸出高電平喚醒單片機(jī)和射頻模塊。單片機(jī)進(jìn)入接收低頻喚醒信號(hào)的中斷服務(wù)程序,數(shù)據(jù)通信完成后,ATA5283返回偵聽(tīng)模式,單片機(jī)進(jìn)入休眠模式,射頻模塊進(jìn)入掉電模式。
本文設(shè)計(jì)的低頻喚醒信號(hào)數(shù)據(jù)速率為1 kbps,每個(gè)Bit持續(xù)1 ms,具體格式如表1所示。
具體工作過(guò)程:
1)8 ms的前導(dǎo)碼(Preamble)引起芯片的工作,N_WAKEUP端被拉低,N_DATA端也被拉低。前導(dǎo)碼必須大于5.62 ms,這是芯片本身決定的,否則不會(huì)被喚醒;
2)N_WAKEUP端的拉低使得單片機(jī)被喚醒;
3)每隔1 ms采集一次N_DATA端的數(shù)據(jù),驗(yàn)證確認(rèn)碼的真?zhèn)?,避免干擾信號(hào);
4)驗(yàn)證成功后,每隔1 ms采集一次,共采集8次,此為上位機(jī)發(fā)送的地址信號(hào);
5)單片機(jī)判斷接收完數(shù)據(jù)后,給出一個(gè)高電平到ATA5283的RESET腳,復(fù)位ATA5283回到待機(jī)偵聽(tīng)模式。
單片機(jī)將接收到的地址信息與本機(jī)地址比對(duì),若相同就喚醒其它電路完成一次溫度采集發(fā)送,若不同就進(jìn)入休眠模式。
下位機(jī)低頻喚醒接收流程圖如圖5所示。
MSP430單片機(jī)上電初始化后進(jìn)入LPM4休眠模式,低頻喚醒數(shù)據(jù)接收和溫度數(shù)據(jù)采集發(fā)送在中斷程序中完成。當(dāng)有輸入信號(hào)時(shí),ATA5283的N_WAKEUP端被拉低,下降沿觸發(fā)MSP430進(jìn)入中斷服務(wù)程序,依次采集8位確認(rèn)碼和8位ID信息,比對(duì)接收到的地址信息,如果與本機(jī)地址相同則啟動(dòng)CC1000模塊完成溫度采集發(fā)送,完成后P1.2給ATA5283一個(gè)正脈沖復(fù)位它回到待機(jī)偵聽(tīng)模式。
3 總結(jié)
本文將低頻喚醒芯片ATA5276和ATA5283用于電廠高壓開(kāi)關(guān)柜觸頭溫度監(jiān)測(cè)系統(tǒng)中,與射頻芯片CC1000相結(jié)合實(shí)現(xiàn)了非接觸式溫度監(jiān)測(cè),并使傳感器電路工作在瞬時(shí)發(fā)送和長(zhǎng)時(shí)休眠的工作狀態(tài),有效降低了傳感器端的功耗,解決了多個(gè)傳感器的組網(wǎng)問(wèn)題。
評(píng)論