本站小編為你精心準備了ZigBee數據采集論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1外圍電路
CC2530射頻模塊通過外引24個引腳,包括普通IO引腳P00-P24和電源、復位引腳,實現與外圍電路的連接。外圍電路包括復位電路、開關電路、傳感器接口電路、按鍵指示電路、通信調試電路、電源供電電路。主要電路功能介紹如下:按鍵指示電路:節點包括Led和蜂鳴器指示電路,用于本節點的指示功能;支持按鍵功能,進行節點工作模式的轉換。開關電路:由三極管電路組成,用于實現傳感器供電的通斷。通信調試電路:由串口電路和JTAG調試接口組成;串口負責與PC上位機軟件的連接,方便修改節點的參數;JTAG接口方便上位機集成環境IAR等調試用。電源供電電路:基本供電由外部USB接口電源5V通過AMS1117轉3.3V以及直接電池3.3V供電組成;傳感器可由內部3.3V供電,而大于3.3V則由外部電源直接提供。傳感器接口電路:包括危化品物流車輛常見的幾種信號(0-5V、4-20mA、開關量、數字量)采集電路,可同時接四種類型的傳感器。其中數字量主要是DS18B20、DHT11溫濕度傳感器的輸出信號;0-5V主要是氣體泄露檢測、光敏、真空度傳感器的輸出信號;4-20mA主要是壓力、液位傳感器的輸出信號;開關量主要是紅外、門開關、傾斜傳感器的輸出信號;信號接入后進行了信號隔離和二極管鉗位保護電路。
2節點軟件
2.1節點軟件架構軟件設計部分主要是基于TI公司的Z-stack協議棧進行應用程序的開發。Z-stack協議棧是一款穩定性強的zigbee開發協議棧,是對Zigbee標準的具體實現。協議棧APL(應用層)包含了主要的API函數接口,方便進行應用開發,從而實現對CC2530芯片硬件資源的控制功能。具體軟件框架設計如圖4所示。應用層軟件主要包括節點間數據的接收/發送、節點內應用層與底層的交互。應用層的數據經過應用層數據幀格式進行封裝傳給底層繼續封裝并發送出去;接收數據則由底層先進行解釋,再由應用層進行解釋,然后進行數據的計算、更新參數等步驟。應用層還可通過API控制接口對底層進行控制與信號、參數獲取。
2.2數據幀格式Zigbee采集節點和主節點模塊的數據傳輸格式采用字符串形式進行數據的發送/接收。由于是采用字符進行數據傳輸,所以可以利用上位機現有的字符串處理函數,很容易校驗數據正確性,并從數據幀中提取有效信息,避免因幀長度判斷引起的錯誤。另外,基于Zigbee傳輸速率較低、傳感器數據量小、刷新速度慢的需求等特點盡量減小和限制了協議中各數據域的占位寬度,保證傳輸效率。具體數據格式如表1所示。幀頭:本協議節點間的應用層交互主要有命令幀和數據幀。幀頭是辨別命令幀和數據幀而設立的。幀頭包括:Set、Get、Ack、Data4種。Set指的是主節點對采集節點進行參數設定,為命令幀,是主節點需要對子節點進行參數配置的時候發送的,子節點收到此類型幀后,發回Ack幀,說明參數設置成功與否;Get指的是其他節點需要獲取本節點信息,為命令幀,本節點收到此類型幀后,發送數據幀;Ack指的是節點間通信應答狀態幀,SUCC為成功、FAIL為失敗;Data指的是數據幀,攜帶節點參數、傳感器采集數據。如表2所示。目的地址:目的地址指的是Zigbee網絡中的設備唯一標識的網絡ID。為十六進制0X0000-0XFFFF之間值。其中有幾個地址值有特殊的含義,0XFFFF表示廣播地址;0XFFFE表示所有接收功能打開的設備;0XFFFC表示所有路由設備;其余地址為單一設備的網絡地址。網絡地址的獲得過程是:主節點設備啟動成功后,自設定為Zigbee網絡的主網絡ID0X0000,子節點設備在申請加入成功后獲得一個網絡身份標志ID。幀類型:在幀頭為Set、Get、Data時,此幀位置都有意義,分別代表設置、獲取、攜帶相應類型的節點信息。這些類型包括,傳感器數據(Sensor)、節點網絡地址(NAdr)、節點網絡類型(NType)、采集周期(Cycle)、產品信息(Info)、發送方式(SWay)、功率模式(PMode)、信道選擇(Channel)、AD參考電壓(ADMode)、默認發送地址(DSAdr)。信道數據:DataChannel796F800\r\n(第11(0x0B)無線信號通道)載荷:載荷是整個通信幀中最重要的部分,包括了通信的主要內容。載荷的具體內容需要根據幀類型來確定。描述如下:(1)幀類型為傳感器數據:此時載荷部分包括傳感器類型、傳感器ID、傳感器值。傳感器類型包括?;肺锪鬈囕v常見信號:1.溫度、2.門開關、3.真空度、4.液位、5.壓力、6.電壓、7.濕度、8.氣體、9.紅外10.光敏、11.傾斜。傳感器ID從0開始分配,表示同種類傳感器的使用編號。(2)幀類型為非傳感器數據:此時載荷部分攜帶網絡地址、采集周期、發送地址等值。結尾符:本協議結尾符為字符“\r\n”,加上字符串結束符‘\0’,固定為3個字節。結尾符是一幀數據的界定符,上位機軟件可以根據此結尾符很快能判定幀的長度,避免一些數據長度判讀錯誤的發生。
2.3軟件處理流程Z-stack協議棧基于輪詢機制,事件是最小處理單元,每個事件都有相應的處理函數,當事件管理數據結構相應的位置位時,協議棧通過輪詢機制就能發現并跳入相對應處理函數進行處理步驟,處理完再返回輪詢大循環。這里主要設置了3個事件,分別是串口事件、無線事件和采集事件。串口事件主要處理與上位機的通信;包括根據上位機命令修改本節點參數、接收發送數據等;無線事件主要處理數據的無線發送和接收;采集事件主要處理傳感器的數據讀入、封裝、發送或者接收、解析、轉發等。處理流程圖如圖5所示。
2.4上位機配置軟件Zigbee設備邏輯類型包括3種,分別是主節點、路由節點、終端節點。對于不同設備類型的具體處理流程,本設計編寫了統一的參數配置服務函數,可通過上位機軟件方便進行配置。比如,終端節點配置成具有傳感器數據的采集功能,可選擇無線和串口兩種發送方式,而對于路由器或者協調器,基于功耗考慮,則配置成不具有傳感器數據采集功能。通過設計節點上位機配置軟件ZigConfig來實現參數的配置,簡單的界面操作就能通過串口以上述數據格式下載到節點,并燒寫到CC2530的flash中永久保存起來,節點下一次啟動將以新的參數啟動。上位機配置軟件介紹如下:(1)配置軟件由QtCreator開發。QtCreator是Qt被Nokia收購后推出的一款新的輕量級跨平臺集成開發環境(IDE)。支持的系統包括Linux(32位及64位)、MacOSX以及Windows。開發人員能利用該應用程序框架更快速及輕易地完成開發任務。(2)該配置軟件完成節點的設備類型、接口采集邏輯、入網參數等的配置??芍苯油ㄟ^串口線與待配置節點連接,也可以通過一個中間節點對待配置節點進行無線配置,中間節點通過串口線與上位機連接。操作界面如圖6所示。(3)如圖7,圖8所示,通過上位機配置軟件S1(實物圖如圖6所示)可方便地對待配置節點S2進行參數配置。對于待配置設備,如果是終端設備,配置前需先按下配置按鍵,指示燈亮后,裝置即進入配置模式;而如果是路由設備或協調器設備則無需此步驟。(4)有線配置如圖6所示:上位機通過串口線連接待配置設備,然后配置軟件上收到待配置節點S2發送過來的設備信息,并顯示在界面上,然后點擊配置按鈕,即發送配置幀到節點S2,點擊讀取配置按鈕,則將節點S2各項參數顯示在界面上,如果節點S2是數據透傳模塊,則可以直接接收數據或填寫目標地址發送數據。配置完后再按一下按鍵,指示燈不亮,表示配置完成??梢耘渲迷O備類型為Zigbee終端設備、路由設備、協調器設備和點對點透傳設備;可以配置入網參數,比如PANID值、信道、網絡模型、網絡層次等;可以配置傳感器發送周期,使各傳感器通道數據可以同一周期發送,也可以不相同周期發送等。(5)無線配置如圖8所示,采用一個節點作為數據中轉與上位機有線連接,通過這個節點無線發送指令到待配置節點進行配置,配置過程中的操作步驟與有線時類似。
3節點測試
3.1信號強度RSSI(ReceivedSignalStrengthIndication)是接收端的信號強度指示,可用來判定鏈接質量。實際應用中,普遍采用簡化后的Shadowing模型,即如下公式計算RSSI值。其中Pr(d)為接收端接收信號強度,Pr(d0)為參考處接收端接收信號強度,d為接收端與發送端實際距離,d0為接收端與發送端參考距離,n為路徑損耗指數,通常取2~4。取d0=1m,實測得Pr(d0)的值代入,并取n=3代入公式(1)得新的計算公式。實際測試中取兩個節點,分別設為協調器節點和終端節點。將協調器節點固定,令終端節點遠離,終端節點加入協調器節點網絡后,每隔1s發送一次數據到協調器節點。協調器接收到數據包后,從TI協議棧Z-Stack的數據結構afIncom-ingMSGPacket_t中提取RSSI值記錄下來。100M范圍每隔5M記錄一次RSSI值,每次記錄100個值,然后取100個中的隨機值和平均值分別作為本次終值繪制曲線。
3.1.1空曠環境下測得Pr(d0)=-28dbm,按照公式(2)與實際數據,繪制對比曲線。從圖9和圖10對比曲線可以看出,隨著兩節點間距離增大,RSSI值會逐漸衰減,符合一般規律。0-20m范圍內,RSSI衰減較快,之后較為平緩。40m后信號質量普遍較理論值平緩,可能是受硬件條件影響,誤差增大。圖9由于每次記錄取的隨機值,存在較大誤差,圖10每次記錄取100個數據的平均值,曲線較為平緩。誤差因素包括硬件設計、周邊環境影響等。
3.1.2?;肺锪鬈囕v環境下采用深圳市中集集團液化氣罐(空罐)?;肺锪鬈囕v進行實地測試,測試車輛長度14m,寬度2.5m。將協調器節點放置在車駕駛座,終端節點自由放置于車廂體內部,加入網絡并發送數據到協調器節點。測得Pr(d0)=-44dbm,根據公式(2)和實際數據的結果曲線如下:由圖11和圖12可以看出,在車輛環境下,節點信號普遍較空曠環境下差,這主要是因為接收節點被放進車輛箱體內部,信號一定程度上受到廂體衰減。大于40m距離后信號變得不穩定,通信斷續和重連情況發生頻繁,此時RSSI值普遍>82dbm,80m后多次測試接收端均接收不到數據。
3.2數據傳輸將協調器節點放置在車駕駛座,終端節點自由放置于車輛廂體內部,加入網絡并發送數據到協調器節點。在協調器端統計接收數據包個數,并計算丟包情況和最大穩定通信距離(即數據通信情況良好,極少發生重連情況),結果如下。由表3可以看出,主節點在車駕駛室情況下,車正前方和側面信號要好于車后方信號,節點丟包率較低,通信距離>=25M,滿足一般?;肺锪鬈囕v要求。另外,通信的最大穩定傳輸RSSI值是極少斷網重連情況發生下的統計值,所以普遍低于信號強度曲線中的極限值。隨著距離增大,節點間的網絡傳輸也會變得不穩定,常常發生斷網重連,甚至無法重連狀況。實際數據包傳輸受節點間不同阻擋物、不同車型、車體電磁干擾、程序執行等因素影響。
3.3功耗通過萬用表、示波器和在程序中設計測試模塊的結合進行功耗測試,測試結果如下。從表4的測試結果可以看出,節點滿足低功耗要求,休眠情況下,節點功耗低至0.33uA。
4結語
基于Zigbee技術,實現了?;愤\輸車輛無線傳感數據采集節點的軟硬件,通過實驗證明,此節點信號和數據傳輸性能滿足相關需求,特別是在?;奋囕v廂罐體內信號衰減較大環境下,最大穩定通信距離滿足要求,并具有丟包率低、穩定性高、低功耗、投資成本低等優點,是將Zigbee技術應用于交通運輸行業的典型案例,值得借鑒與推廣。
作者:鄒建基單位:廣東工業大學自動化學院