0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的基于Cortex的MCU应用设计

电子设计 来源:郭婷 作者:电子设计 2019-03-20 09:27 次阅读

基于ARMCPUMCU领域无处不在,通常有几个可从同一个MCU供应商处获得。每个ARM CPU都针对一类特定的处理要求进行了优化,从低端功耗约束应用到高功耗性能优化的双核应用。目前,MCU设备中最流行的ARM CPU似乎是Cortex CPU。您如何确定哪种ARM Cortex CPU适合您的应用?让我们通过查看示例实现来探索一些更受欢迎的基于Cortex的MCU之间的主要区别,这些示例实现将帮助您确定哪一个适合您的下一个设计。

许多选项

找到许多不同的东西并不罕见单个MCU系列中的ARM Cortex CPU。 Cortex CPU及其可选扩展可满足各种应用需求,但都具有向后兼容的指令集,如图1所示。从Cortex-M0/M0 +/M1系列开始,指令集针对通用目的数据处理和IO任务。 Cortex-M3 CPU增加了高级数据处理和位域操作指令,可加速更复杂的控制和通用计算任务。 Cortex-M4 CPU增加了数字信号处理(DSP)指令,并提供单指令多数据(SIMD)操作,其中相同的数据处理指令可以同时对多个数据源进行操作。这些专业功能可以极大地加速复杂的数据处理任务,如音频视频应用程序中的任务。当性能和精度都是目标算法的重要元素时,Cortex-M4 CPU还可以添加浮点单元(FPU)。例如,模拟传感和电机控制通常使用浮点来实现精度,但快速控制环闭合需要高性能。

如何选择合适的基于Cortex的MCU应用设计

图1:ARM Cortex MCU指令集兼容性。 (由ARM和STMicroelectronics提供)

这种常规和向后兼容指令集的一个关键优势是MCU制造商可以创建针对特定应用进行优化的设备,同时如果算法增长,则通过向上兼容性“覆盖所有赌注”目标系统生命周期中的复杂性。例如,您需要多少次添加更复杂的功能才能满足开发过程中的新要求? Cortex指令集架构(ISA)的向上兼容性使这很容易。在某些情况下,也可以简化目标架构,因为向下兼容性可以降低成本,如果可接受的性能较低。

STMicroelectronics在其STM32 MCU系列中使用了多个ARM Cortex CPU。图2显示了各种Cortex CPU以及与每个MCU系列相关的关键硬件功能。请注意,Cortex-M0 CPU用于入门级STM32F030/50/051器件,而带有DSP和FPU的Cortex-M4用于高性能STM32F4xx(例如STM32F401RCT6)和STM32F3xx器件。中档设备使用Cortex-M3 CPU,其中不需要更复杂的DSP和FPU指令以获得最高性能。 (如果需要,这些指令可以用多个指令实现,大多数编译器提供了一种相当透明的方法,用于在硬件实现和多周期“软”实现之间切换。)

如何选择合适的基于Cortex的MCU应用设计

图2:STM32F MCU系列Cortex CPU和关键硬件功能。 (由STMicroelectronics提供)

其他供应商也支持多种ARM Cortex MCU,通常具有广泛的性能和成本范围。例如,Silicon Labs拥有使用ARM Cortex-M CPU的EFM32系列MCU(例如,EFM32ZG222F32-QFP48)。低端低功耗GZ系列使用Cortex-M0 + CPU,而中端TG,G,LG和GG系列使用Cortex-M3 CPU。高端WG系列使用Cortex-M4 CPU,具有DSP和FPU增强功能。有10种不同的软件包选项可以通过一些前期规划从一种CPU类型迁移到另一种CPU类型,从而更容易适应不断变化的需求或使用相同的基础设计提供不同的产品

Cortex-A架构

Cortex-M架构是一个非常受欢迎的MCU制造商,但Cortex-A架构也出现在供应商的设备中,通常在MPU中,其中大型外部存储器用于指令和数据。 Cortex-A CPU针对超高性能应用进行了优化,通常需要视频播放和高级安全性等功能。例如,基于Atmel Cortex-A5的SAMA5D4 MPU(图3)使用Cortex-A5 CPU,具有2 x 32 kb 1级高速缓存和128 kb 2级高速缓存,以加快处理性能。片上DDR2/LPDDR/LPDDR2控制器访问外部存储器中的指令和数据,因此可以使用非常大的程序和数据集。例如,视频处理算法可能需要非常大的数据集以及非常大的程序。硬件子系统为安全性,连接性,控制和用户界面提供了重要功能,以简化复杂人机界面和相关控制系统的创建。

