传感器正在成为
电子基础设施向物联网(IoT)转变的无处不在的元素。传感器将提供用于管理和控制汽车,家庭,工作场所,工厂车间以及两者之间的电子系统的数据。传感器不仅在扩展范围,而且在扩展能力方面。当多个传感器位于同一位置时,可以创建令人兴奋的新功能,并且可以交换和增强单个测量。在这些类型的设计中,传感器可以实现高级功能,通常被称为传感器“融合”,提供新的和创新的功能。
传感器融合算法已经在化学过程控制系统中实施了数十年,所以这个概念并不是新的。大多数化学过程控制系统需要各种传感器读数来确定值,流速或设置的正确设置。你不会考虑在没有感应压力,温度和体积的情况下管理化学过程,对吧? (还记得PV = nRT吗?)很容易要求你的新传感器融合设计包含各种传感器,这样你的新算法就能拥有它需要的所有数据;但在某些时候,您的MCU需要连接到所有这些传感器,同时以您的算法所需的速率提供数据。哦,顺便说一下,您需要保留大量的MCU计算能力,因此处理器不会受到实时管理所有传感器数据的困扰。
幸运的是,MCU制造商一直在扩展其MCU外设的功能,因此设计可以使用多个接口的全部功能,而不会给处理器带来大量开销。本文将介绍传感器融合设计的示例实现,以说明为每个传感器选择合适的外设对于设计的成功至关重要。
示例设计
我们将在未来几年内看到的一种更常见的传感器融合设计将用于跟踪和记录感兴趣对象周围的环境。感兴趣的对象可以是运输中的包裹,停放的汽车,移动中的自行车或院子里的狗。显然,传感器日志和任何传感器融合算法都将寻找特定的环境测量,但我们的示例设计中可能包含一些常用的测量。我们假设我们想要提供温度,湿度,振动,压力和加速度。我们还添加了捕获声音的要求,以涵盖使用语音命令或需要捕获环境噪声的情况,或许可以验证噪声级别的工业标准是否得到遵守。这些类型的读数变化足以为我们提供一些设计挑战,因此我们可以探索对于高效传感器融合设计至关重要的特定MCU功能。
我们的示例设计的简化框图如图所示。图1.关键设计目标是找到用于每个传感器的最佳MCU接口,这种连接可以传感器融合算法所需的速率提供传感器数据。在我们的示例设计中,由于假设电池工作,因此低功耗也是关键要求。因此,在有限功率下获得最多数据和最多处理能力将是我们的主要设计目标。
图1:环境监测传感器简化框图。
音频,温度,压力,加速度,振动和湿度传感器都直接连接到MCU。无线连接(可能是低功耗短距离标准,例如蓝牙低功耗)允许传感器通过聚合单元向云提供数据。可以通过从云下载MCU代码更新来进行算法增强或维护更新。这些更新可用于延长传感器寿命或针对不同条件或不断变化的要求重新设置传感器。
每个传感器对速度,延迟,功率和测量频率都有不同的约束。主要的设计任务是优化这些接口,以便在最佳时间和尽可能少的功耗下为融合算法提供所需的数据。确定最佳连接的第一步是分离出低速连接和高性能连接要求。
低速连接
许多传感器不需要高速连接连接因此可以使用较旧的低速串行接口,例如UART。在我们的示例设计中,我们假设压力传感器使用UART风格的接口,并且每秒只进行几次
通信。这个速度通常足以跟踪长期和突然的压力变化。使用UART接口可能会给设计带来一个可能非直观的设计问题。由于频率较低,您可能还希望功率要求较低。不幸的是,你可能遇到这样的情况,因为传输频率很低,UART需要保持很长时间。只要UART处于活动状态,功耗就会消耗殆尽。
我们的示例设计需要的是一个节能的UART外设,在激活时使用很少的功率,并且可以很容易地关闭它。不需要。现在,有几种MCU包含具有这些特性的专用低功耗UART,STMicroelectronics的图2所示的低功耗UART显示了UART的功效如何。
图2:
STM32L低功耗UART框图。 (由STMicroelectronics提供)
典型的UART功能 - 发送数据寄存器,接收数据寄存器,控制寄存器,波特率选择和整体控制单元 - 在程序框图中都很明显,但不是容易发现,即使MCU处于低功耗停止模式,UART也能运行。 UART可以等待输入数据帧,并通过中断将MCU从停止模式唤醒。如果UART数据是传感器融合算法中的重要元素,则CPU可以将数据移动到存储器或立即开始处理。由于低功耗UART外设可以在CPU处于停止模式时接收数据,因此传输过程中所需的功率大大减少,这大大提高了我们的功率效率。当您需要连接到MCU的低速串行接口时,请寻找类似的低功耗特性。
高性能连接
在某些传感器应用中,频繁或以高数据速率访问传感器数据非常重要。在我们的示例设计中,音频传感器需要最高带宽。其他类型的传感器,例如光,温度,压力和位置,不经常改变,因此可以以低得多的速率进行监测。大多数MCU提供的高速接口有多种选择,SPI,QSPI和I?C作为流行的选择。例如,Atmel SAM4S4A MCU支持多通道SPI和I?C。该器件的另一个功能是即使在极低功耗模式下也可以保留SRAM,这样传感器数据包在存储在SRAM中时不会丢失。当低功耗是最重要的考虑因素时,寻找这种能力。
许多MCU支持流行的I?S音频接口,而且这通常是音频处理应用的明显选择。现代音频编解码器通常支持多个接口,因此您可以选择适合您应用的接口。德州仪器TLV320AIC3254立体声音频编解码器(图3)支持I?S,I?C和SPI,因此您可以选择多种接口选项。
图3 :德州仪器(
ti)的音频编解码器具有多种串行接口支持。 (由Texas Instruments提供)
当您的应用程序传输音频数据时,I?S接口是一个很好的选择。让我们假设在我们的示例中,传感器需要不经常测量音频电平和频率(可能最多每秒一次),以测试环境是否符合工厂车间劳动力的声音暴露规定。在不丢失任何数据且不干扰其他测量的情况下捕获一秒钟的声音是很重要的。在这种情况下,I?S接口是一个不错的选择,并允许从其他I?C或SPI端口独立操作。
使用I?S还可以使我们最小化功耗,因为它仅在音频捕获期间开启期。通常I?S可以与DMA结合使用,这样CPU就可以进入低功耗模式,直到数据全部被捕获并准备好处理。或者,CPU可以在捕获数据时处理数据。如果音频功能的总“接通时间”减少,则可能最终降低功率。考虑在设计中比较这两种方法,并根据您的要求选择效率最高的方法。
不要忘记模拟
尽管许多传感器使用串行接口,但不要忘记简单的模数转换器(ADC)可用于许多传感器应用。有些ADC可以独立于CPU运行,这样可以在转换过程中轻松将CPU置于低功耗模式。例如,STM32F4 MCU有一个ADC,可以使用直接存储器访问(DMA)控制器将捕获的数据直接传输到存储器。 ADC也可以通过定时器计数器模块启动,因此无需CPU干预即可轻松进行定期测量。这些启动触发信号如图4中STM32F4 ADC框图底部所示。
图4:STMicroelectronics STM32F4 MCU ADC框图。 (由STMicroelectronics提供)
为了进一步提高效率,模拟看门狗功能可以非常精确地监控一个,部分或全部所选通道的转换电压。当转换电压超出编程阈值时,会产生中断。这在我们的示例环境监测设计中特别有用,因为除非测量偏离“安全”区域,否则CPU不需要处于活动状态。这样可以降低功耗,并使CPU能够专注于关键处理要求。
结论
对于传感器融合设计,降低CPU开销的高效接口至关重要。释放CPU以便它可以处理各种传感器数据,其中算法可以组合或融合数据以识别重要事件,从而创建智能传感器融合设备。这些智能设备将成为不断扩展的物联网环境中的关键元素。