李文峰 ,顧敦清
(西安科技大學通信與信息工程學院,西安710054)
隨著計算機、通信和網絡技術的高速發展,無線通信技術在不同行業和領域中已廣泛應用,在大型的煤礦、油田和工業自動化、數據采集與監視系統中構建智能化、網絡化的信息化平臺來提升工作效率和管理水平已是必然要求。但是具有RS232 串行接口的數據采集終端和智能儀器設備無法實現快速的網絡接入和數據共享,不能滿足自動化設備集中式管理。
針對這種問題,本文設計了一種基于ARM11 平臺的雙網模塊;通過該模塊我們可以利用無線網絡實現串口數據迅速聯網和轉發,當自己組建的WLAN網的信號無法覆蓋到所有區域時,我們可以自動切換到GPRS 網絡,實現無盲區的信息聯網和共享。以WLAN 網絡作為優先網絡,當WLAN 網絡的信號低于某個值時,系統實現自動網絡切換,轉到GPRS 網上。這樣我們就可以實現雙網的優勢融合。
根據上述具體需求和目標,結合實際應用提出串口轉WiFi/GPRS 數據雙網模塊數據傳輸原理示意圖,如圖1 所示。
數據源為工業自動化和數據采集系統中RS232串口上所要傳輸的數據。數據傳輸終端在設計時,考慮到數據采集終端即插即用的快速網絡接入,設計RS232 串口,以便與原有數據采集系統連接,提供透明的傳輸通道,可以在不對原有系統進行改造的基礎上,將各種工業自動化和數據采集系統接入到一個統一的平臺上。

圖1 雙網模塊數據傳輸原理圖
系統硬件部分主要包括核心處理器,WiFi 無線模塊,GPRS 無線模塊,RS232 串口,存儲部分,可擴展接口,電源和時鐘,其硬件組成框圖如圖2 所示。

圖2 硬件組成結構框圖
(1)S3C6410 核心處理器
S3C6410 是一個16/32 bit RISC 微處理器,旨在提供一個具有成本效益、功耗低,性能高的應用處理器解決方案,像移動電話和一般的應用。它為2.5G和3G 通信服務提供優化的H/W 性能,S3C6410 采用了64/32 bit 內部總線架構;該64/32 bit 內部總線結構由AXI、AHB 和APB 總線組成。它還包括許多強大的硬件加速器,像視頻處理,音頻處理,二維圖形,顯示操作和縮放。
在本次的模塊設計方案中,S3C6410 核心處理器是起到控制和數據處理作用的。作為控制器,它主要是起到對網絡信號的檢測以及雙網工作的軟切換作用。在數據處理方面,它可以將串口接收來的數據進行解包、分組,然后將其進行打包成所需要的數據格式。
(2)WiFi 無線模塊及其接口設計
WiFi 無線模塊,我們采用USI 公司的WM-GMR-09,該模塊的內核是Marvell 88W8686。它包含嵌入式高性能兼容ARM11 的處理器Marvell Ferocean;此處理器的工作頻率為128 MHz,兼容ARM9 32 bit 指令集,具有32 bit 位寬的數據線。該模塊有兩種類型的HOST 接口,分別是SPI 和SDIO 兩種接口。
采用這種模塊,我們可以從硬件上完全分離了WiFi 主機與控制層,這樣大大簡化了我們的設計。所以在設計時,我們只要在系統控制層上做出一個HOST 接口的驅動,這樣就可以實現對WiFi 模塊的控制。在本次設計中,我們用的是SPI 接口實現WiFi 模塊和核心模塊的無縫連接;SPI 接口包括兩根數據線、一根時鐘線以及一根片選信號線。
(3)GPRS 模塊及其接口設計
我們采用的GPRS 通信模塊是SIM900A,該模塊帶有屏蔽罩,而且集成度非常高、體積也很小。它無需專用的通信接口來與主機相連,普通的I/O 口即可實現通信。核心處理器通過AT 指令來控制GPRS 模塊。SIM900A 集成了完整的射頻電路和GSM 的基帶處理器,適合于開發一些GSM/GPRS 的無線應用產品,如移動電話、PDA、PCMCIA 無線MODEM 卡、USB 無線MODEM、無線POS 機、無線抄表、無線數據傳輸單元,無線公用電話、無線商務電話、監控、調度、車載、遙控、遠程測量、定位和導航等系統和產品,應用范圍十分廣泛。SIM900A 模塊為用戶提供了功能完備的系統接口,用戶只需投入少量的研發費用,在較短的研發周期內,就可集成到自己的應用系統中。
(4)電源模塊設計
電源模塊主要分兩部分來設計,一部分是給核心模塊進行供電的電路,一部分是給兩個無線模塊進行供電的電路。對于S3C6410 的核心模塊主要有兩種數字電,分別是1.8 V 和3.3 V;而對于兩個無線模塊,SIM900A 需要4 V 來進行供電,WM-GMR-09 則需要3.3 V 來進行供電。所以整個電路設計中,我們需要用到3 種電。我們以5 V 的電源作為輸入,則需要3 種類型的DC-DC 電路來實現電平的轉換。因為模塊SIM900A 要求的電流比較大(峰值為2 A),所以建議用能承受大電流的轉換芯片,例如EUP7967 系列。
從系統軟件框圖可以看出,系統軟件可分為嵌入式Linux 操作系統和應用程序兩大部分。其中,嵌入Linux 操作系統主要包括設備驅動程序、Linux內核、文件系統;應用程序主要包括以下模塊:WiFi通信程序、GPRS 通信程序、網絡檢測和自動切換程序。在正常通信狀態下,默認為WiFi 網絡進行通信,當檢測到無WiFi 網絡時,開始切換網絡使用GPRS 通信。系統軟件的組建框圖如圖3 所示。

