为什么谷歌认为物联网需要实时操作系统?

今日头条

1151人已加入

描述

嵌入式实时操作系统 (RTOS) 市场在经历了多年在整个高科技领域的默默无闻之后,突然变得非常流行。近几个月来,多年来一直在悄悄帮助嵌入式系统开发人员为其产品添加多任务功能的 RTOS 供应商发现,他们的竞争对手现在可能包括 ARM 甚至谷歌等科技巨头。根据这些公司自己的说法,他们向 RTOS 领域扩张的动机可以用现在无处不在的三个字母缩写词来概括:物联网。    

最初,物联网和 RTOS 之间的关联可能并不完全明显。我们都听说物联网将推动大量嵌入式系统的开发,但这些系统对 RTOS 的依赖似乎并没有引起媒体的太多关注。显然,ARM、谷歌和许多其他潜在的嵌入式操作系统提供商的假设是大多数物联网产品将基于 RTOS。    

越来越复杂的设备

许多可能导致在物联网中广泛采用 RTOS 的因素也存在于传统的嵌入式系统中,但由于对最新支持互联网的产品的需求而被放大。复杂性是这种因素的一个典型例子。在高层次上,RTOS 可以被视为管理复杂性的一种手段,并且相对容易想象现有的嵌入式系统随着它演变为物联网设备而变得更加复杂。

尽管进行概括总是存在危险,但根据定义,所有物联网产品都有某些特征。首先,物联网上的设备必须是“事物”,这是嵌入式系统的一个可笑的通用术语。就像物联网出现之前存在的无数嵌入式系统一样,每个“事物”都与外部世界保持某种类型的交互。因此,如图 1 所示,“事物”必须使用传感器、执行器或两者兼而有之。

RTOS

图 1:物联网设备可能有许多非常不同的组件。

仅这一要求就可以激励开发人员寻求多任务内核的帮助,传统嵌入式系统中 RTOS 的高采用率就是证明。然而,物联网设备的复杂性超出了传感器和执行器所需的复杂性,因为这样的设备当然必须直接或间接连接到互联网。设备必须有某种机制来发送和接收数据包。

通信所需的软件在不同类别的设备之间可能会有很大差异。在某些情况下,完整的协议栈是必要的,而在其他情况下,网关和专用网络硬件的存在使得只能使用串行驱动程序。然而,在所有设备中,通信需求增加了一定程度的复杂性,因此为使用 RTOS 创造了额外的动力。

电源问题

另一个可能推动 RTOS 在 IoT 中采用的因素是对有效电源管理的广泛需求。许多互联网预言家的假设似乎是物联网上的很大一部分设备将由电池供电,并且有望在没有任何用户干预的情况下长时间运行。在这里,RTOS 可以再次证明是非常有益的。

从理论上讲,最新的 MCU 很容易实现电源的有效利用,其中许多提供了多种不同的低功耗和睡眠模式。然而,在实践中,很快就会出现问题,即在负责管理大量不同外围设备的应用软件中,应该在何处进入和退出睡眠模式。RTOS 可以通过提供挂钩来为系统的调度基础设施配备启动低功耗操作的代码,从而简化此类决策。此外,最注重功耗的 RTOS 具有动态滴答率等功能,可最大限度地减少提供一组强大的多任务服务所需的 CPU 资源。

与时间赛跑 

虽然设计合理的 RTOS 可以帮助多任务系统实现卓越的电源效率,但不能说所有低功耗系统都依赖于 RTOS。同样,上述复杂性并不要求使用 RTOS。换句话说,几乎任何应用程序,即使是涉及复杂通信协议和严格功耗限制的应用程序,都可以在没有 RTOS 多任务处理能力的情况下编写。

在这种情况下,可能促进物联网设备采用 RTOS 的最重要因素似乎是上市时间问题。在嵌入式系统中,在简单地能够做某事和能够快速、高效且以可重复的方式做某事之间存在着巨大的差异——随着物联网的到来变得更加明显。RTOS 最终为物联网和其他领域的开发人员提供的是增强、加速项目开发的基础。

有许多机制,不仅限于软件本身,RTOS 以及 RTOS 的供应商可以通过这些机制影响嵌入式设备的开发,而这种产品组合确实是一家供应商与另一家供应商的区别所在。虽然每个 RTOS 都有其独特的功能,但识别一组常见的 RTOS 服务相对容易。对于一部分嵌入式开发人员,尤其是创客和爱好者社区中的许多人来说,这套基本服务是新项目的良好基础。对于其他开发人员来说,任何 RTOS 都无法克服上市时间的挑战。为了降低风险并确保项目成功,这些开发人员必须选择一个经过验证的 RTOS,它有完整的文档记录并由节省时间的支持服务提供支持。

示例平台

如果要相信经常引用的数字,那么构建物联网似乎需要来自这两个阵营的众多开发人员。目前,物联网讨论在许多圈子中继续以未来时态进行,但已经有许多项目正在进行中,为连接设备中的 RTOS 使用建立模式。此类产品开发人员可用的解决方案类型的一个典型例子是凌力尔特公司最近发布的 SmartMesh IP 平台。

RTOS

图 2:Linear Technology 的 SmartMesh IP 平台提供了令人印象深刻的性能和最低的功耗。

借助 SmartMesh IP,开发人员可以使用一系列低成本硬件模块来构建基于 6LoWPAN 的网状网络。这些网络的基本单元是一个“mote”,如图 2 所示,它有一个运行 Micrium 的 µC/OS-II RTOS 的 Cortex-M3 CPU 内核。以 RTOS 为基础,mote 可以支持非常复杂的应用程序代码,并且能够实现 10 年或更长时间的电池寿命。6LoWPAN 使用 IPv6 意味着开发人员可以轻松地将其节点连接到网关,利用云的数据收集和分析功能,并将任何网状网络转换为真正的物联网应用程序。

µC/OS-II RTOS 为开发人员提供的许多功能在其他嵌入式 RTOS 中广泛可用。然而,特性和功能只是 RTOS 用户关心的问题之一。当今顶级 RTOS 供应商的名单将包括许多提供文档、支持、培训和咨询服务以及他们的软件的公司,这种模式对于嵌入式设计工程师来说起着绝对重要的作用。

虽然可以肯定 RTOS 将经常用于 IoT 项目,但并不完全清楚 Google 和其他 RTOS 新来者将直接与该行业的长期供应商竞争。说物联网需要实时操作系统可能会产生误导。实际上可能需要多个 RTOS,每个 RTOS 都服务于一组定义明确的开发人员,并在为满足这些开发人员的需求而量身定制的模型下提供。

审核编辑 黄昊宇

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

全部0条评论

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

×
20
完善资料,
赚取积分