www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]提出一種在嵌入式系統(tǒng)中實現(xiàn)短消息實時處理的方法,用ATmegal28單片機(jī)控制GSM模塊,通過設(shè)置發(fā)送端和接收端的參數(shù)配置,使短消息不經(jīng)過SIM卡而直接發(fā)送至單片機(jī)。

摘  要:提出一種在嵌入式系統(tǒng)中實現(xiàn)短消息實時處理的方法,用ATmegal28單片機(jī)控制GSM模塊,通過設(shè)置發(fā)送端和接收端的參數(shù)配置,使短消息不經(jīng)過SIM卡而直接發(fā)送至單片機(jī)。短消息格式為PDU方式,增加了通用性。利用ATmegal28快速處理能力,結(jié)合狀態(tài)機(jī)的程序設(shè)計方法,在接收程序中解析出必要的信息,從而實現(xiàn)短消息的快速處理。
關(guān)鍵詞:ATmegal28 短消息 實時處理

引 言
    GSM數(shù)字蜂窩移動通信技術(shù)已得到成熟而廣泛的應(yīng)用,目前已建成的覆蓋全國的GSM數(shù)字蜂窩移動通信網(wǎng),是我國公眾移動通信網(wǎng)的重要方式。它能提供話音、短消息、數(shù)據(jù)等多種業(yè)務(wù)。短消息服務(wù)是GSM網(wǎng)絡(luò)的一項重要業(yè)務(wù),在遠(yuǎn)距離監(jiān)控、數(shù)據(jù)采集、GPS定位、無線報警、繳費通知、車輛調(diào)度等領(lǐng)域有著廣泛的應(yīng)用。
 
    GSM模塊通常都提供UART串行接口,因此很容易和單片機(jī)在物理層上互聯(lián)。使用符合GSM07.05和GSM07.07標(biāo)準(zhǔn)的AT指令集,可以使GSM模塊方便地完成短消息接收/發(fā)送等各種操作。其通信框圖如圖1所示。


    移動設(shè)備ME主要負(fù)責(zé)與GSM網(wǎng)絡(luò)進(jìn)行無線通信,終端適配器TA負(fù)責(zé)ME與外部終端設(shè)備TE的信息交換,AT指令就是在TA與TE之間傳送的。TE可以是PC,或者是單片機(jī)系統(tǒng),通過AT指令與ME進(jìn)行信息交互?,F(xiàn)在市場上的GSM模塊,如TC35、FALCOM等,都把ME和TA集成在一起,這樣整個通信就變成了TE與GSM模塊之間的通信了。

    一般地,GSM模塊在處理短消息時,采用一問一答的信息交互方式,這比較符合AT指令集的精神。但在實際應(yīng)用中,發(fā)現(xiàn)這種方法存在一定的缺點:模塊接收到短消息并存儲起來,用戶再用查詢方式,發(fā)送指令“AT+CMGL”或“AT+CMGR”,使短信傳送到TE,這中間會有一定的延時。另外,由于SIM卡容量有限,要保證短消息及時準(zhǔn)確地接收,還要經(jīng)常刪除SIM卡中的短消息,這樣多次的讀寫操作,勢必會影響SIM卡的壽命。因此,有必要進(jìn)行一些軟件設(shè)置,使短消息不通過SIM卡,而直接發(fā)送至終端設(shè)備。本文給出一種在嵌入式系統(tǒng)中實時處理短消息的實現(xiàn)方法,當(dāng)移動設(shè)備GSM模塊接收到短消息時,直接將消息轉(zhuǎn)發(fā)到終端設(shè)備,提高系統(tǒng)的響應(yīng)速度和處理效率。

