问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32F103C6T6和C8T6的兼容性分析:一个实际案例

创作时间:
作者:
@小白创作中心

STM32F103C6T6和C8T6的兼容性分析:一个实际案例

引用
CSDN
1.
https://blog.csdn.net/m0_57128316/article/details/139261161

在嵌入式系统开发中,不同型号的微控制器之间是否可以互相替换是一个常见的问题。本文以STM32F103系列为例,探讨了STM32F103C6T6和STM32F103C8T6之间的兼容性问题。

问题背景

在设计一款避障小车时,由于操作失误导致主控板STM32F103C8T6损坏。实验室中没有多余的C8T6芯片,但有大量C6T6芯片。考虑到两者都属于STM32F1系列,采用相同的ARM Cortex-M3内核,且封装和引脚分布相同,因此尝试用C6T6直接替换C8T6。

实验现象

将程序烧录到C6T6后,发现以下现象:

  • LED指示灯能够正常工作
  • 巡线和避障等与电机驱动相关的模块无法正常工作

初步怀疑是电机或TB6612驱动芯片损坏。通过万用表测量,发现电机模块没有电压输入,排除了电机损坏的可能性。进一步使用示波器测量C6T6的PB6引脚,发现没有输出PWM方波,如图所示:


图:C6T6 PB6引脚示波器测量结果

原理解释

查阅相关资料得知,虽然C6T6在大多数情况下可以替代C8T6,但两者之间存在一些关键差异:

  • C8T6比C6T6多一个串口(USART3)
  • C8T6比C6T6多一个定时器(TIM4)
  • C8T6比C6T6多一个串行外设接口(SPI2)
  • C8T6比C6T6多一个I2C接口(I2C2)
  • C8T6的内存容量更大

在本项目中,电机驱动模块原本配置为使用TIM4定时器输出PWM方波来控制电机。由于C6T6缺少TIM4定时器,因此无法输出所需的PWM信号。

结论与建议

在进行芯片替换时,需要仔细核对目标芯片的功能配置。即使两个芯片在外观和基本架构上相似,也可能存在功能上的差异。在本例中,如果要使用C6T6替换C8T6,需要重新配置电机驱动模块,使用其他可用的定时器来生成PWM信号。

这个案例提醒我们在进行硬件设计和开发时,不仅要关注芯片的通用特性,更要重视其具体的功能差异,避免因兼容性问题导致的开发延误。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号