2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  基于嵌入式Linux的短信收發(fā)系統(tǒng)設(shè)計</p><p>  &ltnoscript>&lta href="http://afp21ic.allyes.com/main/adfclick?user=Afp21ic|innewshtml|innews_200x200&ampdb=afp21ic">&ltimg src="h

2、ttp://afp21ic.allyes.com/main/adfshow?user=Afp21ic|innewshtml|innews_200x200&ampdb=afp21ic" width="200" height="200" border="0"></a></noscript></p><p>  

3、摘要:移動通信中的短消息業(yè)務(wù)以其方便、可靠和價廉得到了廣泛應(yīng)用,本文在嵌入式Linux系統(tǒng)中,通過西門子MC35模塊,實(shí)現(xiàn)了短信收發(fā)系統(tǒng),該系統(tǒng)采用 PDU短信模式,能支持中文短信。程序設(shè)計采用異步事件驅(qū)動方式,提高了系統(tǒng)的運(yùn)行效率。嵌入式系統(tǒng)體積小巧,Linux資源開放,因此該系統(tǒng)經(jīng)過二次開發(fā),可方便地用于各種移動數(shù)據(jù)采集系統(tǒng)中。</p><p>  1.    

4、0;   引言</p><p>  全球移動通信系統(tǒng)GSM是我國范圍最廣、通信能力最強(qiáng)的移動通信業(yè)務(wù),而其中的短消息功能由于其使用方便、價格低廉、可靠性高而得到廣泛應(yīng)用。嵌入式Linux也是目前得到廣泛應(yīng)用的技術(shù),功能強(qiáng)大和資源豐富是其最大的優(yōu)勢。本文在嵌入式Linux系統(tǒng)中利用GSM模塊實(shí)現(xiàn)短信的收發(fā),對不方便架設(shè)通信線的偏遠(yuǎn)地區(qū),提供了數(shù)據(jù)采集的新手段。同時嵌入式系統(tǒng)體積小巧,Linux操

5、作系統(tǒng)資源開放,所以本系統(tǒng)經(jīng)過二次開發(fā),可方便地構(gòu)成移動數(shù)據(jù)采集系統(tǒng),用于遠(yuǎn)程數(shù)據(jù)采集、監(jiān)控。</p><p>  2.        短信收發(fā)原理</p><p>  短信服務(wù)業(yè)務(wù)SMS(Short Message Service)是GSM系統(tǒng)提供給用戶的一種數(shù)字業(yè)務(wù)。它與話音傳輸及傳真一樣同為GSM數(shù)字蜂窩移動通信網(wǎng)

6、絡(luò)提供的主要電信業(yè)務(wù)。涉及SMS管理的協(xié)議如圖1所示。</p><p>  圖1 SMS管理的協(xié)議</p><p>  圖中SME為短信實(shí)體, SMSC為短信服務(wù)中心,SMCGWMS為SMS網(wǎng)關(guān),HLR是歸屬位置寄存器,用于永久儲存管理用戶和服務(wù)記錄的數(shù)據(jù)庫,MSC為移動交換中心,VLR為訪問位置寄存器,含有用戶臨時信息的數(shù)據(jù)庫,交換中心服務(wù)訪問用戶時需要這些信息。</p>

7、<p>  短消息模塊的接入方式支持兩種模式:基于AT指令的TEXT模式和基于AT指令的PDU模式,它指的是短信息數(shù)據(jù)的編碼格式,文本模式只支持7- bit編碼,只能發(fā)送純英文和數(shù)字信息,而PDU模式支持7-bit編碼、8-bit編碼和UCS-2編碼,其中后者可進(jìn)行Unicode編碼,如中文,所以本系統(tǒng)采用PDU模式。</p><p>  GSM模塊采用標(biāo)準(zhǔn)AT指令集通信,其中本系統(tǒng)用到的AT指令如表1