1 硬件接口實現(xiàn)
    一般,GSM無線通信控制終端采用標(biāo)準(zhǔn)的GSM模塊進(jìn)行二次開發(fā),目前市場上很多,如TC35、FALCOM、WISM03等。它們都具備GSM無線通信的全部功能,支持GSM07.05,GSM07.07所定義的AT指令集。在本設(shè)計中,采用的GSM通信模塊為FALCOMC2D,單片機(jī)使用的是Atmel公司的高速8位處理器AT-megal28。ATmegal28內(nèi)集成有4 KB的RAM,4 KB的EEPROM,128 KB的Flash,以及2個UART串行接口等。其高速和大容量RAM的特性,為處理短消息這樣的大數(shù)據(jù)包提供了便利;同時,節(jié)省了外圍器件,使得硬件結(jié)構(gòu)簡化,提高系統(tǒng)可靠性。中文液晶屏用來顯示接收到的中英文短信。系統(tǒng)的硬件接口框圖如圖2所示。


2 系統(tǒng)參數(shù)設(shè)置
    短消息的發(fā)送和接收控制模式有三種:Block模式、PDU模式和Text模式。使用Block模式需要手機(jī)生產(chǎn)廠家提供驅(qū)動支持。目前,PDU模式已取代Block模式,而
Text模式不支持中文。因此,為了系統(tǒng)的通用性,兼容中英文短消息的發(fā)送接收,本系統(tǒng)使用PDU模式來處理短消息。

    在進(jìn)行系統(tǒng)設(shè)置前,先簡要說明一下短消息類(class)的概念:根據(jù)指定存儲的位置,短消息分為classO~3四個類,也可以不指定類別(no class),由移動設(shè)備按默認(rèn)設(shè)置進(jìn)行處理,存儲到內(nèi)存或者SIM卡中。在TPDU的TP-DCS字節(jié)中,當(dāng)bit7~bit4為00xl、1111時,bit1~bit0指示消息所屬類。

    00——ctass O,可直接顯示。
    01——class 1,默認(rèn)儲存在ME內(nèi)存中。
    02——class 2,儲存在SIM卡中。
    03——class 3,可直接傳輸?shù)浇K端設(shè)備TE。

    默認(rèn)的短消息存在SIM卡中,無類別的短消息通常也存在SIM卡中。

    GSM Modem一般都支持一條“AT+CNMI”指令,用于設(shè)定當(dāng)有某類短消息到達(dá)時,如何處理它——只儲存在指定的內(nèi)存(易失的/非易失的)中;先儲存后通知TE;直接轉(zhuǎn)發(fā)到TE,等等。

“AT+CNMI'’指令語法為:
AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>

①<mode>控制通知TE的方式。
    O——先將通知緩存起來,再按照<mt>的值進(jìn)行發(fā)送。
    l——在數(shù)據(jù)線空閑的情況下,通知TE,否則,不通知TE。
    2——數(shù)據(jù)線空閑時,直接通知TE;否則先將通知緩存起來,待數(shù)據(jù)線空閑時再行發(fā)送。
    3——直接通知TE。在數(shù)據(jù)線被占用的情況下,通知TE的消息將混合在數(shù)據(jù)中一起傳輸。

②<mt>設(shè)置短消息存儲和通知TE的內(nèi)容。
    O——接收的短消息儲存到默認(rèn)的內(nèi)存位置(包括class 3),不通知TE。
    1——接收的短消息儲存到默認(rèn)的內(nèi)存位置,并且向TE發(fā)出通知(包括class3)。通知的形式為:
    +CMTI:”SM”,<index>
    2——對于class 2短消息,儲存到SIM卡,并且向TE發(fā)出通知;對于其他class,直接將短消息轉(zhuǎn)發(fā)到TE:
    +CMT:[<alpha>],<length><CR><LF><pdu>(PDU模式)或者+CMT:<oa>,[<alpha>,]<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>(text模式)
    3——對于class 3短消息,直接轉(zhuǎn)發(fā)到TE,同<mt>=2;對于其他class,同<mt>=l。
