确保在电池驱动的传感器节点中的故障安全数据存储
扫描二维码
随时随地手机看文章
几十年来,传感器节点的基本结构包括控制器、传感器、本地存储器、网络连接和电池。每个试图从模拟世界收集数据的系统都是基于这个系统的某些变化。每个项目都必须解决收集数据、存储数据的关键部分以及根据数据分析采取适当行动等基本问题。在以前的数据采集系统中,传感器节点将收集数据,如果有本地存储器,则在本地存储几百个样本,然后将其转移到一个中央枢纽进行处理。该中心将处理数据并采取适当行动。通信通常使用以太网或类似的工业总线进行连接。
随着物联网的出现,该领域的每一个设备都开始通过网络进行通信。保守的估计预测,到2020年,将有超过100亿个设备连接。它们包括汽车、工业自动化设备、医疗植入物和新型应用,如可穿戴品、智能家居等。下一代5G网络已经部署在世界几个地区,以处理预期来自这些设备的流量。但是,今天,数据科学家和系统设计者正在试图解决的几个问题还没有解决:哪些设备需要连接到云上?需要播出多少信息?本地可以进行多少处理?谁为云买单?
一个微不足道的方法是将所有东西上传到云端并远程处理。虽然这可能对小型和孤立的系统有用,但一旦世界变得更加连接,过多的系统试图上传信息,系统设计者将需要考虑网络相对的成本。本地储存和加工。他们将需要评估减少连接频率的场景,执行本地存储和处理,然后执行定期的批量上传。"工业4.0"一词仅仅意味着连接设备的未来。为了确保在现场部署最优、成本效益高、功率低的实现,今天必须仔细分析系统的每个组件。在本文中,我们将研究通常被忽视但最重要的一个方面--本地内存。
图1:传统传感器节点。
图2:工业中的传感器节点。
传感器节点
通过Wi-Fi、蓝牙等无线技术,传感器节点越来越多地相互连接,也越来越多地连接到中央处理中心。这些无线协议允许将传感器节点置于传统系统无法访问的位置,因为路由有线网络的局限性和成本。无线传感器节点可以分布在整个工厂的自动化楼层,并持续监控所有关键的系统参数。
随着无线技术的发展,还有新的挑战需要解决。例如,传统系统永远不必担心停电,但相同的方法对无线传感器节点不起作用。这些节点必须设计成以极其紧张的能量预算运行。任何显著影响电池寿命的耗电改善都意味着维护频率降低。很多时候,由于成本限制,系统设计人员部署的解决方案最初成本较低,但随着时间的推移,维护成本较高,最终会变得昂贵。这些远程部署的传感器节点的最大成本之一是更换车载电池。为直接节省30%电力而进行优化的系统相当于减少30%的更换电池的维护成本。
什么因素导致这些传感器节点的功率消耗?详细分析了一个典型的BAR传感器节点的系统功耗,确定了影响电池寿命的关键参数。系统耗电量的最大贡献是:
数据上传期间的天线功率
数据采集时控制器电源
数据记录期间的本地内存耗电量
BAR系统的天线功率直接取决于传感器节点尝试"连接"和向集线器上传数据的频率。虽然BAR可以支持每10毫秒上传~500字节,但很少有传感器节点以50GB/s的速率收集数据。典型的环境参数传感系统根据传感元件捕获100-500字节/秒。这使得BL系统能够设计出更长的连接间隔,以延长电池寿命。较长的连接间隔迫使系统存储更多的数据点日志,而不是可以随意上传数据的系统。IOT控制器的典型内部内存从64k字节到256k字节不等,该内存的主要部分由BLE堆栈和在节点上执行ADC和其他内部管理任务所需的用户API占用。这将导致系统在存储数据日志时耗尽内部内存,因此日志通常必须存储在外部内存中。
由于UOT传感器节点是电池驱动的,外部存储器必须是非易失性的,以确保数据的可靠性。虽然市场上有各种各样的非易失性技术,但系统设计者更喜欢使用一个简单的接口和最可靠的内存。外部非易失性内存最常见的候选者是EPROM、闪存和铁电内存(F-RAM)。然而,由于Fash/EPROM技术最初是为提供良好的阅读性能而设计的,因此当它们被连续地写入时会有严重的缺陷。
一个闪存单元可以"编程",以包含新的数据,只有当该单元事先被删除。编程单元格允许从逻辑"1"到逻辑"0"的状态变化。在下一次更新中,如果单元格需要保持逻辑"1",则必须首先删除单元格。为了优化擦除速度和程序时间,闪存制造商使用不同的页面、块和扇区架构。页面是可以同时编程到闪存中的最小数据量。闪存设备包含一个内部页面大小的缓冲区,允许临时存储数据,一旦从外部接口传输完成,该设备启动了一个页面程序操作,该页面已经在主数组中被删除。如果此页面包含旧数据,则必须在程序操作之前将其删除。
每次执行擦除时,闪存细胞都会退化,这在闪存数据表中被量化为耐久性。典型的情况是,最好的闪存设备被评为10万个擦除程序周期的耐久性循环,在此之后,它们不再保证能够可靠地存储数据。虽然这个数字看起来很大,但我们将证明即使在低端数据记录系统中,这种耐力也会下降。
一些制造商实现字节编程和延迟编程从缓冲区到闪存.虽然这些功能确实简化了设备的程序操作,但它们并没有解决闪存的潜在耐久性限制。为了弥补这些限制,系统设计者不得不实现一个复杂的文件系统,以处理单元格的磨损水平,这也增加了开销,减缓了系统的运行。同样的缺点也存在于EEProMS中。
我们设计了基于F-RAM、EPROM和闪存的三种系统,通过对温度、湿度、压力和加速度等参数进行数据采集,模拟典型的iot传感器数据记录行为。利用最佳的BL连接区间和相同的局部存储算法对这些系统进行了优化.为了简单起见,我们选择了一个4秒的慢BAR连接间隔和一个100字节/秒的数据采样率。每个样本由所有传感器数据的快照以及一些标记字节组成,这些标记字节将允许接收中心解析信息并向操作员提供反馈。
图3:基于F-雷射传感器节点。
图4:基于闪存的传感器节点。
图5:基于EEPro的微生物传感器节点。
在下列每一个阶段中,都使用板上电流监测来准确记录系统的电流消耗:
数据采集(ADC采集和读取传感器数据)
将数据写入外部存储器
每4秒将数据上传到集线器
在此分析中,我们使用了64M比特的闪光灯、256KEPROM和来自柏树的4MEXCLM。该闪存设备在实验开始时进行了预先删除,支持512字节/页,而EPROM支持60字节/页。F-RAM是一种专用的超低功率F-RAM,不需要预先擦除或写页。
图6显示了基于F-RAM系统的典型系统运行情况。
图6:基于F-RAM的传感器节点的当前消耗量。
表1:电离点传感器节点的系统耗电量
表1总结了系统在所有三种类型传感器节点的能耗方面的性能。这些系统被配置为每4秒上传500字节,电流被监控120秒。这三个系统在数据吞吐量方面都有相同的性能,唯一的区别是用于写入内存的算法:
·
基于F-RM的系统可以在获得的样本可用后立即写入,因为F-RM支持字节访问。
·
·
基于EEM的系统只能写入页面(每页64个字节),并有2MS浸渍时间来完成编写。这就迫使系统在每次执行页面写入时保持一个额外的2MS。
·
·
基于闪存的系统只能以512字节的页面编写。该设备在20mm的程序时间内消耗了大约13ma,还有20mm的状态寄存器更新时间。这就迫使该系统运行,总共45英里。
·
表2:高级别摘要
我们可以看到,基于EEM的系统比基于F-RAM的系统消耗约22%的功率,而基于闪存的传感器节点比基于F-RAM的系统消耗约140%的功率。更仔细地查看图7中所示的耗电模式,可以看出为什么闪存设备在此类应用程序中的性能如此糟糕。程序时间开销实际上是系统总耗电量的两倍.
图7:在非线性传感器节点(MA)和时间(MS)中闪存的当前消耗量
除了电源消耗的巨大开销外,一个基于闪存或EPROM的系统还受到技术缺陷的影响,特别是在闪存情况下的耐久性和擦除功率。闪存设备的持久性有限,约10^5周期,这限制了产品的寿命.由于闪存设备需要相当长的时间来执行芯片擦除,所以该系统在擦除操作期间也会出现故障。擦除操作期间的耗电量也会增加总耗电量,进一步降低耗电效率。这些传感器节点是电池驱动的,但如果无意中出现电力损失,闪存或基于EEM的系统也会受到数据完整性损失的影响。闪存装置必须一次编一页,因此,系统必须在本地存储一个页面的数据,直到它成功写入设备。在此期间,任何电源故障都可能导致至少损失一页数据。