文丨李 頓 呂 航
采用GSM網絡遠程對廣播電視無線發射系統進行管控的應用
文丨李 頓 呂 航
數字蜂窩移動通信技術GSM(Global System for Mobilecommunication)已經成熟而得到廣泛的應用。短消息服務是G S M網絡的一項重要業務,采用G S M網絡的短消息服務功能,使用計算機技術和A R M管理技術實現對廣播電視無線發射系統遠程管控,它能方便的為技術人員提供播出設備的工作狀態,并根據管理需要進行遠程控制廣播電視無線發射有關設備的運行。
G S M; 遠程管控; 數據采集; A R M管理
如圖1所示,本系統中硬件主要有MCU、GSM模塊、數據采集、顯示、鍵盤、和存儲等組成。MCU采用AVR mega16。mega16是一款高性能、低功耗8位微處理器,1K片內SRAM完全可以接收容納一條短信內容。它的8路10位ADC可以完成發射機的電壓、電流、入射功率、反射功率等模數轉換。同時MCU還來完成顯示、鍵盤掃描、異常報警、信息的發送與接收、信息存儲、信息解析、以及控制開關。

圖1 系統組成
根據需要,我們要采集的數據包括機房內的溫度,發射機的工作電壓及發射機的入射功率和反射功率,MCU不斷的檢測這些參數,當某項參數出現異常后,MCU將發出報警聲并發出設備的報警信息,并將錯誤信息發送到指定的GSM手機終端上。
同時還可以根據我們的需要發送命令信息來了解機房內設備的工作情況,命令信息分為查詢命令和控制命令。當我們用手機發送查詢命令到本系統后,MCU將解析出是什么查詢命令(如“CHDY”查詢電壓), MCU將根據命令查詢機房相關設備的運行情況,并將查詢結果以短信息的形式發送給GSM手機終端上。如果我們發送到系統的是控制命令,MCU解析出控制命令并根據控制命令去打開或關閉相應的設備,并將完成情況回傳給手機終端。
系統命令格式為:命令名:參數。命令名和參數均為英文字符,手機終端輸入命令時命令中間不能有空格。當系統接收到命令并執行完命令完后會將結果回傳給GSM手機終端,如果不是本系統可以識別的命令,系統會將錯誤信息返回給手機終端。
本系統是一個對外開放的系統,系統安全很重要,所以本系統分為高級用戶、普通用戶和非法用戶。在系統接收到一條信息后,系統將發送信息者的號碼與E―PROM中保存的號碼相比較,然后分辨是什么用戶,如果是高級用戶,您就可以通過GSM手機終端設定本系統的狀態和工作值,如果是普通用戶,您只能查詢設備的工作情況,如果是非法用戶,本系統接收命令后將不做任何動作。
在本系統中,筆者選擇WAVECOM Q2303A GSM MODEM,這個模塊支持E-GSM/GPRS 900/1800MHz,具有符合V24協議的RS232接口,可以方便的與PC、單片機連機通訊。MODEM工作電壓范圍在3.6V,支持AT命令,適用于數據、傳真、短信息及話音的應用,完善的功能能夠很好的完成信息發送與接收。
GSM MODEM模塊對外的通信是一個RS-232接口,因為不能直接與MCU通信,我們在GSM MODEM與MCU加入一個由MAX232組成的電平轉換電路,如圖2所示,這樣GSM MODEM就可以與MCU通信,同時這樣也方便在PC上調試GSM MODEM時,只需把GSM MODEM與PC的串口相接即可進行調試,在PC上初次調試完成以后就可以接入MCU。

圖2 電平轉換電路
在硬件設計完成后,就要測試GSM MODEM的工作情況,這一步是為GSM MODEM接入本系統打好基礎。一般可以通過AT命令來測試GSM MODEM是否工作正常。完成這個測試的軟件有很多,也可以使用PC自帶超級終端完成測試,以下就以PC的超級終端來完成GSM MODEM的測試。
以Windwos XP操作系統為例,點擊“開始”→“附件”→“通訊”→“超級終端”打開超級終端,鍵入一個連接的名稱,按確定,下一步來選擇使用的COM口,并配置COM屬性時點擊“還原為默認值”,GSM默認波特率為9600bit/s,如果不能連接成功,可以選擇別的波特率,接下來點擊確定,連接成功以后就可以輸入AT命令。例如輸入“AT”回車,GSM MODEM就會返回“OK”。說明GSM MODEM工作基本正常,用戶可以根據自己的需要輸入AT命令設定GSM MODEM工作狀態。需要注意的是GSM MODEM的信號強度,如果信號強度不夠,GSM MODEM就不能完成信息的傳輸,輸入“AT+CSQ”回車(顯示強場),當返回的數值為99時表示無強場,模塊不能正常工作,當返回數值為0-31和0-7之間就可以工作。還可以輸入別的命令來測試GSM MODEM是否工作正常,具體的參考AT命令。
信息發送有兩個模式,TEXT模式和PDU模式,在EXET中,我們只可以傳送ASCII字符,不能傳送中文信息。在PDU模式中可以支持中文字符也可以支持ASCII字符,但是在信息發送接收程序中,TEXT模式要比PDU模式簡單一些,而且TEXT模式完全可以滿足系統要求,我們就以TEXT模式來完成信息的發送和遠程報警。信息發送和接收中主要用到以下AT命令,如表1所示。
1)輸入“AT+CMGF=1”設置為TEXT模式。2)輸入“AT+CMGS=?”發送信息到(?是指目地號碼)。3)等待GSM MODEM返回“>”。4)輸入信息“www.zztv.cn”和“Ctrl+Z”(ASCII碼為0x1A)。5)GSM MODEM返回“+CMGS: 15”和“OK”說明信息發送成功。
還提到一個AT命令“AT+CNMI”。這個命令是用來設置有新信息來時GSM模塊怎樣處理信息。

