上海羊羽卓进出口贸易有限公司

传感器节点硬件 传感器节点控制器 – 助力未来连网传感器

发布时间:2024-11-27 03:11:15

传感器节点控制器 – 助力未来连网传感器

传感器节点控制器 – 助力未来连网传感器

2019-04-22
Marios Iliopoulos, Fotios Kerasiotis, Nikolaos Moschopoulos

引言

今天的便携式设备通过持续的活动监测和情境感知来了解周围环境。为了实现这个功能,设备集成了越来越多的传感器和外设,由此产生大量数据。这反过来使得集成更强大的CPU变得很有必要,以便执行越来越多的计算。同时,必须缩小设计尺寸,降低成本和功耗,但又不牺牲最终产品不断提升的功能要求。

传感器中枢(Sensor hub)的概念被越来越多地采用到当今的SoC设计中,以满足“始终运行”的传感器/外设访问和控制(甚至以高速率)的要求,而且不会增加功耗和设计成本。传感器中枢可以是小型CPU内核,与传感器/外设连接,并通过执行后台操作并仅在需要时“唤醒”主处理器,充当功耗较大的主处理器的卸载引擎的角色。

用于传感器采集的基于处理器的典型架构

应用在集成多个传感器的系统中的典型基于微控制器的架构包括以下组件[1]:

a)一个微控制器单元(MCU) - 也称为处理子系统,MCU控制系统内所有构成部分的运行并处理数据。它包括一个处理器、一个内部或外部存储器、以及本地数据处理所需的所有外设和子系统。在典型的基于MCU的架构中,控制器执行所有传感器数据收集、处理和存储。

b)传感器元件(或传感子系统) - 一组传感器,可以是无源或有源,数字或模拟的任意组合。这些传感器将来自外部环境的输入信息转换成电信号。在大多数应用中,传感器用于监测运动、光、气压、振动、流速、温度、通风、电等。通常来说,传感器元件在其输出端生成电压或电流信号。在数据被处理、存储和传输之前,这些信号一般会被放大,并通过模数转换器转换成数字信号。

c)无线电 - 一种短距离收发器,提供与主机的无线通信。

d)电源子系统 - 通常连接到电池或能量采集器。该子系统充当可控单元,可单独打开和关闭系统构建块的电源。它通常是MCU软件中的一个软件块。电源子系统负责为每个单独的硬件组件提供合适的电源电压。

在具有多个传感器的更复杂的基于微控制器的架构中,在硬件中集成了智能,用来控制各种子系统。 例如,从传感器到存储器传输数据耗时又耗电,这一部分工作其实可以从处理器转移到直接内存存取(DMA)单元。电源管理单元(PMU)还可以被编程为对特定事件做出反应并关闭各种子系统,例如外设、传感器和无线电。

图1. 基于微控制器的典型架构

这种先进架构的目的是尽可能减少主MCU活跃的时间。原来需要MCU干预的任务,现在可以由智能子系统执行。然而,还存在一个问题,就是每次有来自传感器、无线电或各种子系统的事件时,MCU都需要被唤醒,因为它是唯一可以部署逻辑来处理这些事件的元件。

优化功率的技术 - 添加传感器节点控制器

为了延长具有多个传感器的系统的续航时间,已经提出了很多种降低功耗的技术[2],[3]。有些技术在媒体访问控制层面进行节能[4],[5],有些技术从数据聚合或融合着手[6],[7],有的则采用芯片设计优化技术,如片上功率门控[8]或动态电压调节[9]。

本文介绍了一种不同的技术,来优化多传感器系统中的电源使用,同时将主处理器用于数据采集的唤醒时间控制到最短。该技术基于集成复杂的硬件状态机,可以接管主处理器上的重复性任务,如传感器轮询和读取,从而实现集成的低功耗传感器中枢概念。专用硬件状态机可以更快地唤醒,并使用更少的模块来将数据从传感器/外设传输到内存,以及反向传输,而主处理器保持休眠状态。此外,传感器中枢可以对数据执行简单操作,因此主处理器只需要在要求复杂数据操作时唤醒。