③bm、ds、bfr的含義,請參考相關(guān)標(biāo)準(zhǔn)文檔。一般不需要去關(guān)心它們,設(shè)置為0即可。

    綜合以上分析,若使短消息不經(jīng)過SIM卡,直接發(fā)送至TE,可以設(shè)置:
    AT+CNMI=2,2,0,0,0

    但是這樣還有一個問題,對于class 2的短信,還是會存入SIM卡中,并發(fā)送+CMTI:”SM”,<index>。那么,接收程序需要處理短信通知和內(nèi)容兩種情況,增加了復(fù)雜性。如果發(fā)送方也由程序控制,可以只發(fā)no class和class1的短信。這里選用no class的配置。PDU模式下,令TP—DCS的bit7~bit4為00x0,即可設(shè)置發(fā)送的短信為no class。通常用手機(jī)發(fā)送的短信,也是無類別的。
 
    通信時,發(fā)送接收雙方要統(tǒng)一短信格式。在發(fā)送方設(shè)置AT+CMGF=0,確定短信發(fā)送格式為PDU方式。在接收方設(shè)置:
    AT+CMGF=O //短信接收格式為PDU方式
    AT+CSMS=0

    如果AT+CSMS=1,接收到短信時,TE需在一定的時間內(nèi)發(fā)送反饋消息至模塊;若超時,<mode>和<mt>的值會強(qiáng)制復(fù)位到0。那么,再有新的短信將不能被正確處理,需要用“AT+CNMI'’指令重新設(shè)置參數(shù)才行。這增加了程序處理的復(fù)雜性。AT+CSMS=O時,省去了這些麻煩。

3 PDU模式下的中英文短信接收實現(xiàn)
    系統(tǒng)參數(shù)設(shè)置好以后,當(dāng)接收到新的短信時,GSM模塊直接轉(zhuǎn)發(fā)至TE的格式如下所示:
