付琳琳,章 杰,林宇慧,程樹英,陳金伙
(福州大學 物理與信息工程學院 微納器件與太陽能電池研究所,福建 福州 350108)
無線通信技術的應用已經滲透到人們生活和工作的各個方面,包括日常使用的手機和無線電話等,其中3G無線通信[1]是21世紀最熱門的應用之一。隨著社會的進步和科技的創新,2G網絡提供的業務已不能滿足人們的需求,3G業務成為人們新的追求。3G業務的推出,不僅能夠滿足人們對語音通信的需求,還支持數據通信,在傳輸速率及效率上都有了很大的提高。近年來,嵌入式無線通信技術被廣泛應用到各個領域[2],尤其是在遠程監控系統[3]中,通過對嵌入式平臺軟硬件的設計,實現對遠程設備的監控,節省了人力物力資源。但是由于無線通信的移動性,需要隨著環境的改變作相應的改變,以適應環境的需要,提高系統的工作性能和穩定性。
基于上述情況,設計了一個無線通信軟件包,它通過USB口將3G Modem與三星S3C6410微處理器相連,USB作為一個虛擬串口實現AT指令的收發。該軟件包既可以實現語音、數據和短信等方式的通信功能,又可以根據外界網絡環境的變化調整網絡模式使通信模塊工作在最優狀態。該軟件包可以通過與嵌入式設備相連實現對遠程設備的監控,具有一定的現實意義。
本文設計了一個可以進行自適應無線通信的軟件包,系統可以在完成無線通信的基礎上根據環境變化作出自適應處理。系統整體結構可劃分為硬件平臺層、驅動程序層、操作系統層和應用層 4層,如圖1所示。應用層程序包括語音通信、短信通信和數據通信等,分別通過串口對數據庫進行讀和寫操作,互不影響,并且可以同時進行。這樣就可以方便地進行應用程序的升級、移植和擴展,而不對其他應用程序造成影響。而且在不改變系統硬件平臺的基礎上,可以對系統的功能進行擴展,方便了系統的升級改造。

圖1 無線通信系統整體架構
自適應無線通信系統主要包括語音通信、短信通信和數據通信等。系統不僅可以根據不同的功能需求啟動相應的功能,而且可以在不同的網絡間進行無縫切換,以適應當前網絡環境的改變,使系統工作在最佳狀態。軟件包的組成及其接口函數如圖2所示。

圖2 無線通信軟件包及接口函數
系統軟件的實現是基于WinCE6.0平臺的VS2005的AT指令編程。WinCE6.0作為微軟發布的一款嵌入式操作系統[4],具有高度的穩定性和實時性。VS2005作為WinCE6.0的一個開發環境,具有高度的集成性和擴展性。
系統軟件采用標準的通信軟件架構實現,可以方便地進行系統的移植和升級。軟件結構如圖3所示,其主要的應用程序包括語音程序、短消息程序、串口程序和數據通信程序等。

圖3 系統的軟件架構
自適應控制可以看作是一個能根據環境變化智能調節自身特性的反饋控制系統,以使系統能按照一些設定的標準工作在最優狀態[5]。本文的自適應無線通信系統就是根據這一原理,根據不同時刻網絡的信號強度等參數,選擇較好的網絡,使系統工作在最佳的網絡模式。
本文使用的CDMA2000無線通信模塊支持CDMA1X和EVDO兩種網絡模式,因此可以在這兩種網絡模式中進行工作。關鍵是怎樣實現它們之間的自由切換。具體實現原理如下:程序通過檢測線程函數不停地監測兩種網絡的信號強度,由于接收緩沖區會有很多不同的數據,先將串口接收到的數據保存在一個隊列中,在隊列中查找有效的信號返回參數。提取其中的有效返回值,通過比較選出較好的網絡,最后通過軟件實現網絡模式的切換。通過這種方式可以選擇信號較強的網絡,使得通信質量顯著提高。
系統上電后,首先進行初始化,測試串口及無線通信模塊連接情況。當串口正常打開時,程序執行信號檢測線程函數,通過發送AT指令檢測CDMA1X和EVDO信號的信號質量。將串口接收緩存收到的數據保存在一個隊列中,通過查找函數查找其中有效的信號返回子字符串,然后通過分析信號返回指令提取有效數值。通過比較信號值確定信號較優的一方,繼續檢測比較,直到較優的信號一方保持一段時間后才進行切換網絡,這個時間可以根據具體需要自行設定。切換網絡之前首先要發送指令查詢當前的網絡模式,若為較優模式則不做任何操作,若為較差模式,則切換到較優的網絡模式中。其處理的流程圖如圖4所示。
無線通信系統的主要功能分為語音通信、短信通信和數據通信3個部分。

