基于MSP430和Zigbee的無線抄表終端設(shè)計
3 抄表終端軟件設(shè)計
軟件設(shè)計的總體思路為:處理器在完成初始化后,關(guān)閉CPU和主時鐘MCLK,進入LPM3低功耗模式。當上位機發(fā)送來指令時,串口0產(chǎn)生中斷,使處理器進入正常工作模式。處理器解釋收到的指令并根據(jù)指令內(nèi)容采取相應(yīng)的操作,如系統(tǒng)校時、初始化存儲器、添加表具信息、向串口1發(fā)送抄表指令等,然后再次進入LPM3低功耗模式。當?shù)讓与娔鼙戆l(fā)送來數(shù)據(jù)時,串口1產(chǎn)生中斷,使處理器進入正常工作模式。處理器解釋數(shù)據(jù)并按照與上位機的通信規(guī)約將數(shù)據(jù)發(fā)送到串口0,并在本終端上做好數(shù)據(jù)備份。連接在串口0上的CC2430通過Zigbee網(wǎng)絡(luò)將數(shù)據(jù)傳送回上位機。
我們選用IAR公司的IAR Embedded Workbench IDE作為軟件開發(fā)平臺,此軟件針對MSP430系列單片機的C語言開發(fā)做了異常豐富的宏定義。為了使軟件開發(fā)簡單,可讀性強,我們采用C語言編寫代碼。由于MSP430F149的強大處理能力,使用C語言開發(fā)仍具有較好的代碼執(zhí)行效率和極短的響應(yīng)時間。
與底層電能表的通信協(xié)議采用《多功能電能表通信規(guī)約DL/T 645-1997》,這是國家電力行業(yè)標準,數(shù)字電能表都要求符合本協(xié)議。協(xié)議中規(guī)定幀是傳送信息的基本單元,幀格式如表1所示。
表1 電能表協(xié)議幀格式
與上位機的通信采用自行編寫的協(xié)議,由本終端和上位PC機負責構(gòu)造協(xié)議幀和對協(xié)議的解釋,而只把Zigbee網(wǎng)絡(luò)當成透明的通信信道。幀格式如表2所示:
表2 Zigbee與上位機通訊幀格式
由于MSP430F149單片機沒有硬件IIC接口,我們在通用I/O口P1.0、P1.1上用軟件模擬IIC接口與PCF8563和FM24C04通信。讀PCF8563的子程序如下,寫程序以及讀寫FM24C04的子程序類似。
軟件的流程圖如圖2所示:
圖2 軟件流程圖
4 結(jié)論
無線自動抄表是未來發(fā)展的必然趨勢,而在抄表系統(tǒng)的改造過程中,采用超低功耗MSP430F149作為核心處理器,結(jié)合自動組網(wǎng)Zigbee技術(shù)研發(fā)的本抄表終端具有明顯的技術(shù)優(yōu)勢。本終端已經(jīng)在我校的教師公寓小區(qū)中進行試驗,結(jié)果表明運行穩(wěn)定可靠,到達了設(shè)計要求,具有很好的應(yīng)用前景。下一步我們將進一步對終端進行改進,使其適用與水、氣、電三表合抄,創(chuàng)造更大的經(jīng)濟效益和社會效益。
參考文獻:
[1].MSP430F149datasheethttp://www.dzsc.com/datasheet/MSP430F149.html.
[2].CC2430datasheethttp://www.dzsc.com/datasheet/CC2430_1055132.html.
[3].2.0datasheethttp://www.dzsc.com/datasheet/2.0_1758666.html.
[4].RS485datasheethttp://www.dzsc.com/datasheet/RS485_585289.html.
[5].PCF8563datasheethttp://www.dzsc.com/datasheet/PCF8563_318649.html.
[6].FM24C04datasheethttp://www.dzsc.com/datasheet/FM24C04_329430.html.
[7].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[8].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
評論