0:將指示消息保留在TA的緩存區,如果TA緩存區中指示信息已滿,指示信息將被緩存到其他地方或者老的指示信息被新收到的指示信息所覆蓋。
1:當TA-TE無法連接或者處于數據狀態時,將刪除指示信息并且拒絕接收新收到的指示信息,若TA-TE正常連接并處于命令狀態時,則直接將指示信息發至TE。
2:當TA-TE 無法連接或者處于數據狀態時,將指示消息保留在TA的緩存區中,否則將指示信息發至TE。若TA-TE 正常連接并處于命令狀態時,則直接將指示信息發至TE。
3:指示信息被直接儲存到TE。當TA處在線數據方式下,TA-TE具體(特定)的波段內連接被用于嵌入結果代碼和數據。
0:沒有新到達的SMS-DELIVER。
1:新到達的SMS-DELIVER被正確保存后,返回其存儲器及位置信息+CMTI:
2:新到達的SMS-DELIVER(除class2消息)直接發送至TE 端顯示。
3:class3的新SMS-DELIVER指示方式同
通以上命令我們可以設置G S M MODEM在收到信息時在什么樣的情況下通知MCU,根據需要我們在這里選擇“AT+CNMI=2,1”。當收到新信息時,GSM MODEM就會向串口輸出一個信息,例如“+CMTI: "SM",1”。這個信息就告訴我們信息存儲在SIM的第1個位置,這時輸入“AT+CMGR=1”就能讀出SIM中第一個位置的信息。
通過以上調試完成以后G S M MODEM就可以接入MCU,MCU與GSM MODEM的通信過程與在PC調試GSM MODEM過程是一致的,不同的是通過PC的超級終端發送的命令現在換成了MCU。只要MCU按照以上提到幾個信息發送和接收命令即可完成信息的發送和接收。

表1 主要A T命令表
在MCU啟動過程中,首先執行硬件的初始化,包括設置單片機的串口工作方式、波特率、變量參數和標志位以及單片機與GSM是否連通。GSM模初始化包括關閉回顯、設置為TEXT模式。單片機運行時不斷的采集數據,并分析其數據是否在正常的范圍內,如果數據出現異常或超過設定的值,MCU將把異常的數據發送到手機終端以供分析。如果運行過程中有信息到來,MCU將分析信息是控制命令還是查詢命令,如果是控制命令,MCU將會根據命令打開或關閉相應的設備。如果是查詢命令,MCU將會根據命令查詢相應的內容并返回給手機終端。主程序流程圖,如圖3所示。

圖3 主程序流程圖
信息接收程序框圖如圖4所示,當GSM模塊接收到一條新的信息時會向MCU串口發送信息的位置號。然后用AT+CMGR=“位置”讀出信息,讀出的信息經過MCU解析。解析后的命令如果是查詢命令,MCU根據命令去查詢相應的信息,如果是控制命令,MCU將根椐命令執行相應的功能。
信息發送程序框圖如圖5所示。在這里我們初始化發送模式為TEXT,然后發送信息目地號碼,系統要等待“>”,當系統收到“>”后就將緩沖區中內容傳送出去。在這里要注意,因為“>”返回的時間不定,所以設計程序要防止死循環。如果等待超時,系統將按照錯誤處理。

圖4 信息接收

圖4 信息發送
通過以上硬件和軟件的設計,系統經過測試實現了廣播電視無線發射設備的遠程管控,并且可以控制廣播電視無線發射設備的運行與關閉。為及時了解發射機設備的工作狀態提供數據,降低維護費用。
(河南省無線發射傳輸管理中心,鄭州 450003)