圖4 自適應實現流程圖
(1)語音通信
語音通信部分主要實現電話呼叫功能,通過AT指令編程實現電話呼叫、接聽和掛斷等功能。撥打電話時,輸入呼叫方電話號碼,通過調用 Call()函數實現,當來電時,可以選擇 Dial up()或 Dial down()進行接聽或掛斷。
(2)短信通信
短信通信部分的主要功能是完成短信的收發、讀取和刪除等。首先輸入電話號碼和短信內容[6],調用發送函數SMS(num,msg)進行發送。讀取短信時,根據短信列表選擇要讀取的短信的序列號,調用讀取函數Read(index)。刪除短信時,給出要刪除的短信的序列號,調用刪除函數Delete(index)。此外,短信部分還增加了短信群發功能,其難點在于正確判斷每條短信的發送是否成功。群發的流程是:首先確定將要發送的手機號碼和短信內容,然后發送第一條信息,當串口監聽收到返回值“OK”時說明發送成功,則進行下一條的發送,過程同上直至將短信全部發送完畢。由于短信發送之間的時延時間很短,因此所有群發的短信幾乎同時到達用戶。短信發送流程如圖5所示。
(3)數據通信
無線通信系統的數據通信部分包括Modem的RAS撥號上網和Socket通信,實現Modem和遠程計算機互聯,進行數據通信。首先,無線Modem進行RAS撥號(如圖6所示)實現遠程訪問,能夠瀏覽網頁等;然后通過Socket編程實現開發板與遠程計算機之間的通信,如圖7所示。

圖5 短信通信流程圖

圖6 RAS遠程撥號流程

圖7 TCP客戶端和服務器通信流程
該系統軟件測試平臺由三星S3C6410開發板和CDMA2000無線通信模塊組成。S3C6410通過USB接口作為虛擬串口與CDMA2000無線通信模塊進行連接,進而連接到CDMA網絡,進行無線通信。CDMA2000無線通信模塊由一個帶USB接口的3G Modem和一張電信的STK卡組成。
將軟件包嵌入到設備中,系統初始化以后打開串口,系統將會不停地自動檢測設備周圍的CDMA1X和EVDO網絡信號質量,串口返回值如圖8所示。然后,系統提取串口返回值中的有效信號值并進行比較,得出信號較強的網絡并切換到該網絡,根據串口值得出CDMA1X信號較強,因此,系統將模式切換到CDMA1X模式,如圖9所示。
給出電話號碼,調用撥打電話函數撥打電話。給出電話號碼和短信內容,則可以將短信發送到指定用戶,測試界面如圖10和圖11所示。同時,根據遠程計算機的IP地址和端口號,可以實現開發板與遠程計算機互聯,進行數據通信。此時,遠程計算機作為服務器,WinCE6.0系統作為客戶端,通信界面如圖10和圖12所示。

圖8 串口返回值

圖9 切換到CDM1X模式

圖10 短信及數據通信界面

圖11 手機接收短信

圖12 TCP通信遠程服務器端
本文完成了一個自適應無線通信系統的軟件設計,實現了短信、語音及數據通信功能,以及在兩種不同的網絡模式中自適應重選和切換。該系統不僅可以選擇不同的通信方式進行通信,而且可以優選駐留在信號較優的網絡模式。將該系統應用在遠程監控和報警系統中,可以大大提高工作的便捷性和準確性。該軟件的實現是基于WinCE6.0的VS2005的AT指令編程,采用標準的軟件通信架構,具有簡易的接口和完善的功能,可以方便地進行系統軟件的升級和移植,適用于支持WinCE6.0的各種設備中。
[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]陳毅紅.一種自適應智能交通控制系統設計與實現[J].西南科技大學學報,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.