如何选择合适的基于Cortex的MCU应用设计

图3:Atmel SAMA5D4 MPU框图。 (由Atmel提供)

SAMA5D4还支持两个重要的Cortex扩展功能 - Trust Zone和NEON。 Trust Zone支持安全的代码执行。通常,处理器需要执行一些与安全相关的功能(例如安全PIN输入或密码保护)以及一些正常的程序功能(例如图形显示或菜单选择例程)。 Trust区域硬件扩展允许程序员保护与安全相关的功能免受正常访问和潜在的安全攻击。甚至调试功能也可以仅限于正常程序,以进一步保护安全例程免受窥探和类似攻击。

NEON扩展为基于SIMD的算法提供了显着的处理性能改进。 NEON扩展的共同目标是多媒体,信号处理2D/3D图形,视频编码/解码和声音合成。 NEON有自己独立的流水线和寄存器文件,可以支持32位寄存器上的有符号/无符号8位,16位,32位,64位和单精度浮点运算,这些寄存器被视为64位或128位宽取决于指示。与非SIMD实现相比,NEON通常可以提供显着的性能提升;复杂视频编解码器的性能提升60-150%是典型的例子。

多核CPU解决方案

ARM Cortex CPU也出现在多核MCU实现中。这些设备有时具有两种不同的性能CPU,一种是针对目标应用功能“繁重”的高性能,另一种是用于管理通信端口,用户界面和类似低级控制功能的性能较低的CPU。其他多核设备具有相同类型的CPU,只需复制,以便于分区和分配不太专业的处理功能,以实现处理和功率效率的正确平衡。例如,如果不需要满足性能要求(可能在“慢”数据期间),则可以将一个CPU置于低功耗等待状态,然后在需要额外处理时打开。

Texas Instruments在图4所示的Concerto MCU系列中(作为示例见F28M35H52C1RFPT)在其流行的C28x CPU中增加了一个ARM Cortex-M3处理器,为单个器件中的控制和连接提供了一个简单的解决方案。 C28x CPU已针对实时控制进行了优化,可充分利用其15年以上的DSP应用经验。 ARM Cortex-M3 CPU针对通信应用进行了优化,它可以利用广泛的ARM生态系统来实现通信驱动程序(以太网USBCAN,SPI等)以及强大的调度和O/S支持。

如何选择合适的基于Cortex的MCU应用设计

图4:德州仪器TI)的双CPU核心Concerto™MCU系列。 (由Texas Instruments提供)

将您的应用程序与正确的ARM Cortex CPU相匹配

您可以在几乎所有MCU制造商的各种MCU系列中找到ARM Cortex CPU。为了使正确的Cortex CPU与您的应用程序相匹配,您应该首先确定哪种指令集最适合您的应用程序。特别是,要查看是否需要高级数据处理功能,如浮点或DSP。您是否需要更高级的功能,如NEON或Trust Zone?也许您的应用程序更加面向控制,低功耗是关键要求?如果是这样,更简单的M0架构可能是合适的。中档设计可以利用Cortex-M3 CPU并根据连接要求和其他关键外设选择设备 - 您通常在MCU制造商的中档设备中拥有最多的选择。

如果您的要求在在设计阶段,您可能希望能够迁移到功能更丰富的设备或功能更多的设备。在这种情况下,选择支持在设备之间轻松迁移的MCU系列可能很重要。您还可以使用大型ARM Cortex生态系统来利用经过验证的驱动程序,RTOS,特定于功能的库和开发工具链。无论您选择哪种ARM Cortex CPU,您都可以确保有一个强大的生态系统可用于简化您的设计。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17144

    浏览量

    351148
  • 电机控制
    +关注

    关注

    3534

    文章

    1877

    浏览量

    268794
  • 德州仪器
    +关注

    关注

    123

    文章

    1710

    浏览量

    140723
  • Cortex
    +关注

    关注

    2

    文章

    202

    浏览量

    46495
