工程师笔记——MM32F0040使用总结

cathy的头像
cathy 发布于:周六, 05/07/2022 - 17:15 ,关键词:

MM32F0040 是一款搭载高性能 Arm® Cortex®-M0 作为内核的 32 位微控制器,最高工作频率可达到72MHz,提供 32KB FLASH 和 4KB SRAM。MM32F0040 系列 MCU 适用于多种应用场合,如工业物联网设备、PC外设、电子门锁控制、医疗和保健设备、手持设备、电机控制、电梯呼叫面板、游戏娱乐以及 8/16 位 MCU 升级替换。

我们对客户经常问到的问题进行一一解答。

案例一

MM32F0040 的工作电压范围在 2.0V~5.5V 之间,当 MCU 工作在 3.3V 供电电压时,能够容忍 5.0V 的外设操作吗?

分析案例

MM32F0040 支持 2.0V ~ 5.5V 的宽电压工作范围,所有的引脚为标准输入/输出引脚,输入信号不得超过 VDD 供电电压,所以当 MCU 工作在 3.3V 供电电压时,不支持 5.0V 的外设操作。

参考建议

根据系统硬件设计需求,可以将 MM32F0040 的供电电压提升至 5.0V,或者是在 MM32F0040 与 5.0V 外设之间增加电压匹配电路或电平转换芯片,使之与外设电压保持一致。

案例二

MM32F0040 支持 ISP 方式进行程序烧录吗?

分析案例

MM32F0040 在 QFN20 和 TSSOP20 封装芯片中不支持 ISP 功能。

参考建议

MM32F0040的烧录方式可以使用 J-Link、U-Link、CMSIS-DAP 或者其它第三方的专用烧录工具来进行程序烧录。

推荐的量产烧录工具合作伙伴名单:

https://www.mindmotion.com.cn/support/ecosystem_partner/

案例三

之前项目有用到 MM32F0010 和 MM32F0020,但都没有 DMA 功能,MM32F0040 带有 DMA 功能吗?

分析案例

MM32F0040 带有 1 路 5 通道的DMA控制器,支持的外设类型包括 ADC、I2C、SPI、TIMx 和 UART。

参考建议

MM32F0040 DMA 共有 5 个通道,可配置处理优先级分为很高、高、中、低 4 个级别,如果优先级相同,则由硬件自动决定处理顺序(低编号通道请求优先处理)。数据传输宽度可配置为字节、半字、全字 3 个类型,数据会根据源的宽度配置进行打包,再根据目的地的宽度进行拆包,但要求源地址和目的地址必须是根据各自的数据传输宽度对齐。MM32F0040 DMA 支持循环缓冲控制,每个通道支持 DMA 半传输、DMA 传输完成和 DMA 传输出错 3 种事件标志,支持存储器对存储器传输,支持的数据传输方向为外设到存储器,或者是存储器到外设。

案例四

我想使用 MM32F0040 替换 MM32SPIN05,对于 ADC 部分的功能有哪些区别呢?

分析案例

MM32F0040 当前仅有 QFN20 和 TSSOP20 这两种封装,所以对于被替换的型号应该是MM32SPIN05NW 或者是 MM32SPIN05TW 与之封装相一致的。

参考建议

MM32F0040 与 MM32SPIN05 的 ADC 都是 12 位精度的逐次逼近型(SAR)的模数转换器,最大的输入时钟经由 PCLK2 分频产生,都不得超过 16MHz,最高可实现高达 1Msps 的转换速率。ADC 都支持 DMA 传输、都支持软件启动、外部触发启动和 TIMER 匹配这 3 种转换开始条件,都支持普通工作模式和任意通道工作模式。但 MM32F0040 还支持注入通道的工作模式,相比于 MM32SPIN05 能够实现更加灵活的 ADC 采样和功能实现。

案例五

我想使用 MM32F0040 作为 MM32F0020 的升级可以吗?

分析案例

很多用户在使用 MM32F0020 进行产品开发到后期的时候,会出现因为 FLASH 空间或者 SRAM 空间不够用,而导致需要切换芯片型号的问题。MM32F0040 带有 4KB 的 SRAM 空间,是 MM32F0020 的 2 倍,其引脚封装相同,成了客户首选的替换型号。

参考建议

MM32F0040 与 MM32F0020 的封装相同,但在性能和外设上还是有不少不同之处的,部分可以参照下表所示。此外 MM32F0040 还增加了 MM32F0020 所不具有的外设功能,比如硬件除法器、比较器、32 位定时器等。所以项目之初做好评估,在硬件设计时做好兼容,在替换的时候,需要结合项目实际的硬件需求,做好对比;满足条件的情况下,可以进行升级。

