Cortex-M0+

作者:电子创新网张国斌 

Cortex™-M0+是ARM公司2012年发布的一款拥有极高能效的低功耗、低成本微控制器内核IP,基于32位ARMv6内核架构,支持Thumb/Thumb-2子集ISA,单核心,如果采用低成本的90nmLP工艺制造,其核心面积区区0.04平方毫米,每MHz单位频率消耗的电流、功耗分别仅有9μA、11μW,基于该内核的MCU可广泛用于家用器具、白色家电、医疗监控、测量、照明、马达控制设备等领域。

发布10多年来,基于Cortex™-M0+的MCU已经大量出货,知名的半导体厂商如TI 、ST 、NXP等多家MCU厂商都推出了基于Cortex™-M0+的MCU ,如今,物联网市场如火如荼 ,在大量基于Cortex™-M0+的MCU已经面市的情况下,Cortex™-M0+ MCU在以这片红海中还有发展的空间吗?

答案是:有,近日武汉芯源半导体推出的基于Cortex™-M0+内核CW32L010新品系列就是通过差异化的细节设计开辟了属于自己的新赛道。

1730182416867487.png

武汉芯源半导体有限公司技术总监张亚凡在接受电子创新网独家专访时表示:“我们此次新品发布打出的口号是“树立M0+产品行业新标杆”,目前我们提供三种封装形式,分别是QFN20,TSSOP20和SOP16。分别针对当前通用应用环境下的小型化需求、标准兼容需求以及引脚间距大一些、引脚数要求少一些的需求。”

他补充说该产品瞄准的是需求量最大的通用20引脚入门级32位MCU市场,最大的引脚数就是20。和早期功能简单的8位机相比,芯源半导体提供了高达64Kbyte的FLASH容量和高达4Kbyte的RAM容量。

“这是因为很多客户发现在开发过程中,如果用市面上常规的20引脚产品,Flash配置通常为16K,32K,RAM通常为2K或者1K,经常遇到存储容量不够导致开发进行不下去的问题。我们这次得益于华虹在90nm制程上Flash技术的长足发展,直接给到客户翻倍的存储容量,让客户在入门级的MCU上也可以灵活安排程序和数据存储。”他指出,“除此之外,作为一个标准品通用MCU,我们该提供的配置都有提供,没有过度的裁剪。比如说应该配备的、各种定时器、ADC、SPI、I2C、UART等等。另外值得注意的是,这是一个标准工业级温度范围的、具备宽电压工作特性的、经由正规设计、验证和测试流程,用正向研发方式做出来的产品,是我们芯源半导体在MCU技术道路上的一个重要里程碑。”

据介绍,CW32L010系列采用主频高达48MHz的ARM® Cortex®-M0+内核,配备高速嵌入式存储器,包括多达64K字节FLASH和4K字节SRAM。该系列接口丰富,所有型号均提供完整的通信接口(双路UART、一路SPI和一路I2C),以及12位高速ADC、四组通用和基本定时器、一组低功耗定时器和一组高级控制PWM定时器。

2.png

此外,CW32L010支持在-40℃至85℃的工作温度范围内运行,供电电压范围为1.62V至5.5V,同时具备Sleep和DeepSleep两种低功耗模式。

此外,它还有如下特点:

1、64K超大Flash存储容量, 数据保持时间长达25年,支持擦写保护、读保护和安全运行库保护功能

2、黑客级代码安全防护:创新的安全特性 - 允许用户划定一块指令存储区域,仅通过指令总线取指令执行,禁止数据总线访问,即使攻击者尝试通过下载间谍程序挟持内核也无法访问该区域,有效保护敏感算法和关键功能。

3、极限超低功耗:待机电流低至0.3uA - 高温待机电流仅为1.2uA,远低于竞品平均水平。

4、全新设计的高级定时器:兼容G4相关IP - 新增PWM移相、多点比较等功能,单个高级定时器支持多达6对互补PWM输出,灵活调整PWM边沿位置。

