基于Q2403A的單片機短消息收發(fā)系統(tǒng)
基于GSM短消息的業(yè)務不需要建立撥號連接,只需把待發(fā)的消息加上目的地址發(fā)送至短消息中心,再由短消息中心轉(zhuǎn)發(fā)到最終目標。GSM 短消息業(yè)務以其連接簡單、費用低廉、覆蓋范圍廣、實現(xiàn)方便等優(yōu)點得到了廣泛的應用。運用 GSM 短消息實現(xiàn)遠程測控的可靠性較高、信號傳播距離遠、覆蓋面積廣,并且可以節(jié)省建網(wǎng)初期的巨額投資。
本文對基于GSM短消息收發(fā)系統(tǒng)的設計與實現(xiàn)作了具體描述,給出了系統(tǒng)的軟硬件設計方案,對主要硬件,即GSM模塊Q2403A 和8051單片機作了重點介紹。給出了系統(tǒng)的軟件設計,包括PC與單片機通信部分和短消息收發(fā)部分。最后實現(xiàn)系統(tǒng)監(jiān)控功能。
系統(tǒng)硬件實現(xiàn)
總體系統(tǒng)結構
該系統(tǒng)硬件主要由8051單片機擴展電路、Q2403A手機模塊、RS-232總線接口電路、電源轉(zhuǎn)換器等部分組成。圖1為系統(tǒng)結構框圖。
圖1 系統(tǒng)結構框圖
其中,電源轉(zhuǎn)換器將PC端口的12V電壓轉(zhuǎn)換成3.6V和5V穩(wěn)壓,使系統(tǒng)中的芯片處于正常工作狀態(tài)。RS-232總線接口電路包括電平轉(zhuǎn)換和串口擴展電路。8051單片機實現(xiàn)存儲器擴展之后,通過RS-232總線接口電路與P
單片機擴展電路設計
MCS-51單片機的內(nèi)部雖已集成了很多資源,這些資源都是折中配置的,片內(nèi)程序存儲器、數(shù)據(jù)存儲器的容量都不大,并行I/O端口的數(shù)量也不是很多。此外,在有些應用中,片內(nèi)定時器、中斷、串行口等也顯得不足。因此,根據(jù)需要,本系統(tǒng)選用8051單片機并對其進行擴展。
讀寫存儲器擴展
本文選用SRAM芯片6264。容量為8K8bit。其地址線有13條,即A12~A0。8條數(shù)據(jù)線D7~D0。再加上其他引腳,總共有28個引腳,其中有2個標注為Nc的空引腳。把Nc引腳分別作為地址線A13~A14使用,就是容量為16k8bit和32k8bit的SRAM存儲芯片。
接口方案采用地址完全譯碼設計。 使用74138譯碼器為擴展的存儲器分配地址空間。給6264數(shù)據(jù)存儲器分配惟一的地址空間是:0000H~1FFFH。
只讀存儲器擴展
本文選用AT24C02進行數(shù)據(jù)存儲。它使用兩根信號線進行數(shù)據(jù)傳輸,一根是串行數(shù)據(jù)線(SDA),另一根是串行時鐘線(SCL)。
RS-232接口電路設計
MAX202是單電源、雙RS-232發(fā)送/接收器,適用于各種EIA-232E和V.28/V.24的通信接口。MAX202芯片有一個電壓轉(zhuǎn)換器,可以把輸入的+5V電源轉(zhuǎn)換成RS-232C輸出所需的10V電壓,所以,用此芯片接口的串行通信系統(tǒng)只要單一的+5V即可。
本文選用通用異步接收/發(fā)送器MAX3100對單片機串行口進行擴展,將單片機與RS-232總線相連。
MAX3100供電電源范圍寬、功耗低、在+2.7V~+5.5V的電源中僅吸收0.5mA的電流,具有零功耗的停機模式,并能由接收信號喚醒,使用SPI/Microwire接口與主微控制器進行通信。MAX3100不僅適合于速率高達230kbps的RS-232和RS-485數(shù)據(jù)鏈路,而且支持速率為2.4kbps~115.2kbps的紅外線數(shù)據(jù)協(xié)會(IrDA)SIR格式,在基于微控制器的小型系統(tǒng)設計中具有良好的應用前景。圖2為串口擴展電路圖。
圖2 串口擴展電路圖
電源部分
由于PC端口提供的電壓為12V, 系統(tǒng)中的芯片有3.6V和5V兩種。因此,電源部分采用美國國家半導體公司輸出電壓可調(diào)的三端集成穩(wěn)壓芯片LM1085-ADJ。
LM1085是一款單芯片集成的電壓轉(zhuǎn)換器。提供3 A電流輸出,具備過流保護,過溫保護,有可靠的工作性能、較高的工作效率,能夠為芯片提供穩(wěn)定的3.6V、5V電壓,為芯片工作提供了強有力的保證。圖3為電源電路原理圖。
圖3電源電路原理圖
手機模塊部分
Q2403A GSM/GPRS模塊支持雙頻EGSM/GPRS 900MHz/1800MHz模式,支持AT指令,短消息功能完備。Q2403A模塊具有60引腳的通用接口,非常容易集成到應用產(chǎn)品中;具有SIM卡確認、供電、時鐘、復位及I/O的3V SIM卡接口,包括SIMVCC、SIMRST、SIMDATA、SIMCLK和SIMPRES等。另外,模塊提供一個符合V24協(xié)議的6線串行通信接口,包括TX、RX、RTS、CTS、DTR、DSR;同時提供DCD和RI信號接口、上電信號PowerON/OFF和復位信號RST。模塊正常工作要求提供兩路電源,其中,VBATT提供給RF部分,電壓范圍為3.3V~4.5V,最大功率為2 W;VDD提供給基帶部分,電壓范圍為3.1V~4.5V,最大功率為0.5W。圖4為手機模塊與SIM卡外圍電路設計。
圖4 手機模塊與SIM卡外圍電路圖
系統(tǒng)軟件設計
主程序流程
主程序主要負責系統(tǒng)的初始化,包括單片機時鐘設置、端口工作方式設置、串口設置(波特率、中斷允許等)、默認系統(tǒng)數(shù)據(jù)的恢復(如時間設置、標志位清零等)、GPRS模塊的初始化、中斷初始化等。然后反復查詢SIM卡網(wǎng)絡注冊情況,直到注冊成功。最后進入低功耗模式,等待中斷。流程如圖5所示。
圖5 系統(tǒng)主程序流程
PC與單片機通信部分
該部分包括機組工作數(shù)據(jù)的采集和反向控制命令的發(fā)送,由串口RXD/TXD完成。
PC控制器通過RS-232總線傳送多幀數(shù)據(jù),數(shù)據(jù)內(nèi)容包括機組運行狀態(tài)、全部溫度數(shù)據(jù)和輸入/輸出狀態(tài)信息,以及故障信息等。短消息控制器內(nèi)的單片機在串口RXD/TXD接收中斷過程中判斷并處理接收到的數(shù)據(jù)。
短消息收發(fā)
本部分要實現(xiàn)的功能有:接收控制方發(fā)來的短消息并提取有效命令詞、組裝控制幀;采集到緊急故障信息時,或是需要反饋執(zhí)行結果時,向控制方發(fā)送短消息。采用中斷方式接收來自Q2403A模塊的信息。圖6為串口RX/TX的接收和發(fā)送中斷流程。
圖6 串口RX/TX接收/發(fā)送中斷流程
Q2403A支持的功能相當完備,本系統(tǒng)主要使用了短消息功能。單片機與Q2403A模塊間主要通過串口RX/TX進行通信,以AT命令來實現(xiàn)接收及發(fā)送的功能。用到的AT命令主要有:查詢注冊狀態(tài)AT+CREG;短消息列表AT+CMGL;短消息發(fā)送AT+CMGS;短消息刪除AT+CMGD。
結語
本文在提出總體設計方案的基礎上,完成了系統(tǒng)的硬件和軟件設計、應用程序的編寫及調(diào)試,經(jīng)實際運行驗證,取得了滿意的效果。就目前的測試結果而言,結合遠程監(jiān)控的優(yōu)勢,具有較強的實用性。對軟硬件作適當擴充修改后,還可應用于環(huán)境監(jiān)測、石油開采設備的監(jiān)測與控制、農(nóng)作物生長狀況的監(jiān)測、交通管理系統(tǒng)及安防系統(tǒng)等諸多領域。
參考文獻:
1. 李華,等.MCS51系列單片機實用接口技術.第9版.北京:北京航空航天大學出版社,2002
2. 馬中梅,籍順心,張凱等.單片機的C語言應用程序設計.北京航空航天大學出版社,1999
3. 龔建偉,等.Visual C++/Turbo C串口通信編程實踐[M].北京:電子工業(yè)出版社,2004
評論