8、所示。</p><p>  表1  相關(guān)AT指令</p><p>  3.        GSM短信數(shù)據(jù)格式分析</p><p>  3.1     發(fā)送短信PDU字符串</p><p>  由于短信模式選擇的是PDU格式,

9、因此對PDU的編碼和轉(zhuǎn)碼就變得很重要。中文短信息的實(shí)現(xiàn)需要將GB2312的中文編碼轉(zhuǎn)換為代碼頁為CP936 的Unicode編碼,PDU發(fā)送字符串?dāng)?shù)據(jù)格式中主要由短信中心地址、文件頭字節(jié)、信息類型、目的地址、協(xié)議標(biāo)識、數(shù)據(jù)編碼方案、有效期、用戶數(shù)據(jù)長度和用戶數(shù)據(jù)組成。例如:設(shè)置PDU格式的編碼為08 91 68 31 08 20 01 05 F0 11 00 0D 91 68 31 21 43 65 87 F9 00 08 00 04

10、4F 60 59 7DH,這組代碼的含義如下所示:</p><p>  08H:短信服務(wù)中心地址信息的長度,共8個八位字節(jié)(包括91) ;</p><p>  91H:短信服務(wù)中心地址格式,用國際格式號碼,在前面加‘+’ ;</p><p>  68 31 08 20 01 05 F0H:短信服務(wù)中心地址,8613800210500,補(bǔ)‘F’湊成偶數(shù)個;</p

11、><p>  11H:基本參數(shù),協(xié)議數(shù)據(jù)單元類型,表示發(fā)送,TP-VP用相對格式;</p><p>  00H :信息參考,00H表示參考本身號碼 ;</p><p>  0DH :對方手機(jī)號數(shù)字個數(shù),共13個十進(jìn)制數(shù) ;</p><p>  91H :對方手機(jī)號,用國際格式號碼,在前面加‘+’ ;</p><p>  6

12、8 31 21 43 65 87 F9H:對方手機(jī)號(TP-DA),8613123456789,補(bǔ)‘F’湊成偶數(shù)個;</p><p>  00H:協(xié)議標(biāo)識(TP- PID),                    &

13、#160;                          是普通GSM類型,點(diǎn)到點(diǎn)方式;</p><p>  08H:用戶信息編碼方式(TP-DCS),主要用其1

14、個字節(jié)的第2和第3位表示編碼方式,08H表示為UCS-2編碼,最多發(fā)140個字符;04H為8-bit編碼,最多發(fā)140個字符;00H為7-bit編碼,最多發(fā)160個字符;</p><p>  00H:有效期(TP-VP),5分鐘;</p><p>  04H:短信長度(TP-UDL),實(shí)際長度4個字節(jié);</p><p>  4F 60 59 7DH:用戶信息(TP-

15、UD),“你好”的Unicode編碼 。</p><p>  3.2     短信接收PDU字符串</p><p>  接收方PDU字符串的含義和發(fā)送方不同,同樣以“你好”為例,接收方的PDU字符串為:08 91 68 31 08 20 01 05 F0 24 0D 91 68 31 67 24 47 63 F0 00 08 70 50 91 31

16、21 25 23 04 4F 60 59 7DH,其含義如下:</p><p>  08 91 68 31 08 20 01 05 F0H:短信服務(wù)中心,分析同發(fā)送相同;</p><p>  24H:協(xié)議數(shù)據(jù)單元類型基本參數(shù)(TP-MTI/VFP) ,發(fā)送,TP-VP用相對格式;</p><p>  0DH:對方手機(jī)號數(shù)字個數(shù); </p><p&

