無線感測網路平台設計與實作

  • 來源:
  • 時間:2010/3/10 下午 06:05:00
  • 點擊:4420

無線感測網路平台設計與實作

無線感測網路平台設計與實作

IEEE 802.15.4 無線通訊協定有低耗電、低資料傳輸率,以及可建構多種網路拓樸等特性,因而廣泛應用在醫療監控、工業控制、商業自動控制、居家生活監控等用途上。

目前通用的無線感測平台,主要是架構在一個八位元微控制器上,並搭載一顆像是德州儀器公司(Texas Instruments, TI)所生產的 CC2420 無線發射晶片。但隨著半導體製程的日新月異,系統晶片(system-on-a-chip, SoC)會是未來發展的主要趨勢。現在,德州儀器所生產的 CC2430/CC2431 晶片,已經把 IEEE 802.15.4 無線晶片整合到一顆八位元 8051 微處理器上,實現了體積縮小化的概念。

我們已製作出多款不同用途的無線感測器平台,包括基礎節點和進階節點。基礎節點是以 CC2430 晶片做為無線感測器平台的核心,進階節點則是以 16 位元 MSP430 微控制器,再搭配 CC2420 晶片做為無線發射器,成為無線感測器平台的核心。

此外,還利用進階節點建構了兩個無線感測網路測試床。一個建置在清華大學,另一個建置在中央大學。未來,使用者只需要把已開發的無線感測器應用程式,透過網際網路上傳至伺服端,便可使用如實境般的無線感測網路、線上除錯功能,以及監控每個節點上的電量消耗。

設計說明

無線收發器在無線感測節點中扮演一個非常重要的角色,我們選定的無線收發器是德州儀器所生產的 CC2420 和 CC2430 晶片,它們不僅符合 IEEE 802.15.4 的規範,而且有低耗電需求的功能。此外,一個功能強大並省電的微處理器,在無線感測節點中也非常重要。

基礎節點採用的微控制器核心是 8051 系列微控制器,已經嵌入在 CC2430 裡面。這個微控制器的程式記憶體的最大容量是 128 KBytes,資料記憶體是 8 KBytes。進階節點則採用德州儀器生產的 16 位元精簡指令集的 MSP430 系列微處理器,它擁有 48 KBytes 的程式記憶體空間及 10 KBytes 的資料記憶體。它們都提供最多 8 個通道的 12 位元解析類比/數位轉換器。在電源管理模式下,這兩款無線感測器平台也提供多種不同程度的省電模式,讓使用者可以在有限的電力資源下達到最長的工作壽命。

這兩種無線感測器平台都採用雙面板,藉由電路的最佳化設計,讓微處理器電路和無線通訊電路並存在同一塊面板上。這樣的設計不僅可以大幅降低生產成本,也不會影響無線通訊的品質。關於基礎節點,則開發了 3 種以 CC2430 為核心的無線感測器平台,分別叫做 Octopus X-A,Octopus X-B 和 Octopus X-C。

Octopus X-A 和 Octopus X-B 分別採用 PCB 有向天線和 SMA 無向天線。一般來說,SMA 天線的傳輸距離會比 PCB 天線的遠。Octopus X-A 和 Octopus X-B 的尺寸只有 28 mm × 28 mm,具有攜帶方便、布點容易等優點。利用通用序列匯排流編碼器(USB Dongle),這種基礎節點可以透過簡單的 USB 協定,把資料回傳給電腦做進一步分析。Octopus X-A 和 Octopus X-B 本身並不搭載感測器,但可以透過 30 Pin 連接器連結微處理器和感測器。

採用微處理器和感測器分離式設計的好處是:第一、使用者可以針對不同的應用環境設計不同的感測板,進而擴充無線感測平台的功能。第二、模組化的設計可以縮短除錯時間。通常感測板容易在室外的環境中損毀,如果只要替換損壞的感測板,而不需替換整個無線感測節點,不僅能減少替換成本,也可以縮短除錯的時間。

我們針對 Octopus X 系列設計了兩種感測板。一種是溫、溼度感測板,結合了溫度感測和溼度感測兩種功能,溫度感測的精確度可達攝氏 0.1 度,溼度感測的精確度可以達到 ±3.0%。它不僅消耗功率低,反應速度快,而且使用時不需重新校正。另一種是具備電子羅盤、三軸加速度計和陀螺儀的多功能感測板。使用者透過感測板上的電子羅盤,可以隨時為無線感測器定位,而三軸加速度計和陀螺儀可以隨時得知這個平台的運動狀況。這類感測器可以應用在像是人體動作感知的實驗中。

Octopus X-C 採用雙天線設計,使用者可以針對不同環境使用適合的天線。Octopus X-C 的尺寸大約是 57 mm × 31 mm,並增加了 3 種功能。

第一、在通訊的部分,它整合了一顆 USB 通訊晶片,使用者不需要額外的 USB Dongle 就能與電腦傳遞資訊。

第二、在外部記憶體的部分,它搭載一個 2 MB 串列傳輸方式記憶體,以及一個可以適用於從 512 KB 到 8 GB 不同容量的 MicroSDTM 記憶卡插槽。因此,使用者可以依據需求使用不同容量的記憶卡儲存資料,減少因為通訊品質降低而造成資料收集不完善的影響。

第三、在感測器的部分,Octopus X-C 本身具備一個溫溼度感測器,它的功能規格與前述的溫溼度感測板一樣。

