嚴冬+李瑛+李景林
摘 要:無線傳感器網絡是當前信息領域中研究的熱點之一 ,適用于對環境中的參數進行采集、處理和發送。文章介紹了一種基于STM32F103RBT6的無線光照傳感器節點的設計與實現方法,該方法利用光照傳感器作為環境數據采集單元,并使用無線射頻模塊UZ2400將數據發送至網關,再由網關將數據送至上位機達到實時監控的目的。文章除提出了光照傳感器節點的硬件設計并描述了系統的軟件架構及實現方法外,其節點具有較高的實用性和可靠性,能實時準確地采集環境中的光照強度值,因而在未來的智能家居系統中具有良好的應用前景。
關鍵詞:無線傳感器網絡;光照傳感器;UZ2400D;可靠性
中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2014)02-0016-03
0 引 言
物聯網是信息產業領域未來競爭的制高點和產業升級的核心驅動力、是衡量一個國家綜合國力的重要標志,在軍事、民用及工商業領域都具有廣闊的應用前景[1]。無線傳感器節點是無線傳感器網絡 (Wireless Sensor Network,WSN)的主要組成部分,用來采集現場數據,并通過一定的無線路由協議將信息傳給觀測者[2]。本文介紹了一種無線光照傳感器節點的設計與實現,給出了傳感器節點的功能模型,詳細闡述了其工作原理、設計和實現。
1 系統結構
無線傳感器網絡,具有低功耗、低成本、分布式和自組織的特點。無線傳感器網絡是由大量的靜止或移動的傳感器以自組織和多跳的方式構成的無線網絡,以協作地感知、采集、處理和傳輸網絡覆蓋地理區域內被感知對象的信息,并最終把這些信息發送給網絡所有者。傳感器網絡實現了數據的采集、處理和傳輸的三種功能[3]。本無線光照傳感器節點主要由三部分組成:數據采集部分、數據處理部分、無線傳輸部分。數據采集部分主要負責將外界環境中的光照強度值采集進來,采集部分所得到的信號會隨著外界光照強度變化而變化,光照傳感器將從外界采集到的光照模擬量,通過傳感器內部的一個16 bit AD轉換后直接輸出數字量,通過I?C接口將數據傳輸至數據處理部分作相應處理,然后將數據發送至網關,網關將數據送至上位機界面。系統功能模型如圖1所示。
圖1 系統功能模型
2 系統硬件設計
無線光照傳感器節點硬件電路主要由數據采集單元、數據處理單元、無線傳輸單元、電源管理單元四部分組成。
2.1 數據采集單元
本方案選用了一種數字型光強度傳感器集成電路BH1750FVI。BH1750FVI有著體積小、高感應靈敏度、良好的穩定性,光源依賴性弱,功耗低等諸多優點。光照傳感器結構圖如圖2所示。
圖2 光照傳感器結構圖
如圖所示PD為接近人眼反應的光敏二極管,當有光線照射時,PD將產生相應的飽和反向漏電流,形成光電流,電流的大小隨光強度的變化而變化,集成運算放大器將PD電流轉換為PD電壓,送入ADC轉換器,并取得16位的數字數據,經過I?C接口傳輸到數據處理單元。
2.2 數據處理單元
處理器芯片是整個電路的核心部分。無線光照傳感器節點選用的是ST公司的STM32F103RBT6處理器芯片,它采用高性能的ARM32位Cortex-M3內核,最高工作頻率72MHz,代碼執行速度高達1.25 MIPS/MHz。它內置高達128 KB FLASH和 20 KB SRAM[4], 同時具備豐富的I/O端口和外設:包含 51個通用普通I/O口、16通道12位ADC、4通用 16位定時器、電機控制 PWM 接口、2個I?C、2個SPI/SSP、3個UART、1個USB控制器、1路CAN總線接口等。光照傳感器將采集到的光照信號通過內部放大電路、ADC轉換電路后得到的數字量通過I?C總線直接傳入到STM32F103RB,經過軟件協議棧中的物理層、MAC層、數據鏈路層、網絡層、傳輸層、應用層依次加載,將數據送至UZ2400D,完成一次信號采集處理,并最終發射出去。
2.3 數據傳輸單元
數據傳輸單元采用臺灣達盛公司的UZ2400D射頻芯片。UZ2400D是一種符合IEEE802.15.4標準的解決方案,滿足了低成本、低功耗的無線應用需要。它由一個無線射頻收發器作用在2.4 GHz 的802.15.4標準基帶和媒介訪問控制子層功能模塊組成。UZ2400D的射頻塊由一個集成電路內的接收器、發送器、壓控振蕩器和鎖相環路組成。UZ2400D的結構圖如圖3所示。
圖3 UZ2400D模塊結構圖
UZ2400D采用先進的無線電架構來盡量減少外部元件數和功率消耗量。UZ2400D的MAC和基帶為IEEE802.15.4的MAC層和PHY 層提供了硬件架構。它主要包括TX / RX 控制器、CSMA-CA控制器、超幀構造器、接收幀過濾器、安全引擎及數字信號處理組件。UZ2400D芯片在外圍電路上加上天線、晶振和電阻電容等器件,引出必要的擴展控制或通信接口,就形成了該無線通信模塊。UZ2400D射頻芯片具有以下特性:符合IEEE802.15.4-2006規范,工作在2.4 GHz ISM頻段;輸入時,-95 dBm靈敏度和最大允許3 dBm;輸出時,0 dBm典型輸出功率和40 dB發送功率控制范圍;集成的32MHz高速和32.768 KHz低速晶振驅動;低功率功耗,接收模式下為16 mA和發送模式下為17.5 mA;深度休眠模式下,功耗為2.4uA;集成的低相位噪聲VCO、頻率合成器和鎖相環過濾[5]。
UZ2400D無線接收器是一個低中頻的接收器,從天線接收到的射頻信號,首先經過低噪聲放大器,然后正交下變頻到中頻上,形成中頻信號的同相分量和正交分量,兩路信號經過濾波和放大后,直接通過模數轉換器轉換成數字信號,再以數字信號的形式進行后繼的處理,最終恢復出傳輸的正確數據[5]。要發送的數據先被送入UZ2400D芯片中的128 B的發送緩存器,前置序列和起始幀是通過硬件自動產生的,所要發送的數據流被擴頻序列擴頻后送到DA變換器。然后,經過低通濾波和上變頻的混頻后的射頻信號直接變頻到設定的信道上,并經放大后送到天線發射出去。UZ2400D的射頻接口是高阻抗、差分信號接口,而實際應用系統中通常采用單端天線,因此在設計中,使用分離元件構成巴倫電路。射頻信號經由RF_P、RF_N兩個引腳以差分信號輸出,通過巴倫電路變換后,變成單端信號輸出。經巴倫電路轉換后,輸出信號理論上達到50 Ω阻抗,但是由于仿真中得出的值會有小數,實際使用的電容和電感元件不能完全符合,加之元器件本身存在的誤差,導致巴倫電路出來的信號并不能得到標準的50 Ω阻抗。通常,信號通過巴倫電路后,還要加上一級阻抗修正電路,經過修正之后的信號阻抗就比較接近50 Ω。經過修正之后的信號就可以經由天線輻射出去。
2.4 電源管理單元
電源是整個電路的能量供應源,良好的電源電路為整個電路的穩定運行提供保障[6]。在工業無線領域,無線傳感器節點對能耗的要求比較高。在保證正常的能量供應的前提下,盡量選擇低功耗、高效率的電源。經過估算,本設計方案選用1100 mAh的鋰電池作為電源,這種電池具有電壓高、體積小、能量密度高、放電曲線平緩、可循環使用等優點,能讓傳感器節點反復使用,可節約成本。為了反復使用鋰電池,設計使用了MAX1555作為充電芯片,當電池電量較低的時候,為電池充電。MAX1555芯片提供較靈活的電源輸入口,1腳為USB輸入口,電壓范圍是3.7 V~6 V,可以直接從USB接口接入對電池充電;4腳為DC電源輸入端,可以外接電源適配器對電池進行充電。3腳為充電狀態指示,在充電期間為低電平,充電完成時變成高阻態。同時,系統需要3.3 V電壓,使用MAX8881-3.3 V將電池電壓從4.2 V降到3.3 V。芯片MAX8881是一種超低電源電流、低壓降的線性穩壓器,最大提供200 mA的電流輸出,滿足系統的需求。
3 軟件設計
3.1 I?C總線協議
I?C總線是Philips 公司于 20 世紀80 年代開發的兩線式串行通訊總線, 使用多主從架構, 用于連接微控制器及其外圍設備[7]。I?C只使用兩條線: 串行數據線 SDA 和串行時鐘線 SCL。由于接口直接在模塊之上, 因此 I?C 總線占用的空間非常小, 可有效減少電路板的空間和芯片管腳的數量, 被廣泛應用于進行簡單的外圍設備控制。I?C 總線可發送和接收數據, 設備發送數據至總線則定義為發送器, 設備接收數據則定義為接收器, 每個設備都用惟一的地址識別。總線通常由主設備 (通常為微控制器) 控制, 主設備在 SCL 上產生時鐘信號, 并產生起始和停止條件。主設備和從設備都可以工作于接收和發送狀態。SDA 線上的數據狀態僅在 SCL 為低電平期間才能改變, SCL 為高電平期間, SDA 狀態的改變被用來表示起始和停止條件[7]。
3.2 系統軟件設計
系統的軟件設計主要由三部分組成:系統初始化程序,I?C初始化程序,無線射頻初始化。系統初始化程序完成底層硬件驅動的配置;I?C初始化程序主要包括I?C通信接口的初始化;無線射頻初始化負責配置UZ2400D。軟件部分流程如圖4所示。
圖4 主程序流程圖
整個系統的運行過程是:首先進行初始化操作,具體為系統時鐘初始化,端口配置初始化,I?C接口初始化,SPI接口初始化,無線射頻初始化,根據設定的條件讀取光照傳感器傳輸的光照值,并發送至網關,上傳至上位機界面,對當前環境進行實時監控。
4 實驗結果
目前該節點已運用在實驗室與思科公司合作研發的測試系統上。無線光照傳感器節點實時準確地將環境中的光照強度值采集到,經過網關將數據送至上位機。圖5為上位機界面。
圖5 上位機界面
5 結 語
本文介紹了無線光照傳感器節點的設計方案,詳細討論了其硬件實現以及軟件實現的設計方法。目前該節點已運用在思科系統中國研發中心,運行穩定,能實時監測環境中的光照強度值,為上位機提供實時參數以便系統做出相應操作。伴隨物聯網的飛速發展,節點在智能家居系統中將能得到很好的應用。
參 考 文 獻
[1]王平,彭杰,嚴冬.780 MHz物聯網開發平臺的設計與實現[J].重慶郵電大學學報:自然科學版, 2012(2):31-36.
[2]孫利民, 李建中, 陳渝, 等. 無線傳感器網絡 [ M] . 北京: 清華大學出版社, 2005.
[3]黃榮懷.從數字學習環境到智慧學習環境 —— 學習環境的變革與趨勢 [J]. 開放教育研究,2012,18 ( 1) : 75-84.
[4] STMicroelectronics. STM32F103xB Datasheet [R]. Switzerland: STMicroelectronics, 2012.
[5] UBEC. UZ2400SiliconVersionD datasheet [R]. Taipei, China: UBEC 2005.
[6]楊德斌,伍俊,陽建宏.無線數字傳感器網絡節點[J],儀表技術與傳感器,2007(9):51-53.
[7] Philips Corp. The I?C – BUS specification version 2.1 [M]. Germany: Philips, 2000.
2.4 電源管理單元
電源是整個電路的能量供應源,良好的電源電路為整個電路的穩定運行提供保障[6]。在工業無線領域,無線傳感器節點對能耗的要求比較高。在保證正常的能量供應的前提下,盡量選擇低功耗、高效率的電源。經過估算,本設計方案選用1100 mAh的鋰電池作為電源,這種電池具有電壓高、體積小、能量密度高、放電曲線平緩、可循環使用等優點,能讓傳感器節點反復使用,可節約成本。為了反復使用鋰電池,設計使用了MAX1555作為充電芯片,當電池電量較低的時候,為電池充電。MAX1555芯片提供較靈活的電源輸入口,1腳為USB輸入口,電壓范圍是3.7 V~6 V,可以直接從USB接口接入對電池充電;4腳為DC電源輸入端,可以外接電源適配器對電池進行充電。3腳為充電狀態指示,在充電期間為低電平,充電完成時變成高阻態。同時,系統需要3.3 V電壓,使用MAX8881-3.3 V將電池電壓從4.2 V降到3.3 V。芯片MAX8881是一種超低電源電流、低壓降的線性穩壓器,最大提供200 mA的電流輸出,滿足系統的需求。
3 軟件設計
3.1 I?C總線協議
I?C總線是Philips 公司于 20 世紀80 年代開發的兩線式串行通訊總線, 使用多主從架構, 用于連接微控制器及其外圍設備[7]。I?C只使用兩條線: 串行數據線 SDA 和串行時鐘線 SCL。由于接口直接在模塊之上, 因此 I?C 總線占用的空間非常小, 可有效減少電路板的空間和芯片管腳的數量, 被廣泛應用于進行簡單的外圍設備控制。I?C 總線可發送和接收數據, 設備發送數據至總線則定義為發送器, 設備接收數據則定義為接收器, 每個設備都用惟一的地址識別。總線通常由主設備 (通常為微控制器) 控制, 主設備在 SCL 上產生時鐘信號, 并產生起始和停止條件。主設備和從設備都可以工作于接收和發送狀態。SDA 線上的數據狀態僅在 SCL 為低電平期間才能改變, SCL 為高電平期間, SDA 狀態的改變被用來表示起始和停止條件[7]。
3.2 系統軟件設計
系統的軟件設計主要由三部分組成:系統初始化程序,I?C初始化程序,無線射頻初始化。系統初始化程序完成底層硬件驅動的配置;I?C初始化程序主要包括I?C通信接口的初始化;無線射頻初始化負責配置UZ2400D。軟件部分流程如圖4所示。
圖4 主程序流程圖
整個系統的運行過程是:首先進行初始化操作,具體為系統時鐘初始化,端口配置初始化,I?C接口初始化,SPI接口初始化,無線射頻初始化,根據設定的條件讀取光照傳感器傳輸的光照值,并發送至網關,上傳至上位機界面,對當前環境進行實時監控。
4 實驗結果
目前該節點已運用在實驗室與思科公司合作研發的測試系統上。無線光照傳感器節點實時準確地將環境中的光照強度值采集到,經過網關將數據送至上位機。圖5為上位機界面。
圖5 上位機界面
5 結 語
本文介紹了無線光照傳感器節點的設計方案,詳細討論了其硬件實現以及軟件實現的設計方法。目前該節點已運用在思科系統中國研發中心,運行穩定,能實時監測環境中的光照強度值,為上位機提供實時參數以便系統做出相應操作。伴隨物聯網的飛速發展,節點在智能家居系統中將能得到很好的應用。
參 考 文 獻
[1]王平,彭杰,嚴冬.780 MHz物聯網開發平臺的設計與實現[J].重慶郵電大學學報:自然科學版, 2012(2):31-36.
[2]孫利民, 李建中, 陳渝, 等. 無線傳感器網絡 [ M] . 北京: 清華大學出版社, 2005.
[3]黃榮懷.從數字學習環境到智慧學習環境 —— 學習環境的變革與趨勢 [J]. 開放教育研究,2012,18 ( 1) : 75-84.
[4] STMicroelectronics. STM32F103xB Datasheet [R]. Switzerland: STMicroelectronics, 2012.
[5] UBEC. UZ2400SiliconVersionD datasheet [R]. Taipei, China: UBEC 2005.
[6]楊德斌,伍俊,陽建宏.無線數字傳感器網絡節點[J],儀表技術與傳感器,2007(9):51-53.
[7] Philips Corp. The I?C – BUS specification version 2.1 [M]. Germany: Philips, 2000.
2.4 電源管理單元
電源是整個電路的能量供應源,良好的電源電路為整個電路的穩定運行提供保障[6]。在工業無線領域,無線傳感器節點對能耗的要求比較高。在保證正常的能量供應的前提下,盡量選擇低功耗、高效率的電源。經過估算,本設計方案選用1100 mAh的鋰電池作為電源,這種電池具有電壓高、體積小、能量密度高、放電曲線平緩、可循環使用等優點,能讓傳感器節點反復使用,可節約成本。為了反復使用鋰電池,設計使用了MAX1555作為充電芯片,當電池電量較低的時候,為電池充電。MAX1555芯片提供較靈活的電源輸入口,1腳為USB輸入口,電壓范圍是3.7 V~6 V,可以直接從USB接口接入對電池充電;4腳為DC電源輸入端,可以外接電源適配器對電池進行充電。3腳為充電狀態指示,在充電期間為低電平,充電完成時變成高阻態。同時,系統需要3.3 V電壓,使用MAX8881-3.3 V將電池電壓從4.2 V降到3.3 V。芯片MAX8881是一種超低電源電流、低壓降的線性穩壓器,最大提供200 mA的電流輸出,滿足系統的需求。
3 軟件設計
3.1 I?C總線協議
I?C總線是Philips 公司于 20 世紀80 年代開發的兩線式串行通訊總線, 使用多主從架構, 用于連接微控制器及其外圍設備[7]。I?C只使用兩條線: 串行數據線 SDA 和串行時鐘線 SCL。由于接口直接在模塊之上, 因此 I?C 總線占用的空間非常小, 可有效減少電路板的空間和芯片管腳的數量, 被廣泛應用于進行簡單的外圍設備控制。I?C 總線可發送和接收數據, 設備發送數據至總線則定義為發送器, 設備接收數據則定義為接收器, 每個設備都用惟一的地址識別。總線通常由主設備 (通常為微控制器) 控制, 主設備在 SCL 上產生時鐘信號, 并產生起始和停止條件。主設備和從設備都可以工作于接收和發送狀態。SDA 線上的數據狀態僅在 SCL 為低電平期間才能改變, SCL 為高電平期間, SDA 狀態的改變被用來表示起始和停止條件[7]。
3.2 系統軟件設計
系統的軟件設計主要由三部分組成:系統初始化程序,I?C初始化程序,無線射頻初始化。系統初始化程序完成底層硬件驅動的配置;I?C初始化程序主要包括I?C通信接口的初始化;無線射頻初始化負責配置UZ2400D。軟件部分流程如圖4所示。
圖4 主程序流程圖
整個系統的運行過程是:首先進行初始化操作,具體為系統時鐘初始化,端口配置初始化,I?C接口初始化,SPI接口初始化,無線射頻初始化,根據設定的條件讀取光照傳感器傳輸的光照值,并發送至網關,上傳至上位機界面,對當前環境進行實時監控。
4 實驗結果
目前該節點已運用在實驗室與思科公司合作研發的測試系統上。無線光照傳感器節點實時準確地將環境中的光照強度值采集到,經過網關將數據送至上位機。圖5為上位機界面。
圖5 上位機界面
5 結 語
本文介紹了無線光照傳感器節點的設計方案,詳細討論了其硬件實現以及軟件實現的設計方法。目前該節點已運用在思科系統中國研發中心,運行穩定,能實時監測環境中的光照強度值,為上位機提供實時參數以便系統做出相應操作。伴隨物聯網的飛速發展,節點在智能家居系統中將能得到很好的應用。
參 考 文 獻
[1]王平,彭杰,嚴冬.780 MHz物聯網開發平臺的設計與實現[J].重慶郵電大學學報:自然科學版, 2012(2):31-36.
[2]孫利民, 李建中, 陳渝, 等. 無線傳感器網絡 [ M] . 北京: 清華大學出版社, 2005.
[3]黃榮懷.從數字學習環境到智慧學習環境 —— 學習環境的變革與趨勢 [J]. 開放教育研究,2012,18 ( 1) : 75-84.
[4] STMicroelectronics. STM32F103xB Datasheet [R]. Switzerland: STMicroelectronics, 2012.
[5] UBEC. UZ2400SiliconVersionD datasheet [R]. Taipei, China: UBEC 2005.
[6]楊德斌,伍俊,陽建宏.無線數字傳感器網絡節點[J],儀表技術與傳感器,2007(9):51-53.
[7] Philips Corp. The I?C – BUS specification version 2.1 [M]. Germany: Philips, 2000.