如何创造经济实惠的无线传感器网络(下) 智能应用 影音
Wolfspeed
litepoint

如何创造经济实惠的无线传感器网络(下)

分时多工存取(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提供,周维棻整理)