STM32F103C8T6 的 CAN 控制器和 CAN 收发器
1. CAN 控制器
- STM32F103C8T6 内置 CAN 控制器:该芯片内置了 bxCAN(Basic Extended CAN)控制器,支持 CAN 2.0A 和 2.0B 协议
- 功能:
- 数据帧的封装与解析
- 错误检测与处理
- 总线仲裁
- 位定时与同步
- 引脚:
CAN_RX
(PA11):接收数据
CAN_TX
(PA12):发送数据
2. CAN 收发器
- STM32F103C8T6 没有内置 CAN 收发器:CAN 收发器负责将 CAN 控制器的逻辑信号转换为 CAN 总线的差分信号(
CAN_H
和 CAN_L
),反之亦然
- 需要外接 CAN 收发器:常见的 CAN 收发器包括 TJA1050、MCP2551 等
- 功能:
- 将 CAN 控制器的逻辑信号转换为差分信号
- 提供电气隔离(部分型号)
- 保护 CAN 控制器免受总线电气干扰
总结
- CAN 控制器:STM32F103C8T6 内置了 CAN 控制器,支持 CAN 2.0A 和 2.0B 协议
- CAN 收发器:STM32F103C8T6 没有内置 CAN 收发器,需外接(如 TJA1050 或 MCP2551)
连接方式
- CAN 控制器:通过
CAN_RX
(PA11)和 CAN_TX
(PA12)与 CAN 收发器连接。
- CAN 收发器:将
CAN_H
和 CAN_L
连接到 CAN 总线
示例电路
- STM32F103C8T6:
PA11
(CAN_RX) → CAN 收发器的 RXD
PA12
(CAN_TX) → CAN 收发器的 TXD
- CAN 收发器(如 TJA1050):
总结
- STM32F103C8T6 内置 CAN 控制器,但需外接 CAN 收发器 才能实现完整的 CAN 通信功能