这种方法的一个很好的例子,是集成在Dialog半导体公司的DA1469x蓝牙低功耗SoC解决方案中的传感器节点控制器(SNC)硬件模块[10]。SNC是一种微型硬件状态机,能运行由有限的指令集组成的微码(μcode),有助于开发人员操控通信控制器(即SPI、I2C等)、传感器和外设。它可以通过使用其最小指令集自动运行,无需唤醒系统的其余部分。这允许它执行众多操作 - 例如:轮询传感器状态位、比较寄存器与内存地址内容(值)、将数据从通信接口传输到系统RAM以及比较分支 - 同时消耗最低电流。

图2. 具有传感器节点控制器外设的应用处理器架构

SNC的主要特性如下(图3):

· 传感器节点指令集(SeNIS),包含10条微码生成指令,适用于:

o 轻松创建指向内存缓冲区的指针

o 轮询串行接口状态位

o 比较阈值

· 系统RAM用于微码存储和数据

· DMA功能,用于将数据直接从通信接口传输到系统RAM

· 直接访问所有外设和寄存器

· 通过PMU在中断触发和域上电(例如定时器、GPIO)后立即执行

· SNC到主处理器通知,以及反向通知

SNC与所有通信接口(SPI、I2C和UART)位于相同的电源域,SNC还可以控制其他电源域。它执行驻留在系统RAM中的微码,其中SNC具有直接内存连接;以系统时钟速度运行;并且可以生成中断以通知PMU所有操作都已完成,从而可以关闭整个系统的电源。

图3. 传感器节点控制器框图

使用此类专用硬件执行传感器和外设数据操作的架构的主要优点是:

· 主CPU睡眠时间更长,从而可以节省功耗

· 节省MIPS,因为CPU不必访问慢速外设或执行简单的数据操作

不过它有一些缺点。SNC编程模型的非常简单的指令集仅允许基本操作。另外,编程SNC需要使用汇编语言。最后,由于SNC是一个非常简单的模块,调试会变得复杂。

节省功耗和MIPS

我们已经进行了一系列测量,证明了使用SNC可以实现的功耗和MIPS节省。这些测量是在Dialog的基于ARM Cortex-M33的DA1469x SoC上进行的,并比较了只使用主CPU和在SNC支持下执行的相同任务。 第一组测量集中在访问通常用于传感器读数的慢速外设(如I2C和SPI)时节省的功耗/MIPS。第二组测量着眼于使用DA1469x中包含的蓝牙低功耗(BLE)通信模块的实际应用案例。

表1描述了传输小型SPI或I2C数据事务(如写/读16/128字节)时的能耗。

表1:传输小型数据事务时的能耗(数字为1.8 V,8-bit传输)

与CPU(CM33)相比,SNC执行事务所需的时间要短很多,如表2所示。由于CPU可能需要执行忙等待,因此节省了时间相当于节省了MIPS。

表2:SNC写/读8 bit数据所需的时间以及CPU相应所需的时间

对现实生活中的使用案例,我们比较了每隔1500毫秒(表3)和500毫秒(表4)进行广播时所消耗的功率,同时使用SPI每100毫秒读取加速计传感器一次。

表3:每1500毫秒进行广播时的能耗,使用SPI每100毫秒进行一次传感器读取

表4:每500毫秒进行广播时的能耗,使用SPI每100毫秒进行一次传感器读取

在复杂的应用中,如果需要访问多个传感器,考虑到缓存未命中和任务切换等问题,对MCU的占用会更大。

降低编程复杂度

上面提到过,使用集成的传感器节点控制器时面临的最大挑战之一,是确保基础系统功能的编程、调试和充分利用与采用通用MCU的方案一样简单。挑战的主要方面有:

