999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的SMS短消息收發系統

2012-09-26 02:27:56崔曉坤
電子設計工程 2012年21期
關鍵詞:系統

宋 維,崔曉坤

(廣東科學技術職業學院 廣東 廣州 510640)

短消息服務(Short Message Service)作為GSM網絡提供給用戶的一種基本的數字業務,已成為諸多領域遠程監控的一種通信手段。在很多應用場合中都通過PC機直接控制短消息收發模塊完成系統的數據采集或遠程信息傳輸,但對于偏遠地區、架設通信線路比較困難的地方,需要一種方便攜帶的設備控制短消息收發模塊[1]。系統通過在STM32上完成對短消息模塊的控制,提出了一種嵌入式短消息收發系統的實現方法。

本文討論一類通用的SMS短消息收發系統的實現方法,包含短消息調度和SMS短消息處理控制器的實現機制,特別對STM32嵌入式微處理器下短消息收發調度的實現過程和短消息處理狀態機進行了詳細討論。在嵌入式系統中,時間和并行性(concurrency)是必不可少的。通過對超時時間的控制和不同條件的切換,使得對短消息的收發處理在較小時間段內顯示出并發特性。能夠處理多條短消息同時控制的情況,具有良好的通用性。

1 系統的功能與結構

SMS是GSM系統提供給廣大移動用戶的一種雙向通信、具有一定的交互能力、占用GSM網絡的信令信道的數字業務。SMS提供了在GSM移動站臺(MS)與一個短消息實體(SME)之間通過服務中心(SC)傳送短消息的方法。SC提供了在MS與SME之間消息傳送的相互聯系和轉播的功能。SMS采用存儲轉發模式,短消息被發送出去之后,不是直接地發送給接收方,而是先存儲在短消息服務中心,然后再由服務中心將其轉發給接收方。如果接收方當時關機或不在服務區內,服務中心會自動保存該短消息,排隊并嘗試再次發送給接收方。由于短消息使用了服務中心的這種存儲和轉發機制,因此SMS具有較高的可靠性[2]。這也意味著GSM模塊收發SMS的響應速度受運營商服務中心的限制。因此,要提高響應速度,需要一個持續在線的終端一直運行。

系統在兩個短消息實體間增加本地SMSC(短消息服務中心),通過SMSC完成短消息的解析并執行相應的動作、控制、無線通信功能。確保GSM終端模塊持續運行,以提高響應速度。

系統由TC35i GSM模塊和運行在STM32微處理器上的短消息處理控制機兩部分組成。TC35i負責短消息的收發[3]。短消息處理控制機用來向GSM模塊發送或讀取TC35i收到的短消息,并執行相應的動作和控制。二者之間通過RS232串口實現數據交換。用戶可以利用手機通過GSM網絡和系統進行交互完成控制功能。

2 STM32片上資源的分配和使用

STM32是意法半導體基于Cortex-M3的32位嵌入式處理器,Cortex_M3核性價比高,價格低,可以與8位51核單片機競爭[3]。

處理器和GSM模塊之間通過RS232串口實現數據交換,TC35i集成了標準的RS232接口[4],通過MAX232芯片做電平轉換,與處理器USART接口進行通信。因此處理器需要提供兩個串行通信接口,其中一個串口用于和GSM模塊進行通信,另一個串口用于和上位機軟件交換數據或調試。在處理器選型時需要考慮這個問題,而STM32全系列微處理器均能滿足這個要求。系統選用的處理器型號為F103RBT6,該產品系列帶有128 k片內FLASH,20 kRAM,無需外擴存儲器即可以滿足系統對于多條控制短消息同時處理耗費內存空間的需要。STM32F103RB帶有3個USART接口,可以滿足系統對串口資源的需求[3]。芯片帶有4個獨立定時器,1個RTC實時時鐘,系統只用到其中2路:1路用于產生較準確的系統延時,用于一般延時定時和狀態切換超時判斷。一路用于通過定時輪詢方式讀取短消息。GSM模塊短消息收發和運行狀態的監測通過USART的中斷處理程序實現。

3 SMS短消息控制狀態機的實現

由于系統旨在完成一類通用的SMS短消息控制機實現方法,因此在系統實現時從邏輯上將SMS提供方和使用方剝離,將發送子系統和接收子系統分離。這通過兩個全局隊列實現,發送隊列和接收隊列。

定義一個結構體類型:

作為短消息的基本數據單元。

并定義SMS_PDU類型的隊列,分別作為發送隊列和接收隊列,即,SMS_PDU類型的結構體數組。如下:

以上定義均為全局隊列。對全局變量的操作會涉及到并發和多線程訪問技術,本系統考慮到實時性采用前后臺系統實現方式,通過STM32多路定時和中斷功能來完成多線程的模擬,主程序調用一個無限循環的控制器處理函數,在控制器循環中調用相應的驅動函數完成相應的功能。同時中斷系統作為前臺,遇到外部觸發條件則立即構造短消息并加入到輸出隊列中。

對發送隊列緩沖區的操作分為入隊操作和出隊操作,入隊操作是由外部采集模塊產生的中斷事件,在該中斷的處理例程中構造好具有發送具體內容PDU編碼、目標手機號等資訊的結構體,并將構造好的結構體存放到發送隊列中,此時一旦主程序中的短消息控制器在進行收發處理完畢后處于idle狀態,將立即切換到開始發送狀態,完成對發送隊列中歷史積累SMS的發送處理,在發送前首先進行出隊操作。

對接收隊列緩沖區的操作也分為輸入和輸出部分。系統設定條件為一旦狀態機處于idle狀態達到5 ms時間 (意味著發送隊列中待發短消息已全部處理完畢)則狀態切換到開始接收狀態,即通過AT指令從模塊讀取短消息協議數據單元,解析為SMS_PDU格式并將其放入接收隊列。輸出部分主要通過定時器設置10 ms輪詢,一旦有解析好的短消息到來,則馬上控制被控設備產生相應動作。

系統實現中,通過main函數調用短消息控制器循環運作狀態遷移轉換處理程序來實時完成與GSM模塊的交互,通過TIM2中斷處理例程完成對接收隊列中已到達短消息的調度(dispatch)處理,該處理程序會根據接收到的短消息內容的不同來實現具體的控制功能。發送SMS時,也采用類似的中斷方式和隊列形式來完成多線程的模擬。為了防止對接收指令的誤響應和減小與模塊交互讀取時間,每次接收短消息后都將GSM模塊上已收短消息刪除。

系統采用狀態機來實現不同狀態處理的切換,過程中短消息數據收發的狀態遷移圖如圖1所示。

4 STM32處理控制機與GSM模塊的交互

STM32[5]通過AT指令完成與GSM模塊交互。與GSM模塊交互讀取短消息有多種方式,如AT+CMGR;AT+CMGL[5]等。由于多個用戶可以同時操作,考慮到可能到來的多條短消息,系統中使用CMGL AT指令完成STM32對GSM模塊的通信操作,以便利一次讀取,提高系統的響應速度。

CMGL指令在SMS PDU mode下的格式如下:

SMS規范中定義了message_status的5種不同狀態下的操作[7]:

0表示已接收到的未讀短信,

1表示已接收到的已讀短信,

2表示已存儲的未發送短信,

3表示已存儲的已發送短信,

4表示列出全部SMS短信。

如果GSM模塊成功從存儲區讀到短消息,將會返回到形如:

圖1 SMSC狀態機Fig.1 SMSC state machine

格式的反饋信息。其中+CMGL后第一個1所在字段作為索引index,指示短消息在短消息存儲區中的位置。注意這個位置小并不表明該短消息是先到達的控制短消息。第二個1所在的字段指示短消息的狀態,同上述message_status的狀態,但只有0~4的取值范圍。24所在字段指示僅隨其后的的TPDU編碼的有效部分長度,以10進制表示。如果CMGL后面不加“=”號和任何數字,默認為“CMGL=0”的效果。系統中根據TPDU編碼的內容進行解析,并將解析結果保存到一個臨時SMS_PDU結構體類型的數據單元中。然后交由短消息處理狀態機保存到隊列中進行處理。

5 結束語

由于GSM模塊收發SMS的響應速度受運營商服務的限制,短消息控制器的狀態設計中需要把發送AT指令給模塊和從GSM模塊收到響應字符串區分為兩種不同的狀態,以及區分其它預備和執行狀態,并利用MPU定時器產生精準毫秒延時來判定響應是否超時。但這只能提高狀態切換精度,無法保證SMS服務響應的時間精度,即,系統必須等待GSM模塊返回響應信息,這意味著系統實時性的高低瓶頸仍然取決與運營商。

[1]李秀紅,黃天戍,孫忠富,等.基于GPRS/SMS的嵌人式環境監測系統[J].吉林大學學報:工學版,2007,37(6):1410-1414.

