主页 > 人工智能  > 

CAN-基础

CAN-基础

CAN 基础 概念分类特点物理层收发器线与编码方式通信方式采样点/位 常见故障 数据链路层CAN控制器数据帧分类数据帧格式数据帧DBC解析CRC校验远程帧 总线竞争与仲裁非破坏性仲裁机制 节点状态与错误处理机制节点状态错误处理机制错误帧

概念 分类 CANCAN FD高速CAN低俗容错CAN 特点 多主通讯 (节点之间 一对一、一对多、多对一、广播等)短帧结构:报文帧的有效字节有8个报文ID值越小,优先级越高非破坏性总线仲裁处理机制可靠的CRC校验方式,传输数据出错率极低在报文帧仲裁失败或传输期间被破坏有自动重发机制节点在错误严重的情况下,具有自动脱离总线的功能,切断它与总线的联系,不影响总线的正常工作 物理层 收发器

数字信号 <–> 物理信号(CAN_H/CAN_L)两者之间的转换采用差分电平信号 属于OSI模型中的物理层

线与

多个CAN节点并介到同一总线时,只要其中一个节点输出低电平,总线就为低电平 当所有节点输出高电平,总线才为高电平

编码方式 通信方式

异步串行通信:采样点按约定的频率采样数据,根据波特率采样

为减少波特率的误差带来的通信错误 解决:CAN总线规定信号的跳变沿时刻进行同步,将误差累积限制在两个跳变沿 问题:发送多个相同位时没有跳变沿用于同步,会导致误差不断累计 解决:使用位填充的方法进行同步:采用填充位在连续5个相同位后插入一个相反位,产生跳变沿,用于同步(这里时CAN控制器自己去填充)

采样点/位

一个位时间=1/波特率 位时间:同步段、传播段、相位缓冲段1、相位缓冲段2 1位时间=10时间份额

同步段:1时间份额传播段:1时间份额相位缓冲段1:4时间份额相位缓冲段2:4时间份额 一个时间份额:Tq 采样点:规定在第x个时间份额后进行采样 常见故障 数据链路层 CAN控制器

属于OSI模型中的数据链路层

数据帧 分类 数据帧

发送节点向接收节点传送数据,使用最多

远程帧

接收节点向某个发送节点请求数据(发送节点让另外一个节点反馈数据的时候)

错误帧

当总线、某节点检测出错误时向其他节点通知错误的帧

过载帧

接收节点向发送节点通知自身接收能力的帧

间隔帧

数据帧或远程帧与前面的帧分离的帧

数据帧格式

格式

帧起始(1位):显性位SOF,标识一个数据帧的开始,用于同步;只有在总线空闲期间,节点才能发送SOF(在总线空闲的时候,发送节点发出帧起始;其他接收节点从这个帧起始位进行同步(用于减少累计误差))

ID(11位):标识符,唯一确定一条报文,表明报文的含义,可以包括报文的源地址、目标地址;用于确定报文的仲裁优先级(ID数值越小,优先级越高)SRR(1位):无实际意义,SRR永远置1IDE(1位):用于区分标准帧和扩展帧:标准帧IDE=0(11位ID);扩展帧IDE=1(29位ID)extended ID(18位):如果IDE=1RTR位(1位):区分数据帧和远程帧(没有数据场???很少用):数据帧RTR=0; 远程帧RTR=1

r1(1位):保留位,显性电平0填充

r0(1位):保留位,显性电平0填充

DLC(4位):数据场包含数据的字节数

数据场(0-8个字节):实际CAN数据发送的内容

CRC(15位):进行CRC校验,CRC位之前的所有数据位根据一定规则进行校验

DEL(1位):CRC界定符,在CRC界定符之前 从SOF开始,到DEL之前进行位填充,显性位电平0

ACK(1位): 确定报文被至少一个节点正确接收(发送节点ACK置1(隐性电平),接受方正确接收报文,则将ACK位置0(显性电平)),发送节点查看ACK位从以隐性变显性,知道有节点接收数据,如果没有节点接收,则报相应的错误帧

DEL(1位):界定符,隐性位电平1

EOF(7位):连续7个隐性位ITM(3位):连续3个隐性位ITM之后,总线会进入空闲状态,此时其他节点可以发送报文,如果节点检测到11个连续的隐性位,就认为总线进入空闲阶段(1+7+3) 数据帧DBC解析 CRC校验

远程帧 标准帧扩展帧

总线竞争与仲裁

竞争:多个节点同时要发送数据

非破坏性仲裁机制

仲裁发生在仲裁段 采用“线与”机制 ID值越小,优先级越高 仲裁失败进入“只听”模式

节点状态与错误处理机制 节点状态 主动错误状态

设备正常参与总线通信,检测到错误时发送主动错误标识

被动错误状态

设备正常参与总线通信,检测到错误时发送主动错误标识

总线关闭

数据帧的收发被禁止,脱离总线

错误处理机制 CRC 错误位填充错误应答错误位发送错误格式错误

错误帧

标签:

CAN-基础由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CAN-基础