为了满足现代超低功耗微控制器和混合信号设备的需要,ARM推出了Cortex—M0处理器。目前许多低成本应用对互联性的要求越来越高(如以太网、USB和低功耗无线应用),而且还大量使用了模拟传感器(如触摸传感器和加速度计)。为了处理和传输数据,这些产品要求模拟和数字部分具有很高的集成度。为了支持这些应用,现有的8位和16位机只能增加代码空间和提高运行频率,而一旦如此,功耗就会随之增大。Cortex—M0在保持低功耗、延长电池寿命的同时,还能提升运行效率。因此,毫无疑问,Cortex—M0处理器能够适应当前日益增长的芯片市场,并且正在成为ARM中增长最快的产品。
ARM Cortex—M0的设计目标是:既要做到尽量小、尽可能低的功耗,还要向上同Cortex—M3兼容。ARM公司在2009年2月发布了Cortex—M0,并且已经实现了这一目标。尽管Cortex—M0最低配置只有12000逻辑门,在规模上同8位和16位处理器差不多,却具有完整的32位核心,并且其优势是8位和16位设备所不能比拟的。
一、优势一:能耗效率
Cortex—M0的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务(甚至可以完成单周期的32位乘法)。这就意味着Cortex—M0可以在大部分的时间里处于休眠状态,消耗很少的能量,具有良好的能耗效率。同样,它也可以在较低频率下完成一项任务,从而实现更低的动态功耗和良好的电磁干扰特性(EMI),较小的逻辑门数也降低了待机电流。高效的中断控制器(NVIC)需要很小的中断开销,在处理不同优先级的中断嵌套时也更加游刃有余。
二、优势二:代码密度
在许多应用中,使用基于Thumb-2的指令集,比用8位或16位架构实现的代码还要
少,因此用户可以选择具有较小Flash空间的芯片。由于在整机功耗中,Flash操作的占比
很大,所以这样一来既能节省成本,又能降低功耗。
三、优势三:易于使用
Cortex—M0适合使用C语言编程,并且被许多编译器支持;可以用C语言直接编程中断例程,而无须牵涉汇编语言。另外,指令集中只有56个指令,学习汇编也很简单。作为具备高性能流水线的处理器,指令周期和中断处理的时间也是完全确定的(零误差),可以用于对时间精度要求较高的系统中,而且开发者可以精确地预测和分析系统的定时。
由于微控制器是Cortex—M0处理器的重要应用,在设计中,也考虑了许多重要的微控制器特性:
内置的中断控制器,并且中断优先级控制方便;
中断响应快速,高优先级中断;
高效的Thumb指令集,具有较高的代码密度;
逻辑门数低,最小系统仅需12k;
具备诸多节能特性,能耗效率高;多种调试特性。
除了处理器本身的特性,Cortex—M0还具有以下特点:
被多种开发工具支持,包括Keil单片机开发套件和多种第三方工具;
多种现有软件支持ARM架构,包括嵌入式操作系统(OS)之类的许多开源工程。
在所有的32位系统中,Cortex—M0处理器具有最优的能耗效率,并为嵌入式开发提供了完整的生态系统。许多半导体供应商已经开发了多款基于Cortex—M0处理器的产品,并且有多种外设、代码大小和速度可以选择。基于Cortex—M0的产品在2009年年底已经出现在市场上。
四、Cortex-M0处理器的应用
Cortex-M0处理器可以应用于多种领域,尤其是微控制器,许多Cortex-M0微控制器的成本都很低,并且可用于低功耗的场合。从计算机外围器件及配件、玩具、家电,到采暖通风
与空调(HVAC)和智能家居,许多领域都能看到Cortex-M0的身影。Cortex-M0微控制器赋予了这些产品更多的特性、更加成熟的用户接口、更好的性能以及更佳的能耗效率。同时,Cortex-M处理器的编程正变得和8位机及16位机一样简单;
Cortex-M0微控制器的价格同样极具竞争力。
Cortex-M0的另一种重要应用为专用标准电路(ASSP)和片上系统(SoC)。由于门数量的限制,传统的专用标准产品(ASSP),例如混合信号控制器,只能使用8位或简单的16位处理器。Cortex-M0在规模上的优势使得其很容易应用于这一领域,触摸屏控制器就是一个典型的例子,Cortex-M0处理器已经应用于这类产品上。
对于复杂的SoC,一个复杂的系统往往会被拆分成一个主应用处理器系统和多个子系统,以及输入/输出、通信协议解析和系统处理。在一些应用中,Cortex-M0处理器用于部分子系统处理,以减轻主应用控制器的负担,使得主处理器在休眠模式下,还能进行一部分处
理任务
|