5、高精度RTC补偿:补偿精度达0.060ppm - 支持亚秒级读数,优化了RTC补偿机制。

6、全面升级的低功耗串口:支持LIN、RS485硬件使能 - 接收数据时可灵活配置接口电平,产生关键字中断和帧超时中断,支持多种硬件功能。

7、出色的Latch Up测试成绩:高温闩锁门限测试成绩高达±600mA - 远高于行业一般水平,提供强大的ESD防护能力,是相比竞品一般水平的3~6倍

8、高性能ADC:16路ADC输入,各通道采样率可达2M - 采样保持时间可独立配置,适应不同应用需求。

9、内部时钟源特性优异:内置RC时钟源技术特性优于竞品 - 无论是HSI还是LSI,都表现出色,降低了对外置晶体的依赖,优化了成本。

张亚凡特别指出该新品超低功耗评估指标非常多,一般将待机电流(常温/高温)、全速运行电流等几个主要指标拿出来比较,CW32L010采用特别工艺制程,将待机电流控制在0.3uA,特别是高温待机电流是竞品平均水平的1/4~1/8。

精雕细琢打造产品,细节见真章

他表示在高速ADC方面,CW32L010的ADC配置比以前增加了一个功能:就是每个采样通道都是可以独立配置采样保持时间的,他说这也是客户提的要求。因为如果这个功能没有的话,客户在对不同的信号源进行采样的时候,就得被迫用同一种采样保持时间,那实际工作的时候就存在众口难调的问题,有些内阻比较大的信号源要求比较长的采样保持时间,如果加信号调理的话就又需要额外的开支了。现在的设计比较好,不同的通道独立配置时间,让ADC配置的适应性灵活性更强了。

在这次新品发布会上,武汉芯源半导体提出了在安全方面新品是“黑客级安全代码防护”,对此张亚凡表示作为专业的MCU,必然考虑用户的代码及知识产权保护。尽管目前大多数MCU都支持多种安全等级,阻止通过SWD/ISP接口读取Flash内容。但通过下载间谍程序,用挟持内核的方式对Flash指令区做数据访问一般都被允许。CW32L010则可以阻止这个入侵,芯源半导体独创性的允许用户划定一块指令存储区域,在这个区域内只能通过指令总线取指令执行,但不允许通过数据总线访问数据,用户可以将敏感的代码库存储在这个区域,只能调用,无法复刻。除此之外,CW32全系列产品,符合IEC60730,IEC61508 功能安全设计规范。

此外,他还强调该MCU的IO口带有滤波防抖,“我们用MCU的时候经常会用IO口来检测按键、或者继电器触点的状态变化,传统上的思路是,按键产生中断的时候不要立即马上去处理他,要延迟10个毫秒左右再去判断一次,如果两次判断都是有动作,那再去处理也不迟。今天这个由软件来做的按键防抖功能,我们用硬件来完成了。”他解释说,“我们是怎么做的呢?我们的IO口的信号传输到中断系统的通道,可以选择去通过一个数字滤波器,而这个数字滤波器的刷新时钟可以在上面这些时钟源里面去自由选择。那如果我们选择了这个速度比较低的LSI作为这个时钟源,那就相当于用比较慢的速度对这个输入信号进行了多次的确认,相当于节省了软件的开销了。同样的,如果外部有滤波电容的话也就不再需要原先那么大的,这是节省了硬件开销了。”

此外,他表示该MCU的内部时钟源的温度特性和校准结果非常优秀,“我们都知道,我们这个规格的MCU,配置外部晶体的客户是很少的。系统稳定运行的时钟源基本都靠内部的RC振荡器来提供。这里如果没有设计好的话,很容易出现时钟偏差的。严重的时候还会影响串行通信波特率上不去,以及电机转速不准确,时序响应不及时等等问题。而我们做到的内部时钟的出厂精度是完全满足客户的苛刻要求的,目前没有客户对这个性能指标不满意,在国内工艺制程里面也很难找到对应的参数成绩。”他解释说。

