GSM系統是目前基于時分多址技術的移動通信體制中比較成熟、完善、應用最廣泛的一種系統,GSM的短信息系統以其快捷方便而且廉價的特點擁有廣泛的用戶,同時也為遠程監控提供了一種新的技術手段。利用GSM短信息(SMS)進行遠程監控具有投資少、成本低、可靠性高等特點,在一些對操作和監控的實時性要求不高的情況下具有很高的性價比。 無線GSM通信模塊TC35T TC35T是SIEMENS公司推出的GSM專用調制解調器,主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口六部分組成,可完成語音、數據、短消息以及傳真的傳送。TC35T具有標準的工業接口和完整的SIM卡閱讀器,因此使用非常簡單,其結構如圖1所示。 GSM遠程監控原理和實現 GSM遠程監控系統由控制端和受控端兩部分組成,如圖2所示,控制端可以是手機,也可以用TC35T模塊和PC組成。 在本設計中,受控端由單片機、GSM模塊、檢測部分、控制部分組成。其中PC用于監視與控制,主控程序通過GSM模塊TC35T對受控設備發出短信息。受控端的GSM模塊TC35T接收短信息后,通過串行口R232傳給單片機,單片機根據接收到的短信息進行處理,從中提取控制命令,再對被控設備進行相應的操作控制。受控設備的狀態信息也是以短信息的形式通過GSM模塊發送給短信息服務中心(SMSC),再由短信息服務中心發送給PC。PC收到短信息后,根據短信息的內容可發回短信息進行控制。 AT指令介紹 AT指令集是由諾基亞、愛立信、摩托羅拉和HP等廠家共同為GSM系統研制的,其中包含了短信息的控制。對SMS的控制共有三種實現途徑:Block模式、Text模式和PDU模式。Text模式比較簡單,很多諾基亞手機支持該模式,但缺點是不能收發中文短信。發送和接收中文或中/英文混合的短信息必須采用PDU模式,短信息正文經過十六進制編碼后進行傳送。在本設計要實現中文短消息的傳送和接收處理,因此采用PDU模式來發送接收短信息。 由移動終端發起時(即發送)的PDU格式為: 以移動終端為目的時的PDU格式為: 其中,SMSC為短信息業務中心地址,DA/OA為源/目的地址,PID為協議識別,DCS為數據編碼,UDL為用戶數據長度,UD為用戶數據,VP為有效時間,MR指明是發出信息,SCTS指明短信息到達業務中心的時間。 軟件編程 軟件編程分為控制端(PC和TC35T)編程和受控端(單片ATMEGA128和TC35T)編程。PC機端的軟件采用VC編程,主要包括控制界面、接收/發送短信息、數據處理。PC以十六進制發送數據,TC35T再以短信息的格式通過SMSC短信息中心發給受控端的TC35T。控制端的TC35T接收短信息后,PC只要發送一條AT+CMGL=0 0D 0A查詢命令即可,0D與0A分別是回車、換行。 受控端采用實時嵌入式操作系統 μC/OS-II,軟件分為與操作系統和處理器相關的代碼移植部分和應用程序軟件。受控端硬件和軟件的結構如圖3所示。 在ATMEGA128和C編譯器ICCAVR滿足了μC/OS-II要求的前提下,移植的工作主要包括以下內容:用#define設置一個常量的值(OS_CPU.H);聲明10個數據類型(OS_CPU.H);用#define聲明三個宏(OS_CPU.H);用C語言編寫六個簡單的函數(OS_CPU_C.C);編寫四個匯編語言函數(OS_CPUC_A.ASM)。 μC/OS-II總是運行就緒條件下優先級最高的任務,最多可以管理64個任務,其中保留了8個給系統。系統的工作過程就是在內核的管理下,根據就緒態任務的優先級來運行程序,始終在執行最重要的任務。在設計中要將系統功能分割成幾個部分,按照各部分完成任務的重要性來確定任務的優先級。 本系統按照其所能實現的功能可以分為七個任務,其優先級從高到低依次為建立任務的任務、初始化任務、監控任務、異常情況處理任務、短消息接收任務、短消息處理任務、短消息發送任務,再加上兩個系統本身所固有的空閑任務、統計任務(空閑任務的優先級最低,其次為統計任務),系統的任務總數為九個。 主程序的任務主要是初始化操作系統和建立一個建立任務的任務,啟動多任務,下面是應用程序主程序的代碼。 void main(void) { OSInit(); OSTaskCreateExt( TaskStart, (void*)0, &TaskStartStk[TASK_STK_SIZE-1], TASK_START_PRIO, TASK_START_ID, &TaskStartStk[0], TASK_STK_SIZE, (void *)0, OS_TASK_OPT_STK_CHR|OS_ TASK_OPT_STK_CLR); OSSTart(); } 本系統采用GSM模塊TC35T實現遠程監控,具有實現簡單、成本低、通信范圍廣和傳輸可靠等優點,具有廣泛的應用前景。 |