最近刚接触CAN总线,对CAN总线方案有一些疑问,所以我在网上搜索了各种各样的问题CAN了解一些大神踩过的坑,总结如下:
1 什么是CAN总线
CAN控制器局域网络总线(简称串行通信总线标准可实现分布式实时控制。
2 CAN总线收发器
以NXP高速收发器芯片TJA以1042为例,收发器原理框图如下图所示:
CAN收发器负责逻辑电平和信号电平之间的转换,即从CAN控制芯片输出(TXD)逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为CAN总线的差分电平(CANH/CANL)。
3 CAN控制器
CAN控制器以下两点:
1>接收控制单元中微处理器发出的数据,处理数据并传输给CAN收发器。
2>CAN控制器接收CAN处理数据并将收发器收到的数据传输给微处理器。
基于以上,我一直有一个问题,我相信其他朋友也会有问题,那就是CAN收发器可以直接连接到MCU串口,答案是肯定的,但是..,不过由于CAN如果直接连接到总线的特性MCU串口必须由MCU来解析CAN特别是数据CAN总线上的CRC验证,会耗费MCU大量内存,得不偿失。
所以,如果要用的话CAN总线,一个CAN网络节点应包括:,或者集成CAN控制器的MCU芯片及CAN收发器。