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