基于Q2403A的短消息遠程監(jiān)控系統(tǒng)設(shè)計
關(guān)鍵詞 GSM/GPRS Q2403A 遠程監(jiān)控 控制器 短消息
引 言
近年來,中央空調(diào)在國內(nèi)的應(yīng)用越來越廣泛。與普通家用空調(diào)相比。中央空調(diào)具有功率大、控制過程復(fù)雜、運行保護要求高等特點,一般采用本地控制器完成機組的運行和管理。由于中央空調(diào)一般開機時間長,且機組分布范圍廣,因此給機組的集中控制帶來不便。在本地集控基礎(chǔ)上增加遠程監(jiān)控功能,有相當(dāng)?shù)谋匾?。本文具體介紹一種采用短消息(SMS)方式的中央空調(diào)遠程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)。
1 系統(tǒng)硬件實現(xiàn)
1.1 總體結(jié)構(gòu)
本監(jiān)控系統(tǒng)主要由單片機MSP430F147、GSM/GPRS模塊、通信接口和DC-DC電源轉(zhuǎn)換器等部分組成。圖l為系統(tǒng)結(jié)構(gòu)框圖。
其中,MSP430F147通過RS485總線接口與中央空調(diào)機組控制器進行數(shù)據(jù)通信;以中斷方式對數(shù)據(jù)進行處理后,控制GSM/GPRS模塊進行信息收發(fā),實現(xiàn)系統(tǒng)的遠程監(jiān)控功能。
1.2 GSM/GPRS模塊Q2403A
法國Wavecom公司的Q2403A GSM/GPRS模塊,支持雙頻EGSM/GPRS 900 MHz/1800 MHz模式,支持AT指令,短消息功能完備,并支持GPRS功能。Q2403A模塊具有60腳的通用接口,非常容易集成到應(yīng)用產(chǎn)品中;具有SIM卡確認、供電、時鐘、復(fù)位及I/O的3V SIM卡接口,包括SIMVCC、SIMRST、SIMDATA、SIMCLK和SIMPRES等。另外模塊提供一個符合V24協(xié)議的6線串行通信接口,包括TX、RX、RTS、CTS、DTR、DSR;同時提供DCD和RI信號接口、上電信號PowerON/OFF和復(fù)位信號RST。模塊正常工作要求提供兩路電源,其中VBAT提供給RF部分,電壓范圍為3.3~4.5 V,最大功率為2W;VDD提供給基帶部分,電壓范圍為3.1~4.5V,最大功率為0.5W。
1.3 單片機接口設(shè)計
MSP430F147是美國德州儀器公司的一款超低功耗的Flash型混合信號處理器,工作電壓為1.8~3.6V,片內(nèi)集成2個硬件通用串行同步異步通信接口(USARTO、USARTl),可以方便地通過軟件設(shè)定波特率,實現(xiàn)與中央空調(diào)機組控制器和Q2403A模塊的通信。另外,該單片機內(nèi)置了豐富的外設(shè),如定時器A(Timer_A)、看門狗(WDT)等,可以極大地簡化系統(tǒng)外圍器件的設(shè)計。
MSP430F147帶有Flash存儲器,可在運行過程中由程序控制寫操作和段的擦除(In System Programmable),不需要額外的高壓,且芯片上具有JTAG接口,僅需要一個廉價的JTAG接口轉(zhuǎn)換器就可以完成程序裝載和在線仿真,給系統(tǒng)的軟硬件設(shè)計帶來了極大的便利和靈活。就本系統(tǒng)的應(yīng)用而言,外部不用擴展存儲器和I/O口,其I/O電平與5 VTTL電乎兼容。
前端的中央宅調(diào)機組控制器通過RS485總線傳輸信息,單片機與機組控制器之間通過Maxim公司的MAX3485模塊實現(xiàn)TTL與RS485電平的轉(zhuǎn)換,該模塊供電電壓為3~3.6V,采用半雙工通信方式。MAX3485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連。RE和DE端分別為接收和發(fā)送的使能端,當(dāng)RE為邏輯0時,器件處于接收狀態(tài);當(dāng)DE為邏輯l時,器件處于發(fā)送狀態(tài)。因為MAX3485工作在半雙工狀態(tài),所以只需用單片機的一個引腳控制這兩個引腳。A端和B端分別為接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為O。在與單片機連接時接線非常簡單,只需要一個信號控制MAX3485的接收和發(fā)送。
單片機與后端Q2403A模塊間通過60引腳通用接口進行通信,完成信息傳送。圖2為系統(tǒng)接口電路原理。
1.4 電源部分
MSP430F147的工作電源為1.8~3.6 V,而Q2403A的工作電源為3.3~4.5 V。為了使兩者都能正常工作,并考慮到Q2403A在功率發(fā)射時會產(chǎn)生一定的壓降,選擇3.6V的工作電壓比較合適。電源部分采用美國國家半導(dǎo)體公司的LM2576T-ADJ降壓開關(guān)型可調(diào)集成穩(wěn)壓電路;它可提供3 A電流輸出,內(nèi)含固定頻率振蕩器(52kHz)和基準穩(wěn)壓器(L23V),并具有完善的保護電路;利用該器件只需極少的外圍器件便可構(gòu)成高效穩(wěn)壓電路。與線性三端穩(wěn)壓器件(如78xx系列端穩(wěn)壓集成電路)相比,具有可靠的工作性能、較高的工作效率和較強的輸出電流驅(qū)動能力,從而為MCU的穩(wěn)定、可靠工作提供強有力的保證。由外部輸人9V直流電壓,經(jīng)LM2576TADJ降壓后輸出3.6V電壓供系統(tǒng)使用。圖3為電路原理。
2 系統(tǒng)軟件設(shè)計
本系統(tǒng)的軟件設(shè)計主要包括兩個部分:一是機組數(shù)據(jù)收發(fā)部分,即MCU與前端中央空調(diào)機組控制器之間的工作狀態(tài)信息的接收與反向控制信息的傳送;二是短消息收發(fā)部分,即MCU與后端Q2403A模塊之間短信息數(shù)據(jù)的接收與發(fā)送。這兩個部分的處理都采用串口中斷的方式。
2.1 主程序流程
主程序主要負責(zé)系統(tǒng)的初始化,包括單片機時鐘設(shè)置、端口工作方式設(shè)置、串口設(shè)置(波特率、中斷允許等)、默認系統(tǒng)數(shù)據(jù)的恢復(fù)(如時間設(shè)置、標志位清零等)、GPRS模塊的初始化、中斷初始化等。然后反復(fù)查詢SIM卡網(wǎng)絡(luò)注冊情況,直到注冊成功。最后進入低功耗模式,等待中斷。流程如圖4所示。
部分初始化代碼如下:
2.2 機組數(shù)據(jù)收發(fā)部分
包括機組工作數(shù)據(jù)的采集和反向控制命令的發(fā)送,由MSP430n47的串口0來完成,波特率采用9600 bps,“1起始位+8數(shù)據(jù)位+l停止位/無奇偶校驗”格式。
中央空調(diào)機組控制器定時向RS485總線上傳送多幀數(shù)據(jù),數(shù)據(jù)內(nèi)容包括機組運行狀態(tài)、全部溫度數(shù)據(jù)和輸入/輸出狀態(tài)信息,以及故障信息等。數(shù)據(jù)幀采用HAC中央空調(diào)控制器專用通信格式。短消息控制器內(nèi)的單片機在串口O接收中斷中判斷并處理接收到的數(shù)據(jù)。
當(dāng)短消息控制器接收到控制方發(fā)來的控制命令時,需要向中央空調(diào)控制器發(fā)送控制幀,由于RS485是半雙工通信方式,所以需要在接收完一幀中央空調(diào)控制器發(fā)來的完整數(shù)據(jù)后,令P3.3=l,即控制MAX3485模塊DE端為高電平,然后按照HAC通信格式向485總線上發(fā)送控制幀數(shù)據(jù);發(fā)送完畢后,延時清零P3.3,恢復(fù)接收狀態(tài),繼續(xù)采集工作數(shù)據(jù)。圖5為串口0的接收和發(fā)送中斷流程。
2.3 短消息收發(fā)部分
本部分要實現(xiàn)的功能有:接收控制方發(fā)來的短消息并提取有效命令詞、組裝控制幀;采集到緊急故障信息時,或是需要反饋執(zhí)行結(jié)果時,向控制方發(fā)送短消息。采用中斷方式接收來自Q2403A模塊的信息,如接收到新短消息通知(+CMTI:…),則使用AT命令讀取短消息內(nèi)容并處理。圖6為串口1的接收和發(fā)送中斷流程。
Wayecom的Q2403A支持的功能相當(dāng)完備,本系統(tǒng)主要使用了短消息功能。單片機與Q2403A模塊問主要通過串口l進行通信,以AT命令來實現(xiàn)接收及發(fā)送的功能。用到的AT命令主要有:查詢注冊狀態(tài)AT+CREG?;短消息列表AT+CMGL;短消息發(fā)送AT+CMGS短消息刪除AT+CMGD。具體的命令細節(jié)請參閱相關(guān)資料,下面僅以短消息發(fā)送為例作簡單說明。
發(fā)送短消息的AT命令是“AT+CMGS”。本系統(tǒng)使用text模式,命令格式為“AT+CMGS=”目標手機號碼”CR>短消息內(nèi)容ctrl-Z>”。其中,CR>表示回車符(ASCII碼為0xod);ctrl-Z>表示短消息結(jié)束標志(ASCII碼為0xla)。按照格式在程序中將短消息數(shù)據(jù)存入串口1發(fā)送緩沖區(qū),并啟動發(fā)送中斷,完成短消息發(fā)送。部分程序代碼如下:
3 結(jié)論
在提出總體設(shè)計方案的基礎(chǔ)上,完成了系統(tǒng)的硬件和軟件設(shè)計、應(yīng)用程序的編寫及調(diào)試,經(jīng)實際運行驗證取得了滿意的效果。該系統(tǒng)硬件具有外圍電路少、工作可靠性高等優(yōu)點;軟件均使用C語言編寫,采用模塊化設(shè)計,便于功能擴充,并且短消息的控制命令可自行定義,使用相當(dāng)方便。就目前的測試結(jié)果而言,可實現(xiàn)本地線控器的全部功能,再結(jié)合遠程監(jiān)控的優(yōu)勢,具有相當(dāng)?shù)膶嵱眯?。對軟硬件作適當(dāng)擴充修改后,還可應(yīng)用于機房監(jiān)測、交通監(jiān)管系統(tǒng)等諸多相關(guān)領(lǐng)域。
評論