CAN总线协议——iso11898-1

CAN总线规范 11898-1-优快云博客(参考道友的博客)

CAN总线协议11898包括:

本次要介绍的是11898-1,属于比较重要的协议,协议学习还看看原文档,第一手资料比较重要

该协议介绍了数据链路层和物理信号层上的内容,同时介绍了CAN总线的属性、电气特性等

前言部分:

介绍了数据链路层物理层对应OSI(网络通信协议)经典模型中的层1和层2

该模型同样适用于TCP/IP通信 ,HTTP应用层、传输层TCP/UDP 、网络层IP、网络接口层

电气属性:

规定了两根差分信号,以高速CAN信号为例CAN_High和CAN_Low线上电压均为2.5V,当压差为0V时,表示显性,即逻辑0,当CAN_High为3.5V,CAN_Low为1.5V时,差值是2V时,为隐性,表示逻辑1.

总线架构(介绍了CAN数据类型、帧类型、CAN总线属性特点)

1 CAN数据类型:经典CAN、CANfd(传输速度超过CAN,1Mbit/s)、是否支持扩展(CAN base 、 CAN extend)

2 CAN帧类型

数据帧:传输数据

过载帧:告诉接收单元还未做好接受准备(中止一段时间数据帧发送)

远程帧/遥控帧:用于接收单元向具有相同ID的发送单元发送数据请求。

错误帧:检测出错误的是时候,通知其他帧错误帧, 

间隔帧:将数据帧和远程帧与前面的帧分开

帧结构:

3 CAN总线特点:

分层架构

DLL和PL:如下分层

我做的项目中设计到下面层的有:

描述了三个层面的开发规范:物理层、数据链路层、交互层

然后就是一个网络相关诊断的规范(故障诊断开发需要看、bussof故障、超时故障)

物理层:(所有标准都要遵从 ISO 11898-1 -2 -5)

1比如说定义ECU通过双绞线正常通信速率是500kbit/s

2 Can收发器和can控制器推荐使用什么型号匹配

3定义了总线的can高和can低的电压(3.5 1.5)

4 差分电压上升沿和下降沿时间

5 can通信正常工作电压范围(不能过压和欠压工作,否则ecu就不能正常通信)

6 静电释放和过压保护的需求 ()测试最大电压等

推荐任何一个车身模块静电释放保护电压大于16KV

7 收发器(从传输到接收的时间延迟)回路延迟最大是300ns

数据链路层:

1 定义了一个位定时参数表,里面的内容和can控制器预分频系数的配置有关,比如说定义了采样位置、采样数量、位定时参数的最小值和最大值

2 can通信的数据帧格式要符合11898标准(can矩阵必须定中义DLC长度)

交互层

1 位格式和字节格式总共64个bit,大端还是小端传输接收、byteodertepy

2 报文发送方式

(周期(周期偏差不大于+-10%  小于20ms时候不大于+-百分之20 )、

事件(为了避免丢失,事件发送后重复发送多少次、每次间隔多少时间,规范定义了这些由整车厂确定,一般在can通信矩阵可以看到)

、周期事件:事件没发生就周期发送、事件发送就按事件报文发送

网络诊断:

1 定义了欠压过压恢复后要经过时间T,才开始网络相关诊断功能,定义了这个T的时间是多少(标称值1500ms,好像是恢复的这段时间可能不稳定才设置了一段这样的时间)

2 Busoff故障内容(以及故障发生条件):can协议定义了每个节点有一个错误计数器和接收错误计数器,检测到错误帧增加、发送和接收正确的后计数器减1。

3 ECU进入bussoff模式,需要执行:1初始化、2t时间内暂停发生报文尝试恢复(快恢复和慢恢复)3 恢复正常can通信

执行最多5次快恢复、任然存在错误转换到慢恢复(定义了这些时间值)

然后连续多少次的busoff模式,触发bussoff的超时监测(定义了这个次数)

3 节点超时故障,定义了检测到超时,多久时间应该存储故障码的最小时间、标称值、和最大值

CAN总线的知识点扩展:

总线型拓扑+广播发送机制——》导致发送冲突

此时需要总线仲裁(仲裁机制:逐位仲裁)  根据每个数据帧的唯一的数据ID

1 :线与机制

2 :回读机制

通信过程:

总线上的CAN报文,在总线空闲状态的时候,总线上的节点都会收到该报文,然后经过MAC层,MAC层就会进行错误检测、ACK应答、然后数据封装,

讲数据传输到LLC层,进行ID过滤,在该层中;LLC会进行过滤,判断是否是本节点需要的,需要就进行接收,往MCU进行发送,发送到应用层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值