17、gt;  91H:對方手機(jī)號(TON/NPI),用國際格式號碼(在前面加‘+’); </p><p>  68 31 67 24 47 63 F0H :對方手機(jī)號(TP-DA),8613764274360,補(bǔ)‘F’湊成偶數(shù)個;</p><p>  00H:協(xié)議標(biāo)識(TP-PID) ,是普通GSM類型,點(diǎn)到點(diǎn)方式;</p><p>  08H:用戶信息編碼方式(TP-

18、DCS) ,分析同發(fā)送方;</p><p>  70 50 91 31 21 25H:短信息發(fā)送時間(SCTS),07年05月19日13時12分52秒;</p><p>  23H:發(fā)送時間對應(yīng)的時區(qū);</p><p>  04H:短信長度(TP-UDL),實(shí)際長度4個字節(jié);</p><p>  4F 60 59 7DH:用戶信息(TP-UD

19、) ,“你好”的Unicode編碼。 </p><p>  4.        系統(tǒng)組成</p><p>  4.1      硬件組成</p><p>  系統(tǒng)由嵌入式Linux系統(tǒng)和西門子MC35模塊通過串行接口三線制連接而構(gòu)成, MC35模塊

20、通過串口1與嵌入式系統(tǒng)相連,嵌入式系統(tǒng)配置包括50MHz 主頻的MPC860 32位處理器,16M SDRAM內(nèi)存,2個RS232,操作系統(tǒng)采用嵌入式Linux for PowerPC。MC35模塊由GSM基帶處理器、電源專用集成電路、射頻電路和閃速存儲器等部分組成,負(fù)責(zé)處理GSM蜂窩設(shè)備中的音頻、數(shù)據(jù)信號,內(nèi)嵌的軟件部分執(zhí)行應(yīng)用接口和所有GSM協(xié)議棧的功能。MC35模塊支持中文短信,支持GPRS功能,便于將來功能的擴(kuò)展。</p&

21、gt;<p>  4.2     libcssl函數(shù)庫</p><p>  為了實(shí)現(xiàn)短信收發(fā),需要在嵌入式Linux下通過串口發(fā)送一系列的AT指令。串行通信是計算機(jī)與其它設(shè)備通信的常用方法,在本系統(tǒng)中采用一個基于 Linux的串行通信函數(shù)庫libcssl,可實(shí)現(xiàn)串行接口的異步事件驅(qū)動并發(fā)。采用該方法,用戶只要在服務(wù)器和數(shù)據(jù)源之間建立異步連接,編寫數(shù)據(jù)處理函數(shù),

22、而對數(shù)據(jù)源事件的監(jiān)測、數(shù)據(jù)讀取、多事件的處理等操作是由操作系統(tǒng)內(nèi)部完成的,因而,很大程度上簡化了編程者的工作,同時保證了較高的資源利用率。</p><p>  libcssl函數(shù)庫提供給用戶多種基于事件驅(qū)動方式的串行接口函數(shù)。其主要的函數(shù)有4類,分別進(jìn)行串口初始化、收發(fā)數(shù)據(jù)、錯誤信息和結(jié)束串口操作。在使用某個串口之前,應(yīng)調(diào)用初始化函數(shù),為其設(shè)定相應(yīng)的參數(shù),使得收發(fā)雙方遵循相同的通信協(xié)議和數(shù)據(jù)格式,同時通過初始化操

23、作,為串口數(shù)據(jù)源和采集服務(wù)器之間建立異步連接,分配采集句柄。當(dāng)數(shù)據(jù)源通過串口向嵌入式系統(tǒng)發(fā)送數(shù)據(jù)時,該數(shù)據(jù)會被送入數(shù)據(jù)緩沖區(qū),并通過該數(shù)據(jù)源的采集句柄訪問該串口的事件回調(diào)函數(shù),在該函數(shù)中完成數(shù)據(jù)的處理。這樣,當(dāng)用戶使用多個串口時,不需要用多個線程,只需為每個串口設(shè)置獨(dú)立的回調(diào)函數(shù),各回調(diào)函數(shù)之間可方便地實(shí)現(xiàn)數(shù)據(jù)交換共享。程序中可通過獲取錯誤信息得知系統(tǒng)出現(xiàn)的錯誤狀態(tài),而采集程序結(jié)束,應(yīng)關(guān)閉串口,釋放系統(tǒng)資源。相關(guān)的函數(shù)如表2所示。<

