打印
[MM32软件]

MM32F0040使用总结

[复制链接]
446|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yorkbarney|  楼主 | 2024-2-18 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[size=1.125]案例一
[size=1.125]MM32F0040 的工作电压范围在 2.0V~5.5V 之间,当 MCU 工作在 3.3V 供电电压时,能够容忍 5.0V 的外设操作吗?
[size=1.125]分析案例
[size=1.125]MM32F0040 支持 2.0V ~ 5.5V 的宽电压工作范围,所有的引脚为标准输入/输出引脚,输入信号不得超过 VDD 供电电压,所以当 MCU 工作在 3.3V 供电电压时,不支持 5.0V 的外设操作。
[size=1.125]参考建议
[size=1.125]根据系统硬件设计需求,可以将 MM32F0040 的供电电压提升至 5.0V,或者是在 MM32F0040 与 5.0V 外设之间增加电压匹配电路或电平转换芯片,使之与外设电压保持一致。
[size=1.125]案例二
[size=1.125]MM32F0040 支持 ISP 方式进行程序烧录吗?
[size=1.125]分析案例
[size=1.125]MM32F0040 在 QFN20 和 TSSOP20 封装芯片中不支持 ISP 功能。
[size=1.125]参考建议
[size=1.125]MM32F0040的烧录方式可以使用 J-Link、U-Link、CMSIS-DAP 或者其它第三方的专用烧录工具来进行程序烧录。
[size=1.125]案例三
[size=1.125]之前项目有用到 MM32F0010 和 MM32F0020,但都没有 DMA 功能,MM32F0040 带有 DMA 功能吗?
[size=1.125]分析案例
[size=1.125]MM32F0040 带有 1 路 5 通道的DMA控制器,支持的外设类型包括 ADC、I2C、SPI、TIMx 和 UART。
[size=1.125]参考建议
[size=1.125]MM32F0040 DMA 共有 5 个通道,可配置处理优先级分为很高、高、中、低 4 个级别,如果优先级相同,则由硬件自动决定处理顺序(低编号通道请求优先处理)。数据传输宽度可配置为字节、半字、全字 3 个类型,数据会根据源的宽度配置进行打包,再根据目的地的宽度进行拆包,但要求源地址和目的地址必须是根据各自的数据传输宽度对齐。MM32F0040 DMA 支持循环缓冲控制,每个通道支持 DMA 半传输、DMA 传输完成和 DMA 传输出错 3 种事件标志,支持存储器对存储器传输,支持的数据传输方向为外设到存储器,或者是存储器到外设。
[size=1.125]案例四
[size=1.125]我想使用 MM32F0040 替换 MM32SPIN05,对于 ADC 部分的功能有哪些区别呢?
[size=1.125]分析案例
[size=1.125]MM32F0040 当前仅有 QFN20 和 TSSOP20 这两种封装,所以对于被替换的型号应该是MM32SPIN05NW 或者是 MM32SPIN05TW 与之封装相一致的。
[size=1.125]参考建议
[size=1.125]MM32F0040 与 MM32SPIN05 的 ADC 都是 12 位精度的逐次逼近型(SAR)的模数转换器,最大的输入时钟经由 PCLK2 分频产生,都不得超过 16MHz,最高可实现高达 1Msps 的转换速率。ADC 都支持 DMA 传输、都支持软件启动、外部触发启动和 TIMER 匹配这 3 种转换开始条件,都支持普通工作模式和任意通道工作模式。但 MM32F0040 还支持注入通道的工作模式,相比于 MM32SPIN05 能够实现更加灵活的 ADC 采样和功能实现。
[size=1.125]案例五
[size=1.125]我想使用 MM32F0040 作为 MM32F0020 的升级可以吗?
[size=1.125]分析案例
[size=1.125]很多用户在使用 MM32F0020 进行产品开发到后期的时候,会出现因为 FLASH 空间或者 SRAM 空间不够用,而导致需要切换芯片型号的问题。MM32F0040 带有 4KB 的 SRAM 空间,是 MM32F0020 的 2 倍,其引脚封装相同,成了客户首选的替换型号。
[size=1.125]参考建议
[size=1.125]MM32F0040 与 MM32F0020 的封装相同,但在性能和外设上还是有不少不同之处的,部分可以参照下表所示。此外 MM32F0040 还增加了 MM32F0020 所不具有的外设功能,比如硬件除法器、比较器、32 位定时器等。所以项目之初做好评估,在硬件设计时做好兼容,在替换的时候,需要结合项目实际的硬件需求,做好对比;满足条件的情况下,可以进行升级。
[size=1.125]
[size=1.125]案例六
[size=1.125]MM32F0040 和 MM32SPIN05 的差异在哪些地方?
[size=1.125]分析案例
[size=1.125]RCC
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在 RCC(复位和时钟控制器)的主要区别是 MM32F0040 增加了 PLL 部分,相关的 PLL 控制器在 PLLCFGR 寄存器中。
[size=1.125]UART
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在中断向量部分互相兼容,向量地址相同,主要区别是 MM32F0040 增加了 UART3 对应的中断。
[size=1.125]中断
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在中断向量部分互相兼容,向量地址相同,主要区别是 MM32F0040 增加了 UART3 对应的中断。
[size=1.125]FLASH
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在 Flash 部分互相兼容,寄存器及寄存位功能相同,主要区别是读保护设置方式有差异,及编程时间与寿命不同。
[size=1.125]ADC
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列的 ADC 模块基本互相兼容,部分需要注意的功能差异如下:MM32F0040 增加了对任意通道的配置功能及相关 ADC转换触发源, MM32SPIN05 的采样保持时间是一处设置影响所有的通道,MM32F0040 系列的每个通道支持独立设置采样保持时间。
[size=1.125]PWR
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在 PWR 部分大部分功能互相兼容,寄存器及寄存位功能相同,主要区别是 MM32F0040 在低功耗模式下,增加了 DeepStop 的功能配置, Standby 唤醒方式下增加唤醒时间延迟的配置。
[size=1.125]TIM1
[size=1.125]MM32F0040 系列与 MM32SPIN05 系列在 TIM1 部分大部分功能互相兼容,寄存器及寄存位功能相同,主要区别是 MM32F0040 增加了 PWM Shift 移相功能。
[size=1.125]参考建议
[size=1.125]MM32F0040 的内核和大部分的外设兼容 MM32SPIN05,在此基础上部分外设做了增强。主要有以下几种情况:
[size=1.125]1、两个系列外设相同,其寄存器基地址,寄存器功能,寄存器偏移地址,及寄存器位都是一样的。移植过程中,无需进行相关代码的更改,可在应用程序级别上保持相同的功能,外设的主要特性和行为均保持不变。
[size=1.125]2、MM32F0040 针对功能做小幅度增强的外设,其相同部分的寄存器基地址,寄存器功能,寄存器偏移地址,及寄存器位也都是一样的。移植过程中,这部分代码无需更改,可在应用程序级别上保持相同的功能。只有在需要用到新功能时,才要通过调用新的函数,对新增的控制位和状态位的操作。
[size=1.125]3、同类型的外设,MM32F0040 上功能发生了显著的变化,使用新的 IP,新架构,新特性,移植过程中,需要从上到下,从应用层开始进行替换。在当前的样例中,底层 HAL 已通过相同的函数名,来实现相同的操作,只是参数会随着寄存器的变化,从而导致参数变化。
[size=1.125]案例七
[size=1.125]MM32F0040 在全温全压下时钟精度范围?
[size=1.125]分析案例
[size=1.125]MM32F0040 支持内部 RC 时钟和外部晶振供电两种时钟来源。
[size=1.125]MM32F0040 上电启动后先使用内部的 8 MHz 振荡器作为默认的系统时钟,随后可根程序配置选择使用内部的振荡器进行 PLL 倍频得到最终想要的主频(最高为 72 MHz,且默认为系统时钟 1 分频而来)。
[size=1.125]
[size=1.125]参考建议
[size=1.125]MM32F0040 全温范围时钟精度 ±2.5%,其精度在全温全压下可以满足串口正常通讯,且 MM32F0040的 UART 支持硬件波特率自适应功能,能够满足全温全压范围下的 UART 通信要求。
[size=1.125]案例八
[size=1.125]MM32F0040 的低功耗有几个模式?
[size=1.125]分析案例
[size=1.125]芯片有四种低功耗模式, 电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。
[size=1.125]停机和待机模式下的典型和最大电流消耗:
[size=1.125]
[size=1.125]参考建议
[size=1.125]为了延长电池供电类产品寿命,在 MCU 不需要工作时,可以利用 MCU 的多种低功耗模式来节省功耗,当需要 MCU 开始工作时,可以通过外部唤醒源或者 IWDG 等方式唤醒 MCU 开始工作,从而达到分时工作的目的以节省产品的电流消耗。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

1235

帖子

1

粉丝