ARM Cortex-M系列MCU有哪些功能特性?
扫描二维码
随时随地手机看文章
ARM是业界领先的微处理器技术供应商,提供最广泛的微处理器内核,可满足几乎所有应用市场的性能、功耗和成本要求。ARM的技术将一个充满活力的生态系统与超过1000个合作伙伴相结合,提供芯片,开发工具和软件,以及超过900亿个处理器,ARM的技术是计算和连接革命的核心,正在改变人们的生活和业务运营方式。
ARM全称是Advanced RISC Machines, 是精简指令集微处理器行业一家不可忽视的存在,设计了大量的高性能、廉价、低功耗的RISC处理器。可以看做是Apple、Acorn、VLSI等知名公司的合资企业。各大芯片产商在拿到ARM IP授权后,通过自行设计外设(USB/GPIO/TIMER/SDIO等等),则可更快的完成成品芯片设计,抢占市场。
目前,ARM处理器分为5类:Cortex-A、Cortex-R、Cortex-M、Machine Learning、SecurCore。Cortex-M微处理器
1.Cortex-M0,小巧的ARM处理器,可通过DesignStart免费获得许可费,非常适用于智能传感器和片上混合信号系统(SoC),三种高度优化的低功耗模式。
2.Cortex-M0 +,Cortex-M中面积最小,功耗最低的处理器,8位处理器成本,32位处理器性能,三种高度优化的低功耗模式可节省能源
,最常用于可穿戴设备的医疗保健,健身等。
3.Cortex-M3,出色的32位性能和低功耗,可通过DesignStart免费获得许可费,常用于许多智能家居设备,在广泛的嵌入式应用程序中部署数十亿台设备。
4.Cortex-M4,具有混合信号设备的性能,集成数字信号处理(DSP)简化了系统设计,基本的微控制器功能使其成为工业应用的理想选择,部署广泛的Cortex-M处理器具有广泛的生态系统。
5.Cortex-M7,性能最高的Cortex-M处理器,简化信号处理,为大众带来高性能DSP,内置浮点处理功能可降低功耗,支持创新的MCU,可实现更密集的自动化任务。
6.Cortex-M23,具有TrustZone安全性的尺寸最小,功耗最低的微控制器,包含TrustZone的内置安全基础,内存保护可最大限度地降低意外访问的风险,理想的处理器,用于能量收集物联网节点和小型传感器。
7.Cortex-M33,实时,效率和安全的理想融合,通过安全性简化数字信号处理,使用TrustZone软件隔离来区分您的产品,即使是最简单且成本敏感的设备,也能带来32位性能。
8.Cortex-M35P,第一款内置防篡改功能的Armv8-M处理器,增加物理弹性和系统安全功能不会影响性能,包括集成数字信号处理(DSP)选项
,保护层防止轻松攻击和系统接管。
下面详细介绍Cortex-M系列几个功能特性。
1.存储器保护单元(MPU)
除了Cortex-M0, 其他的Cortex-M处理器都有可选的MPU来实现存储空间访问权限和存储空间属性或者存储区间的定义。运行实时操作系统的嵌入式系统, 操作系统会每个任务定义存储空间访问权限和内存空间配置来保证每个任务都不会破坏其他的任务或者操作系统内核的地址空间。Cortex-M0+, Cortex-M3 和 Cortex-M4都有8个可编程区域空间和非常相似的编程模型。主要的区别是Cortex-M3/M4的MPU允许两级的存储空间属性(例如,系统级cache类型),Cortex-M0+仅支持一级。Cortex-M7的MPU可以配置成支持8个或者16个区域,两级的存储空间属性。Cortex-M0 和 Cortex-M1不支持MPU.
2.单周期I/O接口
单周期I/O接口是Cortex-M0+处理器独特的功能,这使Cortex-M0+可以很快的运行I/O控制任务。Cortex-M大多数的处理器的总线接口是基于AHB Lite或者AHB 5协议的,这些接口都是流水实现总线协议,运行在高时钟频率。但是,这意味着每个传输需要两个时钟周期。单时钟周期I/O接口添加了额外的简单的非流水线总线接口,连接到像GPIO(通用输入输出)这样的一部分设备特定的外设上。结合单周期I/O和Cortex-M0+天然比较低的跳转代价(只有两级流水线),许多I/O控制操作都会比大多数其他微控制器架构的产品运行的更快。
3.中断延迟
性能相关的另外一个指标是中断延迟。这通常用从中断请求到中断服务程序第一条指令执行的时钟周期数来衡量。事实上,真正的中断延迟受到内存系统等待状态的影响。例如,许多运行频率超过100Mhz的微控制器搭配的是非常慢的Flash存储器(例如30到50MHz)。虽然使用了Flash访问加速硬件来提高性能,中断延迟仍然受到Flash存储系统等待状态的影响。所以完全有可能运行在零等待内存系统Cortex-M0/M0+系统比Cortex-M3/M4/M7有更短的中断延迟。
当评估性能的时候,不要忘记把中断处理程序的执行时间考虑在内。某些8位或者16位处理器架构可能中断延迟很短,但是会花费数倍的时钟周期完成中断处理。非常短的中断响应时间和很短的中断处理时间才是实际有效的。
4.Bit-band feature位段
Cortex-M3 和Cortex-M4处理器支持一个叫做位段的可选功能,允许有两段通过位段别名地址实现可以位寻址的1MB的地址空间(一段在从地址0x20000000起始的SRAM空间。另一段是从地址0x40000000起始的外围设备空间)。Cortex-M0, M0+ 和 Cortex-M1不支持位段(bit-band)功能,但是可以利用ARM Cortex-M系统设计套件(CMSDK)中的总线级组件在系统层面实现位段(bit-band)功能。Cortex-M7不支持位段(bit-band),因为M7的Cache功能不能与位段一块使用(Cache控制器不知道内存空间的别名地址)。
ARMv8-M的TrustZone 不支持位段, 这是由于位段别名需要的两个不同的地址可能会在不同的安全域中。对于这些系统,外围设备数据的位操作反而可以在外围设备层面处理(例如,通过添加位设置和清除寄存器)。