+CMT:,230891683108200105F0040BAl31193887421:F5000850802251739120044F60597D

    “+CMT:”為短消息指示標(biāo)識,由AT+CNMI的值確定?!?3”指明該短信息PDU數(shù)據(jù)包長度為23字節(jié)。第2行為十六進(jìn)制數(shù)據(jù),總長度為32字節(jié),其中SMSC地址占用9字節(jié),其余23字節(jié)為TPDU數(shù)據(jù)。

    需要指出的是,和AT指令中的指令符號、數(shù)字一樣,PDU數(shù)據(jù)都是以ASCII編碼的形式傳送的,比如“A”的ASCIl編碼為41H,“O”的ASCII編碼為30H等。PDU數(shù)據(jù)包的內(nèi)容是以十六進(jìn)制表示的數(shù)據(jù),但并不是直接向單片機(jī)傳遞十六進(jìn)制數(shù)據(jù),而是把每一位十六進(jìn)制數(shù)以ASCII編碼來發(fā)送。例如:08H會以30H(“0”),38H(“8”)的形式發(fā)送。這樣,1個字節(jié)的十六進(jìn)制數(shù)就變成2個字節(jié)的ASCIl碼。但是,PDU數(shù)據(jù)包中的數(shù)據(jù)字節(jié)長度部分仍然是原始十六進(jìn)制字節(jié)的長度。而不是變成ASCII碼的字節(jié)長度,這在編程時應(yīng)特別注意,否則,接收和處理數(shù)據(jù)就會不完整。單片機(jī)接收到P D U數(shù)據(jù)包數(shù)據(jù)后,必須將其恢復(fù)成十六進(jìn)制數(shù)據(jù),其算法如下:

    設(shè)a為接收的ASCII碼,b為轉(zhuǎn)換后的十六進(jìn)制數(shù)。如果a<39H,則b=a-30H;如果a>39H,則b=a-30H-07H,最后把前后2個數(shù)合并為1個字節(jié)。

    PDU數(shù)據(jù)包有著嚴(yán)格的定義,現(xiàn)簡單介紹如下:


    PDU的這種格式,層次清楚,結(jié)構(gòu)清晰,方便接收。在本系統(tǒng)中,采用LISART中斷方式接收短信,充分利用了AVR系列單片機(jī)指令執(zhí)行速度快的特點,并在接收過程中運用狀態(tài)機(jī)的思想,解析出短信中的發(fā)送源號碼、日期時間、數(shù)據(jù)編碼方案和用戶短信數(shù)據(jù)。接收到一個完整的PDU數(shù)據(jù)包后,中斷程序中設(shè)置接收完成標(biāo)志為1。在主程序中,檢測到接收完成標(biāo)志為1時,就根據(jù)數(shù)據(jù)編碼方案,對接收到的短信解碼并保存,并準(zhǔn)備下一條短信的接收。如果短信到來時TA與TE的數(shù)據(jù)線忙,則短信會暫時保存在TA的緩存中,等數(shù)據(jù)線空閑時再轉(zhuǎn)發(fā)至TE。

    在PDU模式中,發(fā)送普通的ASCII字符用7-bit編碼方式,將一串7-bit字符編碼為8-bit數(shù)據(jù),每8個字符可壓縮成7個。如果發(fā)送中文字符,則采用USC2編碼方式,每個中文字符用16位的Unicode字符表示;如果是中英文混合的短信,由于英文字符只占1字節(jié),需要補(bǔ)O,成為16位的編碼。例如,“你好!”的unicode編碼為4F60597D0021,其中“!”的ASCII碼為21H,編碼后為0021H。PDU的用戶數(shù)據(jù)段最大容量是140字節(jié),GSM模塊發(fā)送給單片機(jī)的是280個ASCII編碼。除此之外,還要接收保存發(fā)送源號碼、日期和時間等信息。由于ATmegal28有4 KB內(nèi)部SRAM,為短信的接收和解碼提供了足夠的空間。這是它的一大優(yōu)勢。PDU串的用戶信息長度TP-UDL,在7-bit編碼時,指原始短消息的字符個數(shù),而不是編碼后的字節(jié)數(shù);在UCS2編碼時,指編碼后的十六進(jìn)制字節(jié)數(shù),因為1個字符用2個字節(jié)表示,所以經(jīng)UCS2編碼后,字節(jié)數(shù)等于原始短消息字符數(shù)的2倍。

    PDU模式下可以發(fā)送中英文短信,但是對英文字符和數(shù)字的7-bit編碼/解碼比較復(fù)雜,如果只需要發(fā)送和接收純英文字符和數(shù)字字符,最好采用Text方式。


3.1  7-bit用戶數(shù)據(jù)解碼

    7-bit數(shù)據(jù)解碼時,將源數(shù)據(jù)每7個字節(jié)分為一組,解碼成8個字符?;舅枷胧牵簩⒌趎個字節(jié)左移n位,再加上前一字節(jié)的剩余數(shù)據(jù),即第(n-1)個字節(jié)右移(8-n)位的數(shù)值,屏蔽最高位,即得到一目標(biāo)字符數(shù)據(jù),n=0…6。第7個字節(jié)右移1位就得到解碼后的第8個字符數(shù)據(jù)。


3.2 中文字符解碼

    短消息的中文字符采用Unicode編碼,占用2字節(jié),不是目前國內(nèi)常用的 GB-2312編碼。巍峨了能夠在GB-2312漢字庫的液晶上顯示,還需要進(jìn)行中文編碼的轉(zhuǎn)換。


    基本思想就是建立Unicode和gb-2312兩個中文編碼表,通過查找實現(xiàn)相互轉(zhuǎn)換。具體過程這里不再敘述。

 

結(jié)  語

    上述介紹的在嵌入式系統(tǒng)中,實時接受處理短消息的設(shè)計方案,已在車載GSM-GPS系統(tǒng)上應(yīng)用。經(jīng)過長時間的操作使用,系統(tǒng)工作穩(wěn)定,擁護(hù)反映良好。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