CAN通讯理解(1)

物理层

在这里插入图片描述

图一 CAN通讯OSI模型
CAN通讯主要应用于汽车领域。如图一为CAN的OSI模型,由图中可以看出,CAN通讯主要包括了物理层和数据链路层,其中协议11898-1对应于CAN Controller,依据接受消息数量的多少,为其提供额外的存储空间。协议11898-2对应于高速can收发器。协议11898-3对应于低速can收发器。 CAN线长度最长为40m,且通过双绞线的形式,每米建议扭转30次,CAN总线依据收发器的能力最多可以有32个can节点。

物理构成

在这里插入图片描述

图二 CAN网络示意图
如图二为CAN网络结构示意图,对于低速CAN收发器,其最高传输速率为125k/s,且CAN线高和CAN低之间不需要终端电阻;对于高速CAN收发器,其最高传输速率为1M/s,且CAN高和CAN低之间需要120Ω终端电阻,用以消除电缆高频传输时传输末端的反射;下图三、四为can收发器差分电平,其中1是隐性,0为显性。can通讯是多点同时发送,遵循线与逻辑。除了采用差分电路形式以外,在电路中节点中加入共模抑制圈来降低其他干扰,保证数据的传输。

在这里插入图片描述

图三 高速CAN收发器差分电平

在这里插入图片描述

图四 低速CAN收发器差分电平

communication

CAN的传输是通过事件驱动的方式,采用去中心化,分布式原则,即在CAN总线休闲空间时,任意节点均有资格发送消息,进行竞争总裁;同时消息在传送过程中采取广播的形式,即网络中每个节点均有资格接受到信息,至于是否接受信息,依据ID号,由接受节点判断是否过滤。
在这里插入图片描述

图五 CAN通讯矩阵
在同一时刻,存在多个节点同时主动发送消息,总线不同ID进行竞争,依据1为隐性,0为显性的特点,ID号越小,竞争取胜的概率越大;通过总线仲裁之后,只能有一个节点发送信息,其他节点进行接收,是否接受仍然通过ID号进行过滤。如上图所示,CAN-BUS上ID号0X12的竞争取胜,信息从节点A传送至节点B。

帧格式

下面简单介绍下帧格式。在CAN总线上,信息传输是一帧一帧的传送,也可以称作为数据包。帧依据功能不同,分为数据帧,远程帧,错误帧等。

数据帧

在这里插入图片描述

图六 数据帧格式
标志位位数/bit功能
sof1发送一个显性位边沿,网络节点以此开始同步
id11定义消息优先级,总线竞争力,ID号越小优先级越高
RTR1显性表示数据帧;隐性表示远程帧
r1保留位
dlc4表示数据场字节长度
crc16有对应的校验算法,包含一位隐性界定符,对从sof到数据的所有数据进行校验
ack2由接受方进行确认,收到消息给出一个显性位;同时发送方会监听此位是否显性,否则报错
IDE1采用扩展帧还是标准帧,两者区别是ID号位数
EOF7结束标志,包含7位隐性位
ITM3帧间隔,必须等待帧间隔才能再次发送消息

在这里插入图片描述

图七 扩展帧格式

远程帧 错误帧

在这里插入图片描述

图八 远程帧格式

在这里插入图片描述

图九 错误帧格式

总线同步

首先谈下为什么要同步,顾名思义,同步就是让发送节点准备好要发送数据了,接受节点准备好,要接受数据了,不会帧数据丢失。CAN总线同步没有单独的时钟信号,只能通过帧位来进行同步。首次同步由sof位发起;重同步的方法是,采取位填充机制,即每五个同极性的位后面会被插入一个反极性位,以确保接受节点采集到足够的边沿进行重同步,同时接收节点会对接受到的帧进行处理,剔除为同步插入的位。

以上为个人整理理解,如有错误和补充,请批评指正。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值