· 提供对开发人员友好的抽象编程,以有效控制驱动与连接的传感器/外设的通信接口,以及与主CPU通信相对应的基本功能。

· 利用10指令汇编式编程,并提供更高级别的编程结构,以简化和加速软件开发。

· 支持完整的系统整体调试 - 而不是单独调试每个CPU内核,因为可能无法检测到当内核并行运行时的系统行为错误。

为了解决这些挑战,我们需要一个完整、易于使用的编程框架。它必须包括抽象和程序,将并发操作系统任务的范例扩展到在SNC上执行的相应(并行)处理。我们已经为Dialog DA1469x解决方案开发了这样的编程框架(图4)。它具有以下特点:

· 简化的SNC微码开发

o 通过定义基于SeNIS的类C编程语言,可以同时支持汇编和类C编程。

· 用于编程的“混合”编码模型

o 在相同的源和头文件中同时包含针对SNC和主处理器情境(context)的代码开发 - 使用了一个C预处理器来定义基于SeNIS的语言结构,方便开发人员。

· 与驱动主处理器通信接口、交换SNC通知、和操作系统资源相关的基础机制和功能的抽象,作为一组完整且易于使用的API程序/类C函数。

· 可观察性和高级调试机制同时应用于SNC和主处理器执行情境。

图4. SNC编程框架

SNC编程模型的特征可归纳如下:

· DA1469x应用包括由OS任务和SNC 微码并行执行的进程。

· SNC适配器向DA1469x系统注册或注销SNC微码,从而创建一列SNC微码,每个微码由特定PMU事件触发。

· SNC适配器采用特殊的SNC微码,根据相应的微码列表实现注册的SNC微码执行的调度,并通过其低级驱动器控制SNC硬件模块。

· 定义了一组基于SeNIS的结构预处理器宏,从而生成一组汇编和类C语言结构用于SNC微码开发。

· 提供一组低级驱动器SNC微码,可用于驱动SPI、I2C等通信外设。

· 为操作系统任务和SNC微码提供了一种机制,进行交换:

o 通知

o 数据(即:SNC 队列)

除了上述实现轻松编程SNC函数的结构之外,还提供以下内容以支持调试:

· 使用SNC断点和逐步调试区域来调试SNC微码的机制。

· SNC仿真器,而不是SNC硬件模块,用于改进和简化SNC微码调试过程。

总结

本文介绍了一种新的架构,可最大限度地降低集成了多个传感器和外设的便携式系统的功耗。该架构使用复杂的硬件状态机来卸载主处理器上的一些重复性任务,例如传感器/外设轮询和读取。与其他架构相比,这种新架构在功耗和MIPS优化方面具有很大的优势,不过会使编程模型变的更复杂。因此,我们还介绍了一种对开发人员友好的编程框架来克服该问题。

参考文献

[1] Goran Nikolić, Mile Stojčev, Zoran Stamenković, Goran Panić, Branislav Petrović, “Wireless Sensor Node with low power sensing”, Electronics and Energetics Vol. 27, No 3, September 2014, pp. 435 - 453

[2] V. Raghunathan, S. Ganerival, and M. Srivastava, "Emerging Techniques for Long Lived Wireless Sensor Networks", IEEE Communication Magazine, 2006, Vol.41, No. 4, (pp. 130-141)

[3] G. Anastasi, M. Conti, M. Di Francesco, and A. Passarella, "Energy Conservation in Wireless Sensor Networks: A survey", Ad Hoc Networks, 2009, Vol. 7, (pp. 537–568)

[4] W. Ye, J. Heidemann, and D. Estrin, "An Energy-Efficient Mac Protocol for Wireless Sensor Networks," Proc. IEEE Infocom, New York (USA) 2002, (pp. 1567-1576).