收藏 人收藏

    评论

    相关推荐

    安徽Cortex-A7和大时代Cortex-A8内核的MCU改如何选择

    -A7和Cortex-A8的内核,我们来选择市面上主流的代表MCU,进行简单外围接口对比。我们将选择800M主频的Cortex-A7和
    发表于 09-29 10:19

    Cortex-A7和安徽Cortex-A8内核的大时代MCU改如何选择

    -A8的45nm/65nm,在功耗方面Cortex-A7有很大优势。  最后,针对Cortex-A7和Cortex-A8的内核,我们来选择市面上主流的代表
    发表于 10-17 10:27

    如何选择8位MCU和32位MCU架构的指南使用?

    的使用案例,也可作为如何选择这两种MCU架构的指南使用。本文中大部分32位MCU的范例将关注ARM Cortex-M,Cortex-M在不同
    发表于 03-01 06:38

    如何选择合适的超低功耗MCU?有什么技巧?

    如何选择合适的超低功耗MCU?有什么技巧?如何降低MCU的功耗?
    发表于 04-19 09:21

    基于ARM架构的MCU选择

    并非所有基于ARM架构的MCU都能提供相同水平的性能和能效,因此选择合适的方案是非常重要的。许多MCU供应商组合包括主题上的数百种变体。虽然看起来基于ARM
    发表于 11-10 06:41

    如何选择合适的射频模块?

    如何选择合适的射频模块?
    发表于 01-14 12:01 17次下载

    Cortex-A7和Cortex-A8内核的MCU改如何选择

    随着800MHz主频的Cortex-A7内核MCU震撼上市,早期的Cortex-A8内核MCU将面临层层打击,相同的主频,更低功耗,更精湛的制造工艺,更优质的性价比。早期的
    的头像 发表于 09-27 15:03 1.5w次阅读

    选择适合基于MCU应用的ARM Cortex处理器

    CPU的MCU设备似乎是皮质的CPU。你如何决定哪些的ARM Cortex的CPU是正确的为您的应用?让我们通过观察示例实现,这将帮助你决定哪一种适合您的下一个设计探索出一些比较流行的Cortex-的
    的头像 发表于 03-05 08:09 2800次阅读

    如何为设计应用选择合适的嵌入式MCU

    本文旨在帮助您查看细节,不仅仅是比较数据表第一页上的要点。它将帮助您熟悉MCU选择的架构,并检查为Microchip Technology,Renesas,Texas Instruments和Freescale提供的典型低功耗MCU
    的头像 发表于 02-11 08:39 2521次阅读
    如何为设计应用<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的嵌入式<b class='flag-5'>MCU</b>

    如何选择合适的基于ARM的MCU

    并非所有基于ARM架构的MCU都能提供相同水平的性能和能效,因此选择合适的方案是非常重要的。许多MCU供应商组合包括主题上的数百种变体。虽然看起来基于ARM
    发表于 10-28 14:06 5次下载
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的基于ARM的<b class='flag-5'>MCU</b>

    如何选择合适的基于ARM的MCU

    并非所有基于ARM架构的MCU都能提供相同水平的性能和能效,因此选择合适的方案是非常重要的。许多MCU供应商组合包括主题上的数百种变体。虽然看起来基于ARM
    发表于 10-28 15:36 14次下载
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的基于ARM的<b class='flag-5'>MCU</b>

    如何选择合适的基于ARM的MCU

    并非所有基于ARM架构的MCU都能提供相同水平的性能和能效,因此选择合适的方案是非常重要的。许多MCU供应商组合包括主题上的数百种变体。虽然看起来基于ARM
    发表于 11-05 17:05 13次下载
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的基于ARM的<b class='flag-5'>MCU</b>

    GD32W515系列 32位ARM® Cortex® -M33 MCU选择指南

    电子发烧友网站提供《GD32W515系列 32位ARM® Cortex® -M33 MCU选择指南.pdf》资料免费下载
    发表于 12-14 10:07 0次下载
    GD32W515系列 32位ARM®  <b class='flag-5'>Cortex</b>® -M33 <b class='flag-5'>MCU</b><b class='flag-5'>选择</b>指南

    怎样选择合适的MOSFET

    怎样选择合适的MOSFET
    的头像 发表于 10-01 08:01 271次阅读
    怎样<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的MOSFET

    如何选择适合的MCU

    在嵌入式系统设计中,微控制器单元(MCU)是核心组件,负责处理和控制电子设备的功能。选择合适MCU对于确保项目的成功至关重要。以下是在选择
    的头像 发表于 11-11 14:49 317次阅读