CAN驱动开发笔记(UCA82C251G)
1. 前言
在有线通信协议章节分析了CAN的理论基础,本章就实际应用开发过程中遇到的一些问题进行总结和分析。
我们已经了解了,CAN总线上每个CAN节点是由CAN收发器和CAN处理器共同作用下才能够连接到总线上进行通信,其中CAN控制器主要负责处理CAN协议的逻辑层(如帧格式、校验、波特率配置等),但无法直接连接物理CAN总线。CAN收发器主要负责电平转换(将CAN控制器的TTL电平转换为差分信号),提供一些抗干扰等防护功能,确保通信的可靠性。
像性能较强的一些微控制器或微处理器会集成CAN控制器,像华大的HC32F460、ST的STM32F1/F4/H7系列。
如果没有继承CAN控制器,通常使用SPI转CAN芯片,扩展CAN功能,当然这同样占用MCU资源,且效率不如内置CAN高。
常见的收发器:
- TJA1050:经典收发器,支持高速CAN(最高1Mbps)。
- UCA82C251G:国产芯片,低功耗
下面以HC32F460 + UCA82C251G为例简单展开描述CAN驱动开发。