一、CAN总线介绍
CAN总线应用场景:多设备互相通信

二、CAN硬件电路
2.1 CAN控制器
设备中CAN控制器无法直接接到CAN总线,需要CAN收发器接入CAN总线
-
CAN收发器功能:电平变换、输出驱动、输入采样
-
CAN收发器与CAN控制器、CAN总线连接关系 //四个引脚:TX、RX、CAN_H、CAN_L
-
与CAN控制器无需交叉(❌️UART):TX接TX,RX接RX
-
与CAN总线连接时:CAN_H接总线CAN_H, CAN_L接总线CAN_L
-
2.2 高速CAN
高速CAN使用闭环网络,CAN_H和CAN_L两端添加120Ω的终端电阻

终端电阻作用:
-
默认态拉高总线:没有设备操作总线的时候,将两根线像弹簧一样收紧,拉到同一高电平
类似I2C上拉电阻,默认输出高电平;低电平则是接地线

-
滤除回波反射:高频信号远距离传输时,回波会在线路终端反射,干扰原始信号
2.3 低速CAN
低速CAN使用开环网络,CAN_H和CAN_L其中一端添加2.2kΩ的终端电阻

两条CAN总线呈开路状态,终端电阻起滤波作用
2.4 CAN收发器
芯片引脚及功能如下:

芯片内部框图:

-
输入部分(从右到左):总线CANH及CANL的电压差输出显性、隐性电平
-
输出部分(从左到右):
-
隐性电平 :断开两个MOS管(不对总线进行任何操作),总线为默认态,输出高电平
-
显性电平:导通两个MOS管(对两条总线上拽下拉),总线形成电压差,输出低电平
-
TJA1050电路图:

参考资料:TJA1050 High speed CAN transceiver

如上图,三个TJA1050收发器串联连接,对应终端电阻并联连接
三、CAN电平标准
3.1 高速CAN电平标准
CAN总线采用差分信号,即两线电压差(V_CAN_H — V_CAN_L)传输数据位
高速CAN规定:
-
电压差为0V 时表示逻辑 1(隐性电平)
-
总线收紧,没有电压差为默认状态,故称隐性
-
-
电压差为2V 时表示逻辑 0(显性电平)
-
总线张开,产生电压差,需要设备干预的状态,故称显性
-

注意:显性和隐性表示的是总线状态!实际stm32电路是差分电平,而时序图画法则是逻辑电平,两者等效
3.2 低速CAN电平标准
低速CAN规定:
-
电压差为-1.5V 时表示逻辑1(隐性电平)
-
电压差为3V 时表示逻辑0(显性电平)
考虑低速CAN传输距离长,设计电压差更大,1和0变化行程更长了

高速&低速CAN电平设计思路:
-
高速CAN:总线闭环,两线电压相同,有利于快速恢复默认电平——传输速率快
-
低速CAN:总线开环,两线电压差大,恢复默认电平慢——传输速率慢
参考资料:
:CAN硬件电路&spm=1001.2101.3001.5002&articleId=162586630&d=1&t=3&u=fb9e99ebe54f496b8e5d5e4cc68a44b2)
1万+

被折叠的 条评论
为什么被折叠?