在電力管理部分,Octopus X-A 和 Octopus X-B 的主要電力來源是 300 mAh 高分子鋰電池,Octopus X-C 的則是 2 個 3 號電池。因此,可以想見的是 Octopus X-C 的續航力會比 Octopus X-A 和 Octopus X-B 持久。另外,CC2430 也提供了 4 種省電模式,其中一種可以藉由關閉所有震盪器功能和電壓穩壓器,以達到最低程度的電力損耗,低到只有 0.3 微安培(&muA)。程式開發者可以藉由進入這些省電模式,延長無線感測網路的使用時間。

在進階節點方面,我們設計了兩種以 16 位元 MSP430 和無線傳輸器 CC2420 為核心的無線感測器平台,分別叫做 Octopus II-A 和 Octopus II-B。Octopus II-A 的尺寸是 65 mm × 31 mm,Octopus II-B 的尺寸是 80 mm × 31 mm。

Octopus II 系列都採用雙天線設計,Octopus II-A 的傳輸距離可以達到 200 公尺,Octopus II-B
比 Octopus II-A 多了 RF 訊號放大處理,因此 Octopus II-B 的傳輸距離可以達到 450 公尺。這兩款 Octopus II 系列在訊號強度和傳輸距離上,比市面上同類型無線感測器平台有更佳的線性化。值得注意的是 Octopus II 採用雙面板設計,市面上的無線感測器如 Tmote 則採用四層板設計。

在感測器的部分,也採取跟 Octopus X 系列相同的分離式模組設計,以增加無線感測器平台的擴充性。在電力管理的部分,Octopus II 的電力來源主要是兩顆 3 號電池。MSP430 提供了 5 種省電模式,其中一種可以藉由關掉所有震盪器功能,讓 MSP430 達到最低 0.2 &muA 的耗電。因此,使用者可以進入這個省電模式,讓無線感測節點有最長的使用時間。

測試床建置

目前已利用進階節點建構了兩個無線感測網路測試床,其中一個建置在中央大學,共有 34 個節點;另一個建置在清華大學,也有 30 個節點。每個節點透過 USB 轉乙太網路轉換器,彼此連結在一起。但是實際上,各個節點的通訊仍是透過無線方式傳遞資料。

使用者只需經過網路認證後,不論身處哪裡,都可以透過網際網路上傳已經編譯好的程式碼給遠端的伺服器。伺服器會把每個節點或部分節點上的程式碼更新,並重新執行。如果程式開發者已開啟想要觀察節點的 USB 通訊功能,在實驗過程中,這些節點所傳送或接收的每一筆封包資料,都會藉由網路把資料回傳給伺服器端。使用者可以透過 Web 介面,調閱存放在資料庫中這些節點的每一筆封包資料,進而得知每一個節點上封包的遺失率。

目前也開發並且設計出一個 E-MCU 電力量測工具,評估一個無線感測節點或整個無線感測器網路的電量。首先利用萬用電表量測進階節點上每一個電子元件的耗電量,然後使用者就可以透過 E-MCU 監測每個節點上的每一個執行程序的耗電量,做為未來程式碼最佳化的依據。

當一個微處理器運作時,通常不會利用到所有的 I/O 腳位,因此可以改變這些腳位的電壓變化,去對應想要觀察某些程序的執行時間。例如進入一個副程式時,便把某個 I/O 腳位的電壓升高,而離開這個副程式時,就把這個 I/O 腳位的電壓拉低,藉由 E-MCU 量測 I/O 腳位電壓變化的時間,便能推算出這個副程式的執行時間。再根據每個電子元件的耗電量表,就可以計算出各個程式的耗電量。

藉由示波器的驗證,E-MCU 的電量量測與示波器的最大誤差不會超過 2.6%。因此,開發者利用網路就可以追蹤每個節點在實際運作下的各項細節,如封包的傳遞和電力評估。

建構一個龐大的無線感測器環境是相當浪費時間和成本的,不需要每個開發者都自行建構一個無線感測器網路。而無線感測網路測試床提供了一個絕佳的開發環境,讓開發者能夠透過網際網路,在規定的範圍內把編譯好的程式碼傳送至特定的伺服器上,就可以線上更新程式、重新執行新程式,以及調閱伺服器上的實驗數據和電量評估。因此經由無線感測網路測試床,可以大量降低程式開發的成本及時間。

到目前為止,已經成功實作兩款無線感測器平台,以 CC2430 為核心的基礎節點和以 MSP430 為核心的進階節點。藉由電路最佳化,這些平台只需要雙層電路板設計,就可以擁有不錯的通訊品質,大量降低生產成本和提高生產良率,此外,還可以在基礎節點上執行由C語言撰寫的無線應用程式,或在進階節點上順利運作 TinyOS。

藉由 USB 簡單協定,使用者可以利用USB對無線感測節點進行程式燒錄、除錯和資料收集。我們也提供數種不同功能的感測板,例如溫溼度、光度感測板,以及三軸加速度、陀螺儀和電子羅盤構成的多功能板,足夠讓使用者應用在不同的實務領域上。另外,利用分離式模組化設計,母板和感測板的結合是透過連接器,甚至還可以自行設計感測板,讓無線感測器平台有更好的擴充性。

目前還能即時偵測每個節點運作時電量的損耗,讓使用者可以針對他們的程式碼做最佳化處理,以減少開發時程,並增長整個無線感測網路的使用時間。

本文取自 國科會

copyright ®TaiwanLab 版權所有
要在臺灣實驗室網投放廣告或成為我們的特約贊助商,請聯繫我們