低功耗MCU进行蓝牙、Wi-Fi通信系统

描述

物联网 (IoT) 和工业 IoT (IIoT) 目标相同,都是将传感器数据流转化成有用的信息。但是,对于开发人员来说,最大的区别在于基本要求,包括电源、连接性及设计可靠性和稳健性。

IoT 要求尺寸小、电池供电以及无线连接,这表示要使用带一体式射频子系统的低功耗 MCU 进行蓝牙或 Wi-Fi 通信。与此相反,工作条件恶劣、大量本地传感器和旧版系统这三方面的综合作用,则推动了对稳健互连及使用能够卸载传统 PLC 的边缘设备的需求。

本文将解决 IIoT 应用相对于消费类 IoT的一些独特要求。这表明,尽管有额外要求,开发人员仍能找到各种各样的解决方案来满足针对任一领域之应用的特定要求。

消费类和工业 IoT 之间的差别

IoT 和 IIoT 的应用目标相似,都是力争从由传感器采集的数据流中获取有用的信息。二者均依赖于外设设备直接或通过一些中间资源与高级应用通信时所用的多层方法。但是,除了这些相似性之外,它们各自要求的性质导致外设设备的设计和连接性存在本质区别。

例如,针对保健和健身的 IoT 传感器设计通常与在恶劣环境中准确监视和可靠控制工业设备所需的 IIoT 外设传感器和致动器无相似之处。同样地,IoT 和 IIoT 网络的连接性可能会带来完全不同的要求。

连接性通常代表 IoT 和 IIoT 系统实施之间的特征之一。如下所述,IIoT 在传统上依赖于可编程逻辑控制器 (PLC) 和其他主机的硬连接,该方法的原理在今天依然很大程度上有效。与此形成鲜明对比的是,面向个人和家居使用的 IoT 应用通常绕着用户智能手机或其他移动设备上运行的应用转,并通过蓝牙或 Wi-Fi 局域网连接到 IoT 设备或可穿戴设备。

针对家庭或办公应用的 IoT 设备设计,通常在功率和尺寸方面存在重大限制。对于这些应用,消费者期待大多数 IoT 设备和所有可穿戴设备电池在一次充电后可以长时间供电。针对可穿戴或摆放在家里或办公室显眼位置的产品的 IoT 设计,通常在易用性、防水和防尘、最低设计封装及与其他主流消费产品相关的其他特性方面存在额外的产品工程设计要求。同时,设计成本和简洁性成为寻求更快交付有竞争力产品之组织十分关切的问题。

低功耗无线 MCU 的出现提供了一种解决方案,可以解决这些经常相互冲突的要求。无线 MCU 通过将射频子系统与处理器核相集成,提供一种更简单的方法,不仅减少了零件计数,还消除了与射频集成相关的设计难题,从而加快了整体开发的速度。

Dialog Semiconductor 的 DA1458x 系列设备等无线 MCU 集成了一个处理器核,蓝牙射频子系统、坚固的单片存储器和大量模拟和数字外设。MCU 围绕低功耗 32 位 ARM® Cortex®-M0 处理器核构建,设计用于最大限度降低电池供电产品的功耗。MCU 的一体式低功耗蓝牙核与射频子系统仅使用 3.4 毫安 (mA) 进行发射 (Tx) 和 3.7 mA 进行接收 (Rx),MCU 的整体典型功耗分别为 4.88 mA 和 5.28 mA。

存储器扩展

Dialog 提供针对特定工作要求进行了优化的各种版本的 DA1458x MCU。例如,DA14581 针对无线充电应用进行了优化,而 DA14585 和 DA14586 适用于需要小尺寸、低功耗和大量存储空间的可穿戴设备和智能家居应用。

Dialog Semiconductor DA14585 包括 96 千字节的 SRAM 工作存储器;128 千字节的 ROM 用于引导代码和蓝牙栈;以及 64 千字节的一次可编程 (OTP) 存储器用于应用代码、蓝牙配置文件和配置数据。DA14586 提供与 DA14585 相同的特性,但增加了 2 兆比特片载闪存块,正常操作期间,对总功耗几乎不产生影响。

