加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

MCU的大时代

2016/06/13
6
阅读需 36 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

微控制器MCU)正在变得越来越复杂,越来越强大,因而越来越有用。但是这些进步都是都代价的。

开发带高级电源管理功能的多核 MCU 硬件并不太难,由于存储器的限制,开发出适合多核 MCU 的软件则难得多。CPU 系统可以用 SRAM 片上存储器,或者外部的 DRAM。不过对 MCU 系统而言,所有的存储器都在片上。所以 CPU 系统可以跑大型的 Linux 或 Windows 操作系统,MCU 则只能跑相对简单的实时操作系统

“以视频市场为例,你可以开发基于 MCU 的应用,也可以开发基于 CPU 的应用,甚至可以开发两种系统都能跑的应用,”Cadence IP 事业部 CTO Chris Rowen 说,“使用 MCU 的视频分辨率更低,不论是 CPU 方案还是 MCU 方案,多样化的视频接口都会让设计变得复杂。用 CPU 系统开发要求相对没那么严,例如你可以把整个缓冲区(buffer)写满,在 MCU 就不太可能这么干。用 MCU 开发,数据的交换更需要技巧,所以产生故障(bug)的可能性也增加了。”

更难的是利用 MCU 来分担 CPU 的负担,例如作为协处理器去加速某种计算,或者作为低功耗应用时的备用处理器。

“考验 MCU 的程序员的问题是如何满足处理速度的要求,” Rowen 说,“自动车库门开启或者关闭花费几百毫秒都可以接受,但要满足高速数据流的处理需求,则须采用并行处理。所以当把 MCU 设计成另一个次级计算引擎(sub-engine)时,你需要处理器有能力进行数据计算,这就要求编程风格非常严谨。在高速数据处理场景下使用 MCU,非常非常难。”

虽然有诸多困扰,MCU 的应用场景不断拓展,使用方法也屡屡突破常规,如今在复杂的系统及芯片(SoC)中内建 MCU 已经很常见。在 SoC 这种复杂应用场景中,MCU 的功能一般都只做特定的任务,例如唤醒 CPU,但无论从设计、验证还是一致性的角度来看,在 SoC 中让多个 MCU 协同工作都非常难。

“在同一颗 SoC 中集成 Cortex A(CPU)与 Cortex M(MCU)的趋势呈现加速状态,”Mentor Graphics 嵌入式产品高级产品线经理 Andrew Caples 说,“以高级驾驶辅助系统ADAS)这个嵌入式应用最精华的代表为例,可以用多个处理单元 -- 微控制器(MCU)、微处理器MPU)、数字信号处理器DSP)-- 来实现 ADAS,SoC 意味着更低的故障率、更低的成本以及更低的散热需求,但增加了软件设计的复杂性。开发人员要在 SoC 集成的 MCU、MPU 与 DSP 上开发多个实时操作系统,并在这一颗芯片上开发和调试。这就需要开发人员的方案能够适应不同的平台(MCU、MPU、DSP),这给半导体公司增加了很多压力,为了帮助客户真正利用起 SoC 中的所有器件,它们需要提供给开发者足够的库文件和解决方案参考。”

Caples 表示只要多核 SoC 的应用有操作系统,就一定会遇到一堆同步问题,因为不同核之间靠等待来协同工作。“我们正在为这个领域的应用开发工具,”他说,“对于硬件工程师来说,过去这些年摩尔定律一直很有效,硬件的性能在提升,成本在下降。但是软件开发却是另外一回事,随着系统复杂度越来越高,软件开发的成本不断攀升,而且现在看不到任何可以改善的迹象。”


欢迎来到 MCU 时代
虽然存在上述挑战,但随着物联网的发展,物与物之间的通信越来越多,因此开发人员希望 MCU 在复杂系统中发挥越来越重要的的作用。相比 CPU,MCU 的功耗更低,价格也更便宜。一方面,8 位 MCU 在一些简单任务处理中仍然不可或缺;另一方面,32 位甚至 64 位多核 MCU 已能应对很多复杂应用。所有这些 MCU 都可以与 CPU 或 GPU 集成在同一颗 SoC 里面,这样 CPU 或 GPU 可以在多数时间里面处于休眠状态。

“MCU 越来越复杂,”ARM 建模技术总监 Bill Neifert 说,“引入 32 位微控制器以后,人们开始问可以用这些 MCU 做什么。”

MCU 当然不只用在汽车的安全领域,从工业设备到智能拖鞋这种消费类产品都可以用到 MCU。以监控人是否滑倒的智能拖鞋为例,低成本、低功耗的嵌入式处理器(MCU)就非常适合,因为其可以为某种应用定制。

“每个人都想要最有效的解决方案,定制化的 MCU 在成本和功耗上都优于通用产品,”Neifert 说,“特别是物联网设备,很多都是电池供电,因此对与功耗非常敏感。用户希望能找到专用产品帮助他们快速开发,尤其是消费电子领域的客户。定制化 MCU 也需要建模,但复杂度比 CPU 或 GPU 低多了。”

复杂度是相对的。“我们打算用 64 位的 MCU 开发真正智能的设备,”Vista Ventures 经营合伙人 Jim Hogan 说,“但这些 MCU 的代码堆栈相当有限。”

在这种趋势下,MCU 也开始介入到计算当中 -- 特别是物联网的应用。“不是传统的计算,” ARM 物联网市场副总裁 Zach Shelby 说,“在 MEMS 应用中,利用 32 位和 64 位 MCU 来计算已经很常见。关键在于我们如何将软件设计成大量重复任务的类型。FPGA 不适合低功耗应用,如果在一颗混合芯片芯片上实现视频检测算法,就必须用到微控制器,不过 MCU 还是用来完成不断重复的任务。”