[5] M. Al Ameen, S.M. Riazul Islam, and K. Kwak, "Energy Saving Mechanisms for MAC Protocols in Wireless Sensor Networks", Hindawi Publishing Corporation International Journal of Distributed Sensor Networks, Volume 2010 (2010), Article ID 163413, (pp 1-16)

[6] M. Hempstead, N. Tripathi, P. Mauro, G.-Y. Wei, and D. Brooks, "An Ultra Low Power System Architecture for Sensor Network Applications," Proc. 32nd Annual International Symposium on Computer Architecture, Madison (USA) 2005, (pp. 208-219).

[7] A. Boulis, S. Ganeriwal, and M. Srivastava, "Aggregation in Sensor Networks: An Energy Accuracy Trade-Off", Ad Hoc Networks, Vol. 1, 2003, (pp. 317–331)

[8] G. Panić, Z. Stamenković, and R. Kraemer, "Power Gating in Wireless Sensor Networks", Wireless Pervasive Computing, 2008. ISWPC2008. 3rd International Symposium on Santorini, Greece, May 2008, (pp. 499-503)

[9] T. Burd, and R. Brodersen, "Energy Efficient Microprocessor Design", Kluwer Academic Publishers, Norwell MA, USA, 2002

[10] Dialog Semiconductor, “DA1469x Datasheet”

物联网无线传感器节点设计

无线传感器节点( WSN )在促进物联网( IoT )发展方面发挥着关键作用。WSN的优点在于,它的功耗极低,尺寸极小,安装简便。对很多物联网的应用而言,譬如安装在室外的应用,WSN可使用太阳能供电。当室内有光,系统就由太阳光供电,同时为细小纽扣电池或超级电容器充电,以在没有光的情况下为系统供电。

在一般情况下,无线传感器节点是传感器为基础的设备,负责监察温度、湿度或压力等条件。节点从任何类型的传感器收集数据,然后以无线方式传递数据到控制单位,譬如计算机或移动设备,并在此处理、评估数据,并采取行动。理想情况下,节点可以由能量收集机制获得作业电源,成为独立运作的设备。从一般意义上讲,能量收集的过程是捕捉并转换来自光、振动,或热等来源的极少量能量为电能的过程。

图 1:能量收集系统设计示例

图 1 显示了能量收集系统的框图。能量是由能量收集系统 (如太阳能板)收集,并由电源管理集成电路 (IC) (PMIC) 转换成稳定的能量,再使用低漏、低阻抗的电容器储存。这些能源能供给传感器接口负载 (譬如微控制器MCU),而MCU是用无线方式来传送数据的传感器。本图中,能量收集传感器( EHS )是无线传感器节点。

图 2:无线传感器节点系统示例

图2显示了无线传感器节点的框图。在这里,已处理的传感器数据会透过低功耗蓝牙( BLE )以无线方式传输。BLE 是用于短距离、低功耗无线应用的标准,以交流状态或控制信息。BLE 在2.4 GHz ISM 频带及二进制频移键控(GFSK)调制下运作,此支持1 Mbps 的数据速率。

而电源管理 IC是用来稳定能量收集设备所要求的功秏,以支持其超低功耗的运作。 打个比方,赛普拉斯S6AE103A PMIC 器件的电流消耗低至280 nA,启动功率为 1.2uW(见图3)。因此,在约100勒克斯(lx) 的低亮度的环境中,紧凑型太阳能电池依然可以获得少量的能量。

图 3:用于能量收集的S6AE103A PMIC 器件框图

高效的无线传感器节点设计

让我们考虑一下设计无线传感器节点所涉及的步骤:

第 1 步:选择硬件:

在硬件方面,你需要适当的传感器,一台最终能用能量收集设备供电的MCU及 PMIC。你可能需要额外的无源组件,此视乎设计而定。

