設計了基于ZigBee短距離無線通信技術與3G遠距離無線通信技術相結合的遠程無線測光系統;該系統處理器選用的是三星S5PV210處理器,短距離無線通信模塊采用TI公司的CC2530芯片,3G上網卡設備用的是中興MF190無線上網模塊。文中給出了系統具體的軟硬件設計方案。結果表明,該系統可以達到穩定高效的監測效果,具有良好的實用性和應用價值。
1 系統總體設計
ZigBee 技術是一種低速率、近距離、低功耗、低復雜度、低成本、通信可靠和網絡容量大的無線通信技術。根據IEEE 802.15.4協議標準,ZigBee 的工作頻段分為868 MHz、915 MHz和2.4 GHz 3個頻段,其中2.4 GHz頻段上分為16個信道,該頻段為全球通用的工業、科學、醫學頻段,該頻段為免付費、免申請的無線電頻段,在該頻段上,數據傳輸速率為 250 Kb/s,功耗發射輸出僅為0~3.6 dBm,綜合考慮選擇使用2.4 GHz頻段。
系統主要由三部分組成:光照度終端采集節點、協調器主節點和上位機服務器監控中心。系統的整體結構圖如圖1所示。
圖1 系統整體結構圖
2 系統硬件設計
本系統的ZigBee 無線傳輸網絡由4個帶有光照強度傳感器的終端采集節點和1個協調器主節點構成。終端采集節點BH1750數字光照度傳感器采集到的光照強度數據通過CC2530射頻收發模塊以無線方式發送到協調器主節點CC2530射頻收發模塊,主節點CC2530射頻收發模塊再與主控制器S5PV210進行通信,通過3G網絡將數據傳輸至遠程上位機服務器監測中心。
2.1 協調器主節點設計
協調器主節點在整個ZigBee 無線網絡中的主要作用是建立、維護、控制終端節點的加入以及數據的匯總、緩存和轉發,它是ZigBee 網絡的控制中心,其結構框圖如圖2所示。無線射頻收發芯片CC2530 完成組網和數據無線收發;3G上網完成數據的遠距離無線傳輸;主控芯片S5PV210負責整個主節點模塊的協調與控制。
圖2 局域網控制主節點結構框圖
CC2530 是用于IEEE802.15.4、ZigBee 和RF4CE 應用的一個真正的片上系統(SoC)解決方案,它能夠以非常低的總材料成本建立強大的網絡節點,CC2530 結合了RF收發器的優良性能,具有業界標準的增強型8051 CPU、系統內可編程閃存,8 KB RAM 和其他強大的功能。CC2530有4種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256 KB 的閃存。運行模式之間的轉換時間較短,可進一步確保低能源消耗。
2.2 終端采集分節點設計
終端采集節點負責將采集到的光照強度數據傳送到協調器主節點,其硬件電路原理圖如圖3所示。數字光照度傳感器BH1750負責光照強度數據的采集;無線射頻收發芯片CC2530 負責與局域網控制中心無線通信,采集數據并發送數據到局域網控制中心。
圖3 局域網采集節點電路原理圖
BH1750是一種用于兩線式串行總線接口的數字型光強度傳感器集成電路,這種集成電路可以根據收集的光線強度數據來調整液晶或者鍵盤背景燈的亮度,利用它的高分辨率可以探測較大范圍的光強度變化,探測范圍可以從1~65 535 lx,支持I2C總線接口(f/s Mode Support),具有接近視覺靈敏度的光譜靈敏度特性(峰值靈敏度波長典型值為560 nm)[6];輸出對應亮度的數字值;通過降低功率功能,實現低電流;通過50 Hz/60 Hz 除光噪音功能實現穩定的測定;支持1.8 V 邏輯輸入接口;無需其他外部件;光源依賴性弱(白熾燈、熒光燈、鹵素燈、白光 LED、日光燈);有兩種可選的I2C總線slave 地址;可調的測量結果影響較大的因素為光入口大小;最小誤差變動在±20%;受紅外線影響很小。
3 軟件設計
系統軟件設計包括終端節點采集程序、ZigBee 網絡無線傳輸程序、3G網絡無線傳送程序和上位機服務器監測程序的軟件設計。
3.1 終端節點采集程序設計
BH1750與主控器之間的通信使用標準的I2C總線通信協議。I2C 總線是一種由NXP公司開發的兩線式串行總線,用于連接微控制器及其外圍設備[7]。主控器通過I2C總線接口向BH1750發送各種控制命令以及讀取測量數據。主要控制命令如下:上電指令為0x01;斷電指令為0x00;連續H分辨率模式為0x10;連續L分辨率模式為0x13;一次H分辨率模式為0x20;一次L分辨率模式為0x23。
以“連續高分辨率模式”為例,測量步驟如下:
① 發送“上電”指令。
② 發送“連續高分辨率模式”指令。
③ 等待完成第一次高分辨率模式的測量(最大時間為180 ms)。
④ 發送讀指令。
⑤ 讀測量結果。
3.2 ZigBee 網絡無線傳送程序設計
ZigBee 協調器節點上電后,ZDO層首次進行一系列的初始化工作,然后調用ZDO層的初始化設備函數,最終觸發網絡初始化函數,開始構建一個新的網絡。建立網絡時,協調器節點首先逐個對各個信道進行掃描,根據各個信道的能量值進行排序,選擇能量值達到一定大小的信道為可用信道。其次,由網絡層在可用信道中選定信道,并隨機選擇一個在所選信道中唯一的16位網絡標識符(PANID)分配給這個新建的網絡[8]。協調器的軟件設計流程圖如圖4所示。
終端采集節點上電以后進行設備初始化,然后檢測周圍是否有網絡存在,當發現有網絡存在時,網絡層將給予ZDA層發現網絡反饋信息,然后由網絡層向能量強度相對較大的網絡發出加入網絡請求;加入網絡成功,則網絡層將給予ZDA層加入網絡反饋。成功加入網絡之后開始向協調器發出綁定請求,綁定成功后開始對光照數據進行采集,將采集到的數據進行預處理并無線發送至協調器節點。傳感器終端采集節點軟件流程圖如圖5所示。
3.3 3G網絡無線傳送部分設計
3.3.1 usb_modeswitch的移植
usb_modeswitch是一種在Linux系統下對USB設備的工作模式進行轉換的工具,用于控制含有多個USB子設備的USB設備。在Linux環境下,廠家一般不會提供USB設備在Linux系統上的驅動,所以需要用usb_modeswitch工具來進行模式轉換。設備模式依賴usbstorage和usbserial,所以在開發板上需要有這兩種模塊的支持,設備小能夠正常工作于這兩種模式下。
usb_modeswitch依賴于libusb提供的一系列庫文件,首先需要安裝libusb.解壓并進入libusb1.0.6目錄,使用如下命令建立子目錄install,用于存放最后生存的庫文件與頭文件。usb_modeswitch移植過程略--編者注。
3.3.2 PPPD的移植
Linux在內核中已經支持3G模塊驅動和PPP網絡協議棧,需要做的工作是在內核中配置3G模塊驅動和PPP網絡協議棧的相關選項。PPPD的移植過程略—編者注。
在開發板文件系統/etc/ppp/peers目錄下邊創建三個文件,代碼略—編者注。
3.3.3 主節點與上位機通信程序設計
通過PPPD的撥號,可以建立數據鏈路層的連接,數據鏈路層采用PPP協議,它是一種面向字符的協議,是為在兩個對等實體間傳輸數據包連接而設計的,使用可擴展的鏈路控制協議LCP來建立、配置和測試數據鏈路。網絡程序還需要TCP/IP協議的支持,Linux內核已經保留了對TCP/IP以及其他的網絡協議的支持。最后編寫嵌入式Linux上的網絡客戶端應用程序和Windows網絡服務器端應用程序,傳送想要傳送的數據。主節點主控制器與上位機服務器通信的程序流程圖如圖6所示。
圖6 主節點與上位機通信程序流程圖
3.4 服務器上位機監測部分
服務器上位機軟件的開發采用Microsoft Visual C++6.0開發環境,采用的是面向對象的程序設計方法,對于每一個窗口都建立了相應的類,在類的基礎上創建對象,對對象的操作就是對其對應的窗口的操作。監控中心軟件主要實現以下功能:建立服務器端并接收客戶端的連接;接收客戶端發送過來的數據并顯示;實時曲線顯示;歷史數據查詢。
4 調試測試
4.1 系統調試
在系統調試過程中,傳輸數據時上位機接收到的數據有個別是錯誤的,通過查看二進制代碼發現0x11、0x13字符沒有接收到。縮小范圍查看問題出在哪個環節,檢驗發現主節點控制器S5PV210沒有接收到0x11、0x13字符,而主節點CC2530單片機已經接收到了0x11、0x13字符,那么問題一定出現在串口上。
在Linux串口編程中都沒對c_iflag(termios成員變量)這個變量進行有效的設置,這樣傳送ASCII碼時沒有問題,但傳送二進制數據時遇到0x0d、0x11和0x13卻會被丟掉。這幾個字符是特殊字符,被用作特殊控制了,只需要關掉ICRNL和IXON選項即可。
具體做法是在主控制器Linux串口初始化函數中添加以下語句:
options.c_iflag &= ~(ICRNL | IXON | IXOFF);
options是之前定義的termios類型的結構體。通過以上設置就可以屏蔽掉0x11、0x13字符的特殊功能,從而能正常傳送以上字符。
4.2 系統功能測試
連接好硬件設備后,配置編譯內核,將編譯好的內核通過USB下載到開發板上,然后重啟。再將編譯好的應用程序通過串口終端下載到開發板上。將3G上網卡插到USB接口上,使用如下命令建立3個TTY設備文件節點,代碼略—編者注。
我們可以看到PING新浪的WEB服務器可以PING通,說明已經成功接入因特網了。然后將4個終端分節點放在不同的光照環境下,啟動上位機軟件,建立服務器端,開始等待接收主節點客戶端的連接請求和發送過來的數據并且顯示。啟動主節點客戶端程序來連接服務器,最后啟動分節點的采集傳送程序。上位機接收到并顯示的監測數據圖略—編者注。
結語
本文闡述了一種將低成本、低功耗的短距離無線ZigBee 技術與遠距離3G移動通信技術相結合的遠程無線測光系統,并完成了對采集終端節點、協調器主節點的軟硬件設計,通過編寫Windows平臺上位機軟件對采集到的數據進行實時顯示與分析。
-
處理器
+關注
關注
68文章
19348瀏覽量
230246 -
ZigBee
+關注
關注
158文章
2270瀏覽量
242955 -
移動通信
+關注
關注
10文章
2614瀏覽量
69935
發布評論請先 登錄
相關推薦
評論