信息谷 - ICITU

标题: 电池供电物联网边缘节点的无故障传感器数据存储 [打印本页]

作者: vguangxian    时间: 2020-4-4 10:25
标题: 电池供电物联网边缘节点的无故障传感器数据存储

数十年来,传感器节点一直采用由控制器、传感器、本地存储器、网络连接和电池组成的基本架构。每一个从模拟环境下采集数据的系统都采用了该架构的某种变体。每个系统都必须解决数据采集、关键数据存储等根本问题,然后在数据分析的基础上采取相应的对策。过往数据采集系统的传感器节点都会采集数据,如果有本地存储器,则会每在本地存储数百个样本之后才将其传送至中央枢纽进行处理。之后中央枢纽对数据进行处理并采取相应的对策。数据通信通常以有线形式进行,一般是以太网或类似的工业总线。

物联网环境下,所有设备都会通过网络互相通信。保守估计,截至2020年将有超过100亿台设备实现联网,包括汽车、工业自动化设备、医用植入设备,以及可穿戴设备、智能家居设备等全新应用。全球某些地区已经开始部署下一代5G网络,以处理上述设备即将产生的数据流量。但是,目前数据科学家和系统设计师还面临几个未解决的问题:哪些设备需要连接到云?需要传递的数据量有多少?本地能够完成多少运算量?云的成本由谁承担?

一种简单的物联网架构为:把所有数据上传至云,然后进行云端的处理。不过这种架构仅可用于规模小的孤立系统。一旦联网设备增多,就会有海量系统同时尝试上传数据,系统设计师就必须在联网成本和本地存储/处理之间做出取舍。他们需要分析哪些情景可以减少联网频率,在本地存储及处理,然后定期批量上传数据。简单地说,“工业4.0”一词就是用来描述未来联网设备的。为了确保能够以低成本、低能耗的最佳策略部署系统,系统的每个零部件都需要进行认真分析。本文中,我们将对最为重要,但却常常被忽视的传感器节点部分——本地存储进行研究探讨。


(, 下载次数: 197)



图1:传统的传感器节点

(, 下载次数: 190)

图2:工业4.0中的传感器节点

Controller with ADC:带ADC的控制器

Connectivity:连接

Storage:存储

Battery/Power Supply:电池/电源

Central processing:中央处理

Central Storage:中央存储

Wired communication network:有线通信网络

传感器节点

传感器节点之间、传感器与中央运算枢纽之间的连接正在日渐增多。连接的方式包括了Wi-Fi、蓝牙等一个或多个无线技术。采用上述无线协议后,对于由于尺寸限制以及有线路由网络限制而无法进入的位置,传感器节点可以进行布设。无线传感器节点网络可以分布在整个自动化厂房内,对重要系统参数进行连续监控。

要实现网络的无线化,还有一些问题有待克服。例如,采用传统系统无需担忧电力耗尽,但是对于无线传感器节点来说,电池续航则是大问题;同时,传感器节点的能耗水平受到严格限制。能耗上的任何重大改进都会延长电池续航时间,并减少维护工作量。很多情况下,由于成本限制,系统设计师不得不采用初期成本较低的解决方案,但是随着时间的推移,高昂的维护成本却进一步推高了成本。远程部署传感器节点的最大成本之一就是替换电池。经过优化能够降低30%能耗的系统,相应地能把替换电池的维护成本也降低30%。

影响传感器节点功耗的主要因素有哪些?对一个典型低功耗蓝牙传感器节点的详细系统功耗分析,揭示了影响电池续航的关键参数,它们是:

1. 数据上传时的天线功耗
2. 数据采集过程中的控制器功耗
3. 数据记录过程中的本地存储功耗

低功耗蓝牙系统的天线功耗直接取决于传感器节点与中央枢纽连接并向后者上传数据的频率。尽管低功耗蓝牙系统能够支持每10ms最多500字节的上传速率,但是很少有传感器节点需要以上述50KB/s的速率采集数据。根据感知元素的不同,环境参数传感系统的一般数据采集速率为100-500 B/s。因此,设计师可将低功耗蓝牙系统设置为较长的连接间隔时间,从而提高电池续航力。与随时可上传数据的系统相比,长连接间隔时间的系统必须能够具备更强的数据点存储能力。物联网控制器的内置存储器容量从64Kb到256Kb不等,大部分容量都用于执行ADC及节点内其他任务所需的低功耗蓝牙栈和用户API。因而,当系统需要存储数据记录时就会耗尽内部存储容量,为此数据记录必须定时保存在外部存储器中。

自从物联网传感器节点采用电池驱动供电以来,外部存储器必须具备非易失性,以确保数据的可靠性。尽管市场中有很多非易失性技术,系统设计师还是倾向于选用接口简单、可靠性高的存储器。最常用的外部非易失性存储器包括EEPROM、闪存和F-RAM(铁电RAM)。然而,由于闪存/EEPROM技术的设计初衷侧重提高读取性能,因此在连续写入的情况下会出现严重缺陷。

如果一个闪存单元提前被擦除,那么它就可以在“编程”后储存新数据。闪存单元编程将使其从逻辑1状态变为逻辑0状态。下次更新过程中,如果闪存单元需要赋值逻辑1,则需要首先将其擦除。为了提高擦除速度、缩短编程时间,闪存制造商采用了各种不同的页、块和扇区的架构。“页”为一次可编程入闪存的最小数据单位。闪存设备拥有一个内部页尺寸缓冲器,用于暂时存储数据。一旦来自外部接口的数据传输结束,设备将对一个已经在主阵列中进行擦除的页启动一次页编程操作。如果该页包含旧数据,那么就必须在编程操作前将其擦除。

