《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式氣象預警信息接收系統的設計與實現
嵌入式氣象預警信息接收系統的設計與實現
來源:微型機與應用2012年第3期
陳蘇婷,徐冬衛
(南京信息工程大學 電子與信息工程學院,江蘇 南京 210044)
摘要: 設計了一種基于ARM920T微處理器和GPRS網絡的無線氣象預警信息接收系統。該系統采用GPRS作為信息接收的橋梁,通過短消息業務接收氣象預警信息,利用嵌入式Linux操作系統資源和圖形開發庫QT/E實現氣象預警信息的顯示、語音播報。該方案有效地縮短了接收延遲時間,提高了預警信息接收的有效性,避免了傳統的氣象預警接收方式無法及時應對突發性氣象災害的情況。
Abstract:
Key words :

摘  要: 設計了一種基于ARM920T微處理器和GPRS網絡的無線氣象預警信息接收系統。該系統采用GPRS作為信息接收的橋梁,通過短消息業務接收氣象預警信息,利用嵌入式Linux操作系統資源和圖形開發庫QT/E實現氣象預警信息的顯示、語音播報。該方案有效地縮短了接收延遲時間,提高了預警信息接收的有效性,避免了傳統的氣象預警接收方式無法及時應對突發性氣象災害的情況。
關鍵詞: ARM9;短消息業務;OSYNO6188;嵌入式Linux;QT/E

 我國是世界上自然災害發生十分頻繁、災害種類甚多、造成損失十分嚴重的少數國家之一。每年干旱、洪澇、臺風、暴雨、冰雹等災害危及人民生命和財產的安全,國民經濟也受到了極大的損失。而且,隨著經濟的高速發展,自然災害造成的損失亦呈上升趨勢,直接影響著社會和經濟的發展。
因此,在電力、交通、工業控制、零售、公共事業管理、醫療、水利、石油、農業等各個行業實時接收和發布氣象預警信息,避免電視媒體、報紙等發布信息的延時,能大大減少氣象災害帶來的損失。
隨著移動通信技術的日益成熟,短消息業務發展越來越迅速,不僅應用在人們日常的信息交流中,在現場監測、遠程控制等領域也得到了越來越廣泛的應用。短消息業務是承載在GPRS網絡上的。GPRS即通用分組無線業務,是在現有GSM網絡上開通的一種新型的分組數據傳輸技術。語音合成技術實現了文字到語音的轉換。本設計結合嵌入式技術、GPRS技術和語音合成技術,提出了基于ARM與SMS的氣象預警信息終端。
1 總體設計
 氣象預警信息終端系統結構如圖1所示。在中心服務器上通過信息發布軟件發布預警信息到GPRS模塊,該短消息通過GPRS網絡傳送。由嵌入式Linux終端上的GPRS模塊接收來自中心服務器的氣象預警信息,該模塊將接收到的數據通過串口傳輸給終端處理器ARM9。終端處理器對接收的短消息進行解析,還原出服務器發送的預警信息。最后通過LCD顯示屏、語音等方式將預警信息播出。

2 系統硬件設計
 本系統接收端的硬件部分是基于三星S3C2440 32 bit微處理器的嵌入式系統,主要負責氣象預警信息的讀取以及GPRS網絡傳輸、語音芯片和LCD液晶屏的控制。
 氣象預警信息接收終端的基本組成部分如圖2所示。整個外圍電路包括:嵌入式語音合成模塊、GPRS無線通信模塊、NAND Flash存儲擴展和LCD觸摸液晶顯示模塊。

 ARM9微處理器具有高性能和低功耗特性,典型處理速度為1.1 MIPS/MHz,系統主時鐘頻率為100 MHz~233 MHz。片外擴展多功能外圍接口,如USB、UART、I2S、LCD控制器、鍵盤接口、RTC、JTAG等。還有足夠大的存儲空間,如2 MB的NOR Flash、128 MB的NAND Flash(用于存儲bootloader、嵌入式Linux內核和帶有QT圖形界面庫的文件系統)、64 MB的SDRAM。
 TC35i模塊與GSM 2/2+兼容,并支持雙頻(GSM  900/1  800 MHz)、RS232數據口,符合ETSI標準GSM0707和GSM0705。該模塊集射頻電路和基帶于一體,向用戶提供標準的AT命令接口,為數據、語音、短消息和傳真提供快速、可靠、安全的傳輸,方便用戶的應用開發及設計。
 OSYNO 6188嵌入式語音合成模塊[1]通過異步串口接收待合成文本,直接通過PWM輸出方式驅動揚聲器實現文本到語音的轉換。該芯片支持國家標準GB_2312所有漢字,支持標點符號、電話號碼、郵政編碼、英文字母等特殊字符處理。
