CAN笔记(12) 同步

  • 1. 同步偏差
  • 2. 硬件同步
  • 3. 再同步
  • 4. 调整同步的规则

1. 同步偏差

CAN 协议的通信方法为 NRZ(Non-Return to Zero)方式
各个位的开头或者结尾都没有附加同步信号
发送单元以与位时序同步的方式开始发送数据

另外,接收单元根据总线上电平的变化进行同步并进行接收工作

但是,发送单元和接收单元存在的时钟频率误差及传输路径上的(电缆、驱动器等)相位延迟会引起同步偏差
因此接收单元通过硬件同步或者再同步的方法调整时序进行接收


2. 硬件同步

接收单元在 总线空闲状态 检测出帧起始时进行的同步调整
在检测出边沿的地方不考虑再同步补偿 SJW 的值,而认为是同步 SS 段

硬件同步的过程:


3. 再同步

接收过程中 检测出总线上的电平变化时进行的同步调整
每当检测出边沿时,根据 SJW 值通过加长 PBS1 段,或缩短 PBS2 段,以调整同步

但如果发生了超出 SJW值的误差时,最大调整量不能超过 SJW 值

再同步:


4. 调整同步的规则

硬件同步和再同步遵从如下规则:

  1. 1 个位中只进行一次同步调整
  2. 只有当 上次采样点的总线值 和 边沿后的总线值不同 时,该边沿才能用于调整同步
  3. 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步
  4. 在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件 1 和 2 ,将进行再同步
    但还要满足下面条件:
    4.1. 发送单元观测到自身输出的显性电平有延迟时不进行再同步
    4.2. 发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步

参考:
《CAN入门书》


相关推荐:
CAN笔记(11) 位时序
CAN笔记(10) 错误种类和输出
CAN笔记(9) 位填充
CAN笔记(8) 优先级
CAN笔记(7) CAN协议(二)


谢谢!

CAN笔记(12) 同步相关推荐

  1. 《JavaScript高级程序设计》读书笔记 -12.1 window对象

    <JavaScript高级程序设计>读书笔记 -12.1 window对象 12.1 window对象 12.1.1 Global作用域 12.1.2 窗口关系[不是很懂] 12.1.3 ...

  2. MyBatis-学习笔记12【12.Mybatis注解开发】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  3. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  4. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  5. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

  6. 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?

    台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...

  7. Kotlin学习笔记12——数据类和密封类

    Kotlin学习笔记12--数据类和密封类 前言 数据类 在类体中声明的属性 复制 componentN 解构声明 密封类 尾巴 前言 上一篇,我们学习了Kotlin中的拓展,今天继续来学习Kotli ...

  8. 笔记12 SQL优化

    笔记12 性能与SQL优化 1.性能优化 复习一下什么是性能: DB/SQL 优化是业务系统性能优化的核心 2.关系数据库 MySQL 什么是关系数据库 数据库设计范式 常见关系数据库 SQL 语言 ...

  9. 有道云笔记不同步_有道云笔记无法同步如何处理?笔记无法同步解决方法介绍...

    有道云是一款非常好用的笔记办公工具,我们可以使用它轻松管理笔记,但是有的时候我们也会遇到不能同步的情况,那么我们该如何解决呢?下面就让我们一起来看看解决方法吧. 有道云笔记笔记不能同步怎么办 1.原因 ...

  10. 2021李宏毅机器学习笔记--12 attack ML models

    2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...

最新文章

  1. windows环境下安装elasticsearch
  2. 大数据WEB阶段 Js常用的页面操作
  3. uCOS:时钟节拍代码追踪
  4. Ext 1.0 简要说明 类继承关系图
  5. C/C++混淆点-字符串指针
  6. Linux内核:kprobe机制-探测点
  7. [转]请不要和陌生女人说话
  8. Itextpdf5 基础知识
  9. GPC凝胶色谱理论和应用(一)
  10. 基于pyswarm库实现粒子群优化算法求解带约束的优化问题
  11. Java常用命令与参数设置
  12. 生活中的定律——劣币驱逐良币
  13. 计算机开机慢怎么办,笔记本电脑开机很慢怎么办?五个小妙招来帮忙!
  14. 【34期】谈谈为什么要拆分数据库?有哪些方法?
  15. Nginx 之实现原理
  16. 操作系统之进程调度 (十一) --- 进程调度的时机、进程调度的方式、进程调度的狭义与广义...
  17. 离谱的布斯法(补码一位乘)
  18. 14个步骤让你快速学会UG!
  19. October 2007
  20. cv2.RETR_TREE输入参数

热门文章

  1. PHP微信公众平台源码 支持多账号 仿pigcms 小猪微信 已经修改完毕 完整可用
  2. 超经典的Android开源项目
  3. [C# 网络编程系列]专题九:实现类似QQ的即时通信程序
  4. 在windows上搭建redis集群(主从复制)
  5. Transformer新内核Synthesizer:低复杂度的attention代替点乘式的注意力机制
  6. vivox50pro鸿蒙系统,小米10至尊纪念版和vivox50pro+哪一款手机好
  7. myeclipse2017安装与破解
  8. linux中不同版本的gcc切换,Ubuntu 14.04中升级gcc到版本4.9.2并切换使用它们
  9. mysql客户端报错1366_mysql一些异常
  10. vim 编辑器基本使用