转载路径
物联网(物联网)和工业物联网(IIoT)共享将传感器数据流转换为有用信息的共同目标。然而,对于开发人员来说,重要的区别在于基本需求,包括电源、连接性、设计可靠性和健壮性。
对于物联网来说,小尺寸、电池操作和无线连接的需求决定了低功耗MCUs与集成无线电子系统的蓝牙或Wi-Fi通信。相比之下,恶劣的操作条件、大量的本地传感器和遗留系统的结合,驱动了对健壮的互连的需求,以及能够卸载常规PLCs的边缘设备。
本文将针对IIoT应用程序的独特需求集(相对于消费者物联网)进行工作。它将表明,尽管有额外的需求,开发人员仍然可以找到一个广泛的解决方案,能够满足针对任何领域的应用程序的特定需求。
消费者与工业物联网的区别
IoT和IIoT的应用程序在寻求从传感器获取的数据流中获取有用信息方面有着类似的目标。两者都依赖于一种多层方法,即外围设备直接或通过某种中间资源与高级应用程序通信。然而,除了这些相似点之外,它们各自需求的本质在外围设备设计和连接方面造成了巨大的差异。
例如,IoT传感器设计的个人健康和健身往往与IIoT外围的传感器和执行器不太相似,需要精确监控和可靠地控制恶劣环境中的工业设备。类似地,对于物联网和IIoT网络的连通性可以提供根本不同的需求。
连接性常常是IoT和IIoT系统实现之间的一个显著特征。正如下面所讨论的,IIoT传统上依赖于可编程逻辑控制器(PLCs)和其他主机的硬连接连接,而这种方法的基本原理在今天仍然有效。与之形成鲜明对比的是,个人和家庭使用的IoT应用通常围绕着用户智能手机或其他移动设备上运行的应用程序,通过蓝牙或Wi-Fi局域网连接到物联网设备或可穿戴设备。
物联网设备设计为家庭或办公应用设计,经常面临着对功率和大小的严重限制。对于这些应用,消费者期望大多数物联网设备和所有可穿戴设备在充电之间的一段时间内使用电池供电。IoT的设计初衷是为了在家里或办公室中使用或突出显示的产品,往往面临额外的产品工程要求,以方便使用、水和灰尘的阻力、最小的设计足迹,以及其他与主流消费产品相关的特性。与此同时,设计成本和简单性对于那些希望更快地交付竞争产品的组织来说是至关重要的。
低功率无线MCUs的出现提供了解决这些经常冲突的需求的解决方案。通过集成一个带有处理器核心的无线电子系统,无线MCUs提供了一种更简单的方法,不仅减少了部分计数,而且消除了与射频集成相关的设计挑战,加速了整体开发。
无线MCUs,如对话半导体的DA1458x系列设备集成了处理器核心,蓝牙无线电子系统,大量的芯片内存,以及一系列的模拟和数字周边设备。建立在一个低功耗的32位ARM®皮层®m0处理器核心,减少功耗的单片机设计电池产品。MCUs的集成蓝牙低能量核心和射频无线电子系统仅使用3.4毫安(mA)用于传输(Tx)和3.7 mA接收(Rx),整体MCU的典型功耗分别为4.88 mA和5.28 mA。
内存扩展
对话框提供了DA1458x MCUs在许多针对特定操作需求优化的变体。例如,DA14581对无线充电应用程序进行了优化,而DA14585和DA14586是用于可穿戴设备和智能家居应用程序,需要小尺寸、低功耗和大量内存。
对话式半导体DA14585包含96 Kbytes的SRAM工作存储器;用于引导代码和蓝牙栈的ROM的128 Kbytes;以及64个字节的一次性可编程(OTP)内存用于应用程序代码、蓝牙配置文件和配置数据。DA14586提供了与DA14585相同的功能,但是添加了一个2 Mbit的闪存内存块,在正常操作期间,总功耗几乎没有变化。
如果一个设计需要更大的程序内存,开发人员可以很容易地添加一个外部闪存设备如华邦电子W25X20 2 Mbit flash或W25X40 4 Mbit flash使用单片机的SPI或I2C接口(图1)。2 x 3毫米小提纲中提供无铅(塞缪尔)包,要么闪存设备的结果只有少量增加设计的足迹。另一方面,与使用MCUs的OTP或DA14586的内部闪存相比,使用外部闪存会导致更高的功耗。增加的功率使用结果是来自外部闪存的更长的SRAM加载时间,更高的外部flash编程当前水平,以及外部闪存的更高的当前水平,甚至是断电模式。
对话半导体DA14585。
图1:对于需要更多内存的物联网设计,如Dialog半导体DA14585,开发人员可以简单地通过SPI或I2C接口连接外部闪存设备。(图片来源:凯利讯半导体)
传感器数据
对于传感器数据采集,工程师可以利用无线MCUs中集成的模拟-数字转换器(adc),如对话框蓝牙MCUs。在某些情况下,工程师可以直接将传感器传感器输出到MCU的ADC端口,可能通过一个简单的操作放大器进行缓冲。
然而,对于大多数物联网应用来说,对于传感器加载、线性度、温度补偿、信号摆动、噪声和其他考虑的关注需要更多的模拟信号链。即使使用了可用的模拟前端(AFE)设备,独立的传感器设计也会增加复杂性,并且常常延迟项目的完成。然而,通过利用越来越多的智能传感器,开发人员可以快速创建一个由单个无线单片机和智能传感器组成的相对较少的组件的物联网设计。
智能传感器将合适的传感器与全传感器信号链结合在一起。针对特定的传感器类型进行了优化,这些信号链结合了模拟前端,包括功率放大器、滤波器和多路复用器,将条件信号传递给集成的ADC。这些智能传感器经常集成一个数字信号处理引擎,可以独立于主机MCU进行广泛的传感器信号处理操作。例如,TDK InvenSense ICM-20789集成测量单元(IMU)集成了一个设计为独立于主机处理器的动作处理算法的数字运动处理器。该设备处理数据生成的所有方面——从传感器获取数据,处理数据,并将其保存在FIFO中,以便由主机MCU稍后访问。
与所有智能传感器一样,ICM-20789的高度集成和标准I2C和SPI端口保证了快速的设计实现。开发人员只需要添加一些额外的组件,包括一个电压调整器,如德州仪器TLV702系列low-drop out (LDO)调节阀(图2)。当数据采集完成时,智能传感器就能将睡眠的单片机弄出来处理数据。
TDK InvenSense ICM-20789 IMU图。
图2:由于智能传感器的高度集成,例如TDK InvenSense ICM-20789 IMU,开发者可以实现一个只有几个组件的完整的无线传感器设备。(图片来源:凯利讯半导体)
高效的MCU低功耗模式和独立的智能传感器操作相结合,为开发者提供了一个强大的高效的物联网设备设计平台。
严酷的环境下
与IoT应用程序一样,IIoT使用多个数据流来提供有用的信息。然而,随着IIoT的发展,构建传感器网络的开发人员可能会发现自己在处理复杂的操作条件、传感器放置和维护的限制以及遗留传感器设备和主机系统。
与大多数物联网应用不同的是,电池供电设备在工业环境中往往是行不通的。忙碌的运营商没有时间更换电池。即使是在尘土飞扬、嘈杂的环境中处理这些微小的设备,也会有问题。与任何针对这种环境的电子设备一样,开发人员需要创建强大的机械和电气设计,以应对灰尘、液体、物理压力、电子干扰等问题。
为了解决这些问题,工业自动化设计人员已经开发出了解决方案,使用传感器模块,通过健壮的互连和通信协议,通过坚固的互连和通信协议来抵御恶劣的环境。在互连系统中,M12已成为工业以太网、模拟接口和数字串行接口的首选互连解决方案。
M12互连系统提供了一种标准的鲁棒解决方案,用于在广泛的电压和电流水平上与外围设备保持可靠的连接。例如,M12电缆组件,如Molex 1200700156,其特性是IP67保护,外加电压和当前的250 V和4 A的额定电流。
在通信协议中,IO-Link同样出现在工业自动化和IIoT部署中。在信号级,IO-Link提供了一个标准的连接协议,能够支持传统的模拟传感器系统和当前的数字传感器。随着专用的IO-Link设备的可用性,开发人员只需将外围设备MCU连接到一个专用的IO-Link收发器(如Maxim集成的MAX14827A),就可以实现io链接连接,并添加一个IO-Link主机,如Maxim集成MAX14819到本地主机系统或PLC。开发人员使用标准的四接触式M12互连组件(如前面提到的Molex 1200700156)完成了外围传感器与主机/PLC之间的IO-Link连接。
分布式网关
使用健壮的M12互连和IO-Link通信解决了工业环境中数据和信号连接的基本要求。IIoT不仅继承了常规自动化系统的需求,而且还显著地扩展了它们,而且通常有更大数量的传感器设备。反过来,外围传感器和IO通道的爆炸至少在工业环境中造成了巨大的后勤挑战。不仅现有的PLCs受到IO过载的威胁,而且电缆数量的急剧增加也会淹没设备电缆的运行。
为了解决与IIoT相关的日益增加的传感器负载,组织正在寻找更灵活的方法来补充传统的PLCs。在替代方案中,紧凑的I/O处理系统为处理与IIoT相关的I/O扩展提供了一个现成的解决方案。在他们最简单的角色中,这些紧凑的系统充当了微型的PLCs,提供了一个快速的解决方案来处理传感器的突然增长,超出了设备现有的PLCs的容量。在工业环境中,组织可以将这些小型系统分散到设备上,使其接近设备,以减少电缆的运行,或者与遗留的PLCs串联,以扩展I/O通道功能。
在最简单的I/O通道扩展器中,像Maxim集成的Pocket IO系统这样的微型PLCs提供了大量的数字、模拟和IO链接接口。Pocket IO平台提供30个I/O通道,包括模拟IO、数字I/O、RS485通道、编码器电机控制端口和四个IO- link主频道。该平台的控制程序运行在一个英特尔的爱迪生板上,安装在平台的三板组的主板上(图3)。
马克西姆综合口袋IO图。
图3:Maxim集成的Pocket IO结合了在Intel Edison处理器上运行的软件控制的各种IO通道,为IIoT网络提供了一个降的微PLC解决方案,或者作为定制的IIoT网关设计的基础。(图片来源:凯利讯半导体)
Pocket IO平台拥有丰富的IO和程序功能,不仅提供了即时的drop-in解决方案,还提供了定制需求的参考设计。
Pocket IO等平台不仅减轻了PLCs的IO负担,而且为程序开发提供了一个更简单的替代方案。传统的PLCs使用一种特殊的编程语言,如梯形逻辑,可以使PLC程序在不同的PLC平台之间的迁移变得复杂。
由于Pocket IO等小型系统是基于传统的处理器,开发人员可以使用标准语言(如C/ c++和熟悉的开发环境)编程他们的微处理器和其他边缘设备。例如,在Pocket IO参考设计中,开发人员可以使用Arduino草图及其集成开发环境(IDE)来快速实现处理信号的功能(清单1)。
//使Pocket IO模拟输入API可用。
/ /
#include // no init()方法。
PioAi PioAi;//实例模拟输入接口对象。
pioAi.init();//模拟输入总是需要的。
//为该通道加载先前存储的校准,
//通常在安装后做一次。
/ /
pioAi.restoreCal(AI0);
而(XXX)
{
//读取一个示例作为原始二进制代码。
/ /
= pioAi uint32_t代码。readCode(AI0 AI_RATE_1_9_SPS);
//返回的代码在偏移的二进制中,其中0V是。
12 v / / 2 ^ 23日是2 + 2 ^ ^ 23日23 = 2 ^ 24日和-12 v / / 2 ^ 23 - 2 ^ 23 = 0
/ /
//在电流的情况下,校准是完成的。
//固件,所以返回的代码不相关。
// float tov = (float)(代码- 8388608)* 12.0 / 8388608;
//或者你可以这样做更容易,因为阅读电流,
//这是最好的办法。
//浮动电压= pioAi。readFloat(AI0 AI_RATE_1_9_SPS);
}
清单1:与典型的PLCs不同,小型网关系统,例如Maxim集成的Pocket IO,执行代码编写在熟悉的编程语言中,使开发人员能够快速编写简单的程序,例如这段代码,用于模拟输入处理。(代码来源:箴言集成)
边缘的灵活性
微型PLCs和其他IIoT edge设备在物联网应用中很少存在。在物联网中,Wi-Fi路由器(和专有集线器)主要是为了提供周边设备和互联网之间的本地连接。相比之下,IIoT edge设备在为外围设备提供本地处理方面也起到了关键作用。
通过它们的本地处理功能,edge设备使开发人员能够放松工厂层上传感器与高级应用程序主机或基于云的资源之间的紧密耦合。通过在边缘运行应用程序,开发人员可以消除往返于云的往返延迟。因此,开发人员可以实现更快的控制循环,并减少在关键设备及其操作人员附近的用户界面上的报告延迟。
在维护关键操作的可用性方面,将外围和云分离的能力提供了额外的优势。云服务提供商使用诸如影子设备之类的功能来维护应用程序的可用性。影子设备位于云端,是相应的外围设备的模型,在正常操作时跟踪它们的状态,如果云连接失败,则提供设备的表示。
相反,像Amazon Web services (AWS) Greengrass这样的服务,允许edge设备提供一些基于云服务的本地版本,包括机器学习服务。因此,尽管云响应时间或可用性发生了变化,高级服务仍然可以在本地继续运行。
在一个更基本的层面上,edge设备还可以通过提供多样性选项(比如在偏远地区的窄带蜂窝服务),或在没有互联网连接的情况下提供多样性选项,从而提高可用性。为了为IIoT的连接提供有效的无线选项,移动通信服务提供商正在迅速地部署窄频带蜂窝服务,如LTE Cat-M1和NB-IoT。
这些LTE变体专门为IoT应用程序设计,提供了足够的吞吐量,同时使用与低功率实现一致的更简单的协议。像Pycom G01和NimbeLink nl - swl - svzm20这样的细胞收发模块实现了这些窄频带LTE协议,提供了完整的细胞子系统,并使用标准的串行接口来实现主机系统(如IIoT网关)的简单硬件集成。
在软件方面,实现同样简单。开发人员可以使用Pycom G01的简单微python命令来打开细胞会话和传输数据。NimbeLink NL-SW-LTE-SVZM20模块提供了一个更简单的软件界面,其中包含了一些通过共享串行链路传递的命令。因此,工程师可以在硬件设计或软件开发中增加对边缘设备的移动连接。
结论
IoT和IIoT共享将传感器数据流转换为有用信息的共同目标。然而,对于开发人员来说,重要的区别在于基本需求,包括电源、连接性、设计可靠性和健壮性。
正如所显示的,通过对IoT或IIoT应用程序的独特需求集进行工作,开发人员可以找到各种解决方案,以满足针对任何领域的应用程序的特定需求。