3 系統軟件設計
 氣象預警信息終端是典型的嵌入式系統,目標代碼運行在S3C2440上面,在構架的嵌入式平臺上,選用安裝了arm-linux-gcc的交叉編譯環境的fedora14為開發調試環境,以Linux為嵌入式操作系統開發應用程序。
氣象預警信息終端軟件主要是基于Linux和QT/E的用戶程序開發以及相關驅動移植。應用程序按功能劃分,由SMS數據傳輸、PDU短信息解碼[2]、文本到語音轉換和人機交互界面4部分組成。    
 系統上電啟動Linux后,即開始啟動終端圖形用戶界面應用程序,該應用程序創建了一個主線程,以響應用戶的界面操作,初始化GPRS模塊[3],發送命令,設置其為新短信息提示,該主線程還分別在后臺創建一個子線程。GPRS模塊的讀線程不斷偵聽串口以獲取GPRS模塊返回的短信息,若從串口讀到新短信息提示回送命令字,則彈出一個對話框顯示“有新短信息”,提示用戶操作,系統內部啟動后臺子線程,自動完成短信息的解析和存儲,并通過信息內容判斷信息的預警類別。若為紅色預警,立即驅動6188語音芯片播報該條信息;若為其他預警類別,則由用戶自由選擇顯示或者語音播報。實現將以PDU方式編碼的短信息解碼,并轉換成GB2312碼,因為OSYNO 6188只能識別以GB編碼的漢字。軟件流程如圖3所示。

 

 


3.1 SMS數據傳輸模塊設計
 TC35i支持語音和短信服務。在本系統中,通過串口3發送AT指令集與TC35i模塊通信,實現與遠端設備的收發短信息功能。
 在本系統中,GPRS模塊就相當于一個調制解調器,ARM處理器通過串口發送AT命令控制GPRS模塊工作情況和得到GPRS模塊的反饋信息。AT指令集是調制解調器通信接口的工業標準,它的基本格式為:AT+命令字符。通信過程中,ARM每發送一條指令,都需要加上“回車符”作為指令的結束符,否則TC35i不能識別。該功能實現過程為:首先初始化GPRS模塊,即發送AT命令測試網絡情況并設置短信模式AT+CNMI=2,1,0,0,0(新短信提醒,并把收到的短信存入SIM卡);然后設置短信接收模式AT+CMGF=0(設為PDU模式,可以接收漢字);接著發送接收短信息命令AT+CMGR=last(last中存有收到短信在SIM卡中的存儲記錄號)。讀取短信功能由gprs_read_msg()函數實現。代碼如下:
int gprs_read_msg()
{
    ……
tty_write(“AT+CMGF=0\r”,strlen(“AT+CMGF=0\r”));
while(receive(fd,strAT,”OK”,strATResult,ATREADTIMES,last)!=TRUE)
{
    ……
}
while(receive(fd,strAT,”OK”,strATResult,ATREADTIMES,last)!=TRUE)
//讀取短信內容到strATResult中
……
}
 其中,tty_write()為底層串口寫函數,receive()函數向GPRS模塊發送AT命令和從GPRS模塊讀取返回信息;fd為已經打開的串口描述符;strAT為要向GPRS模塊發送的命令信息;“OK”為需要匹配的字符串;strATResult為從GPRS模塊返回的信息;ATREADTIMES為當讀取返回信息字符個數為0時,函數繼續讀取的次數;last為從模塊返回信息的最后一個字符。
3.2 PDU模式的短信息解碼
 基于GPRS的短信息收發常用的編碼格式有Text模式和PDU(Protocol Description Unit)模式兩種。其中,Text模式是純文本方式[4],收發短信代碼簡單,實現起來十分容易,但最大的缺點是不能收發中文短信;而PDU模式不僅支持中文短信,也能發送英文短信。PDU模式收發短信可以使用7-bit、8-bit和UCS2 3種編碼。這里使用UCS2編碼將單個字符(1~2 B)按ISO/IEC10646的規定轉變為16 bit的Unicode寬字符,PDU串不僅包含可顯示的消息本身,還包括很多其他信息,如SMS服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等。
 PDU模式的短消息解碼[5]主要包含字符串順序轉換、可打印字符到字節的轉換、Unicode編碼字符到GB2312編碼字符的轉換幾個模塊。針對PDU串的格式,定義一個結構體SM_PARAM描述該串信息。