“工程师笔记——MM32F0040使用总结"

案例六

MM32F0040 和 MM32SPIN05 的差异在哪些地方?

分析案例

RCC

MM32F0040 系列与 MM32SPIN05 系列在 RCC(复位和时钟控制器)的主要区别是 MM32F0040 增加了 PLL 部分,相关的 PLL 控制器在 PLLCFGR 寄存器中。

UART

MM32F0040 系列与 MM32SPIN05 系列在中断向量部分互相兼容,向量地址相同,主要区别是 MM32F0040 增加了 UART3 对应的中断。

中断

MM32F0040 系列与 MM32SPIN05 系列在中断向量部分互相兼容,向量地址相同,主要区别是 MM32F0040 增加了 UART3 对应的中断。

FLASH

MM32F0040 系列与 MM32SPIN05 系列在 Flash 部分互相兼容,寄存器及寄存位功能相同,主要区别是读保护设置方式有差异,及编程时间与寿命不同。

ADC

MM32F0040 系列与 MM32SPIN05 系列的 ADC 模块基本互相兼容,部分需要注意的功能差异如下:MM32F0040 增加了对任意通道的配置功能及相关 ADC转换触发源, MM32SPIN05 的采样保持时间是一处设置影响所有的通道,MM32F0040 系列的每个通道支持独立设置采样保持时间。

PWR

MM32F0040 系列与 MM32SPIN05 系列在 PWR 部分大部分功能互相兼容,寄存器及寄存位功能相同,主要区别是 MM32F0040 在低功耗模式下,增加了 DeepStop 的功能配置, Standby 唤醒方式下增加唤醒时间延迟的配置。

TIM1

MM32F0040 系列与 MM32SPIN05 系列在 TIM1 部分大部分功能互相兼容,寄存器及寄存位功能相同,主要区别是 MM32F0040 增加了 PWM Shift 移相功能。

参考建议

MM32F0040 的内核和大部分的外设兼容 MM32SPIN05,在此基础上部分外设做了增强。主要有以下几种情况:

1、两个系列外设相同,其寄存器基地址,寄存器功能,寄存器偏移地址,及寄存器位都是一样的。移植过程中,无需进行相关代码的更改,可在应用程序级别上保持相同的功能,外设的主要特性和行为均保持不变。

2、MM32F0040 针对功能做小幅度增强的外设,其相同部分的寄存器基地址,寄存器功能,寄存器偏移地址,及寄存器位也都是一样的。移植过程中,这部分代码无需更改,可在应用程序级别上保持相同的功能。只有在需要用到新功能时,才要通过调用新的函数,对新增的控制位和状态位的操作。

3、同类型的外设,MM32F0040 上功能发生了显著的变化,使用新的 IP,新架构,新特性,移植过程中,需要从上到下,从应用层开始进行替换。在当前的样例中,底层 HAL 已通过相同的函数名,来实现相同的操作,只是参数会随着寄存器的变化,从而导致参数变化。

案例七

MM32F0040 在全温全压下时钟精度范围?

分析案例

MM32F0040 支持内部 RC 时钟和外部晶振供电两种时钟来源。

MM32F0040 上电启动后先使用内部的 8 MHz 振荡器作为默认的系统时钟,随后可根程序配置选择使用内部的振荡器进行 PLL 倍频得到最终想要的主频(最高为 72 MHz,且默认为系统时钟 1 分频而来)。

“工程师笔记——MM32F0040使用总结"

参考建议

MM32F0040 全温范围时钟精度 ±2.5%,其精度在全温全压下可以满足串口正常通讯,且 MM32F0040的 UART 支持硬件波特率自适应功能,能够满足全温全压范围下的 UART 通信要求。

案例八

MM32F0040 的低功耗有几个模式?

分析案例

芯片有四种低功耗模式, 电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。

停机和待机模式下的典型和最大电流消耗:

“工程师笔记——MM32F0040使用总结"

参考建议

为了延长电池供电类产品寿命,在 MCU 不需要工作时,可以利用 MCU 的多种低功耗模式来节省功耗,当需要 MCU 开始工作时,可以通过外部唤醒源或者 IWDG 等方式唤醒 MCU 开始工作,从而达到分时工作的目的以节省产品的电流消耗。

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

围观 35