如何創造經濟實惠的無線感測器網路(下) 智慧應用 影音
DFORUM
DForum0522

如何創造經濟實惠的無線感測器網路(下)

分時多工存取(TDMA)系統,可確保感測器監控系統精確的延時。
分時多工存取(TDMA)系統,可確保感測器監控系統精確的延時。

上週提到1個基本RF架構如何實現對無線感測器的即時監控,以及本架構如何透過簡單修改來適應需要即時無線監控或控制介面的應用系統。本週將進一步介紹此架構可用於即時無線監測的各種應用,以及可使無線網路更加穩定可靠與安全的基本RF配對方案和加密規則。

RF協議選擇

對於本設計,我們評估了ZigBee、Microchip的MiW和MiWi點對點(Peer to Peer;P2P)等當前可用的RF通訊協議。考量到應用需即時,因而採用非常基本的分時多工存取(Time Divisional Multi Access;TDMA)協議方案(見附圖)。將欄位中第1個時槽定義為主機控制器,通過此控制器發出的標示,我們可以很容易地確保在整個感測器監控系統中非常精確的延時。

感測器元件

我們決定在系統內每個資料欄中使用10個時槽,第1個時槽作為欄位起始,另外9個則用於遠端感測器,如此,我們可以即時地監控9個感測器。將主機MCU的預定時槽設置為每秒10個,也就是每欄持續100 ms,如此,便能以每秒10次的速率(或10 Hz)從各個感測器提取RF數據。通過增加每秒時槽數可輕鬆實現更快的輪詢方案,但會對所需數據速率及基頻過濾器頻寬間距造成影響。

硬體

感測器元件上使用的PIC16F688 8-bit快閃MCU實際上每20 ms測量1次原始類比感測器輸入(每秒50次採樣)。接著,每隔100 ms會將最後5次採樣1次發送給主機控制器,可獲得更高的感測器採樣率,而不至於對系統的複雜性產生明顯影響。因為接收和發送RF數據包消耗了大部分的功率,數據緩衝方案便能有效降低感測器的總功耗要求。MCU元件在大多數時間都處於低功耗休眠狀態,每隔20 ms喚醒1次來對類比/數位轉換器Analog-to-Digital Converter(ADC)或數位I/O接腳進行採樣,然後每隔100 ms進行1次批量RF傳送(大約持續2 ms)。

韌體

PIC16F688 MCU使用內部基於RC的振盪器來確保從休眠和低功耗狀態快速啟動。為了簡化軟體,採用了基本state-machine軟體流程,並將MCU配置為每隔20 ms喚醒1次。這些狀態中的1個被分配為等待主機控制器的RF起始位元(Start Of Frame;SOF)標誌的傳輸;此SOF標誌的接收操作用於將遠端感測器元件與準確度更高的主機元件同步,該主機元件採用石英晶體振盪進行USB通訊。若在150 ms內未檢測到SOF標誌,則遠端感測器將進入低功耗睡眠模式狀態,在此狀態下,元件每秒喚醒1次來搜索SOF標誌,主機便可通過打開或關閉SOF標誌的傳輸,在需要時輪詢遠端感測器。

如果需要同時監控更多感測器,可以輕鬆地將這個非常基本的協議方案擴展至允許更多時槽。但總是需要在各個感測器元件的常規反應時間(採樣感測器)與總功耗預算之間進行權衡。此協議方案可進行修改以滿足系統及可用電源的特定需求,例如為每個遠端感測器供電的電池尺寸以及預期使用壽命。

主機控制器元件

對於主控制器,我們選擇了PIC18F14K50 8-bit快閃MCU,它是小型20接腳封裝形式的全速USB 2.0設備。選擇此設備的原因是其成本低廉,並且使主機控制器通過USB接口直接與任何PC連接,以報告有關系統中每個遠端感測器狀態的即時訊息,也可以使用其他備用介面選項。主機元件由USB界面供電,然後以人工界面裝置(Human Interface Device;HID)類USB設備的形式登錄到PC。

硬體