传感器可以是仿真或数字形式。现今市面上很多传感器是使用基于集成电路总线(I2C)、串行外设接口 (SPI)或异步收发传输器(UART)界面为标准的数字传感器。电耗极低的传感器在市面上亦有售。为了保持设备成本维持低水平,外形小巧,配有综合BLE的MCU能够简化设计,并缩短推出市场的时间。为了进一步加快设计,许多厂商都使用完全综合,完全通过认证的可编程模块,例如赛普拉斯EZ-BLE Modules。模块由一个主要MCU、两块结晶、芯片或跟踪天线、扩展板及无源组件组成。由于这些模块已经拥有必须的BLE认证,产品可以快速推出市场。

图 4:BLE模块示例:太阳能供能的低功耗蓝牙传感器信标CYALKIT-E02

第 2 步:设计固件和估计功耗

选择了可编程的MCU 后,下一步就是编写适当的固件。固件需要具备的基本功能是收集传感器数据的接口,用无线传送数据的BLE组件或堆栈,和能够负责固件处理的CPU。

由于超低耗运作是关键,电流消耗总和需要由一开始纳入考虑。总计电流消耗是传感器所消耗的电流及MCU 所消耗的电流总和。由于传感器通常不会消耗太多的总电流,其重点应该放在如何将MCU所消耗的电流减至最低。在优化电流之前,要考虑在MCU内在消耗电流的三个主要的组件:CPU、传感器接口模块(如 I2C 、SPI 等)和BLE子系统。这里,当无线电收音机开动(例如BLE Tx及Rx),电流的主要消费者会是BLE电收音机。

嵌入式 MCU 提供各种低功耗模式,以减少电流消耗。固件设计人员需要考虑这些低功耗模式和设计代码,这样,平均电流的消耗就能减至最低。例如,传感数据并不是瞬速变更的,固件需要间中扫瞄传感数据(例如每隔 5 至 10 秒钟,时间间隔视乎传感器而定)。传感器的已读数据通过 BLE, 以无线方式传输。

就 BLE 固件而言,传感器可以连同 BLE 广播包将数据发送。我们建议不要连同广播包转送太多其他数据,因为这样会进一步增加电流。在广播间隔与传感器扫描间隔之间, MCU需进入低功耗模式,譬如是「休眠功能 」。低电耗定时器就如看门狗定时器,可以在定时器倒数完毕时,唤醒设备。 为了使用低功耗操作,MCU进行了优化,提供一个 BLE 内部定时器,当广播间隔结束,可唤醒进入了休眠功能的设备。图 5显示了操作的固件流程。

图 5:为高效无线传感器节点设计而设立的固件流程

只要设计好固件,您可以测量电流。你可以使用原型电路板测量电流。请注意,MCU的启动及低耗模式的电流需要独立量度。只要你知道MCU分别以启动及低耗模式操作的时间,平均的电流消耗是:

有了平均电流的数字,你就可以将它乘以PMIC电压,从而找出平均功率。

第 3 步优化固件,最大限度地降低平均电流消耗

情况有可能是,初始计算出的设计功率的太高,太阳能 PMIC 无法支持。如果是这样,你就需要优化固件。这里有几个有效方法来执行此操作:

执行优化 MCU 的启动代码:当MCU 正在启动,你不需要使用如24MHz晶产时钟的高频外部时钟,以操作BLE。最初就关掉此时钟,能够节约能源。再者,时钟晶体可以利用这些时间稳定下来,而其亦是启动的其中一个部件。这些时钟渐渐稳定下来,MCU 可以再次调较至低耗模式,内部低频时钟可以在时钟预备好的时候唤醒设备。简而言之,启动代码的执行时间可以很长,并且固件设计人员需要尽量减少启动电流消耗。

a.降低主 CPU 运作频率

b.在进入低功率模式前,控制驱动模式,以防止MCU引脚泄漏电流。

c.如果MCU支持任何调试接口,要将它们废除。

这些步骤有助降低平均电流消耗。

第 4 步:设计硬件