圖3 系統軟件框圖
雙網模塊和PC 之間通過串口通信的方式對模塊進行配置,在VC + +集成開發環境中,利用Windows 下的串行通信編程的ActiveX 控件設計完成了配置軟件。GPRS 和WIFI 軟件流程圖如圖4、圖5 所示。

圖4 GPRS 通信軟件流程圖

圖5 WIFI 通信軟件流程圖
MSComm 控件通過串行端口傳輸和接收數據為應用程序提供串行通信功能。提供了兩種處理通信問題的方法:一是事件驅動法,主要是利用OnComm事件捕獲并處理這些通信時間,也可以檢查和處理通信錯誤;二是查詢法,在這種情況下,每當應用程序執行完一個串口操作后,將查看MSComm 控件的CommEvent 屬性以確定執行結果或者檢查某一事件是否發生。GPRS 與WIFI 模式配置軟件界面如圖6、圖7 所示。

圖6 GPRS 模式配置軟件界面

圖7 WiFi 模式配置軟件界面
依據上述測試方案,接下來將按照以下步驟進行具體測試,圖8 為測試現場照片。

圖8 測試現場
(1)雙網模塊參數配置
先運行雙網模塊配置軟件“cfgWiFi-GPRS”,再給模塊上電,看到“狀態”框為彩色滑動條時,分別對WiFi 和GPRS 模塊所要用到的參數進行配置,WiFi 的相關參數參考無線路由器的有關配置,具體配置如圖9 和圖10 所示。

圖9 WiFi 參數配置

圖10 GPRS 參數配置
(2)在無WiFi 網絡覆蓋區域,通過給計算機串口發送測試數據“data from WiFi_mode”,在數據服務中心使用TCP/UDP Sockett 調試工具進行數據接收和發送,數據服務中心的測試數據“data from server”,測試結果如圖11 和圖12 所示。
(3)在有WiFi 網絡覆蓋的條件下,通過給計算機串口發送數據“data from GPRS_mode”,在數據服務中心使用TCP/UDP Sockett 調試工具進行數據接收和發送,數據服務中心的測試數據為“data from server”,心跳包數據位“GD—Heart”。測試結果如圖13 和圖14 所示。
從以上3 項測試的過程和結果可以看出,本次課題設計的雙網模塊實現了串口到WiFi/GPRS 數據的轉換,可以使串口設備快速接入WiFi 和GPRS網絡,在恢復網絡故障后,能實現網絡重新連接,具有較好的可靠性。

圖11 串口設備數據收發

圖12 WiFi 模式下數據服務中心數據收發

圖13 GPRS 網絡連接

圖14 GPRS 模式下數據服務中心數據收發
本文設計實現了串口轉WiFi/GPRS 數據雙網模塊,完成了串口數據通過無線網絡的發送,實現了WiFi 和GPRS 網絡的雙網自主切換,解決了對串口設備集中化管理不足問題,滿足高效率數據傳輸和共享。串口WiFi/GPRS 數據雙網模塊是串口設備連接具有非常廣闊的應用前景。
[1] William Stallings,何軍.無線通信與網絡[M]. 北京:清華大學出版社,2004.
[2] 怯肇乾.嵌入式網絡通信開發應用[M]. 北京:北京航空航天大學出版社,2010.
[3] 王瑞.串口設備無線聯網服務器的研究與設計[D]. 大連:大連理工大學,2009.
[4] 林思成.基于ARM 處理器的嵌入式無線數據傳輸技術[D].南京:南京理工大學,2010.
[5] 張鑫鋒.嵌入式多媒體終端的WiFi 功能研究與設計[D]. 上海:華東師范大學,2009.
[6] 姜春茂,段瑩,黃春梅. 嵌入式Linux 文件系統裁剪方法研究[J].計算機科學,2008.35(9): - .
[7] 李新峰,何廣生,趙秀文.基于ARM9 的嵌入式Linux 開發技術[M].北京:電子工業出版社,2008:118-127.
[8] 周伯健.嵌入式GPRS 無線數據傳輸系統的實現及應用[D].南京:東南大學,2009.
[9] (Bud)Bates R J.通用分組無線業務(GPRS)技術與應用[M].朱洪波,沈越泓,蔡躍明,譯.北京:人民郵電出版社,2004.