• ARM Cortex-M 系列 MCU 芯片选型


    最近有需求,研究了一下 ARM Cortex-M 系列 MCU,从各个公司的网站查来查去,比较麻烦。

    为了后续节省一些时间,将一些信息整理在此,省得再翻来覆去的找,也方便需要的小伙伴。

    首先,了解一下芯片的构架。

    ARM Cortex-M 系列常用构架:

    STM32 MCU

    STM32 MCU,作为代表,产品按照:高性能、主流、低功耗和无线系列 划分,如下图:

    每个系列,又根据不同的外设、 Flash、RAM 的大小以及 Pin 的多少,划分为不同的型号。

    F0系列

    STM32F0 入门级 Arm® Cortex®-M0+ MCU

    意法半导体基于Arm® Cortex-M0的STM32F0系列器件实现了32位性能,同时传承了STM32系列的重要特性,特别适合成本敏感型应用。STM32F0 MCU集实时性能、低功耗运算和STM32平台的先进架构及外设于一身。

    • STM32F0x0超值系列在传统8位和16位市场极具竞争力,并且无需管理不同的架构和相关的开发成本。如果您的器件需要USB外设,现在就可以订购一款STM32F070超值系列MCU。
    • STM32F0x1系列实现了高度的功能集成,适合各类存储器空间及封装,为成本敏感型应用带来了灵活性。
    • STM32F0x2系列通过无晶振USB 2.0和CAN总线接口提供了丰富的通信接口,使它成为通信网关、智能能源器件或游戏终端的理想选择。
    • 工作电压为1.8V ±8%的STM32F0x8系列非常适合用于智能电话、配件及媒体设备等便携式消费类应用。

    以STM32F0x2 为例,不同的 Flash/RAM 以及封装,划为不同后缀的型号:

    F1系列

    STM32F103微控制器采用Cortex-M3内核,CPU最高速度达72 MHz。该产品系列具有16KB ~ 1MB Flash、多种控制外设、USB全速接口和CAN。

    以其中 STM32F103 为例,不同的 Flash/RAM 以及封装,划为不同后缀的型号:

    F3系列

     F4系列

    H7系列

    L系列

     开发板:

    选定某一款型号后,可以选择一块开发板进行尝试。

    ST官方有两种常见的开发板,一种是 Discovery 板,这种板子有较多的外设,如:音频、网口、显示屏等,价格也比较高;另一种是 Nucleo 板,这种板子仅把芯片的 Pin 脚引出来,便于用户使用,没有过多的外设,价格也比较低。这两款开发板都集成了ST-LINK调试器/编程器,无需额外的调试器。

     Nucleo 板子有三种尺寸,对应 32pin、64pin、144pin 芯片封装:

    兆易创新 MCU

    国产 MCU 近几年突飞猛进,得到了广泛的认可和应用。

    兆易创新为例,推出了入门级、主流和高性能系列 MCU,基本可以满足大多数应用。由于该公司在 Flash 和 RAM 方面有自身的技术和产品优势,该公司 MCU 产品的 Flash 和 RAM 比其他公司同类产品更加富余,有更多的可选择性。

     GD32 Cortex-M3 系列

      GD32 Cortex-M4 系列

     ARM Cortex-M 选型对照表

    目前,市面上常见的 ARM Cortex-M 系列产品:

    这是某仿真器支持的 MCU 产品型号列表,感觉应该比较全,没有仔细研究,这些型号里足够找到合适的。

    一款芯片,如果比较常用,仿真器厂家肯定会大力支持;如果没有支持,可能比较新,还没来得及支持,或者有自己独立的一套调试系统,不容易兼容,如:TI 的 MCU,或者没有到需要支持的程度(厂家该努力啦!)。

    小结

    ARM Cortex-M 系列产品可以说是 MCU 的一代经典,产品的可靠性、低功耗、易用性决定了它的成功,被广泛应用于各种场景。

    有一段时间,原来十几、几十的 MCU 芯片,被炒到上百,供货周期甚至几十周,令人叹为观止!

    疯狂过后,总会回归。假如一款产品的没落,不是由于产品自身的原因,而是因为产能和价格等其他因素,那就悲哀了。

    留下来的,仍然值得我们学习、借鉴、思考。

                                                                                      老徐,2022/8/11

  • 相关阅读:
    Android 自定义加载动画LoadingView
    Spring Boot 项目统一结果,统一异常,统一日志,写的太好了
    Java—类加载机制
    【毕业设计】单片机远程wifi红外无接触体温测量系统 - 物联网 stm32
    申报须知,2022年滁州市各区县高新技术企业奖励政策变化,明光市
    Pytorch 分布式训练(DP/DDP)
    【题解】蒙德里安的梦想
    为什么 Go 语言 struct 要使用 tags
    程序都不知道的代码
    Golang编译生成可执行程序的三种方法
  • 原文地址:https://blog.csdn.net/weixin_43978579/article/details/126280310