CAN的硬件电路和硬件逻辑介绍

一、CAN总线简介

        CAN总线(Controller Area Network Bus)控制器局域网总线。

        仅使用两根线(CAN_H 、CAN_L)无需共地,是差分信号通信,抗干扰能力强。

        高速CAN(国际标准叫:ISO11898): 125k ~ 1M bps , < 40m。

        低速CAN(国际标准叫:ISO11519): 10k ~ 125k bps , < 1km。

        异步,无需时钟线,通信速率由设备各自约定。

        半双工,可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序。

        11位 / 29位报文ID , 用于区分消息功能,同时决定优先级。

        可配置1~8字节的有效载荷。

        可实现广播式和请求式两种传输方式。

        应答、CRC校验、位填充、位同步、错误处理等特性。

二、CAN的硬件电路

        在每个设备上会有两根CAN_H 和 CAN_L连接CAN收发器,最后由CAN收发器的两根输出来连接到闭环或开环网络中。

a、高速CAN总线

        在高速CAN总线中两端添加了120Ω的终端电阻,他们主要是为了匹配阻抗,避免末端振荡。同时120Ω的电阻可以加速放电,让CAN快速回到隐形状态。

        也就是说,120Ω的电阻首先是匹配阻抗避免振铃现象的发生,同时他可以加速放电,让CAN快速回到隐形状态。回归速度差不多是10几ns。(注意:1s = 10 ^ 3ms = 10 ^ 6us =  10 ^ 9 ns)

b、CAN收发器

        CAN收发器主要是信号转换、增强驱动能力、抗干扰 和 故障博湖功能。

  • 发送方向

    将微控制器的单端逻辑信号(TX)转换为 CAN 总线的差分信号(CAN_H 和 CAN_L)。
  • 接收方向

    将 CAN 总线的差分信号(CAN_H 和 CAN_L)转换为微控制器的单端逻辑信号(RX)。

c、低速CAN总线

        低速CAN是一个开环网络,他的添加了两个2.2kΩ的终端电阻,但是电阻的左边一端实际上是悬空的,他虽然不起作用但是可以防止回波反射。

d、CAN的电平标准

        在高速CAN总线的时候,两线电压都大致为2.5V,电压差为0V的时候表示逻辑1(隐性电平)。

        CAN_H = 3.5V CAN_L = 1.5V , 电压差为2V时表示逻辑0(显性电平)。

        在低速CAN总线的时候,CAN_L = 3.25V CAN_H = 1.75V,电压差-1.5V时为逻辑1(隐性)。

        CAN_H = 4V , CNA_L = 1V , 电压差为3V时表示逻辑0(显性电平)。

        因为低速CAN总线可传输距离可达1KM,所以要考虑到压降,更大的差值有利于分清逻辑。

三、CAN收发器芯片TJA1050

        这个芯片框图中,左边部分是连接MCU的部分,右边是连接到CAN总线的部分,S是选择高速模式还是静默模式,Vref是输出的参考电压可以不用。那么只剩下 TXD、RXD 和 CANH 、CANL了。

        首先单片机通过TXD来输出,当TXD为1的时候,会走上面一路至DRIVER让上下两个场效应管都断开,即隐形电平 ,反过来如果TXD为0的时候,两个场效应管都道通,导致CANH到VCC而CANL到GND,即显性电平 。 同时还有200uA的电流源,类似上拉电阻,当TXD悬空时保持默认1的状态。同时还有TXD DOMINANT TIME-OUT TIMER(TXD显性超时计时器),如果TXD老拉着电平为0,一段时间后收发器会自动释放总线,防止总线瘫痪。

        其次单片机通过CANH和CANL经过RECEIVER(比较器)来判断是否有电压差,有输出1否则为0,但经过了左边的两个场效应管会反向,即RECEIVER输出1,RXD接收到的是0。

四、CAN物理层特性

参考

CAN总线入门教程-全面细致 面包板教学 多机通信_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值