其中,可打印字符到字節的轉換由gsm_s_2_b()函數完成,如將字符串“C8329BFD0E01”轉換為{0xC8,0x32, 0x9B,0xFD,0x0E,0x01};字符串順序轉換由gsm_ serialize_numbers()函數實現,將兩兩顛倒的字符串轉換為正常順序的字符串(因為PDU串中的號碼和時間都是兩兩顛倒的字符串)。Gsm_Decode_Ucs2()函數實現Unicode字符到GB2312字符的轉換,在QT中定義QString變量QString str; 將TP_UD字符串轉換為QString類型:str = QString(pDst->TP_UD);設定本地字符編碼方式為GB2312編碼:QTextCodec*codec=QTextCodec::codecForName(“GB2312”);將Unicode字符串轉換為GB2312字符串:QString out=codec->toUnicode(str)。
在主函數中調用該解碼函數時,傳給形參pSrc的參數為2.1中strATResult字符指針,其指向收到的短信起始地址。
3.3 文本到語音的轉換
 使用OSYNO6188芯片實現任意文本到語音的輸出轉換。由ARM進行控制,將接收到的短信息數據打包成6188能識別的幀,通過UART傳輸給OSYNO6188中文語音合成芯片,該芯片通過文本轉語音技術,實現文字信息到語音的輸出。OSYNO6188芯片的發音數據命令格式如表1所示。
3.4 人機交互界面設計
 QT/E[6]是用于嵌入式Linux系統的QT版本,其去掉X Lib的依賴而直接工作在Framebuffer上,是一個可配置、可裁剪、專門為嵌入式系統設計圖形用戶界面的工具包。
 系統基于QT/E設計人機交互界面,通過TFT LCD顯示氣象預警信息。界面提供了氣象預警信息的實時顯示、GPRS模塊的工作狀態顯示以及串口屬性設置等。界面使用觸摸屏作為用戶命令輸入接口,用戶通過輸入短信位置,然后點擊圖中的按鈕“語音播報”即可實現歷史短信的LCD顯示和語音播報。

 本文提出了一種基于S3C2440和嵌入式Linux操作系統的氣象預警信息語音播報終端解決方案,并基于QT/E設計了終端界面。系統功能達到預期要求,實現了氣象預警信息的實時接收與顯示并可通過語音將其播報出來,有效地增加了氣象預警信息的接收手段和覆蓋范圍。在終端中添加基于GPRS網絡接收氣象圖片功能將成為下一步要研究的內容。
參考文獻
[1] 北京語音天下科技有限公司.OSYNO6188嵌入式語音合成芯片用戶手冊.(2010-05-22)[2011-05-01].http://www.osyno.com/bao/osyno6188manual.pdf.
[2] 王聰,趙鵬飛,張拯民,等.PDU模式的短信息編解碼技術及在Visual C++中的實現[J].計算技術與信息發展,2009,7(1):52-53.
[3] 黃濤,白創,徐靖.嵌入式無線互連系統開發從實踐到提高[M].北京:中國電力出版社,2007.
[4] 孫勇,劉杰.基于ARM的GPRS通信終端設計[J].工業控制計算機,2010,23(5):49-51.
[5] 徐志剛,張紹陽,宋清艷,等.基于GSM短消息平臺的信息發布系統[J].微計算機信息,2010(18):9-12.
[6] 韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2009.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 51自拍| 人成18亚洲资源在线 | 国内国语一级毛片在线视频 | 亚洲欧美日韩天堂在线观看 | 亚洲国产精久久久久久久春色 | 无码中文av有码中文av | 日本日日黄 | 三级簧片| 日日干狠狠干 | 久久精品国产一区二区三区日韩 | 天天摸天天碰天天碰 | 欧美日韩国产三级 | 久久久噜噜噜www成人网 | 久久久无码精品亚洲日韩按摩 | 国产一级高清视频在线 | 欧美中文小说在线观看 | 开心婷婷激情五月 | 中文字幕在线观看 | 男女午夜爽爽 | 中国男女全黄大片 | 夜色私人影院永久入口 | 国产一级特黄高清免费大片 | www精品| 天堂资源站| 国产热热| 美女涩涩网站 | 日本高清乱理论片 | 日本三级黄色片 | 黄瓜视频深夜释放自己 | 国产欧美一区二区三区视频 | 欧美午夜一区二区福利视频 | 欧美一级视频 | 免费成人激情视频 | 91久久综合精品国产丝袜长腿 | 97国产在线公开免费观看 | 国产一区二区三区高清 | 日韩免费视频观看 | 国产v亚洲v天堂无码 | 亚洲国产精品日韩在线观看 | 亚洲色欲色欲综合网站 | 亚洲色图在线观看视频 |