[MM32软件] 使用灵动微MM32F3277G7P替换STM32F103RCT6程序死机问题解决方法

[复制链接]
 楼主| tpgf 发表于 2021-12-27 10:57 | 显示全部楼层 |阅读模式
最近st芯片价格高,想用国产芯片代替。找到灵动微电子的代理要了几片样片mm32f3277g7p。管脚兼容,但软件要使用灵动微的固件库重新编译一次,还要修改一些时钟配置函数。编译完成后下载到电路板上的芯片内,程序可以运行起来,但我的主板要控制一个电磁阀。每当这个阀打开后mm32f3277g7p很容易死机,表现就是显示停留在当前界面,外设不管怎么动都没反应。需要断电重启才能运行。相同的硬件stm32f103rct6就不会出现死机。查找原理图后发现,mm32的晶振电路和stm32的晶振电路不同。

stm32的晶振电路,晶振两引脚处并联1MΩ电阻。单片机晶振引脚到晶振之间没有串联电阻。

9814961c92b6c01243.png

图1、stm32f103rct6晶振电路

而mm32用户手册给出的晶振电路是单片机晶振引脚到晶振之间要串联一个电阻。

7081761c92b8724759.png

图2、mm32官方使用手册给出的晶振电路

官方评估开发板给出的原理图为晶振两端并联的电阻值为510KΩ,串联的电阻值为510Ω。


8764361c92b80b6ca8.png
图3、mm32官方eMiniBoard (MM32F3277G7P)评估板原理图给出的晶振电路

更换为官方给出的电阻值后,程序死机问题没有再出现。510Ω的电阻不能省略,不然一样容易死机。

想用国产芯片替换stm32的芯片,一定要看好这些细节是不是也兼容。希望国产芯片能够发展壮大起来吧。

/*******************************************************************************************/

2021.12.6更新:使用官方评估板给出的方案,把510Ω电阻串接在芯片的6脚,即OSC_OUT管脚,程序依然会死机。而510Ω电阻串接在芯片5脚,即OSC_IN管脚程序不会死机。不知道是不是官方画错位置了?有没有人试过呢。

另外,我把两个电阻换成150KΩ和150Ω的组合,150Ω串接在芯片5脚,程序也不会死机。

8884361c92b8e7c137.png

图4、按官方图给的位置焊接上510Ω电阻依然会出现程序死机的情况。


3994961c92b9484273.png


图5、mm32f3277g7p管脚图




您需要登录后才可以回帖 登录 | 注册

本版积分规则

2333

主题

17447

帖子

21

粉丝
快速回复 返回顶部 返回列表