色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 一種短信收發(fā)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          一種短信收發(fā)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-03-09 來(lái)源:網(wǎng)絡(luò) 收藏

          70 50 91 31 21 25H:息發(fā)送時(shí)間(SCTS),07年05月19日13時(shí)12分52秒;

          23H:發(fā)送時(shí)間對(duì)應(yīng)的時(shí)區(qū);

          04H:長(zhǎng)度(TP-UDL),實(shí)際長(zhǎng)度4個(gè)字節(jié);

          4F 60 59 7DH:用戶(hù)信息(TP-UD) ,“你好”的Unicode編碼。

          4.組成

          4.1硬件組成

          由嵌入式Linux和西門(mén)子MC35模塊通過(guò)串行接口三線制連接而構(gòu)成, MC35模塊通過(guò)串口1與嵌入式系統(tǒng)相連,嵌入式系統(tǒng)配置包括50MHz 主頻的MPC860 32位處理器,16M SDRAM內(nèi)存,2個(gè)RS232,操作系統(tǒng)采用嵌入式Linux for PowerPC。MC35模塊由GSM基帶處理器、電源專(zhuān)用集成電路、射頻電路和閃速存儲(chǔ)器等部分組成,負(fù)責(zé)處理GSM蜂窩設(shè)備中的音頻、數(shù)據(jù)信號(hào),內(nèi)嵌的軟件部分執(zhí)行應(yīng)用接口和所有GSM協(xié)議棧的功能。GSM 是Global SySTem of Mobile communication(全球移動(dòng)通訊系統(tǒng))的英文縮寫(xiě),是當(dāng)前應(yīng)用最為廣泛的移動(dòng)電話標(biāo)準(zhǔn)。全球超過(guò)200個(gè)國(guó)家和地區(qū)超過(guò)10億人正在使用GSM電話。所有用戶(hù)可以在簽署了漫游協(xié)定移動(dòng)電話運(yùn)營(yíng)商之間自由漫游。 GSM 較之它以前的標(biāo)準(zhǔn)最大的不同是它的信令和語(yǔ)音信道都是數(shù)字式的,因此GSM被看作是 第二代 (2G)移動(dòng)電話系統(tǒng)。 這說(shuō)明數(shù)字通訊從很早就已經(jīng)構(gòu)建到系統(tǒng)中。GSM是一個(gè)當(dāng)前由3GPP開(kāi)發(fā)的開(kāi)放標(biāo)準(zhǔn)。

          4.2libcssl函數(shù)庫(kù)

          為了,需要在嵌入式Linux下通過(guò)串口發(fā)送一系列的AT指令。串行通信是計(jì)算機(jī)與其它設(shè)備通信的常用方法,在本系統(tǒng)中采用一個(gè)基于Linux的串行通信函數(shù)庫(kù)libcssl,可串行接口的異步事件驅(qū)動(dòng)并發(fā)。采用該方法,用戶(hù)只要在服務(wù)器和數(shù)據(jù)源之間建立異步連接,編寫(xiě)數(shù)據(jù)處理函數(shù),而對(duì)數(shù)據(jù)源事件的監(jiān)測(cè)、數(shù)據(jù)讀取、多事件的處理等操作是由操作系統(tǒng)內(nèi)部完成的,因而,很大程度上簡(jiǎn)化了編程者的工作,同時(shí)保證了較高的資源利用率。

          libcssl函數(shù)庫(kù)提供給用戶(hù)多種基于事件驅(qū)動(dòng)方式的串行接口函數(shù)。其主要的函數(shù)有4類(lèi),分別進(jìn)行串口初始化、數(shù)據(jù)、錯(cuò)誤信息和結(jié)束串口操作。在使用某個(gè)串口之前,應(yīng)調(diào)用初始化函數(shù),為其設(shè)定相應(yīng)的參數(shù),使得雙方遵循相同的通信協(xié)議和數(shù)據(jù)格式,同時(shí)通過(guò)初始化操作,為串口數(shù)據(jù)源和采集服務(wù)器之間建立異步連接,分配采集句柄。當(dāng)數(shù)據(jù)源通過(guò)串口向嵌入式系統(tǒng)發(fā)送數(shù)據(jù)時(shí),該數(shù)據(jù)會(huì)被送入數(shù)據(jù)緩沖區(qū),并通過(guò)該數(shù)據(jù)源的采集句柄訪問(wèn)該串口的事件回調(diào)函數(shù),在該函數(shù)中完成數(shù)據(jù)的處理。相關(guān)的函數(shù)如表2所示。

          表2 libcssl函數(shù)庫(kù)中的主要函數(shù)

          40.jpg

          4.3軟件

          使用了異步事件驅(qū)動(dòng)函數(shù)庫(kù),程序簡(jiǎn)單而容易,程序主要由2部分組成,即主程序和回調(diào)函數(shù)程序設(shè)計(jì),主程序只需做初始化和發(fā)送短信,其余功能都放在回調(diào)函數(shù)中完成。

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

          回調(diào)函數(shù)中首先讀取輸入緩沖區(qū)內(nèi)容,根據(jù)對(duì)標(biāo)志和緩沖區(qū)內(nèi)容的判斷,可以得知回調(diào)事件是由哪個(gè)事件引起,分別加以處理,由于每次向GSM模塊發(fā)送AT指令后,模塊會(huì)發(fā)送OK或ERROR等響應(yīng)表示操作成功或失敗,所以在回調(diào)函數(shù)中一個(gè)很重要的功能就是判斷AT指令是否發(fā)送成功,為了區(qū)分不同AT指令的響應(yīng),程序中采用狀態(tài)標(biāo)志,表征系統(tǒng)發(fā)送AT指令的類(lèi)型。在收到新短信后,需要提取短信發(fā)送方電話號(hào)碼、短信發(fā)送時(shí)間和短信內(nèi)容等相關(guān)信息,并加以存儲(chǔ),提取的依據(jù)就是短信接收PDU字符串的編碼格式。相關(guān)的流程圖如圖2和圖3所示。

          41.jpg

          圖2 主程序流程圖

          42.jpg

          5.結(jié)論

          本文的創(chuàng)新之處在于提供了嵌入式Linux下GSM模塊的短信收發(fā)系統(tǒng)設(shè)計(jì)方法,程序設(shè)計(jì)中利用串行接口驅(qū)動(dòng)函數(shù)庫(kù)libcssl,以串口I/O事件驅(qū)動(dòng)設(shè)備的數(shù)據(jù)采集。短信收發(fā)采用PDU模式,能夠處理中文、英文和中英文短信。異步事件驅(qū)動(dòng)的架構(gòu)可以提高系統(tǒng)并發(fā)處理性能,程序能夠執(zhí)行多個(gè)異步操作而不調(diào)用阻塞線程,降低系統(tǒng)開(kāi)銷(xiāo)。嵌入式系統(tǒng)加GSM模塊的系統(tǒng)組成體積小巧,非常適合于偏遠(yuǎn)地區(qū)或移動(dòng)的數(shù)據(jù)采集系統(tǒng)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