NXP

CAN比较

2019-07-12 12:00发布

常用的CAN总线分为:单线CAN、低速容错CAN、高速CAN。在讨论它们的区别之前先明确以下几点: 1、讨论它们是A类、B类还是C类总线并没有多大意义,因为高速CAN同样可以使用低速CAN的波特率(单线CAN的波特率一般为33.3KHz),而且在实际应用中也不会有问题。但低速CAN使用高速CAN的波特率就会出现问题,这个问题不是纯粹由波特率引起的,而是由收发器引起的,因为在电平转换效率方面,低速CAN的收发器明显比高速CAN的收发器低。 2、它们的位传输时序、位仲裁、错误、校验、帧结构等等(即所谓的数据链路层)是没有区别的。至于数据链路层以上的诸如传送层、网络层、会话层、应用层等的协议,都是人为规定的,也不足以成为它们的区别。 3、这三种总线的区别主要在物理层面上。而以传输介质和线的数量来论——单线CAN只有一条导线,低速容错CAN和高速CAN通过双绞线传输——这点显而易见,不足为奇。 4、因此这三种总线的主要区别在于电平逻辑。   这个区别可以从以下几种情况来说明:空闲时、有效时、睡眠时、唤醒时。这里假设收发器的电源为标准的5V12V 1、空闲时(即通常说的隐性位)。         2、有效时(即通常说的显性位)。     3、睡眠时         4、唤醒时             CAN总线的这些物理特性直接反映在收发器上。无论是哪种CAN总线,经过收发器后与微控制器的接口(TXDRXD引脚)都是一样的,这时的电平逻辑也会变得一致。现在有很多单片机内部集成了CAN模块,还有各种收发器可以方便的转换,CAN总线的应用更多地变成了上层协议的事情,已经越来越少人真正关注总线底层的问题,也很少人愿意从事总线方面的基础性的研究了。