隨著通信技術的發展,基於移動通信網絡的服務功能正向工業控制和遙控領域擴展。為了適應這種需要,西門子公司推出新壹代TC35i型無線通信GSM模塊,基於該模塊的短消息功能,可以快速、安全、可靠地實現用戶信息處理等功能,特別適用於控制中心與終端設備距離很遠或不便采用有線通信介質的場合。該系統由控制中心和若幹顯示屏組成,控制中心實時將最新信息發送到各顯示屏,構成控制中心與顯示屏端的通信鏈路。
2 TC35i與單片機的硬件接口電路
TC35i可以快速安全可靠地實現系統方案中的數據、語音傳輸、短消息服務和傳真。模塊的工作電壓為3.3 V~5.5 V,可以工作在900 MHz~1800MHz。模塊有AT命令集接口,支持文本和PDU模式的短消息。此外,該模塊還具有電話薄、多方通話、漫遊檢測等功能,常用工作模式有省電模式、I-DLE和TALK等模式。通過40引腳的ZIF連接器實現電源連接、指令、數據、語音信號及控制信號的雙向傳輸。通過ZIF連接器及50 Ω的天線連接器可分別連接SIM卡支架和天線。
在控制系統中,采用AT89C51型單片機同時擴展RAM6264用於存放與顯示屏對應的要顯示的128 B數據以及從GSM模塊讀取的信息。為了增大存放數據的容量,本設計采用了AM29F040型FlashMemory(512 KB),它存儲容量大、集成度高、成本低,具有靈活的讀寫性和較好的數據非易失性。它有15條地址線,其中低8位地址由P0口經74HC373鎖存後提供,高11位地址由P2口與P1.4、P1.5、P1.6***同提供。8位數據由PO口直接提供。
采用動態掃描方式,用74HCl54及74HC595進行16行的逐行掃描,利用人眼的視覺暫留效果,可以節省I/O資源,減少發熱量。
3 工作原理
如圖l所示,在接收終端,單片機通過讀取TC35i模塊以短消息形式承載的數據,經處理後把它顯示到 LED顯示屏上。因為短信息中的漢字僅僅是1個編碼,單片機應用系統將編碼變為漢字點陣數據,必須配置漢字字庫。因此,設計單片機應用系統時,控制中心編輯PDU數據包數據,采用自定義數據方式。其中,代表漢字的數據直接用漢字的機內碼,系統配置的字庫為GB-2312編碼的漢字庫,即區位碼漢字庫。下面通過對存儲在手機中的待發信息的分析來介紹SMSPDU的數據格式。首先,用手機寫壹條信息,發送手機號碼為13605696031,信息內容為 “HelloWorld!”。通過執行AT+CMGL=2可以讀出此條信息。 操作過程如下(斜體字符為響應信息,{}內為註釋): 單片機與手機的軟件接口其實就是單片機通過與GSM短信息有關的AT指令控制手機的技術,如讀取手機的短信息內容、刪除短信息內容、列出手機中還未讀的短消息等。執行l條指令,並非某些資料介紹的那麽簡單,事實上,指令的執行過程需要單片機與手機交互應答完成,每壹次發送或接收的字節數有嚴格的規定,二者必須依據這些規定實現數據交換,否則,通信就是失敗的。表l列出AT指令執行過程。 所有AT指令的指令符號、常數、PDU數據包等都以ASCⅡ編碼形式傳送,比如“A”的ASCⅡ編碼為41H,“T”的ASCⅡ編碼為54H,數字“0”的ASCⅡ編碼為30H等。 單片機控制手機工作,必須把手機的短信息工作模式設置為PDU格式,即通過指令AT+CMGF=0完成。 單片機向手機發送每l條指令後,必須以回車符作為該條指令的結束,回車的ASCⅡ編碼為ODH,例如單片機向手機發送“AT+CMGF=0"指令,其ASCⅡ編碼列為“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最後1個字節0DH就是回車符,表示該條指令結束,如果沒有這個回車符,手機將不識別這條指令。 當手機接收到壹條完整的AT指令後,手機並不立即執行這條指令,而是首先把剛才接收到的AT指令的全部ASCⅡ編碼序列全部反發送出來(含ODH),其次發送1個回車符和換行符的ASCⅡ編碼即0DH和OAH,最後執行該條指令。 手機向單片機發送短信息內容時,其PDU數據包的內容是16進制表示的數據,但並不是直接向單片機傳遞16進制數據,而是仍然把每壹位16進制數以ASCⅡ編碼來發送,這樣,2個字節的16進制數就變成4個字節的ASCⅡ碼。但是,PDU數據包中的數據字節長度部分仍然是實際字節長度,而不是變成ASCⅡ碼的字節長度,這在編程時應特別註意,否則,接收的數據就不完整。單片機接收到PDU數據包數據後,必須將其恢復成16進制數據,其算法如下: 設a為接收的ASCⅡ碼.b為轉換後的16進制數,那麽,如果a<39H,則b=a-30H;如果a>39H,則b=a-30H-07H。最後把前後2個數合並為1個字節。 妳在去核實下 !應該是 完全的對 ! 謝謝采納!