如果设备要求更大的程序内存,开发人员可以使用 MCU 的 SPI 或 I2C 接口轻松添加一个外置闪存设备,如 Winbond Electronics W25X20 2 兆比特闪存或 W25X40 4 兆比特闪存(图 1)。闪存设备采用 2 x 3 mm 小型无引脚器件 (USON) 包装,只会让设计封装适度增大。另一方面,使用外置闪存会使功率消耗相比较使用 MCU 的 OTP 或 DA14586 的内置闪存时递增。功耗增加的原因包括:外置闪存较长的 SRAM 加载时间、较高的外置闪存编程电流水平及外置闪存待机时较高的电流水平甚至断电模式。

Maxim

图 1: 对于需要内存多于 Dialog Semiconductor DA14585 等无线 MCU 中所集成内存的 IoT 设备,开发人员可以只通过 SPI 或 I2C 接口连接外置闪存设备。(图片来源: Dialog Semiconductor)

传感器数据

对于传感器数据采集,工程师可以利用集成在 Dialog Bluetooth MCU 等无线 MCU 中的模数转换器 (ADC)。某些情况下,工程师或许能够将传感器输出直接馈送到 MCU 的 ADC 端口,且可能会通过一个简单的运算放大器来缓冲。

然而,对于大多数 IoT 应用,有关传感器负载、线性度、温度补偿、信号摆动、噪声的问题及其他注意事项需要更多的模拟信号链。即使使用可用的模拟前端 (AFE) 设备构建,独立的传感器设计也会增加复杂性,经常延误项目完成。然而,通过利用更多的智能传感器,开发人员可以快速创建 IoT 设计,其中除了单个无线 MCU 和智能传感器外,只包括较少的几个元器件。

智能传感器结合适当的传感器与完整的传感器信号链。这些信号链针对特定的传感器类型进行了优化,组合了由功率放大器、过滤器和多路复用器组成的模拟前端,从而向一体式 ADC 提供条件信号。这些智能传感器通常集成数字信号处理引擎,可以独立于主机 MCU 之外执行大量传感器信号处理操作。例如,TDK InvenSense ICM-20789 集成式测量装置 (IMU) 集成了数字运动处理器,其设计旨在独立于主处理器之外执行运动处理算法。该设备可以处理数据生成的各个方面 — 从传感器获取数据、处理数据以及将数据保存在 FIFO 中供主机 MCU 稍后访问。

与所有的智能传感器一样,ICM-20789 的高集成度及标准 I2C 和 SPI 端口确保快速的设计实现。开发人员只需要额外增加几个元器件,包括稳压器 Texas Instruments TLV702 系列低压差 (LDO) 稳压器(图 2)。当数据采集完成时,智能传感器可以唤醒睡眠的 MCU 来处理数据。

Maxim

图 2: 由于 TDK InvenSense ICM-20789 IMU 等智能传感器的集成度高,开发人员只用几个元器件便可以实现完整的无线传感器设备。(图片来源: TDK InvenSense)

高效的 MCU 低功耗模式和独立的智能传感器操作组合为开发人员提供一个强大的平台进行高能效的 IoT 设备设计。

恶劣环境

与 IoT 应用一样,IIoT 使用多个数据流提供有用的信息。但是,利用 IIoT,构建出传感器网络的开发人员发现自己能够应对恶劣操作条件、传感器布置和维护限制及旧版传感器设备和主机系统的组合。

与大多数 IoT 应用不同的是,电池供电设备在工业环境中通常无法使用。繁忙的操作人员没有时间更换电池。在尘土飞扬的嘈杂环境中,甚至人工处理这些微型设备都可能成问题。与预期用于此环境的任何电子设备一样的是,开发人员需要创建能够应对灰尘、液体、物理应力、电气干扰等等的稳固机械和电气设计。

