CAN笔记(10) 错误种类和输出
CAN笔记(10) 错误种类和输出
- 1. 错误种类
- 1.1. 位错误
- 1.2. 格式错误
- 2. 错误帧的输出
1. 错误种类
错误共有 5 种,多种错误可能同时发生:
- 位错误
- 填充错误
- CRC 错误
- 格式错误
- ACK 错误
错误的种类、错误的内容、错误检测帧和检测单元如表:
错误的种类 | 错误的内容 | 错误的检测帧(段) | 检测单元 |
---|---|---|---|
位错误 | 比较输出电平和总线电平(不含填充位),当两电平不一样时所检测到的错误 | 数据帧( SOF∼EOF) | 发送单元、接收单元 |
数据帧( SOF∼EOF) | |||
错误帧 | |||
过载帧 | |||
填充错误 | 在需要位填充的段内,连续检测到 6位相同的电平时所检测到的错误 | 数据帧( SOF∼CRC 顺序) | 发送单元、接收单元 |
遥控帧( SOF∼CRC 顺序) | |||
CRC 错误 | 从接收到的数据计算出的 CRC 结果与接收到的 CRC 顺序不同时所检测到的错误 | 数据帧( CRC 顺序) | 接收单元 |
遥控帧( CRC 顺序) | |||
格式错误 | 检测出与固定格式的位段相反的格式时所检测到的错误 | 数据帧( CRC 界定符、 ACK 界定符、EOF) | 接收单元 |
遥控帧( CRC 界定符、 ACK 界定符、EOF) | |||
错误界定符 | |||
过载界定符 | |||
ACK 错误 | 发送单元在ACK 槽中检测出隐性电平时所检测到的错误( ACK没被传送过来时所检测到的错误) | 数据帧( ACK 槽) | 发送单元 |
遥控帧( ACK 槽) |
1.1. 位错误
由向总线上输出数据帧、遥控帧、错误帧、过载帧的单元
和 输出 ACK 的单元、输出错误的单元来检测在仲裁段输出隐性电平,但检测出显性电平时
将不视为位错误,而是仲裁失利在仲裁段作为填充位输出隐性电平时,但检测出显性电平时
将不视为位错误,而是填充错误发送单元在 ACK 段输出隐性电平,但检测到显性电平时
将不视为位错误,而是被判断为其它单元的 ACK 应答输出被动错误标志( 6 个位隐性位)但检测出显性电平时,将遵从错误标志的结束条件
等待检测出连续相同 6 个位的值(显性或隐性),并不视为位错误
1.2. 格式错误
即使接收单元检测出 EOF(7 个位的隐性位)的最后一位(第 8 个位)为显性电平
也不视为格式错误即使接收单元检测出数据长度码(DLC)中 9∼15 的值时
也不视为格式错误
2. 错误帧的输出
检测出满足错误条件的单元输出错误标志通报错误
处于 主动错误状态 的单元输出的错误标志为 主动错误标志 6 个位的显性位 0
处于 被动错误状态 的单元输出的错误标志为 被动错误标志 6 个位的隐性位 1
发送单元发送完错误帧后,将再次发送数据帧或遥控帧
错误标志输出时序如:
错误的种类 | 输出时序 |
---|---|
位错误 | 从检测出错误后的下一位开始输出错误标志 |
填充错误 | |
格式错误 | |
ACK 错误 | |
CRC 错误 | ACK 界定符后的下一位开始输出错误标志 |
参考:
《CAN入门书》
相关推荐:
CAN笔记(9) 位填充
CAN笔记(8) 优先级
CAN笔记(7) CAN协议(二)
CAN笔记(6) CAN协议(一)
CAN笔记(5) 协议标准规格
谢谢!
CAN笔记(10) 错误种类和输出相关推荐
- Go语言学习笔记(10)——错误处理示例
// 定义一个 DivideError 结构 type DivideError struct {dividee intdivider int } // 实现 `error` 接口 func (de * ...
- Android学习笔记07---查看Android虚拟机输出的错误信息与如何部署应用到自己的真实手机
Android学习笔记07---查看Android虚拟机输出的错误信息
- Think in Java第四版 读书笔记10 第16章 数组
Think in Java第四版 读书笔记10 第16章 数组 数组和容器很像 但他们有一些差别 16.1 数组为什么特殊 数组与容器的区别主要在效率和存储类型 效率:数组是简单的线性序列 使得数组的 ...
- 史上最牛最强的linux学习笔记 10.shell基础
史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...
- 《Java8实战》读书笔记10:组合式异步编程 CompletableFuture
<Java8实战>读书笔记10:组合式异步编程 CompletableFuture 第11章 CompletableFuture:组合式异步编程 11.1 Future 接口 (只是个引子 ...
- 学习SpringBoot笔记以及错误记录
学习SpringBoot笔记以及错误记录 <1>. 启动类(SpringBootApplication)放错位置 错误场景:MainApplication类不应放在默认的src.main. ...
- thinkphp学习笔记10—看不懂的路由规则
原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)--整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- Spring-学习笔记10【Spring事务控制】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
最新文章
- 【Xamarin笔记】Events, Protocols and Delegates
- python简单代码表白-python浪漫表白源码
- JZ2440学习总结1
- Java的不同版本:J2SE、J2EE、J2ME的区别
- 机器人学习--全局定位(阿尔伯塔大学张宏教授报告)
- Oracle 11g安装步骤
- android剪切 图片,android 剪切图片
- Ubuntu14.04安装VMwareTools
- 音视频入门系列-字幕篇(SSA ASS)
- 如何利用线程堆栈定位问题
- HTML5期末大作业:设计网站设计——动漫设计响应式(10页) HTML+CSS+JavaScript 动漫设计制作 简单静态HTML网页作品 动漫设计作业成品 学生个人网站模板
- 思腾合力-SCM集群下载镜像步骤
- 向量代数:向量加法、共线与共面
- 软考真题答案-2021年5月系统集成项目管理工程师上午题
- 20165220 我期望的师生关系
- js表格隔行变色案例
- 办公逸CTO王斌:提高产品响应速度应注意的二十五个技术细节
- pythonapi是什么意思_API是什么意思?API文档又是什么意思?
- windows系统下更新nodejs
- oracle查询元数据,Oracle Spatial-元数据及SDO_GEOMETRY
热门文章
- 通过Redis的Pub/Sub实现对服务器群的监控管理
- Seafile 1.3 发布,文件同步和协作平台
- 算法高级(17)-SpringCloud中的负载均衡算法
- 程序员的算法课(12)-使用通配符*,?等来查找字符串
- 使用计算机正确开机方法,电脑开关机的正确步骤
- php 路由实现_PHP操作路由器实现方法示例
- java 桌面图标插件_JavaSwing界面设计(所有控件及示例)预览.ppt
- springSecurity 登录以及用户账号密码解析原理
- 输入n种口味随机输出四种不同的口味!
- C#配置IIS搭建网站的工具类