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