24、;/p><p>  表2 libcssl函數(shù)庫中的主要函數(shù)</p><p>  4.3     軟件設(shè)計</p><p>  使用了異步事件驅(qū)動函數(shù)庫,程序設(shè)計簡單而容易實(shí)現(xiàn),程序主要由2部分組成,即主程序設(shè)計和回調(diào)函數(shù)程序設(shè)計,主程序只需做初始化和發(fā)送短信,其余功能都放在回調(diào)函數(shù)中完成。</p><p>

25、  在主程序中,各變量賦初值,調(diào)用cssl_open函數(shù)打開串口,設(shè)定的參數(shù)為采用串口1,即嵌入式Linux的ttyS0設(shè)備,波特率 9600bps,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn),無數(shù)據(jù)流控制,定義串口接收數(shù)據(jù)緩沖區(qū)有數(shù)據(jù)輸入時,回調(diào)函數(shù)為callback函數(shù),該函數(shù)對數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)進(jìn)行分析處理。通過發(fā)送AT+CMGF=0指令定義短信模式為PDU模式,并判斷是否有短信需要發(fā)送。對待發(fā)送的短信按照PDU發(fā)送字符串格式進(jìn)行編碼。&

26、lt;/p><p>  回調(diào)函數(shù)中首先讀取輸入緩沖區(qū)內(nèi)容,根據(jù)對標(biāo)志和緩沖區(qū)內(nèi)容的判斷,可以得知回調(diào)事件是由哪個事件引起,分別加以處理,由于每次向GSM模塊發(fā)送 AT指令后,模塊會發(fā)送OK或ERROR等響應(yīng)表示操作成功或失敗,所以在回調(diào)函數(shù)中一個很重要的功能就是判斷AT指令是否發(fā)送成功,為了區(qū)分不同AT指令的響應(yīng),程序中采用狀態(tài)標(biāo)志,表征系統(tǒng)發(fā)送AT指令的類型。在收到新短信后,需要提取短信發(fā)送方電話號碼、短信發(fā)送時間

27、和短信內(nèi)容等相關(guān)信息,并加以存儲,提取的依據(jù)就是短信接收PDU字符串的編碼格式。為了避免由于短信滿而無法接收新短信,需要將處理過的短信刪除。相關(guān)的流程圖如圖2和圖3所示。</p><p>  圖2 主程序流程圖                 &

28、#160;                        </p><p>  圖3 回調(diào)函數(shù)程序流程圖</p><p>  5.  

29、0;     結(jié)論</p><p>  本文的創(chuàng)新之處在于提供了嵌入式Linux下GSM模塊的短信收發(fā)系統(tǒng)設(shè)計方法,程序設(shè)計中利用串行接口驅(qū)動函數(shù)庫libcssl,以串口I/O事件驅(qū)動設(shè)備的數(shù)據(jù)采集。短信收發(fā)采用PDU模式,能夠處理中文、英文和中英文短信。異步事件驅(qū)動的架構(gòu)可以提高系統(tǒng)并發(fā)處理性能,程序能夠執(zhí)行多個異步操作而不調(diào)用阻塞線程,降低系統(tǒng)開銷。嵌入式系統(tǒng)加GSM模

30、塊的系統(tǒng)組成體積小巧,非常適合于偏遠(yuǎn)地區(qū)或移動的數(shù)據(jù)采集系統(tǒng)。根據(jù)系統(tǒng)的需要,還可以充分利用MC35模塊的GPRS功能,實(shí)現(xiàn)高速的數(shù)據(jù)采集。</p><p><b>  參考文獻(xiàn):</b></p><p>  [1]         程全.李向東.基于GSM模塊與AT98C51的接口設(shè)計及

31、應(yīng)用.微計算機(jī)信息.2006:9-2:293-295</p><p>  [2]         萬求.李淼.張建.羅毅.GSM短信傳送文件的方法的研究與實(shí)現(xiàn).計算機(jī)工程與應(yīng)用.2006:32:122-125</p><p>  [3]      &#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論