付琳琳,章 杰,林宇慧,程樹英,陳金伙
(福州大學(xué) 物理與信息工程學(xué)院 微納器件與太陽能電池研究所,福建 福州 350108)
無線通信技術(shù)的應(yīng)用已經(jīng)滲透到人們生活和工作的各個方面,包括日常使用的手機和無線電話等,其中3G無線通信[1]是21世紀最熱門的應(yīng)用之一。隨著社會的進步和科技的創(chuàng)新,2G網(wǎng)絡(luò)提供的業(yè)務(wù)已不能滿足人們的需求,3G業(yè)務(wù)成為人們新的追求。3G業(yè)務(wù)的推出,不僅能夠滿足人們對語音通信的需求,還支持數(shù)據(jù)通信,在傳輸速率及效率上都有了很大的提高。近年來,嵌入式無線通信技術(shù)被廣泛應(yīng)用到各個領(lǐng)域[2],尤其是在遠程監(jiān)控系統(tǒng)[3]中,通過對嵌入式平臺軟硬件的設(shè)計,實現(xiàn)對遠程設(shè)備的監(jiān)控,節(jié)省了人力物力資源。但是由于無線通信的移動性,需要隨著環(huán)境的改變作相應(yīng)的改變,以適應(yīng)環(huán)境的需要,提高系統(tǒng)的工作性能和穩(wěn)定性。
基于上述情況,設(shè)計了一個無線通信軟件包,它通過USB口將3G Modem與三星S3C6410微處理器相連,USB作為一個虛擬串口實現(xiàn)AT指令的收發(fā)。該軟件包既可以實現(xiàn)語音、數(shù)據(jù)和短信等方式的通信功能,又可以根據(jù)外界網(wǎng)絡(luò)環(huán)境的變化調(diào)整網(wǎng)絡(luò)模式使通信模塊工作在最優(yōu)狀態(tài)。該軟件包可以通過與嵌入式設(shè)備相連實現(xiàn)對遠程設(shè)備的監(jiān)控,具有一定的現(xiàn)實意義。
本文設(shè)計了一個可以進行自適應(yīng)無線通信的軟件包,系統(tǒng)可以在完成無線通信的基礎(chǔ)上根據(jù)環(huán)境變化作出自適應(yīng)處理。系統(tǒng)整體結(jié)構(gòu)可劃分為硬件平臺層、驅(qū)動程序?qū)?、操作系統(tǒng)層和應(yīng)用層 4層,如圖1所示。應(yīng)用層程序包括語音通信、短信通信和數(shù)據(jù)通信等,分別通過串口對數(shù)據(jù)庫進行讀和寫操作,互不影響,并且可以同時進行。這樣就可以方便地進行應(yīng)用程序的升級、移植和擴展,而不對其他應(yīng)用程序造成影響。而且在不改變系統(tǒng)硬件平臺的基礎(chǔ)上,可以對系統(tǒng)的功能進行擴展,方便了系統(tǒng)的升級改造。
圖1 無線通信系統(tǒng)整體架構(gòu)
自適應(yīng)無線通信系統(tǒng)主要包括語音通信、短信通信和數(shù)據(jù)通信等。系統(tǒng)不僅可以根據(jù)不同的功能需求啟動相應(yīng)的功能,而且可以在不同的網(wǎng)絡(luò)間進行無縫切換,以適應(yīng)當(dāng)前網(wǎng)絡(luò)環(huán)境的改變,使系統(tǒng)工作在最佳狀態(tài)。軟件包的組成及其接口函數(shù)如圖2所示。
圖2 無線通信軟件包及接口函數(shù)
系統(tǒng)軟件的實現(xiàn)是基于WinCE6.0平臺的VS2005的AT指令編程。WinCE6.0作為微軟發(fā)布的一款嵌入式操作系統(tǒng)[4],具有高度的穩(wěn)定性和實時性。VS2005作為WinCE6.0的一個開發(fā)環(huán)境,具有高度的集成性和擴展性。
系統(tǒng)軟件采用標(biāo)準的通信軟件架構(gòu)實現(xiàn),可以方便地進行系統(tǒng)的移植和升級。軟件結(jié)構(gòu)如圖3所示,其主要的應(yīng)用程序包括語音程序、短消息程序、串口程序和數(shù)據(jù)通信程序等。
圖3 系統(tǒng)的軟件架構(gòu)
自適應(yīng)控制可以看作是一個能根據(jù)環(huán)境變化智能調(diào)節(jié)自身特性的反饋控制系統(tǒng),以使系統(tǒng)能按照一些設(shè)定的標(biāo)準工作在最優(yōu)狀態(tài)[5]。本文的自適應(yīng)無線通信系統(tǒng)就是根據(jù)這一原理,根據(jù)不同時刻網(wǎng)絡(luò)的信號強度等參數(shù),選擇較好的網(wǎng)絡(luò),使系統(tǒng)工作在最佳的網(wǎng)絡(luò)模式。
本文使用的CDMA2000無線通信模塊支持CDMA1X和EVDO兩種網(wǎng)絡(luò)模式,因此可以在這兩種網(wǎng)絡(luò)模式中進行工作。關(guān)鍵是怎樣實現(xiàn)它們之間的自由切換。具體實現(xiàn)原理如下:程序通過檢測線程函數(shù)不停地監(jiān)測兩種網(wǎng)絡(luò)的信號強度,由于接收緩沖區(qū)會有很多不同的數(shù)據(jù),先將串口接收到的數(shù)據(jù)保存在一個隊列中,在隊列中查找有效的信號返回參數(shù)。提取其中的有效返回值,通過比較選出較好的網(wǎng)絡(luò),最后通過軟件實現(xiàn)網(wǎng)絡(luò)模式的切換。通過這種方式可以選擇信號較強的網(wǎng)絡(luò),使得通信質(zhì)量顯著提高。
系統(tǒng)上電后,首先進行初始化,測試串口及無線通信模塊連接情況。當(dāng)串口正常打開時,程序執(zhí)行信號檢測線程函數(shù),通過發(fā)送AT指令檢測CDMA1X和EVDO信號的信號質(zhì)量。將串口接收緩存收到的數(shù)據(jù)保存在一個隊列中,通過查找函數(shù)查找其中有效的信號返回子字符串,然后通過分析信號返回指令提取有效數(shù)值。通過比較信號值確定信號較優(yōu)的一方,繼續(xù)檢測比較,直到較優(yōu)的信號一方保持一段時間后才進行切換網(wǎng)絡(luò),這個時間可以根據(jù)具體需要自行設(shè)定。切換網(wǎng)絡(luò)之前首先要發(fā)送指令查詢當(dāng)前的網(wǎng)絡(luò)模式,若為較優(yōu)模式則不做任何操作,若為較差模式,則切換到較優(yōu)的網(wǎng)絡(luò)模式中。其處理的流程圖如圖4所示。
無線通信系統(tǒng)的主要功能分為語音通信、短信通信和數(shù)據(jù)通信3個部分。
圖4 自適應(yīng)實現(xiàn)流程圖
(1)語音通信
語音通信部分主要實現(xiàn)電話呼叫功能,通過AT指令編程實現(xiàn)電話呼叫、接聽和掛斷等功能。撥打電話時,輸入呼叫方電話號碼,通過調(diào)用 Call()函數(shù)實現(xiàn),當(dāng)來電時,可以選擇 Dial up()或 Dial down()進行接聽或掛斷。
(2)短信通信
短信通信部分的主要功能是完成短信的收發(fā)、讀取和刪除等。首先輸入電話號碼和短信內(nèi)容[6],調(diào)用發(fā)送函數(shù)SMS(num,msg)進行發(fā)送。讀取短信時,根據(jù)短信列表選擇要讀取的短信的序列號,調(diào)用讀取函數(shù)Read(index)。刪除短信時,給出要刪除的短信的序列號,調(diào)用刪除函數(shù)Delete(index)。此外,短信部分還增加了短信群發(fā)功能,其難點在于正確判斷每條短信的發(fā)送是否成功。群發(fā)的流程是:首先確定將要發(fā)送的手機號碼和短信內(nèi)容,然后發(fā)送第一條信息,當(dāng)串口監(jiān)聽收到返回值“OK”時說明發(fā)送成功,則進行下一條的發(fā)送,過程同上直至將短信全部發(fā)送完畢。由于短信發(fā)送之間的時延時間很短,因此所有群發(fā)的短信幾乎同時到達用戶。短信發(fā)送流程如圖5所示。
(3)數(shù)據(jù)通信
無線通信系統(tǒng)的數(shù)據(jù)通信部分包括Modem的RAS撥號上網(wǎng)和Socket通信,實現(xiàn)Modem和遠程計算機互聯(lián),進行數(shù)據(jù)通信。首先,無線Modem進行RAS撥號(如圖6所示)實現(xiàn)遠程訪問,能夠瀏覽網(wǎng)頁等;然后通過Socket編程實現(xiàn)開發(fā)板與遠程計算機之間的通信,如圖7所示。
圖5 短信通信流程圖
圖6 RAS遠程撥號流程
圖7 TCP客戶端和服務(wù)器通信流程
該系統(tǒng)軟件測試平臺由三星S3C6410開發(fā)板和CDMA2000無線通信模塊組成。S3C6410通過USB接口作為虛擬串口與CDMA2000無線通信模塊進行連接,進而連接到CDMA網(wǎng)絡(luò),進行無線通信。CDMA2000無線通信模塊由一個帶USB接口的3G Modem和一張電信的STK卡組成。
將軟件包嵌入到設(shè)備中,系統(tǒng)初始化以后打開串口,系統(tǒng)將會不停地自動檢測設(shè)備周圍的CDMA1X和EVDO網(wǎng)絡(luò)信號質(zhì)量,串口返回值如圖8所示。然后,系統(tǒng)提取串口返回值中的有效信號值并進行比較,得出信號較強的網(wǎng)絡(luò)并切換到該網(wǎng)絡(luò),根據(jù)串口值得出CDMA1X信號較強,因此,系統(tǒng)將模式切換到CDMA1X模式,如圖9所示。
給出電話號碼,調(diào)用撥打電話函數(shù)撥打電話。給出電話號碼和短信內(nèi)容,則可以將短信發(fā)送到指定用戶,測試界面如圖10和圖11所示。同時,根據(jù)遠程計算機的IP地址和端口號,可以實現(xiàn)開發(fā)板與遠程計算機互聯(lián),進行數(shù)據(jù)通信。此時,遠程計算機作為服務(wù)器,WinCE6.0系統(tǒng)作為客戶端,通信界面如圖10和圖12所示。
圖8 串口返回值
圖9 切換到CDM1X模式
圖10 短信及數(shù)據(jù)通信界面
圖11 手機接收短信
圖12 TCP通信遠程服務(wù)器端
本文完成了一個自適應(yīng)無線通信系統(tǒng)的軟件設(shè)計,實現(xiàn)了短信、語音及數(shù)據(jù)通信功能,以及在兩種不同的網(wǎng)絡(luò)模式中自適應(yīng)重選和切換。該系統(tǒng)不僅可以選擇不同的通信方式進行通信,而且可以優(yōu)選駐留在信號較優(yōu)的網(wǎng)絡(luò)模式。將該系統(tǒng)應(yīng)用在遠程監(jiān)控和報警系統(tǒng)中,可以大大提高工作的便捷性和準確性。該軟件的實現(xiàn)是基于WinCE6.0的VS2005的AT指令編程,采用標(biāo)準的軟件通信架構(gòu),具有簡易的接口和完善的功能,可以方便地進行系統(tǒng)軟件的升級和移植,適用于支持WinCE6.0的各種設(shè)備中。
[1]Xia Jun.The third-generation-mobile (3G) policy and deploymentin China: Currentstatus, challenges, and prospects[J].Telecommunications Policy,2011,35(1):51-63.
[2]Wang Xiaoli, LiJianwei.CDMA-based application of wireless intelligent monitoring system[C].2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering(CMCE),2010:278-281.
[3]Hong Fuzhou.Wirelesscommunication design in water factory monitor system by sockets[C].WiCOM′08,2008:1-5.
[4]Zhou Yulin, Ning Yang, Lu Guiqiang.Customization and application development of Windows CE.Net core[C].PHEI,2005:36-40.
[5]陳毅紅.一種自適應(yīng)智能交通控制系統(tǒng)設(shè)計與實現(xiàn)[J].西南科技大學(xué)學(xué)報,2008(1):23.
[6]CHENG T S, SIGNORE K W D, LIN F.Cost effective treatment of short message service on the paging channel for the CDMA system [J].Bell Labs Technical Journal,2007,12(2):133-144.