每执行一次擦除操作,闪存单元都会退化,在闪存数据表中定量记录为擦写循环次数。质量最好的闪存设备拥有多达10万次的擦除寿命,此后将不再保障数据存储的可靠性。尽管这一数字看起来很大,但是应当指出,即便对于低端的数据记录系统而言,这一数字也是远远不够的。

某些制造商采用了缓存区到闪存的字节编程和延迟编程技术。尽管这些技术的确能够简化设备编程操作,但却无法从根本上突破闪存的耐久性局限。为了弥补这一局限,系统设计师被迫采取复杂的文件系统来解决存储单元的损耗均衡问题,这不仅增加了开销,还会降低系统速度。EEPROM也具有类似的缺陷。

我们在F-RAM、EEPROM和闪存的基础上设计了三种系统,来采集温度、湿度、压力和加速度数据,模拟典型物联网传感器的数据记录过程。三种系统均采用最优化的低功耗蓝牙连接间隔和完全一致的本地存储算法。为了从简,我们选择了4秒的慢速低功耗蓝牙连接间隔时间,100字节/秒的数据采样率。每个样本均包含所有传感器数据快照和几个标记字节,后者帮助数据接收枢纽分析信息,并向运营人员提供反馈。

(, 下载次数: 161)


图 3: 基于F-RAM的物联网传感器节点

Sensor Node:传感器节点

Excelon F-RAM:Excelon F-RAM

Environment Sensor:环境传感器

(Temperature+Humidity+Pressure):温度+湿度+压力

Accelerometer sensor:加速度传感器

UART link for power monitoring:用于电源监控的UART链路

Hub:中央枢纽

BLE Send:蓝牙发送

BLE Receive:蓝牙接收

(, 下载次数: 163)


图4: 基于闪存的物联网传感器节点

SPI Flash:SPI闪存

Sensor Node:传感器节点

Environment Sensor:环境传感器

(Temperature+Humidity+Pressure):温度+湿度+压力

Accelerometer sensor:加速度传感器

UART link for power monitoring:用于电源监控的UART链路

Hub:中央枢纽

BLE Send:蓝牙发送

BLE Receive:蓝牙接收


(, 下载次数: 196)


图5: 基于EEPROM的物联网传感器节点

SPI EEPROM: SPI EEPROM

Sensor Node:传感器节点

Environment Sensor:环境传感器

(Temperature+Humidity+Pressure):温度+湿度+压力

Accelerometer sensor:加速度传感器

UART link for power monitoring:用于电源监控的UART链路

Hub:中央枢纽

BLE Send:蓝牙发送

BLE Receive:蓝牙接收

采用了板上电流监测技术,精确记录以下三个阶段中的系统电流消耗:

1. 数据采集(ADC抓取和读取传感器数据)

2. 向外部存储器写入/编制数据

3. 每4秒向枢纽上传数据

为了方便分析,我们使用了一个64M闪存、一个256K EEPROM存储器和一个赛普拉斯生产的 4M Excelon F-RAM存储器。闪存支持512 字节/ 页的速率,并在实验前进行了预擦除;EEPROM支持 60字节/页的速率。F-RAM为一种可读取字节、极低能耗的F-RAM,无需预擦除及页写入。

图6展示了一个基于F-RAM的典型系统运行情况。

(, 下载次数: 194)


图6:基于F-RAM的物联网传感器电流消耗

System power:系统能耗

(, 下载次数: 195)

表1:物联网传感器节点的系统能耗

表1总结了三种传感器节点类型的系统能耗。系统被设置为每4秒上传大约500字节数据,电流监控时长为120秒。所有三种系统的数据吞吐量均相同,唯一区别在于写入存储器的算法不同:

• 基于F-RAM的系统支持字节读取,可在获取样本后将其立即写入。
• 基于EEPROM的系统仅可写入页大小的数据(每页64字节),并且具备2ms的保压时间以完成写入操作。因此,每次写入1个页时,系统将在2ms的额外时间内处于开启状态。
• 基于闪存的系统只可写入512字节的页。该装置在20ms的编程时间内能耗为13mA,还需额外20ms时间用于状态寄存器更新。

可见,基于EEPROM的系统能耗比基于F-RAM的系统高22%,而基于闪存的传感器节点能耗则比基于F-RAM的系统高140%。图7能耗类型分析揭示了闪存设备能耗表现差的原因:编程时间导致系统能耗加倍。

(, 下载次数: 183)


图7:物联网传感器节点闪存处理器电流消耗(mA)与时间(ms)的关系曲线

除能耗大外,基于闪存或EEPROM的系统还存在其他技术缺陷,尤其是基于闪存系统的耐久性和擦除能耗问题。闪存设备的耐久性有限,只有10万次左右,产品寿命从而受到限制。闪存设备需要耗费很长时间用于芯片擦除,而且系统在擦除操作时处于停机状态。擦除操作期间的功耗会导致总功耗提高,进一步削弱了功耗效率。基于闪存或EEPROM的传感器节点采用电池供电,但如果出现意外断电,数据完整性便会遭到破坏。闪存设备只能一次性为每个页面编程,因此系统必须在本地存储一个页面的数据,直至该数据成功写入设备为止,过程中出现断电将会至少丢失一页数据。

表2:深入比较

(, 下载次数: 199)


其实,赛普拉斯Excelon F-RAM解决了这些问题,使之极其适合于基于物联网的数据记录。F-RAM的耐久性高达10^14读写循环,提供瞬时非易失性和字节可访问性;而且其读写电流低,仅为2.4mA,待机电流2.3uA,休眠电流0.1uA,因而能耗极低,非常适用于电池供电的物联网设备。







欢迎光临 信息谷 - ICITU (https://icitu.com/) Powered by Discuz! X3.4