MCU 的片上存储容量较少,常常为 MCU 与 CPU 或者其他 MCU 协调工作带来麻烦。特别是在视频流媒体处理与图像识别应用方面,越来越多的数据处理是系统设计需要解决的大问题。从系统上层来看,有两种方法可以解决这一问题,第一种方法是采用更快的处理器更多的存储容量,第二种方法是采用更多的处理器以提高处理效率。虽然每个处理单元的速度比较慢,但多个处理单元合作可以将数据处理任务在限定时间内完成, 当处理任务繁忙时,这些 MCU 也可以进入空闲状态。

“人们需要这种灵活性,因为你会有很多的异质应用(heterogeneous application)要处理,你又不愿意采用同质模型(homogenous model,CPU 或者 GPU 这种所擅长的计算方式)来实现,”NetSpeed Systems CEO 与联合创始人 Sundari Mitra 说,“微控制器的优点是其有一套可编程的微代码引擎(microcode engine),用户可以根据应用环境选择合适的架构,因此比处理器硬核灵活性更高。微处理器可以给用户一些灵活性 -- 虽然不太多,但毕竟多了些灵活性。这让用户在架构方面具备了更多的灵活性。CPU 在浮点计算方面更具优势,GPU 在视频处理方面更具优势,MCU 则处于两者之间。MCU 可用于可穿戴等物联网终端设备,也可用于汽车引擎的控制。MCU 的架构要有足够的灵活性和自适性,以适应不同的应用。如果开发人员清楚应用的工作流程,并对此进行相应的优化,使用 MCU 能为你的计算引擎带来一些多样性。”

定义 MCU
通常来说,MCU 是 CPU 与 GPU 的瘦身版,计算能力相对弱,跑的时钟速度也比较低。在存储架构上 MCU 与 CPU 和 GPU 的区别更明显,特别是 8 位与 16 位 MCU,通常只有片上存储。因为成本低、功耗更低,所以很受欢迎。但高级的 32 位 MCU 与低端 CPU 的区别已经不明显,64 位多核 MCU 的出现更让人困惑。

“从大的方面来说,根据工作负荷的不同,CPU 通常会为单线程或多线程性能优化,”Mitra 说,“如果考虑实时性的要求 -- 物联网中有很多实时性应用 -- 系统需要做出实时响应,CPU 通常不会对实时性任务进行优化。假设有这样一个应用场景,CPU 需要监测周围环境状况,当环境发生变化时做出相应的决策,这时不大可能用 CPU 来反复的检测某一点,这就是 MCU 的用武之地。那么使用 MCU 到底有什么不同呢?CPU 与 GPU 都很容易理解,但 MCU 不是这样。应用 MCU 要面临可用信息更少、设计参数常常变更的状况,所以开发人员要适应。”

同样,由于 MCU 应用的多样性,很难清楚的定义 MCU 的市场,也不容易用统一标准来预测 MCU 市场的走势。在 2016 年 5 月份的报告中,Brisk Insights 预测,到 2022 年 MCU 市场将保持 15.8%的年复合增长率,Brisk Insights 认为在物联网应用的推动下,32 位 MCU 将是增长最快的市场。Databeans 的数据则比 Brisk Insights 保守很多,其预测年复合增长率为 6%,MCU 市场最大的推手是工业需求。

Gartner 则给出了 MCU 领域的排名前列的厂商,它们是瑞萨恩智浦NXP)、意法半导体、Microchip、德州仪器英飞凌

但 MCU 不断出现在新的应用场景中,这使得 MCU 的市场越来碎片化,以致难以追踪。

“每种非常复杂的芯片,几乎都包含了 MCU,” Arteris 市场副总裁 Kurt Shuler 说道,“在汽车里面,到处可以见到独立工作的 MCU,大型芯片往往也有 MCU 在后台运行,MCU 在无线数字基带应用中也很广泛。”

使用 MCU 的设备通常将程序优化以提高电源效率,现在开发人员仍在通过延长唤醒时间等方式来进一步降低功耗。开发人员所面临的挑战更多不是来自于 MCU 硬件能力方面,而在于如何在系统中更高的发挥这些硬件能力。

结论
MCU 产业正在大步前进,虽然 MCU 的定义在改变,但方向是明确的。在未来几年,物联网的大发展将使很多终端设备将接到网络,甚至直接与其他的处理器进行通信,MCU 将在这些设备中大放异彩。

MCU 的潜力到底有多大,仍有很多值得讨论的空间。Mentor 的 Caples 表示,将 MCU 中的某些功能应用起来,可能需要一名软件工程师一年的时间。“没有人有时间这样做。”至少现在没有人这样尝试。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
AT32UC3A0512-ALUT 1 Microchip Technology Inc IC MCU 32BIT 512KB FLASH 144LQFP

ECAD模型

下载ECAD模型
$11.33 查看
AT89C51CC03CA-SLSUM 1 Microchip Technology Inc IC MCU 8BIT 64KB FLASH 44PLCC

ECAD模型

下载ECAD模型
$7.71 查看
ATMEGA2560-16AU 1 Microchip Technology Inc IC MCU 8BIT 256KB FLASH 100TQFP

ECAD模型

下载ECAD模型
$13.68 查看

相关推荐

电子产业图谱