针对未来产品规划,他表示:“有的客户说,CW32L010很好,但是RAM容量4K还是偏少了一点,引脚数还是少了一点。那我们下一个产品会解决这个问题,那就是CW32L011,它被设计为最大32个引脚,内置6Kbyte的RAM,同时它是我们第一颗96M主频的Cortex-M0+产品。”

此外,他透露:“另外为了更好的适应电机控制应用,我们还会出一颗48Pin的产品,在继承了CW32L011的96M主频的同时,还增加了两路DAC、两路OPA、以及8Kbyte的RAM,DMA控制器以及除法开方硬件单元,Cordic三角函数计算器等等硬件,使得她在应对电机控制应用的时候更加的游刃有余。”

受益于物联网以及电子产品智能化的发展,近几年全球MCU市场规模呈现增长的趋势。根据Precedence Research的数据,2022年全球MCU市场约为282亿美元,预计2030年有望达582亿美元,未来 8年CAGR为9.48%;同时根据IHS和IC Insights也预测2022年中国MCU市场规模约为390亿元,同 比增长7.7%,预计2026年将有望突破500亿元,未来增长潜力巨大。

在这个巨大的增量市场中,虽然玩家众多,但是只要在产品上以客户需求为导向,精雕细琢,精心打造,总能开辟出属于自己的新赛道。(完)

注:本文为原创文章,未经作者授权严禁转载或部分摘录切割使用,否则我们将保留侵权追诉的权利

围观 23

1、关于复位

说到复位,我们都不会陌生,对于一个MCU系统,复位电路是必不可少的一部分。复位的种类有很多:上电复位、低电压复位、引脚复位、看门狗复位、软件复位等等。本文说的内核复位是软件复位的一种。

Cortex-M3内核芯片提供了两种软件复位,分别是系统复位和内核复位,而Cortex-M0+内核芯片只提供了系统复位,内核复位不支持,只能软件模拟。

2、系统复位和内核复位的区别

内核复位:只复位内核处理器,而不复位外设如GPIO、Timer、UART、Flash等的寄存器。

系统复位:既复位内核处理器,又复位外设寄存器。

下面分别是Cortex-M3和Cortex-M0+的应用程序中断及复位控制寄存器(AIRCR)配置图,从图中可以看出,置位AIRCR寄存器中的SYSRESETREQ位(位偏移:2),即可实现系统复位;置位VECTRESET位(位偏移:0),即可实现内核复位。Cortex-M0+中没有VECTRESET的定义,故不支持内核复位。本文会介绍一种软件模拟内核复位的方法。

1.png

2.png

图1  Cortex-M3 应用程序中断及复位控制寄存器(AIRCR)

3.png

图2  Cortex-M0+应用程序中断及复位控制寄存器(AIRCR)

系统复位在ARM官方的库文件中都有提供相关的函数,用户直接调用即可。官方给出的系统复位函数定义如下所示: 4.png5.png

内核复位在ARM官方的库文件中没有相关的函数,需要用户自行编写。Cortex-M3的内核复位函数编写如下:

6.png

3、软件模拟内核复位的方法

内核复位在某些特殊应用下,如OTA升级时,往往会被用到。此时,不希望复位外设,只需要程序从头开始跑即可。以中颖M0+内核芯片为例,在启动配置章节有介绍到,用软件模拟内核复位来使运行在引导区的程序改由从用户代码区启动。

中颖M0+内核芯片从复位中退出时,会首先读取向量表中(从地址0x00000000开始,见图3)的头两个字。第一个字为主栈指针(MSP)的初始值,而第二个字则为决定程序执行起始地址(复位处理)的复位向量。该复位流程可以用软件去模拟,图4是软件模拟内核复位的C语言源码。

