关于CAN总线的理解

最近刚接触CAN总线,对CAN总线方案有些疑问,遂网上搜索各种关于CAN总线的资料,了解一些大神们踩过的坑,总结如下:

1 什么是CAN总线

CAN总线是控制器局域网络(Controller Area Network)的简称是一种能够实现分布式实时控制的串行通讯总线标准。

2 CAN总线收发器

以NXP高速收发器芯片TJA1042为例来说明,收发器原理框图如下图所示:

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网络节点应该包含:MCU芯片、CAN控制器、CAN收发器 ,或者集成CAN控制器的MCU芯片及CAN收发器。

猜你喜欢

转载自blog.csdn.net/piaolingyekong/article/details/124131041
今日推荐