有别于以往所经历过的一切,我们来到了联机与便利新时代的开端。物联网(IoT)有望实现随时随地了解及掌握居家和工作环境的愿景,它或许已然降临,就好比杰弗里·摩尔(Geoffrey Moore)所说的“鸿沟(Chasm)”,你是站在哪一侧?如今通过联网可以联机监控居家环境,确保家人安全无忧,使家中的能源获得最妥善的运用,查看宠物,而这一切皆能在家里或在路上就能搞定。其中的引爆点在于,有极少数创新的消费产品与服务,即使是最近的采用者都无法忽略。此后,物联网的到来就毋庸置疑了。
假如这种情况还没有发生,公司的管理团队不久后也会推出产品来参与物联网。各位要如何应对?好消息是,物联网的应用如今有很多现成的应用的协议栈架构,就等着各位和所属团队来发挥本身的创意专长。在本文中,我们将探讨家居互连的常见架构,以及有助于驾驭物联网的技术考虑。
大家都想要把握住家与家人的安全,而唯有在失火或失窃时,这方面的需求才会浮现在我们的脑海。有些新创公司和有线电视业者已针对家居互连推出了产品,以提供消防、安全和便利方面的服务。典型的家居互连系统架构包含了一些从简单到复杂的感测节点、有网关可供无线上网并且可能需提供本地化智能系统的无线网络,以及链接移动装置的云端服务。类似的家居互连架构如图1所示。
嵌入式系统设计人员在设计网关或感测节点时,必须考虑到有冲突的需求,举例来说像是处理速度、存储容量、法规考虑、功耗、系统延迟、联机选择、系统分隔、安全要求、互操作性、未来的迁移和系统成本。
图1:家居互连
系统网关可能是有线电视机顶盒,也可能是独立的系统。典型网关架构范例可参见图2。网关的微控制器(MCU)最有可能采用基于ARM的Cortex-M或Cortex-A型处理器搭配上链接选择,如以太网络、Wi-Fi、ZigBee和sub-GHz/ISM。在挑选最理想的微控制器时,所要考虑的包括通讯协议栈和网关服务的存储容量与处理要求、“实时”或脱机运作的系统延迟要求,以及联机。在挑选无线射频子系统时,所要考虑的则包括当地的法规(FCC、ETSI等)、要不要连结至更大的生态系统(此时就必须有标准),或是协议堆栈要求、链路预算(以转换为无线射频的范围)和系统成本,假如系统是自成一体的话(可采用专属协议栈)。无线接收器的能耗与系统架构息息相关,因为它会影响到感测节点的范围与电池的寿命。
迷你网关在把感测和环境数据传到云端时,只会通过以太网络或无线射频子系统,所以使用较小、较便宜的Cortex-M型处理器应足以应付,特别是将通讯的协议栈要求降到最低。迷你网关的优点在于,节点之间的情报与互操作性可以靠云端服务来管理,但缺点是可能要绕上一圈来等待云端服务处理并回复指挥与控制指令。另一个极端则是“智能型”网关,它提供本地指挥与智能控制,并具有最小延迟与全功能的优点 - 假如云端断线的话。不过,智能型网关的应用必须管理商业逻辑,在支持系统升级方面也必须经得起未来的考验。没有人希望今天所买的无线照明控制系统到明天就要换新的网关。
图2:家居互连网关架构范例
联机住家的基本节点可能是大门传感器、无线照明或烟雾侦测器,如图3所示。微控制器大部分使用低功耗的8位器件或32位的ARM Cortex-M型器件。在挑选最理想的微控制器时,所要考虑的存储容量与处理要求包括无线射频协议栈与传感器管理、能源消耗、小封装及成本。在挑选无线射频协议时,所要考虑的则包括功耗、链路预算和成本。无线连接的选择一般包含了专用的sub-GHz/ISM协议栈、ZigBee、蓝牙或Wi-Fi。在这些选择中,sub-GHz和ZigBee是居家自动化最常使用的协议,因为它们最具能源效率、长效的电池寿命(一般是三至五年),以及广大的范围以侦测室内各区的感测节点,以避免经常更换电池的麻烦。对许多无线感测节点的应用来说,蓝牙缺乏足够的范围,因为它不支持中继器。蓝牙对电源的要求也远高于ZigBee。Wi-Fi所需要的耗能大过ZigBee和sub-GHz,所以并不适合以电池供电的应用,因为电池无法轻易充电。
对于sub-GHz的星形节点或泛洪的(flooding-capable)无线射频协议栈以及像感测节点这种空间受限的应用,最省成本的解决方案或许是小封装、超低功耗的8位微控制器和无线射频接收器,或是将微控制器和接收器整合在一起的系统单芯片。对于ZigBee网状网络应用,最佳的选择是将微控制器和无线射频子系统整合在一起的系统单芯片,尤其是在印刷电路板这种对于空间锱铢必较的地方。在寻找微控制器和无线射频接收器时,供货商要能提供低功耗的8位和32位的ARM Cortex-M型微控制器以及无线系统单芯片,并满足无线射频协议栈的布建要求加以简化的开发工具。
图3:基本的感测节点架构
进阶的物联网终端节点可能是智能型空调系统、无线摄影机,或是洗机衣等白色家电设备,如图4所示。其系统主要的微控制器很可能是32位的ARM Cortex-M或Cortex-A型组件,搭配上一个或多个辅助的32位Cortex-M型或8位微控制器,以用来卸除主要的处理器,提供电容式触控感测等功能,或是靠整并传感器的功能来提高系统的能源效率。
在挑选主要的微控制器时,主要考虑因素包括无线射频协议栈、传感器和系统管理的存储容量与处理要求以及成本,对于以电池供电的解决方案,功耗会是个重点。在挑选辅助的微控制器时,所要考虑的包括功能的整合与能源效率。在寻找微控制器时,供货商要能提供最节能的8位和32位微控制器。在挑选最理想的无线射频联机解决方案时,所要考虑的包括带宽、功耗、链路预算和成本,最常见的选择则是ZigBee、蓝牙和Wi-Fi。Wi-Fi是像无线摄影机这种带宽密集应用最广泛使用的协议,ZigBee则适用于有多个节点且数据速率较低的空调系统应用。Wi-Fi或蓝牙可让智能型手机和平板计算机轻松联机,而终端用户一般都是以此来控制家居联机应用。
图4:先进的感测节点架构
物联网的开发人员在优化终端节点应用的能源效率时,必须考虑到这个问题:“休眠电流和工作电流,哪个对我的低功耗应用比较重要?”答案取决于运转时间的负载周期。有些节能ARM Cortex-M型微控制器在运转模式下的耗能可以低至110 µA/MHz,在断电侦测运转时的深度休眠则可低至900 nA,这表示中止和运转作业同样是占8 MHz作业负载周期的0.1%。根据微控制器厂商的数据表来比较低功耗应用的效能会是个挑战。在寻找微控制器时,供货商要能提供功耗估算与分析工具,并使中止和运转电流达到一流的效能。
在为物联网应用选择微控制器的位大小时,还有一个常被问到的问题是:“在终端节点的应用上,我什么时候应该考虑使用8位的微控制器,而不需使用32位的解决方案?为什么不改用以ARM Cortex-M架构为基础的主流32位微控制器,以支持更大的存储要求、固有的32位演算和高阶的周边?”
对许多性能集中的物联网应用来说,选择32位当然是正确答案,尤其是在可移植性及平台将来要重复使用是需要关键考虑时。不过,如果终端节点应用的目标是要达到绝对的最小尺寸、使无线射频协议栈运作轻巧,或是卸除主要微控制器的运算功能,则精简和高度优化的8位解决方案往往才是正确答案。8位架构有个常遭误解的地方是,它的程序代码密度偏低。其实只有在尝试16或32位的运算时,情况才是如此。像那些在卸除主要处理器时所涉及的控制应用并没有密度偏低的问题。事实上,由于8位微控制器的冗余码少之又少,因此控制型功能的整体程序代码密度比32位微控制器所具备的同等功能还高。
另一个常遭误解的地方是,32位微控制器的定价就与8位差不多。当微控制器的供货商不再投资8位系列,或者在8位的市场上不再具有竞争力时,开发人员就会听到他们这么说。实际上,32位架构和周边装置的门数(gate count)远多于8位架构,而且在同样的几何程序中,所占用的硅空间也比8位的解决方案要大。采用的几何程序较小会降低数字比重(大约是典型微控制器的一半),并增加系统成本。在考虑综合性的物联网解决方案供货商时,所找的微控制器业者对于8位和32位微控制器系列都要有积极的投资,这样你就能找到最具弹性的微控制器选择、最佳的技术解决方案,以及最好的价位。
物联网的理想是要迈向一个超链接的世界,以大幅增进终端用户对环境的了解与掌握,而且不管他们在哪都一样──家里、职场或路上。在推动物联网的革命,最成功的将会是精心设计且创新的物联网联机装置、APP程序与云端服务。在追寻物联网的未来时,不管微控制器的位数为何,主角将会是能以最佳方式把能源效率、效能、成本效益与巧妙功能融为一体的物联网终端节点与网关。你准备好了吗?