LI Xiu-hong,HUANG Tian-xu,SUN Zhong-fu,et al.Embedded environment monitoring system based on GPRS and SMS[J].JournalofJilin University:Engineeringand Technology Edition,2007,37(6):1410-1414.

[2]馬玉春,孫冰,王建明.GSM模塊的綜合應用研究[J].計算機應用與軟件,2008,25(2):68-70.

MA Yu-chun,SUN Bing,WANG Jian-ming.General application research on GSM module[J].Computer Applications and Software,2008,25(2):68-70.

[3]宋維,崔曉坤.基于STM32的GSM模塊綜合應用[J].電腦知識與技術,2012,18(8):4536-4537.

SONG Wei,CUI Xiao-kun.Comprehensive application of STM32 based on GSM module[J].Computer Knowledge and Technology,2012,18(8):4536-4537.

[4]呂芳,胡林靜,臧琛.基于TC35 GSM的汽車防盜報警系統的軟件設計[J].測控技術,2009,28(Z1):125-127.

LV Fang,HU Lin-jing,ZANG Chen.Software design of guard against theft and alarm system of automobile based on the GSM[J].Measurement&Control Technology,2009,28(Z1):125-127.

[5]胡錦霖,曾上游,王亮,等.基于STM32處理器的數字PDA系統設計[J].現代電子技術,2012(4):75-77.

HU Jin-lin,ZENG Shang-you,WANG Liang,et al.Design of digital PDA system based on STM32 processor[J].Modern Electronic Technique,2012(4):75-77.

[6]SIEMENS.TC35i AT Command Set Siemens Cellular Engines version 03.01[EB/OL].(2005-09)[2012-07-06].http://www.portech.com.tw/data/Siemens%20TC35I_AT.pdf.

[7]ETSI.GSM 07.05 version 5.0.0[EB/OL].(1996-07)[2012-07-06].http://www.etsi.org/deliver/etsi_gts/07/0705/05.00.00_60/gsmts_0705v050000p.pdf.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 中文无码伦av中文字幕| 伊人久久青草青青综合| 国产一区二区福利| 黄色三级毛片网站| 亚洲精品第1页| 国产精品性| 婷婷色婷婷| 亚洲啪啪网| 99精品久久精品| 亚洲第七页| 自拍偷拍欧美| 日韩色图在线观看| 夜夜操天天摸| 国产成人久久综合一区| 免费一级毛片在线观看| 国产真实乱子伦精品视手机观看| 亚洲中文字幕日产无码2021| 久久精品国产免费观看频道| 久久精品中文字幕少妇| 国产亚洲欧美日本一二三本道| jizz亚洲高清在线观看| 91精品最新国内在线播放| 国产va在线观看免费| 国产高潮流白浆视频| 久久天天躁狠狠躁夜夜2020一| 亚洲开心婷婷中文字幕| 91久久青青草原精品国产| 日韩国产黄色网站| 人妖无码第一页| 亚洲欧美精品在线| 国产欧美日韩综合在线第一| 性欧美精品xxxx| 亚洲成人播放| 亚洲欧美自拍中文| 久久精品丝袜高跟鞋| 免费亚洲成人| 亚洲精品无码不卡在线播放| 人妻免费无码不卡视频| 日本不卡视频在线| 日韩精品成人在线| 亚洲成年人网| 国产精品第一区在线观看| 国产精品林美惠子在线播放| 中国一级特黄视频| 欧美成人A视频| 99国产精品一区二区| 亚洲无卡视频| 国产男女免费视频| 欧美精品影院| 国产成人综合亚洲欧美在| 国产人成在线观看| 久久人体视频| 91久久偷偷做嫩草影院精品| 伊人久久精品无码麻豆精品 | 国产一区免费在线观看| 免费一级毛片不卡在线播放| 日本午夜影院| 久久综合伊人 六十路| 青青热久麻豆精品视频在线观看| 亚洲男人在线天堂| 久久人人爽人人爽人人片aV东京热| 黑人巨大精品欧美一区二区区| 狠狠色狠狠综合久久| 久久久久国产精品嫩草影院| 中文字幕av一区二区三区欲色| 伊人久综合| 亚洲欧美一区二区三区麻豆| 成人国产三级在线播放| 九九精品在线观看| a级毛片免费看| 手机成人午夜在线视频| 亚洲成A人V欧美综合天堂| 高清色本在线www| 四虎永久在线视频| 久久精品电影| 1024国产在线| 成人午夜视频网站| 一级香蕉人体视频| 国产爽爽视频| 成人免费一级片| 自慰网址在线观看| 国产精品女熟高潮视频|