7.png

图3 向量表

 8.png

图4 软件模拟内核复位的C语言源码

图4源码中,第1行定义了函数指针类型,取名为“FUNC_CALL”;第2,3行申明了两个变量,分别是无符号整型变量main_pgm和函数指针类型变量func;第5~20行定义了一个函数,取名为__NVIC_CoreReset(),该函数可以实现对MSP装载复位初始值,并使程序跳转到复位向量处开始执行,进而模拟了内核复位。

函数__NVIC_CoreReset()中,第9行调用了ARM官方库文件中的函数(见下图),将存储器0x0地址处的值赋给了寄存器MSP,实现了MSP复位初始值的装载;第10行是将存储器0x4地址处的值赋给变量main_pgm;第11行是将变量main_pgm强制转换成函数指针类型并赋给func;第12行调用函数func(),最终使程序跳转到了存储器0x4地址存储的复位向量处运行。

9.png

用户需要内核复位时,在程序中直接调用图4中定义的函数__NVIC_CoreReset()即可。

4、总结

综上所述,本文提供了一种软件模拟内核复位的方法,通过调用自定义函数__NVIC_CoreReset()即可实现内核复位,给出了该函数的C语言源码,用户直接在自己程序中加载即可使用。该方法弥补了CortexM0+芯片没有自带内核复位功能的不足。

来源:中颖电子(作者:余为国)

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 231

低功耗是MCU的一项非常重要的指标,尤其是在便携式和可穿戴设备中,其携带的电量有限,如果系统功耗高的话,就会很容易出现电量不足的情况,频繁的更换电池或充电必然会带来很差的用户体验,甚至存在一定安全问题,且高耗能的情况下,产品容易发热,严重影响产品的使用寿命。产品的低功耗是那么的重要,下面我将介绍一下NXP Kinetis L系列MCU的低功耗,看它在解决产品低功耗问题的“三板斧”。

一板斧
Cortex-M0+内核,能效比提高30%
Kinetis L系列MCU被誉为全球能效最高的32位MCU,基于当前能效最高的ARM Cortex®-M0+内核,同时采用90nmTFS技术,大大降低MCU静态功耗。

二板斧
10种灵活的电源模式
传统的MCU过去只采用3种电源模式:运行、睡眠和深度睡眠。然而这种“以一概全”的思路不适应现在电源配置多样设计需求。Kinetis L系列MCU将传统的3种电源模式扩展为10种灵活的模式,能够支持多种应用用例,从而大大提高了能效。


图1 10种灵活的电源模式对比

注:
* 计算操作启用:3.6 mA @ 48 MHz内核/24 MHz总线)
** 计算操作启用:144 uA @ 4 MHz内核/1 MHz总线)
a部分Kinetis L系列设备上提供


图2 10种电源模式转换

三板斧
智能电源外设
Kinetis L系列MCU在外设内实现了低功耗智能,允许外设在深度睡眠模式下通过备用时钟源自主运行。例如,MCU内包含异步DMA(ADMA)唤醒功能,允许某些外设在停止和VLPS模式下请求DMA传输。


图3 节能外设应用示例

凭借着“三板斧”的巨大威力,Kinetis L系列MCU在与竞争对手相应的16位低功耗MCU展开正面能效基准挑战赛中完胜对手,证明它作为全球能效最高的MCU选手是实至名归的。

来源:周立功单片机

围观 382

Cortex™-M0+处理器是ARM发布的一款拥有全球最高功耗效率的微处理器。该款经过优化的Cortex-M0+处理器可针对家用电器、白色商品、医疗监控、电子测量、照明设备以及功耗与汽车控制器件等各种广泛应用的智能传感器与智能控制系统,提供超低功耗、低成本微控制器(MCU)。    

ARM Cortex-M0+处理器为物联网发展奠定基础  
  
