<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于STM32的SMS短消息收發(fā)系統(tǒng)

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

          作者: 時間:2012-12-22 來源:網(wǎng)絡(luò) 收藏

          摘要:短消息服務(wù)作為GSM網(wǎng)絡(luò)提供的一種基本服務(wù),已成為諸多領(lǐng)域遠程控制的一種通信手段。討論一類通用的系統(tǒng)的實現(xiàn)方法,主要內(nèi)容包含短消息調(diào)度和短消息處理控制機制。特別對微處理器下調(diào)度的實現(xiàn)過程與短消息處理進行了詳細討論。通過對超時時間的控制和不同條件的切換,使得對短消息的收發(fā)處理動作在一個時間段內(nèi)顯示出并發(fā)特性。
          關(guān)鍵詞:;

          短消息服務(wù)(Short Message Senice)作為GSM網(wǎng)絡(luò)提供給用戶的一種基本的數(shù)字業(yè)務(wù),已成為諸多領(lǐng)域遠程監(jiān)控的一種通信手段。在很多應(yīng)用場合中都通過PC機直接控制短消息收發(fā)模塊完成系統(tǒng)的數(shù)據(jù)采集或遠程信息傳輸,但對于偏遠地區(qū)、架設(shè)通信線路比較困難的地方,需要一種方便攜帶的設(shè)備控制短消息收發(fā)模塊。系統(tǒng)通過在上完成對短消息模塊的控制,提出了一種嵌入式短消息收發(fā)系統(tǒng)的實現(xiàn)方法。
          本文討論一類通用的SMS短消息收發(fā)系統(tǒng)的實現(xiàn)方法,包含短消息調(diào)度和SMS短消息處理控制器的實現(xiàn)機制,特別對STM32嵌入式微處理器下短消息收發(fā)調(diào)度的實現(xiàn)過程和短消息處理進行了詳細討論。在嵌入式系統(tǒng)中,時間和并行性(concurrency)是必不可少的。通過對超時時間的控制和不同條件的切換,使得對短消息的收發(fā)處理在較小時間段內(nèi)顯示出并發(fā)特性。能夠處理多條短消息同時控制的情況,具有良好的通用性。

          1 系統(tǒng)的功能與結(jié)構(gòu)
          SMS是GSM系統(tǒng)提供給廣大移動用戶的一種雙向通信、具有一定的交互能力、占用GSM網(wǎng)絡(luò)的信令信道的數(shù)字業(yè)務(wù)。SMS提供了在GSM移動站臺(MS)與一個短消息實體(SME)之間通過服務(wù)中心(SC)傳送短消息的方法。SC提供了在MS與SME之間消息傳送的相互聯(lián)系和轉(zhuǎn)播的功能。SMS采用存儲轉(zhuǎn)發(fā)模式,短消息被發(fā)送出去之后,不是直接地發(fā)送給接收方,而是先存儲在短消息服務(wù)中心,然后再由服務(wù)中心將其轉(zhuǎn)發(fā)給接收方。如果接收方當(dāng)時關(guān)機或不在服務(wù)區(qū)內(nèi),服務(wù)中心會自動保存該短消息,捧隊并嘗試再次發(fā)送給接收方。由于短消息使用了服務(wù)中心的這種存儲和轉(zhuǎn)發(fā)機制,因此SMS具有較高的可靠性。這也意味著GSM模塊收發(fā)SMS的響應(yīng)速度受運營商服務(wù)中心的限制。因此,要提高響應(yīng)速度,需要一個持續(xù)在線的終端一直運行。
          系統(tǒng)在兩個短消息實體間增加本地SMSC(短消息服務(wù)中心),通過SMSC完成短消息的解析并執(zhí)行相應(yīng)的動作、控制、無線通信功能。確保GSM終端模塊持續(xù)運行,以提高響應(yīng)速度。
          系統(tǒng)由TC35i GSM模塊和運行在STM32微處理器上的短消息處理控制機兩部分組成。TC35i負(fù)責(zé)短消息的收發(fā)。短消息處理控制機用來向GSM模塊發(fā)送或讀取TC35i收到的短消息,并執(zhí)行相應(yīng)的動作和控制。二者之間通過RS232串口實現(xiàn)數(shù)據(jù)交換。用戶可以利用手機通過GSM網(wǎng)絡(luò)和系統(tǒng)進行交互完成控制功能。

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

          3 SMS短消息控制狀態(tài)機的實現(xiàn)
          由于系統(tǒng)旨在完成一類通用的SMS短消息控制機實現(xiàn)方法,因此在系統(tǒng)實現(xiàn)時從邏輯上將SMS提供方和使用方剝離,將發(fā)送子系統(tǒng)和接收子系統(tǒng)分離。這通過兩個全局隊列實現(xiàn),發(fā)送隊列和接收隊列。
          定義一個結(jié)構(gòu)體類型:
          a.JPG
          作為短消息的基本數(shù)據(jù)單元。
          并定義SMS_PDU類型的隊列,分別作為發(fā)送隊列和接收隊列,即,SMS_PDU類型的結(jié)構(gòu)體數(shù)組。如下:
          SMS_PDU m_QuerySend[MAX_SMS_SEND];
          SMS_PDU m_QueryRecv[MAX_SMS_RECV];
          以上定義均為全局隊列。對全局變量的操作會涉及到并發(fā)和多線程訪問技術(shù),本系統(tǒng)考慮到實時性采用前后臺系統(tǒng)實現(xiàn)方式,通過STM32多路定時和中斷功能來完成多線程的模擬,主程序調(diào)用一個無限循環(huán)的控制器處理函數(shù),在控制器循環(huán)中調(diào)用相應(yīng)的驅(qū)動函數(shù)完成相應(yīng)的功能。同時中斷系統(tǒng)作為前臺,遇到外部觸發(fā)條件則立即構(gòu)造短消息并加入到輸出隊列中。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();