MCU、RTOS、物联网之间的关系?
概述
嵌入式物联网开发平台是一个系统,是微控制器+物+联+网+开发平台的系统组合。
- 微控制器:是嵌入式控制的核心
- 物:智能化的电子产品
- 联:电子产品通讯或对话的通道
- 网:互联网、移动互联网
- 开发平台:产品、技术和开发工具的组合
随着微控制器的工艺和技术的发展,成本越来越低,更多的产品用上了微控制器,使得“物(电子产品)”越来越智能化,并在ICT(信息通讯技术)的推动下,电子智能化的“物(电子产品)”越来越多地连接到网络上,物连网络的发展让人与“物”的联系越来越紧密了。
微控制器(MCU)
MCU(Microcontroller,即微控制器)根据数据处理能力不同,分为4位、8位、16位、32位微控制器,如下图:
目前,在物联网产品应用中,一般对MCU的需求是:
面对物联网市场的需求,众多的MCU厂家都在计划着推出新产品。如在一些小家电和家电市场、一些MCU厂商配合用户做一些定制化的产品;有的51厂商开始考虑集成蓝牙功能的产品;ARM公司收购了两家美国公司Wicentric和Sunrise,将以Cordio品牌推出低功耗蓝牙产品。
实时操作系统(RTOS)
微控制器性能的提升让一些实时操作系统RTOS有了“容身之地”,在32位 的ARM Cortex-M系列产品中,越来越多的产品用上了RTOS。
也为一些中间件/协议栈或一些高级的应用提供了一个平台基础。产品的系统化设计成为了可能,为物联网大规模开发部署提供了发展机会。
操作系统好多是开源的。开源机制使更多的人参与其中,发现问题改正问题,使平台能在众人的推动下不断优化发展。也能使一些优秀的组件或中间件/协议栈开源出来与更多的人分享设计。
常见的一些实时操作系统(RTOS)有如下:
常见的一些协议栈有如下:
常用的一些中间件:
开发平台选择
开发平台不是一个产品,是系统的组合。如何在做或计划一个项目时选择一个合适的开发平台,需要多方面综合考虑。
1.微控制器
做一个“跟随者”,参考同行中的产品选型。不做“第一个吃螃蟹”的,这样可以避免走一些不必要的弯路,不会有产品开发风险。但新机会往往会都是会眷顾那些“敢为天下先”的人。新的产品层出不穷,也为开发者提供了更多的选择空间。
对于遥控、小家电/家电、智能卡、玩具等市场应用而言,4位/8位/16位仍然有很大的选择空间。毕竟一些应用的数据处理要求并不高,在原有产品基础上开发,开发成本低。
新的产品总是会在一些新的项目上开始,近些年流行的ARM Cortex-M是比较理想的选择。毕竟ARM Cortex-M是32位机市场的主流,厂家多、应用广、资源多。
2.嵌入式实时操作系统(RTOS)
32位MCU的流行,开发者越来越爱使用RTOS了。有的甚至在8位MCU上跑RTOS。
RTOS提供了开发的便捷性,但在资源紧张的8位微控制器上运行还是有一些局限性的。建议还是在资源丰富的产品上运行RTOS
。
选择活跃度比较高的开源的RTOS会得到后续更好的升级维护,学习成本低,社区众多人的支持和参与会使得RTOS不断改进不断完善。
国内的RTOS操作系统近几年也多了起来,如:RT-Thread、 MiCo、DJYOS、μTenux等等。开发者可以根据项目需求选择适合的RTOS。
开源的推动下,RTOS的发展会衍生出一些新的商务模式出来,如下图:
在使用RTOS带来方便的同时,也需要注意一些问题:
- RTOS稳定性
- RTOS安全性
- RTOS授权方式/版权
- 中间件或协议栈的支持
4.网络
物联网就是将电子设备连接到网络,基于网络来控制或使用一些服务。目前,连接到网络的方式有:有线连接和无线连接。近些年来,无线技术的发展非常迅速。
5.产品原型设计
从目前业内来看,mbed.org提供了比较齐全的功能设计,无论从底层、RTOS、中间件或协议栈、组件、服务器端等应用都提供了比较全的选择。这为开发者或者有意于物联网开发者来说,是一个不错的参考。
6.物联网的发展
物联网的发展的特点是:智能化、网络化、信息化。