[MCU] 灵动微MM32F103单片机常见问题解答

火辣西米秀   2022-3-9 07:34 楼主

灵动微MM32F103系列产品使用高性能内核M3的 32 位微控制器,典型工作频率可达144MHZ,内置高速存储器,丰富的增强型 I/O 端口和外设连接到外部总线。提供5种封装形式,包括 LQFP100、LQFP64、LQFP48、LQFP32 和 QFN32 共 5 种封装形式。根据不同的封装形式,器件中的外设配置不尽相同。该产品适合使用在电机驱动和应用控制,医疗和手持设备,工业应用以及警报系统等。

SPI


1 、SPI 支持哪几种模式


按传输方向分

  • 全双工模式,同时收发数据,同时使能 TX 和 RX;
  • 半双工,在不同时间段进行读写,ENABLE TX 时 DISABLE RX,ENABLE RX 时 DISABLE TX;
  • 按采样时序分
  • 模式 0,空闲时时钟为低,第一个时钟沿采样;
  • 模式 1,空闲时时钟为低,第二个时钟沿采样;
  • 模式 2,空闲时时钟为高,第一个时钟沿采样;
  • 模式 3,空闲时时钟为高,第二个时钟沿采样;


2 、SPI 主机通信不正常有哪些原因


常见原因:

 

配置不正确,表现为无时钟输出;
模式配置不正确,表现为采样点与预期不一致(SPI_CCTL bit0 = 0 为第二个时钟沿采样);
速度配置过快,表现为波形异常;
数据位数配置与 device 不一致,表现为 CLK 个数不对.
CS 信号不正确,表现为 CS 信号与 device 时序不对应;
Vbat 的电源接入有什么要求;
如果在应用中没有外部电池, 建议 VBAT 在外部通过一个 100nF 的陶瓷电容与 VDD 相连. 如外接为电池,为保证不损坏,建议在外部 VBAT 和电源之间连接一个低压降二极管。如无外接电池,即使不用 RTC 功能,也需要给 VBAT 供电;

 

KEIL 例程编译失败可能导致的原因


常见原因:

 

没有安装 keil4 的兼容包,软件名称为:MDKCM516_legacySupportMDK4(出问题最多)
移动了 keil 工程文件,导致无法找到相对路径的文件
程序太大,超过 FLASH 或者 SRAM 容量


解决办法


针对 1 和 2 的问题,将 BOOT0 和 BOOT1 接到高电平,复位或者重新上电一下,然后再读 ID。若能读到 ID,则在此模式下擦除程序,然后再将 BOOT0 和 BOOT1 接低电平,这时候 ID 就能读到了。


KEIL 程序编译通过了,可是下载程序失败


常见原因:

 

硬件电路没有接好,查看 debug 工具是否连接上板子中的 JTAG 或者 SWD,能否读到芯片IDCODE。
若是 Debug 工具能读到芯片 ID,但是无法下载,原因是没有选择 Description 型号,具体配置选择如下图所示。

 

image.png  

 

外部高速时钟接法


外部无源晶振电路如下图所示,晶振两脚接约 22pf 电容,并上 1M 反馈电阻。因芯片内部没有集成反馈电阻,为保证 XTAL 起振,必须接 1M 欧姆电阻;

image.png  


外部时钟异常常见原因


运行程序通常用到外部高速时钟做系统时钟源,有时候在调试中会遇到系统时钟异常导致程序停止运行,以下列出几点可能的原因:

  • 外部晶振未加反馈电阻,导致外部无稳定时钟输入;
  • 外部晶振范围 8~24MHz;
  • 晶振与芯片引脚间断路;
  • 晶振质量问题导致,不正常起振;
  • 芯片系统时钟配置过程错误等等

回复评论 (2)

希望国产能产M7核的CPU,如意法半导体的STM32H7系列

点赞  2023-6-10 18:15

现在还出来双核M7的MCU了,主频可以跑800MHZ

点赞  2024-1-2 11:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复