亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的SMS短消息收發(fā)系統(tǒng)

        2012-09-26 02:27:56崔曉坤
        電子設(shè)計(jì)工程 2012年21期
        關(guān)鍵詞:短消息響應(yīng)速度狀態(tài)機(jī)

        宋 維,崔曉坤

        (廣東科學(xué)技術(shù)職業(yè)學(xué)院 廣東 廣州 510640)

        短消息服務(wù)(Short Message Service)作為GSM網(wǎng)絡(luò)提供給用戶的一種基本的數(shù)字業(yè)務(wù),已成為諸多領(lǐng)域遠(yuǎn)程監(jiān)控的一種通信手段。在很多應(yīng)用場(chǎng)合中都通過PC機(jī)直接控制短消息收發(fā)模塊完成系統(tǒng)的數(shù)據(jù)采集或遠(yuǎn)程信息傳輸,但對(duì)于偏遠(yuǎn)地區(qū)、架設(shè)通信線路比較困難的地方,需要一種方便攜帶的設(shè)備控制短消息收發(fā)模塊[1]。系統(tǒng)通過在STM32上完成對(duì)短消息模塊的控制,提出了一種嵌入式短消息收發(fā)系統(tǒng)的實(shí)現(xiàn)方法。

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

        1 系統(tǒng)的功能與結(jié)構(gòu)

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

        系統(tǒng)在兩個(gè)短消息實(shí)體間增加本地SMSC(短消息服務(wù)中心),通過SMSC完成短消息的解析并執(zhí)行相應(yīng)的動(dòng)作、控制、無線通信功能。確保GSM終端模塊持續(xù)運(yùn)行,以提高響應(yīng)速度。

        系統(tǒng)由TC35i GSM模塊和運(yùn)行在STM32微處理器上的短消息處理控制機(jī)兩部分組成。TC35i負(fù)責(zé)短消息的收發(fā)[3]。短消息處理控制機(jī)用來向GSM模塊發(fā)送或讀取TC35i收到的短消息,并執(zhí)行相應(yīng)的動(dòng)作和控制。二者之間通過RS232串口實(shí)現(xiàn)數(shù)據(jù)交換。用戶可以利用手機(jī)通過GSM網(wǎng)絡(luò)和系統(tǒng)進(jìn)行交互完成控制功能。

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

        STM32是意法半導(dǎo)體基于Cortex-M3的32位嵌入式處理器,Cortex_M3核性價(jià)比高,價(jià)格低,可以與8位51核單片機(jī)競(jìng)爭(zhēng)[3]。

        處理器和GSM模塊之間通過RS232串口實(shí)現(xiàn)數(shù)據(jù)交換,TC35i集成了標(biāo)準(zhǔn)的RS232接口[4],通過MAX232芯片做電平轉(zhuǎn)換,與處理器USART接口進(jìn)行通信。因此處理器需要提供兩個(gè)串行通信接口,其中一個(gè)串口用于和GSM模塊進(jìn)行通信,另一個(gè)串口用于和上位機(jī)軟件交換數(shù)據(jù)或調(diào)試。在處理器選型時(shí)需要考慮這個(gè)問題,而STM32全系列微處理器均能滿足這個(gè)要求。系統(tǒng)選用的處理器型號(hào)為F103RBT6,該產(chǎn)品系列帶有128 k片內(nèi)FLASH,20 kRAM,無需外擴(kuò)存儲(chǔ)器即可以滿足系統(tǒng)對(duì)于多條控制短消息同時(shí)處理耗費(fèi)內(nèi)存空間的需要。STM32F103RB帶有3個(gè)USART接口,可以滿足系統(tǒng)對(duì)串口資源的需求[3]。芯片帶有4個(gè)獨(dú)立定時(shí)器,1個(gè)RTC實(shí)時(shí)時(shí)鐘,系統(tǒng)只用到其中2路:1路用于產(chǎn)生較準(zhǔn)確的系統(tǒng)延時(shí),用于一般延時(shí)定時(shí)和狀態(tài)切換超時(shí)判斷。一路用于通過定時(shí)輪詢方式讀取短消息。GSM模塊短消息收發(fā)和運(yùn)行狀態(tài)的監(jiān)測(cè)通過USART的中斷處理程序?qū)崿F(xiàn)。

        3 SMS短消息控制狀態(tài)機(jī)的實(shí)現(xiàn)

        由于系統(tǒng)旨在完成一類通用的SMS短消息控制機(jī)實(shí)現(xiàn)方法,因此在系統(tǒng)實(shí)現(xiàn)時(shí)從邏輯上將SMS提供方和使用方剝離,將發(fā)送子系統(tǒng)和接收子系統(tǒng)分離。這通過兩個(gè)全局隊(duì)列實(shí)現(xiàn),發(fā)送隊(duì)列和接收隊(duì)列。

        定義一個(gè)結(jié)構(gòu)體類型:

        作為短消息的基本數(shù)據(jù)單元。

        并定義SMS_PDU類型的隊(duì)列,分別作為發(fā)送隊(duì)列和接收隊(duì)列,即,SMS_PDU類型的結(jié)構(gòu)體數(shù)組。如下:

        以上定義均為全局隊(duì)列。對(duì)全局變量的操作會(huì)涉及到并發(fā)和多線程訪問技術(shù),本系統(tǒng)考慮到實(shí)時(shí)性采用前后臺(tái)系統(tǒng)實(shí)現(xiàn)方式,通過STM32多路定時(shí)和中斷功能來完成多線程的模擬,主程序調(diào)用一個(gè)無限循環(huán)的控制器處理函數(shù),在控制器循環(huán)中調(diào)用相應(yīng)的驅(qū)動(dòng)函數(shù)完成相應(yīng)的功能。同時(shí)中斷系統(tǒng)作為前臺(tái),遇到外部觸發(fā)條件則立即構(gòu)造短消息并加入到輸出隊(duì)列中。

        對(duì)發(fā)送隊(duì)列緩沖區(qū)的操作分為入隊(duì)操作和出隊(duì)操作,入隊(duì)操作是由外部采集模塊產(chǎn)生的中斷事件,在該中斷的處理例程中構(gòu)造好具有發(fā)送具體內(nèi)容PDU編碼、目標(biāo)手機(jī)號(hào)等資訊的結(jié)構(gòu)體,并將構(gòu)造好的結(jié)構(gòu)體存放到發(fā)送隊(duì)列中,此時(shí)一旦主程序中的短消息控制器在進(jìn)行收發(fā)處理完畢后處于idle狀態(tài),將立即切換到開始發(fā)送狀態(tài),完成對(duì)發(fā)送隊(duì)列中歷史積累SMS的發(fā)送處理,在發(fā)送前首先進(jìn)行出隊(duì)操作。

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

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

        系統(tǒng)采用狀態(tài)機(jī)來實(shí)現(xiàn)不同狀態(tài)處理的切換,過程中短消息數(shù)據(jù)收發(fā)的狀態(tài)遷移圖如圖1所示。

        4 STM32處理控制機(jī)與GSM模塊的交互

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

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

        SMS規(guī)范中定義了message_status的5種不同狀態(tài)下的操作[7]:

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

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

        2表示已存儲(chǔ)的未發(fā)送短信,

        3表示已存儲(chǔ)的已發(fā)送短信,

        4表示列出全部SMS短信。

        如果GSM模塊成功從存儲(chǔ)區(qū)讀到短消息,將會(huì)返回到形如:

        圖1 SMSC狀態(tài)機(jī)Fig.1 SMSC state machine

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

        5 結(jié)束語

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

        [1]李秀紅,黃天戍,孫忠富,等.基于GPRS/SMS的嵌人式環(huán)境監(jiān)測(cè)系統(tǒng)[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,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模塊的綜合應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件,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模塊綜合應(yīng)用[J].電腦知識(shí)與技術(shù),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的汽車防盜報(bào)警系統(tǒng)的軟件設(shè)計(jì)[J].測(cè)控技術(shù),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處理器的數(shù)字PDA系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),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.

        猜你喜歡
        短消息響應(yīng)速度狀態(tài)機(jī)
        Kubernetes容器集群環(huán)境下新型供電系統(tǒng)響應(yīng)速度優(yōu)化
        基于高速相位調(diào)制器的超快偏振控制
        光通信研究(2020年2期)2020-06-15 07:42:58
        基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
        電磁閥響應(yīng)速度的影響因素
        試論電視新聞短消息的采寫策略
        新聞傳播(2018年14期)2018-11-13 01:12:58
        淺談廣播短消息的采寫
        新聞傳播(2018年1期)2018-04-19 02:09:00
        短消息業(yè)務(wù)評(píng)估體系的研究與實(shí)現(xiàn)
        iPhone如何群發(fā)短消息
        電腦迷(2012年13期)2012-04-29 19:26:28
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        91久久大香伊蕉在人线国产| 国产亚洲精品美女久久久久| 日本五十路人妻在线一区二区| 97超碰国产成人在线| 4hu四虎永久免费地址ww416| 青青草原亚洲| 俺去俺来也在线www色官网| 国产免费丝袜调教视频| 国精品无码一区二区三区在线看| 日本一区二区三区小视频| 日本av一级视频在线观看| 亚洲av高清一区二区三区| 丰满少妇在线播放bd| 欧美丰满熟妇bbbbbb| 国产成人精品一区二区三区视频 | 国产精品国产三级国产av主| 国产精品综合色区av| 国产av在线观看91| 自拍偷拍韩国三级视频| 日韩中文字幕一区二区二区| 国产欧美性成人精品午夜| 亚洲精品无码国产| 亚洲另类自拍丝袜第五页| 成年奭片免费观看视频天天看| 精品国精品自拍自在线| 国产精女同一区二区三区久| 精品国产亚洲亚洲国产| 亚洲av无码成人精品区狼人影院| 亚洲女初尝黑人巨高清 | 成人国产精品免费视频| 国产va免费精品高清在线观看| 和少妇人妻邻居做爰完整版| 日本成年一区久久综合| 色爱情人网站| 亚洲乱色伦图片区小说| 国产精品久久国产三级国不卡顿| 亚洲AV肉丝网站一区二区无码| 久久精品国产白丝爆白浆| 日本视频在线观看一区二区| 久久久久国色av免费观看性色| 老司机在线精品视频网站|