有了功耗优化的固件,是时候基于PMIC设计硬件 。图 6 显示了一个简单以能量收集基础的 PMIC 设计。

图 6:简单的能量收集设计

在 PMIC 首先储存太阳能到储存的设备 VSTORE1 (VST1),此事例为一个300-μF 的陶瓷电容器。当 VST 1 达到 VOUTH V,能量就可以发送到 MCU 。但这个简单的能量收集设计不能全日运作,原因是没有备份电容器。让我们来看看,备份电容器如何加配到PMIC设备,和电容器能够如何帮忙MCU。

图 7:能量收集与备份电容器

操作WSN 所需的能量首先存储在 VST 1 ,剩余的能量用于 VST 2充电 。存储在 VST 2 的能量可于没有光线照射的情况下持续提供予 WSN 。此外,还可以连接一个额外的纽扣电池到 PMIC,以增加可靠性,如图8所示 。

图 8:多个电源输入的能量收集

PMIC 转换两种电源来源,以便 WSN 可以在所有条件下(即使没有灯光的情况)运行。转换自动产生,使能源在有需要时供应给WSN 。因此,这可能是 WSN的 最适当的硬件设计。

第 5 步:设计用户界面

连接到无线传感器节点的用户界面设计可以是用WSN传输,以接收数据的手机应用,就是这么简单。由于传感器的数据可能会在广播包固定位置出现,BLE应用可以设计到能够从这些位置提取相关数据,并将数据显示到你的手机上。这种技术可用于管理多个 WSNs 构成的复杂网络。

相关问答

传感网包括哪些 硬件 设备?

一个典型的无线传感器网络节点的硬件结构包括:传感器接口、ADC、微处理器、电源以及无线收发装置。传统的传感器正逐步实现微型化、智能化、信息化、网络化,...

传感器 网由 传感器节点 组成?

传感器节点基本组成模块有:传感单元、处理单元、通信单元以及电源部分。传感器节点是一种微型嵌入式设备,要求它的价格低、功耗小,这些限制必然导致其携带的...

传感器 和传感网络 节点 主要区别在于?

传感器节点是采用自组织方式进行组网以及利用无线通信技术进行数据转发的,节点都具有数据采集与数据融合转发双重功能。传感器(英文名称:transducer/sensor)...

无线 传感器 应用的开发过程?

1.确定需求:确定应用场景,应用需要采集的数据类型,以及传感器的布局和数据传输方式。2.选择硬件平台:选择适合应用需求的无线传感器节点和网关硬件平台,考...

传感网的体系架构包括哪些?

传感网的体系架构通常包括以下几个主要部分:1.感知层:负责感知和采集环境或设备中的信息。这包括各种传感器,如温度传感器、湿度传感器、摄像头、红外传感器...

传感网方面的智能设备有哪些?

一个典型的无线传感器网络节点的硬件结构包括:传感器接口、ADC、微处理器、电源以及无线收发装置。一个典型的无线传感器网络节点的硬件结构包括:传感器接口...

五种 传感器 类型及例子?

1、无线传感器随着物联网的发展,WIFI等无线连接方式非常火爆,这给无线传感器的发展一个十分重要的时机,前景不可限量。无线传感器的组成模块封装在一个外壳内...

传感技术三要素?

传感器网络的三个要素:传感器、感知对象、观察者。观察者将兴趣信息告知传感器节点,传感器节点发现感知对象后,进行协作地侦察、感知和采集感知目标的数...

传感器 定位方法中的跳数是指两 节点 间的?

跳数是指在传感器网络中,两个节点之间的中间节点数量。它是一种常用的定位方法,通过测量信号传输的中继节点数量来确定目标节点位置。跳数定位方法具有低成本...

28181协议的关键参数?

"28181"这个数字序列在不同的领域和上下文中可能代表不同的协议或规范。以下是一些可能相关的协议或规范及其关键参数:1.28181协议:这是一种工业控制协议...

展开全部内容