为解决这些状况,工业自动化设计人员已经使用通过稳健的互连和通信协议硬接线到 PLC 的传感器模块进化演变出能够耐受恶劣环境的解决方案。在互连系统中,M12 已成为工业以太网、模拟接口和数字串联接口的首选互连解决方案。

M12 互连系统有各种组件和引脚配置可用,为维持各种电压和电流水平下外设设备的可靠连接提供了一种标准、稳固的解决方案。例如,Molex 1200700156 等 M12 电缆组件具有 IP67 防护等级以及每个触头 250 V 和 4 A 的额定电压和电流。

在通信协议中,IO-Link 同样出现在工业自动化和 IIoT 部署中。在信号电平处,IO-Link 提供能够同时支持旧版模拟传感器系统和最新数字传感器的标准连接协议。随着专用 IO-Link 设备的推出,开发人员只需将外设设备 MCU 连接到 Maxim Integrated MAX14827A 等专用的 IO-Link 收发器并在本地主机系统或 PLC 上增加一个诸如 Maxim Integrated MAX14819 的 IO-Link 主设备便可以执行 IO-Link 连接。开发人员使用标准的四触头 M12 互连组件(如先前提到的 Molex 1200700156)完成外设传感器与主机/PLC 之间的 IO-Link 连接。

分布式网关

使用稳固的 M12 互连和 IO-Link 通信可解决工业环境中数据和信号连接的基本要求。IIoT 不仅延续了传统自动化系统的要求,而且还使用通常更多数量的传感器设备对其进行了大幅扩展。反过来,外设传感器和 IO 通道的激增对工业环境带来了至少物流方面的巨大挑战。不仅现有的 PLC 存在 IO 过载威胁,而且电缆数量的剧增也会使设施电缆敷设大增。

为了解决与 IIoT 相关的日益增长的传感器负载,各组织都在寻求可以补偿传统 PLC 的更灵活的方法。在替代方案中,紧凑的 I/O 处理系统提供了现成的解决方案来应对与 IIoT 相关的 I/O 扩展。这些紧凑系统最简单的作用是用作微型 PLC,为处理超出设施现有 PLC 容量的传感器馈送激增提供快速解决方案。在工业环境中,组织可以将这些小系统分布到整个设施中,将它们放置在设备附近以减少电缆敷设或与旧版 PLC 串联以扩展 I/O 通道功能。

Maxim Integrated Pocket IO 系统等微型 PLC 最简单的作用是用作 I/O 通道扩展器,以提供大量的数字、模拟和 IO-Link 接口。Pocket IO 平台提供 30 个 I/O 通道,其中包括模拟 IO、数字 I/O、RS485 通道、编码器电机控制端口及四个 IO-Link 主通道的组合。平台的控制程序在平台三板组合中的主板上所安装的 Intel Edison 板上运行(图 3)。

Maxim

图 3: Maxim Integrated Pocket IO 组合了在其 Intel Edison 处理器上运行的软件所控制的各种 IO 通道,从而为 IIoT 网络提供插入式微型 PLC 解决方案或用作定制 IIoT 网关设计的 IIoT 网络。(图片来源:Maxim Integrated)

Pocket IO 平台利用其丰富的 IO 和程序特性,不仅提供直接替代型解决方案,还为定制要求提供参考设计。

Pocket IO 等平台不仅减轻了 PLC 增加的 IO 负担,还提供了一种更简单的替代方案来进行程序开发。传统的 PLC 使用一种专用编程语言,比如会使不同 PLC 平台之间的 PLC 程序迁移变得十分复杂的梯形逻辑。

由于 Pocket IO 等小型系统基于传统的处理器,开发人员可以使用 C/C++ 等标准语言和熟悉的开发环境对其微型 PLC 和其他边缘设备进行编程。例如,在 Pocket IO 参考设计中,开发人员可以使用 Arduino 草图及其集成式开发环境 (IDE) 快速实现功能以处理信号(列表 1)。

// Makes Pocket IO analog input API available