使用PIC18F14K50 MCU,實際的硬體設計與遠端感測器元件非常類似;使用相同的RF收發器設計,但將PIC16F688 MCU換成PIC18F14K50 MCU,以提供所需的USB界面功能。此元件需要持續供電,用作簡化的TDMA系統中的主節點。

韌體

主機控制器上的韌體包含配置為HID類別的Microchip標準USB,對於遠端感測器元件使用相似的收發器初始化和數據傳輸程序,使用1台非常基本的state machine來控制RF無線電設備與PC間的數據傳送。如果是使用MS Windows的PC,由於操作系統的多任務性質,無法始終保證時序精確。此外,不希望PC圖形使用者界面(Graphical User Interface;GUI)軟體過於複雜,而使用PIC18F14K50作為RF遠端感測器元件與PC GUI應用程序之間的數據緩衝器。PIC MCU用於保持TDMA時槽,以便在為PC緩衝採樣數據時實現同步;PC應用已配置為每100 ms輪詢1次USB HID設備,以獲取任何可用的數據。在每個時槽/元件中增加了1個狀態/控制字元,PC應用程序可輕鬆確定是否有新的感測器數據可用於螢幕更新。PIC18F14K50上的感測器數據緩衝器已配置為可處理多個RF數據包,以防PC應用程序沒有及時讀取可用數據。

PC GUI軟體套件

對於本應用,感測器數據通過GUI應用程序內的進度條顯示,並且可以輕鬆記錄以對遠端感測器進行數據追蹤。軟體的開發平台為Microsoft的Visual C#。軟體可作為多個無線遠端感測器元件即時行為的目視監測器,顯示從每個無線感測器收到的即時數據。GUI通過USB HID類函數連接到主機控制器來輪詢可用數據或控制系統行為,例如啟動RF輪詢、停止RF輪詢和請求單次數據捕捉等等。

各種感測器類型

確定基本的 RF感測器架構後,實際的RF遠端感測器可以是從基本的溫度監測器到加速(類比或數位)監測器、數位輸入(高/低電位感測)以及類比電壓監控(通過ADC轉換為數位值)中的任何一個,甚至是基本的數位輸出控制訊號。通過這個簡化的TDMA輪詢方案,簡單的RF架構還允許使用各種不同類型的遠端感測器。

為感測器元件配對

每個感測器提供的資訊都可包括1個唯一識別符、1個感測器類型指示符和原始感測器數據測量值。使用每個感測器元件的唯一識別符有助於將感測器元件與主機控制器配對。主機標誌器可以向將指示哪些時槽可用的感測器發送各種控制命令,甚至從系統中移除感測器。主機控制器還可以發送群組識別符,這樣它將只輪詢與該特定感測器組配對的感測器。

安全增強功能

如果有人進行竊聽並發送可對整個系統的完整性造成負面影響的虛假感測器數據,則會很容易對RF網路的安全產生危害,通過在RF網路中添加1個安全層可以輕鬆防止這種危害。有多種安全方案和規則可用於唯一感測器驗證,例如Microchip的KEELOQ加密規則。甚至可以與更高級的加密規則(例如擴充的微型加密規則eXtended Tiny Encryption Algorithm;XTEA)或高階加密標準Advanced Encryption Standard;AES)規則結合使用,以加密從遠程感測器傳輸到主機控制器的感測器訊息。

結論

本文介紹了如何實現可即時監測感測器行為的基本RF遠端感測器網路。低成本RF收發器與MCU(如PIC18F14K50)的結合簡化了此類系統的開發。遠離無線感測器系統的時代無疑已成過去。

本文所敘述的架構可用於即時無線監測產生重要作用的各種應用。如果遠端感測器系統可以容許更大的延時,則完全可以使用本文所列的其他RF通訊協議。這些備選協議的靈活性更高,但也需要更高階的MCU資源才能實現。此外,通過新增簡單的唯一網路識別,基本的RF配對方案和加密規則可以使此類無線網路更加穩定可靠和安全。

(本文由Microchip Technology Inc.安全、MCU與技術開發部門應用工程師Cristian Toma與應用工程經理Vivien Delport提供,周維棻整理)