[MM32生态] 灵动微MM32F103单片机常见问题解答

[复制链接]
 楼主| yang15622383762 发表于 2021-8-2 16:26 | 显示全部楼层 |阅读模式
灵动微MM32F103系列产品使用高性能内核M3的 32 位微控制器,典型工作频率可达144MHZ,内置高速存储器,丰富的增强型 I/O 端口和外设连接到外部总线。提供5种封装形式,包括 LQFP100、LQFP64、LQFP48、LQFP32 和 QFN32 共 5 种封装形式。根据不同的封装形式,器件中的外设配置不尽相同。该产品适合使用在电机驱动和应用控制,医疗和手持设备,工业应用以及警报系统等。下面为大家解答关于MM32F103产品中的一些常见问题。

SPI
1 、SPI 支持哪几种模式
按传输方向分
1) 全双工模式,同时收发数据,同时使能 TX 和 RX;
2) 半双工,在不同时间段进行读写,enable TX 时 DISABLE RX,ENABLE RX 时 DISABLE TX;
按采样时序分
1) 模式 0,空闲时时钟为低,第一个时钟沿采样;
2) 模式 1,空闲时时钟为低,第二个时钟沿采样;
3) 模式 2,空闲时时钟为高,第一个时钟沿采样;
4) 模式 3,空闲时时钟为高,第二个时钟沿采样;

2 、SPI 主机通信不正常有哪些原因
常见原因:
1) 配置不正确,表现为无时钟输出;
2) 模式配置不正确,表现为采样点与预期不一致(SPI_CCTL bit0 = 0 为第二个时钟沿采样);
3) 速度配置过快,表现为波形异常;
4) 数据位数配置与 device 不一致,表现为 CLK 个数不对.
5) CS 信号不正确,表现为 CS 信号与 device 时序不对应;

Vbat 的电源接入有什么要求;
如果在应用中没有外部电池, 建议 VBAT 在外部通过一个 100nF 的陶瓷电容与 VDD 相连. 如外接为电池,为保证不损坏,建议在外部 VBAT 和电源之间连接一个低压降二极管。如无外接电池,即使不用 RTC 功能,也需要给 VBAT 供电;

KEIL 例程编译失败可能导致的原因
常见原因:
1) 没有安装 keil4 的兼容包,软件名称为:MDKCM516_legacySuppor***K4(出问题最多)
2) 移动了 keil 工程文件,导致无法找到相对路径的文件
3) 程序太大,超过 FLASH 或者 SRAM 容量
解决办法
针对 1 和 2 的问题,将 BOOT0 和 BOOT1 接到高电平,复位或者重新上电一下,然后再读 ID。若能读到 ID,则在此模式下擦除程序,然后再将 BOOT0 和 BOOT1 接低电平,这时候 ID 就能读到了。

KEIL 程序编译通过了,可是下载程序失败
常见原因:
1) 硬件电路没有接好,查看 debug 工具是否连接上板子中的 JTAG 或者 SWD,能否读到芯片IDCODE。
2) 若是 Debug 工具能读到芯片 ID,但是无法下载,原因是没有选择 Description 型号,具体配置选择如下图所示。

外部高速时钟接法
外部无源晶振电路如下图所示,晶振两脚接约 22pf 电容,并上 1M 反馈电阻。因芯片内部没有集成反馈电阻,为保证 XTAL 起振,必须接 1M 欧姆电阻;
&nBSP;
外部时钟异常常见原因
运行程序通常用到外部高速时钟做系统时钟源,有时候在调试中会遇到系统时钟异常导致程序停止运行,以下列出几点可能的原因:
1) 外部晶振未加反馈电阻,导致外部无稳定时钟输入;
2) 外部晶振范围 8~24MHz;
3) 晶振与芯片引脚间断路;
4) 晶振质量问题导致,不正常起振;
5) 芯片系统时钟配置过程错误等等
 楼主| yang15622383762 发表于 2021-8-2 16:27 | 显示全部楼层

spi
1 、SPI 支持哪几种模式
按传输方向分
1) 全双工模式,同时收发数据,同时使能 TX 和 RX;
2) 半双工,在不同时间段进行读写,enable TX 时 DISABLE RX,ENABLE RX 时 DISABLE TX;
按采样时序分
1) 模式 0,空闲时时钟为低,第一个时钟沿采样;
2) 模式 1,空闲时时钟为低,第二个时钟沿采样;
3) 模式 2,空闲时时钟为高,第一个时钟沿采样;
4) 模式 3,空闲时时钟为高,第二个时钟沿采样;
单片小菜 发表于 2021-8-2 17:30 | 显示全部楼层
感谢楼主的汇总。后续持续关注这个帖子。
weifeng90 发表于 2021-8-4 07:42 来自手机 | 显示全部楼层
有没有CAN-FD外设啊?
cyclefly 发表于 2021-8-9 17:13 | 显示全部楼层
提供了一些思路
carpsnow 发表于 2021-8-13 08:52 | 显示全部楼层
感谢分享,后面可以一点点的把遇到的问题累计到这个帖子上
海滨消消 发表于 2021-8-14 11:32 来自手机 | 显示全部楼层
学习借鉴一下
内政奇才 发表于 2021-8-16 13:18 来自手机 | 显示全部楼层
值得借鉴,扩宽一下思路
laocuo1142 发表于 2021-8-16 19:00 来自手机 | 显示全部楼层
都是楼主的经验总结吗
redone 发表于 2021-8-20 15:53 | 显示全部楼层
晶振那个,偶然会遇到,问题不大,排查容易忽略
海滨消消 发表于 2021-8-26 10:10 来自手机 | 显示全部楼层
感谢楼主提供了一些思路
Annie556 发表于 2021-8-26 16:33 | 显示全部楼层
这个教程讲的很好,方便入门了,挺感谢楼主
B1lanche 发表于 2021-8-26 16:41 | 显示全部楼层
外部晶振加啥样的反馈电阻,是并在晶振两端的么?取值大概是多少?
Candic12e 发表于 2021-8-26 16:45 | 显示全部楼层
之前我看很多MCU都有预留1M的电阻,这个电阻后来我搜了一下,是起稳定作用的,现在的MCU基本都带,所以就是预留板位即可,,没想到MM32还不带内置这个电阻
Betty996 发表于 2021-8-26 16:45 | 显示全部楼层
期待楼主后续分享经验呀,这种经验很难得的
Estelle1999 发表于 2021-8-26 16:47 | 显示全部楼层
请问,用MM32的内部时钟咋样,好用不
Belle1257 发表于 2021-8-26 16:48 | 显示全部楼层
时钟这个1M电阻这事儿,属实没想到
Charlotte夏 发表于 2021-8-26 16:50 | 显示全部楼层
总结一下就是,其实重要的还是时钟那块的事儿,其他都还好说
Charlene沙 发表于 2021-8-26 16:50 | 显示全部楼层
期待楼主后续吧,这个都是挺好的经验 感谢
Betty1299 发表于 2021-8-26 16:53 | 显示全部楼层
MM32做电机控制很多,用SPI通讯的也多,这帖子值得学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

67

帖子

0

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