//

#include // no init() method

PioAi pioAi; // instances an analog input interface object

pioAi.init(); // always needed for analog input

// Loads a previously stored calibration for that channel,

// usually done once at setup

//

pioAi.restoreCal(AI0);

while (XXX)

{

// Reads one sample as a raw binary code

//

uint32_t code = pioAi.readCode(AI0, AI_RATE_1_9_SPS);

// The returned code is in offset binary, where 0V is

// 2^23, 12V is 2^23+2^23 = 2^24, and -12V is // 2^23 – 2^23 = 0

//

// In the case of current, the calibration is done is

// firmware, so the returned code is not relevant

// float toVolts = (float) (code – 8388608) * 12.0 / 8388608;

// Or you can do it easier this way, for reading current,

// this is the best way.

// float volts = pioAi.readFloat(AI0, AI_RATE_1_9_SPS);

}

列表 1: 与典型的 PLC 不同的是,Maxim Integrated Pocket IO 等小型网关系统执行用开发人员熟知的编程语言编写的代码,从而使开发人员能够快速写入诸如以上代码段的简单程序,以进行模拟输入处理。(代码来源:Maxim Integrated)

边缘设备灵活性

微型 PLC 和其他 IIoT 边缘设备起到的作用几乎不存在于 IoT 应用中。在 IoT 中,Wi-Fi 路由器(及专有中心)在很大程度上仅提供外设设备与互联网之间的本地连接。相比之下,IIoT 边缘设备还在为外设设备提供本地处理发挥关键作用。

凭借其本地处理能力,边缘设备使开发人员能够松开工厂车间传感器与较高级应用主机或基于云的资源之间的紧密耦合。通过在边缘设备上运行应用,开发人员可以消除往返于云的回路延时。这样一来,开发人员就可以实现更快的控制回路,降低关键设备及其操作人员旁用户界面上的报告延时。

将外设与云断开的能力若维持了关键业务的可用性,将提供更多优势。云服务供应商使用影子设备等功能维持应用的可用性。影子设备位于云中,是相应外设设备的模型,用于追踪其在正常操作期间的状态并在云连接失败时提供设备展示。

相反,Amazon Web Services (AWS) Greengrass 等服务允许边缘设备提供一些基于云的服务的本地版本,包括机器学习服务。因此,较高级的服务可以在本地继续运行,尽管云响应时间甚至是可用性发生变化。

在更基础的层面上,边缘设备还可以通过在没有互联网连接或连接欠佳的远程位置提供窄带蜂窝服务等多样化选项来提高可用性。要为 IIoT 连接提供有效的无线选项,蜂窝服务供应商将迅速采取行动部署 LTE Cat-M1 和 NB-IoT 之类的窄带蜂窝服务。

这些不同版本的 LTE 专门针对 IoT 应用设计,在使用与低功耗实施一致的更简单的协议时,提供充足的吞吐量。Pycom G01 和 NimbeLink NL-SW-LTE-SVZM20 等蜂窝收发器模块实施这些窄带 LTE 协议,以在 IIoT 网关等主机系统中提供完整的蜂窝子系统并使用标准串行接口进行简单的硬件集成。

在软件端,实施也同样简单。开发人员可以打开蜂窝会话,并使用 Pycom G01 的简单 MicroPython 命令传输数据。NimbeLink NL-SW-LTE-SVZM20 模块甚至会提供更简单的软件接口,其包括通过共享串行链接传输的几个 AT 命令。因此,工程师不费吹灰之力便可在硬件设计或软件开发中向边缘设备添加蜂窝连接。

总结

IoT 和 IIoT 目标相同,都是将传感器数据流转化成有用的信息。但是,对于开发人员来说,最大的区别在于基本要求,包括电源、连接性及设计可靠性和稳健性。

如上所述,通过解决针对 IoT 或 IIoT 应用的一些独特要求,开发人员仍然能找到各种各样的解决方案来满足针对任一领域之应用的特定要求。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分