您需要先了解物联网是什么,然后才能开始设计附加设备的过程。
物联网炒作机器已经全面展开了几年,这是可以理解的——一个拥有数十亿智能联网设备的世界所呈现的潜力很难完全理解。传感器制造的改进,包括新材料、纳米技术和微机电系统 (MEMS),呈现出前所未有的新传感和监测能力。使用 14 纳米晶体管(节点)在半导体制造方面的进步正在允许生产更小、更快的处理器和组件,这些处理器和组件的能耗要低得多,而且价格也更便宜。
目前尚未回答的一个问题是,对未来几年部署的数十亿物联网设备的广泛预测是否实用、负担得起,并且对于设备制造商而言是否有利可图。让我们看看您在构建物联网设备时可能面临的一些要求和设计决策。
云计算彻底颠覆了我们看待数据处理和使用的方式。可扩展、可扩展的 IT 架构的可用性促使人们假设网络可以(并且应该)100% 可靠,并且网络故障是可接受和可管理的。
电子行业预计在未来五到十年内将部署数十亿台低成本的互联网设备。但是这些低成本设备的设计和生产成本必须在一个合理的商业案例范围内。毕竟,我们生活在一个资本主义世界。如果我们的产品不盈利,我们就不应该生产它们!
关于物联网有很多错误的想法。有些人认为通过网络发送数据的传感器构成物联网。这是物联网的一部分——很小的一部分,但不是全部。其他人可能会认为,仅仅因为智能手机用于远程控制设备或查看数据就构成了物联网,事实并非如此。智能手机只是物联网系统的一个组成部分,甚至不是强制性的。
让我们看看最小的物联网设备的设计,一个传感器,它监控一个物理变量,例如温度或压力。这个小型传感设备需要什么设备和软件?它需要一个测量类比变量的电子元件。它需要一个数模转换器,或者内置在传感器本身中,或者通过一个单独的芯片(这是一个通常集成到微处理器中的功能)。
设备可能需要在传输传感器数据之前对其进行预处理。这种设备中的处理器可以非常简单,通常是 8 位或 16 位处理器。在此处理器上运行的软件通常会使用裸机方法编写。它将是一个单线程应用程序,一个超级循环。
性能要求通常很低,以至于这种设备可以使用纽扣电池运行数年。而且该设备的成本相当低,通常每台不到一美元。
这正是我们一直在寻找的——一种低成本、低功耗的设备,我们可以制造数十亿美元,这样我们就可以覆盖整个地球!游戏结束!事实上,这场比赛还远没有结束。这正是事情开始变得有趣的地方。首先,处理器的成本与它所包含的内置闪存和 RAM 的数量密切相关。内存越多,芯片就越大,即使是 14 nm 制造的芯片也是如此。但物联网设备的设计要求越来越多地导致代码量更大,因此需要具有更多 RAM 的芯片。
第二个问题是时间和成本。新功能使物联网设备更复杂,更复杂需要更多的开发时间。即使开源软件的流行使管理者(错误地)相信软件是免费的,软件工程师的时间肯定不是。
电源管理注意事项
电池供电的设备通常使用某种电源管理软件。这并不总是一件容易实现的事情。一些微控制器用户手册有 400 多页描述了芯片的所有不同电源模式。要利用所有这些模式,您的应用程序开发必须更加智能,并且设备测试变得更加复杂,从而增加了开发项目的成本。
现在传感器设备中的数据可用,我们需要传输它。这就是传感器网络 (SN) 和无线传感器网络 (WSN) 发挥作用的地方。例如,使用 ZigBee 和 6LowPAN,设备(节点)运行这些协议栈所需的代码量约为 100 KB 到 120 KB,具体取决于节点是终端设备还是协调器/路由器。协议栈需要额外的 6 KB 到 8 KB RAM,具体取决于所使用的缓冲区策略。
当今的某些 8 位/16 位处理器可以满足此代码和 RAM 空间要求。由于对闪存和 RAM 的需求较高,因此此类处理器的成本较高。数据吞吐量和频率传输总是假设的,并且在 WSN 上通常很低。
请记住,物联网中的 I 代表互联网。这意味着,在系统中的某个点,涉及到 Internet 协议;可能不是公共 Internet(网络),但肯定是私有 IP 网络(Intranet)。
传感器网络代码的目的是通过本地网络移动传感器数据。要将数据传输到私有 IP 网络(或 Internet),我们需要一个额外的设备——边缘节点或网关。该设备将传感器网络桥接到 IP 网络。它需要用于 TCP/IP 和协议栈的以太网控制器和以太网连接器,或具有适当协议栈的 Wi-Fi 无线电。
完全符合 IETF RFC 的 TCP/IP 堆栈需要大约 100 KB 的代码空间。单个以太网缓冲区需要 1.5 KB。如果性能不是问题,您的设备只需几千字节的传输/接收缓冲区即可。如果需要更好的性能,则至少需要 30 KB 到 60 KB。这不包括协议栈内部数据结构的内存。
支持 IP 的设备相对较高的内存需求要求增加硬件要求。有两种方法可以处理这些要求:
使用外部模块处理以太网/Wi-Fi 通信
在您的设备中使用更强大(也更昂贵)的 32 位处理器
任一种选择都会对设备的功耗和制造成本产生影响。
使用两个处理器进行设计是一个很好的解决方案,尤其是当您可以将一个或两个处理器置于深度睡眠模式以节省电力时。但通信处理器必须是 32 位芯片。
考虑到 TCP/IP 堆栈所需的内存在代码大小上可能介于 50 KB 和 100 KB 之间,而 Wi-Fi 堆栈是 TCP/IP 堆栈加上 Wi-Fi 网络管理、身份验证和加密的总和代码,它与 TCP/IP 堆栈一样大。这使得 Wi-Fi 堆栈的大小是 TCP/IP 堆栈的两倍。因此,如果需要良好的性能,您将需要一个快速的处理器和相当数量的 RAM。
可以以单线程和轮询方式运行复杂的协议栈(例如 TCP/IP),但这对 CPU 的效率不是很高。如果除了运行协议栈之外,通信处理器还有更多任务,那么实时内核是比单线程超级循环更好的选择。这样,用于通信处理器的软件可以具有可扩展性、模块化和可靠性,同时可以更轻松地进行团队开发、产品支持和维护。
IPv4/IPv6 协议
我们已经知道,IPv4 无法提供足够数量的公共 IP 地址来维持未来几年的互联网增长和预测的物联网设备数量。IoT 设备必须开始使用 IPv6。尽管最早的物联网系统正在使用并且可以继续使用 IPv4,但为了持续增长,IPv6 是强制性的。
Google 正在保持有关 Internet 中 IPv6 使用情况的最新统计数据。这意味着物联网设备在可预见的未来需要同时运行 IPv4 和 IPv6。双协议栈增加了硬件设计的代码大小和 RAM 要求。测试两种协议会增加设备设计和测试阶段的时间,最终导致更高的成本。
物联网设备触及我们在工业和家庭中的生活。但物联网没有得到足够重视的一个方面是安全性,无论是对您的设备还是对您客户的数据而言。关于物联网中对安全性和保密性的需求已经写了很多,但提出的解决方案相对较少。
数据加密
第一层保护是数据加密,这在数据传输到远程服务器或移动设备时至关重要。数据加密是一个众所周知的过程。每次我们使用安全连接进行网上银行或购物时都会这样做。相同的技术可以应用于物联网设备。
加密发生在 TCP/IP 堆栈中的 SSL/TLS(安全套接层/传输层安全)层中。加密算法是复杂的数学方程,可以获取数据并对其进行加密。SSL/TLS 层的代码大小可以在 30 KB 到 50 KB 左右,所需的 RAM 大小甚至更大。安全性适用于每个套接字。在 PC、笔记本电脑、智能手机和平板电脑上,每个插槽通常使用多达 100 KB 的 RAM。在精心设计的嵌入式 SSL/TLS 堆栈上,每个套接字可以减少到大约 45 KB。另一种减少每个 IP 套接字 RAM 要求的方法是在设备和云服务器上使用专有密码协议,假设客户端(设备)和服务器之间的客户协议协商已经到位。
您可以通过使用芯片内置的硬连线加密外围设备来减少 SSL/TLS 的一些代码开销。加密的执行效率更高,但额外的成本从软件转移到了硬件,并且需要一些定制软件工作以使 SSL/TLS 堆栈适应硬件外围设备。
您如何确保物联网设备本身不是您网络上的脆弱点?入侵物联网设备的技术可以包括:
获得未经授权的访问
对设备进行逆向工程,以复制、窃取或破坏商业优势
通过注入代码来破坏设备的完整性。此类代码本身可能不是恶意的,但它可能会非法增强程序的功能,或以其他方式颠覆程序,使其执行所有者或用户不会批准的新的和未公开的功能
防篡改技术不仅仅是防止盗版;在物联网中,对于策略执行(即确保设备始终执行其应做的事情)更为重要。有很多防篡改保护机制,包括加密包装、代码混淆、保护和水印/指纹。此外,还有许多硬件技术。
当多种保护技术结合使用时,软件得到最好的保护。这就是可信执行环境 (TEE) 等防篡改方法发挥作用的地方。并且一些厂商提供了自己的专有技术,例如 Intel 的 TXT(可信执行技术)、AMD 的 SVM(安全虚拟机)和 ARM 的 TrustZone。
其他芯片供应商提供基于管理程序的 TEE,或使用 ISO 标准,例如可信平台模块 (TPM),这些标准被设计为具有预定义功能集的固定功能设备。不幸的是,所有这些功能都需要更多的晶体管和更多的软件,从而导致更大的芯片和更高的软件开发成本。
安全启动
安全启动是设备验证和加载受信任软件的能力。它是防篡改功能的重要组成部分。通过安全启动,设备的固件被加密。在启动时,固件被解密、加载到闪存或 RAM 中并执行。如果固件解密或加载步骤失败,系统将回滚到已知安全的以前版本的固件。当然,要同时存储加密和解密的固件,系统需要更多的非易失性存储器以及用于解密步骤和引导加载程序的附加软件和 RAM。
远程固件升级是安全启动功能的扩展。此功能通常称为 FOTA(Firmware Over The Air)。当有新版本的固件可用时,设备必须要么接收来自服务器的推送通知,要么轮询服务器本身以获取固件更新。一旦设备知道有新的固件更新可用,它必须下载、存储并执行与上述步骤类似的步骤以实现安全启动。
除了存储新固件所需的额外非易失性存储器外,设备还必须实现必要的通信堆栈和物理层以连接到网络和后端服务。甚至需要更多的软件来管理安全的固件升级过程。
安全关键认证
许多行业已经对产品实施了某种程度的安全关键认证。执行认证以满足某些国际标准,例如工业控制软件的 IEC 61508 和医疗设备软件的 IEC 62304。
为安全关键行业构建产品意味着创建一个严格的开发流程,在该流程中可以测量、记录和跟踪每个可交付成果。软件/固件可能不会更大,但开发成本肯定会更高。
包括消费产品在内的所有行业现在都在关注由宇宙辐射引起的内存故障。这种由杂散辐射粒子引起的损伤称为单粒子扰动。这种现象是飞机、卫星和航天器的一个问题,因为高空飞行器更容易受到宇宙射线的影响。这些产品中使用的硅 IC 需要进行抗辐射处理,以防止单事件扰动。
这种现象也可能发生在地面上,但由于地球表面附近的大气层较厚,发生这种事件的概率相当低。随着预计将在未来十年内部署的物联网设备的突然涌现,这种情况即将改变。有数十亿个有源设备,单个事件扰乱的可能性增加。
为了防止这个问题,行业开始实施IEC 60730,这是家用电器电子控制的安全标准。遵循此标准的设备必须能够检测内存故障,并安全地停止设备,或以其他方式纠正问题。同样,为这个问题投入更多的晶体管和更多的软件会增加产品开发的成本。
设备生命周期管理
生命周期管理是另一个可以增加开发过程复杂性的功能。您的设备需要配合产品制造商或系统用户制定的任何设备生命周期要求。需要明确的是,设备生命周期管理包括:
注册设备(授权其在系统中的操作)
配置设备(设置操作参数和产品选项)
自动报告问题和故障
更新设备的固件以解决错误或提供功能增强
为计费目的提供数据(和其他使用统计)
没有现有的设备生命周期管理标准。存在多种解决方案,但它们都是专有的。不用说,我们不是在谈论轻量级软件。即使它会降低运营成本,实施生命周期管理也会增加任何系统设计的开发和维护成本。
在某些行业,例如消费市场,标准仍在努力出现。相反,这些行业正遭受标准碎片化的困扰。消费市场正在提出多种标准。例如,Apple 正在提议其专有的 HomeKit;谷歌在收购 NEST 后,正在开发一种叫做 Thread 的东西。英特尔成立了开放互连联盟(OIC);高通将其 AllJoyn 计划剥离为 AllSeen。
如果您是消费品制造商,您可能必须决定您的业务和产品要与哪个专有标准保持一致。在某些情况下,您可能需要使用多个标准。例如,必须能够连接到来自多个供应商的设备的网关可能需要支持任何或所有这些标准。
如您所见,物联网并不是一种万能的技术。它更像是一盒乐高积木,其中的积木代表本地和无线网络、传感器、能量收集、电池、微控制器、互联网协议、网络技术、数据库、分析、3G/4G 智能手机、平板电脑等。这些部件可以以各种方式使用。
为了满足对未来十年部署的数十亿物联网设备的预测,每台设备的成本必须在一个能够产生有利可图的商业案例的范围内。否则,它永远不会发生。然而与此同时,消费者要求更坚固、更安全和更灵活的设备。这些额外的要求不能是事后的想法。物联网是真实的,但这些苛刻的限制可能会减缓其采用和实施。数十亿台设备将会出现,但可能需要十年以上的时间。
审核编辑:郭婷
-
传感器
+关注
关注
2577文章
55515浏览量
793967 -
物联网
+关注
关注
2950文章
48131浏览量
418529
发布评论请先 登录
聊一聊国产射频无源器件的崛起 —— 成都恒利泰十年深耕,适配多场景需求
揭秘芯片测试:如何验证数十亿个晶体管
数十年坚“芯“路,未来都是星辰大海——专访中电辰星创始人唐栋梁先生
云天励飞出席GAIR 2025 AI算力新十年专场
技术为基,定义未来:广东固特科技如何引领超声切割行业十年?
深耕蓝牙物联网十年:北京桂花网 2015-2025 发展大事件全景
十年·NDI在中国|影像志:见证视频IP化的成长与未来
NDI 十年:诞生 · 愿景 · 发展 · 未来— 独家专访 NDI 创始人 Andrew Cross博士
TMC2300步进驱动IC深度解析:从静音到节能,超小尺寸赋能物联网
十年积淀,DPVR AI眼镜将正式亮相
如何选择合适的物联网蓝牙模块?
物联网的应用范围有哪些?
物联网未来发展趋势如何?
十年磨一剑,百频通万物:国产无线通信突围之路
未来十年数十亿的物联网设备可能是白日梦
评论