作为ARM Cortex处理器系列的最新成员,32位Cortex-M0+处理器采用了低成本90纳米低功耗(LP)工艺,耗电量仅9µA/MHz,约为目前主流8位或16位处理器的三分之一,却能提供更高的性能。  
  
这种行业领先的低功耗和高性能的结合为仍在使用8位或16位架构的用户提供了一个转型开发32位器件的理想机会,从而在不牺牲功耗和面积的情况下,提高日常设备的智能化程度。  
  
Cortex-M0+处理器的特点促成了智能、低功耗微控制器的面市,并为“物联网”中大量的无线连接设备提供高效的沟通、管理和维护。  
  
低功耗联网功能深具潜能,可驱动各种节能和生活关键应用,包括从无线方式分析住宅或办公大楼性能与控制的感测器,到以电池运作、通过无线方式连接健康监控设备的身体感测器。而现有的8位或16位微控制器(MCU)缺少足够的智能和功能来实现这些应用。  
  
半导体行业调研咨询公司The Linley Group高级分析师、《微处理器报告》(Microprocessor Report)高级编辑,Tom R. Halfhill表示:“众所周知,不断改进功耗效率、安全性和便利性的物联网将最终改变世界。从自适应室内照明、在线视频游戏到智能传感器和电机控制,无处不在的网络连接几乎对任何事物都是有益的。但是,实现这一切需要极低成本、极低功耗并拥有良好性能的处理器。ARM Cortex-M0+处理器为轻量级芯片提供了32位的强劲性能,适合于各种工业与消费应用。”  
  
ARM Cortex-M0+处理器是以通过硅晶验证(silicon-proven)、低功耗且成功获得超过50件来自半导体领先厂商授权合作的Cortex-M0处理器为基础,再重新设计加入多个重要新特性,包括单周期输入输出(IO)以加速通用输入输出(GPIO)和外围设备的存取速度、改良的调试和追踪能力、二阶流水线技术以减少每个指令所需的时钟周期数(CPI)、已经优化闪存访问,以进一步降低功耗。  
  
Cortex-M0+处理器不仅延续了易用性、C语言编程模型的优势,而且能够二进制兼容已有的Cortex-M0处理器工具和实时系统(RTOS)。作为Cortex-M处理器系列的一员,Cortex-M0+处理器同样能够获得ARM 
Cortex-M生态系统的全面支持,而其软件兼容性使其能够方便地被移植到更高性能的Cortex-M3或Cortex-M4处理器。

ARM处理器部门执行副总裁兼总经理Mike Inglis表示:“Cortex-M0+处理器是ARM领跑低功耗领域的又一例证,同时再一次兑现了其推动行业向更低功耗方向发展的承诺。凭借在低功耗技术上的专业性,我们与合作伙伴为定义新处理器开展了紧密的合作,以确保对现今低成本设备的支持,并同时发掘物联网的潜在优势。”    

相关ARM技术支持  
  
Cortex-M0+处理器搭配Artisan®七轨SC7超高密度标准单元资料库和电源管理套件(PMK)最为适合,可充分发挥该处理器前所未有的低功耗特点。  
  
Cortex-M0+处理器具备已整合Keil &micro、Vision IDE、调试器和ARM汇编工具的ARM Keil™微控制器开发套件的全面支持。作为全球公认的最受欢迎微控制器开发环境,MDK以及ULINK调试适配器系列均支持Cortex-M0+处理器的全新追踪功能。有了这些工具,ARM的合作伙伴能够获得紧密联系的应用开发环境的优势,并迅速了解Cortex-M0+处理器高性能和低功耗的特点。  
  
这款处理器同时也拥有大量第三方工具和实时系统(RTOS)的支持,包括CodeSourcery、Code Red、Express Logic、IAR Systems、Mentor Graphics、Micrium和SEGGER。

围观 384
订阅 RSS - Cortex-M0+