利用自校准模拟智能微控制器提高物联网边缘的智能化程度。
投稿人:DigiKey 北美编辑
2020-07-01
随着物联网 (IoT) 应用变得越来越复杂,工业物联网 (IIoT) 端点的设计人员需要在边缘提供更复杂的计算。在边缘对端点传感器数据进行计算,这是减少 IIoT 中心网络瓶颈的实用方法。如此一来,在减少网络流量的同时,也降低了主中心处理器的计算负载。但是,该方法也有缺点。
例如,一种常见的 IIoT 边缘应用是处理周期性的模数转换器 (ADC) 传感器数据。对于高精度的模拟数据,数百个 ADC 数据点的数学处理、解读和插值会大幅加重边缘主机处理器的负载,从而可能影响整个网络的性能。此外,高精度 ADC 可能需要在物联网端点的主机微控制器固件中执行自校准,这可能会使所有边缘处理延迟至校准完成。
本文将向开发者介绍如何使用Analog Devices的精密模拟微控制器作为智能ADC外设。文中将说明这些模拟微控制器的特性如何使其适合用作单芯片数据采集系统,这些系统既能轻松连接至 IIoT 端点微控制器,又可执行 ADC 数据点处理和自校准等边缘处理功能,而不会影响主端点微控制器的性能。
为什么要在边缘处理模拟传感器数据?
随着 IIoT 系统变得越来越复杂,所需处理的数据也越来越复杂。对于工业控制应用,阀门和某些电机正在从开环系统转换为闭环系统,在这种系统中精密模拟传感器必须能检测到微小的阀门或电机位置。对于过程控制应用,更大的处理量使得生产线速度加快,对系统中的温度、压力和执行器的控制更加精细。
在过程控制中,生产线(过程)的速度主要取决于两个因素:地面上机器和系统的机械能力,以及控制机器和系统中传感器和执行器的 IIoT 网络效率。在某些情况下,微小的过程改进能够让产量增加,但这些改进可能会因 IIoT 网络瓶颈而受阻。通过在边缘执行更多处理,可以减少这些瓶颈。
在 IIoT 端点处执行边缘处理,对于处理模拟信号特别有利。在 IIoT 发展的早期阶段,处理模拟数据可能会很简单,但可扩展性是一个问题:后期的改进会导致计算的复杂性增加。通过网络发送所有原始模拟数据会增加网络流量,而在网络中心处理器上处理所有这些数据,也会占用宝贵的计算时间。因此,在边缘处理模拟数据是一种提高网络效率的切实可行的方法。
使用智能 ADC 在边缘处理模拟数据
在边缘处理成百上千个 ADC 数据样本,这很容易使 IIoT 端点的主微控制器不堪重负。对于复杂的模拟传感器,明智的设计决策是使用自带处理能力的外部 ADC。这不仅可大大减轻 IIoT 端点微控制器的负担,而且使 ADC 的自校准更加容易。
为了实现高性能的 ADC 数据捕获和处理,Analog Devices 提供了一系列精密的模拟微控制器。ADuCM360BCPZ128-R7 精密模拟微控制器使用 Arm® Cortex®-M3 控制两个 24 位三角积分 ADC(图 1)。ADC 能够每秒捕获 4 千个模拟传感器数据样本 (kSPS)。此外,ADuCM360 还带有一个 12 位数模转换器 (DAC),用于产生精确的电压以进行自我校准。该微控制器的工作电压范围为 1.8 至 3.6 V,并包含一个内部 32 kHz 振荡器和一个内部 16 MHz 振荡器,从而减少了空间受限系统中的元器件数量。
图 1:Analog Devices 的 ADuCM360 是一款完整的片上低功耗数据采集系统,具有一个 Arm Cortex-M3 内核、两个 24 位三角积分 4 kSPS ADC 和一个 12 位 DAC。(图片来源:Analog Devices)
ADuCM360 配有 128 KB 的闪存和 8 KB 的 SRAM。ADuCM360 的一大优势是可以直接写入闪存位置,类似于写入 SRAM。这使固件开发人员可以轻松地将闪存存储块划分为程序存储器和 EEPROM。在数据采集系统中,这允许将 EEPROM 分区存储块用于存储 ADC 校准数据。
闪存支持直接 32 位擦除和写入(不支持 16 位和 8 位擦除和写入)。闪存写入和擦除操作需要消耗大量的电流,因此在电池供电的应用中,一次写入 32 位的能力可以节省大量电力。与每次只能写入和擦除一个存储块或一页的闪存微控制器相比,这具有显著的低功耗优势。
该闪存还支持常规的闪存擦除命令,例如页面擦除和整个闪存阵列的大规模擦除。凭借这些功能,开发人员可以轻松编写子例程,根据从 IIoT 端点主机微控制器通过串口发送的命令更新固件。这一点很重要:如果 ADuCM360 无法通过串口轻松更新固件,则会严重限制其在数据采集系统中的灵活性,因为能够更新控制 ADC 的固件,这与 ADC 本身同样重要。
高效的单芯片数据采集系统
两个 24 位 ADC 均连接到一个输入多路复用器,共支持 11 个单通道或 6 个差分输入。四个内部通道可以监测内部温度传感器以及 12 位 DAC 的输出,还有一个内部低漂移带隙基准。这些可用于执行 ADC 的自校准。DAC 可以经过编程,以输出每个 ADC 都可以读取的一系列电压。ADC 还可以对内部带隙基准电压进行采样。固件可以处理这些读数,以便可以在温度范围内校准 ADC,并将校准常数存储在 EEPROM 中。
当用作单芯片数据采集系统时,ADC 可以经过编程,以高达 4 kSPS 的采样率采集连续的模拟数据样本。一个 11 通道直接存储器访问 (DMA) 控制器可以将这些数据传输至 SRAM。然后,固件可以应用 EEPROM 中存储的校准常数来修改数据,并在必要时根据温度进行校正。接下来,固件可以根据应用的要求处理数据,同时 DMA 将其他 ADC 数据传输至 SRAM。
对存储的 ADC 数据处理完成后,结果可以发送到串行接口以待传输到 IIoT 端点微控制器,或者如果需要传输多个数据样本,DMA 可以将数据批量传输到串行接口。采用这种方式,一个高效的数据采集系统可以同时对一组 ADC 数据进行采样并以 DMA 传输至 SRAM、处理第二组 ADC 数据,并将第三组 ADC 数据以 DMA 传输至串行接口。
模拟输入信号可通过可编程增益放大器 (PGA) 进行放大,并且可以将其设置为 2 的幂,支持的增益值包括 2、4、8、16、32、64 和 128。这样就可以放大很小的电压,以实现更精确的 ADC 采样。
虽然其他功能还包括一个 16 位六通道脉冲宽度调制 (PWM)、19 个通用 I/O (GPIO)、两个 16 位通用定时器、一个 32 位唤醒/看门狗定时器,以及一个外部中断系统,但让应用固件保持专注于支持其 ADC 捕获和数据处理的主要用途非常重要。若要求 ADuCM360 执行与其模拟数据捕获主要用途无关的附加功能,很容易导致功能蔓延,从而干扰该用途,同时还会使固件更新复杂化。
超低功耗特性
尽管 ADuCM360 具有高端模拟功能,但在高性能条件下,它仍然能够实现低功耗。在正常工作模式下,Cortex-M3 内核仅消耗 290 微安 (µA)/MHz。在系统时钟为 0.5 MHz、两个 ADC 都在取样、所有定时器都在运行、PGA 增益为 4 的情况下,当从 SPI 接口访问时,微控制器仅消耗 1 毫安 (mA) 的电流。这是在输入缓冲器关闭的情况下,因为缓冲器电压存储会增加功耗。当处于仅唤醒定时器运行的休眠模式时,微控制器仅消耗 4 µA 的电流。这使得 ADuCM361 适用于电池供电的 IIoT 端点。
对于不需要两个 ADC 速度的不太复杂的应用,Analog Devices 提供了 ADUCM361BCPZ128-R7。除了只有一个三角积分 24 位 ADC 外,它与 ADuCM360 相同(图 2)。
图 2:ADuCM361 是一款完整的片上数据采集系统,类似于 ADuCM360,但只有一个 24 位三角积分 ADC。如果应用不需要两个 ADC 同时运行所提供的性能,使用 ADuCM361 可以节省成本和功耗。(图片来源:Analog Devices)
在一些应用中,如不需要两个 24 位 ADC 同时运行来提供高性能,则使用 ADuCM361 可以降低系统成本和电路板功耗。单个 ADC 也连接到一个多路复用器,总共支持 11 个单通道或 6 个差分输入。此外,该器件也可使用 12 位 DAC、内部带隙基准和温度传感器进行自校准。
ADuCM361 与 ADuCM360 引脚兼容。这样一来,一种印刷电路板布局就可用于这两款产品。这简化了产品开发和物料清单 (BOM),因为 IIoT 端点制造商可以使用一款印刷电路板来生产两款或更多产品。
数据采集系统开发
对于产品开发,Analog Devices 提供了 EVAL-ADuCM360QSPZ 评估套件(图 3)。该评估板可连接到模拟传感器或外部电压源,用以开发 ADuCM360 和 ADuCM361 模拟微控制器的固件。
图 3:Analog Devices 的 EVAL-ADuCM360QSPZ 评估套件可用于评估 ADuCM360 和 ADuCM361 模拟微控制器。该套件可以直接连接至外部模拟传感器,并可通过 USB 连接进行管理。(图片来源:Analog Devices)
该评估套件可由运行 Windows 的主机通过 USB 端口访问。这样就可以使用目标固件对板载 ADuCM360 进行编程,以进行测试和调试。EVAL-ADuCM360QSPZ 的印刷电路板上具有 ADuCM360 的所有引脚,包括串行 I/O,因此该评估板可以通过 I2C、SPI 或 UART 连接至主机微控制器以进行实时调试。Windows 主机可以记录 ADC 数据,还可以调试自校准程序的准确性。
结语
在过程控制等高端模拟应用中,所采用的许多 IIoT 端点需要对使用 ADC 捕获的模拟传感器数据进行更多的边缘处理。ADC 数据量和边缘处理的复杂性会使 IIoT 端点主微控制器不堪重负。主端点微控制器可改为使用串口连接至一个模拟微控制器,并且该模拟微控制器是一个自足式数据采集系统。这样可以提高端点的性能并减少网络流量,从而让 IIoT 网络更为高效。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。