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