CAN资料整理(三):CAN的位时间、同步、位定时

2023-11-05

        

目录

一、位时间

二、同步

1、硬同步

2、重新同步 

三、位定时

1、传播段延迟时间的确定

 2、位定时参数确定


        由于CAN属于异步通讯,没有时钟信号线,连接在同一个总线网络中的各个节点会像串口异步通讯那样,节点间会使用约定好的波特率进行通讯。并且CAN还会使用“位同步”的方式来对抗干扰、吸收误差,实现对总线电平信号进行正确的采样,确保通讯正常。

一、位时间

一个电平位时间主要有以下4个段:

  • SS段(SYNC SEG;同步段):若通讯节点检测到总线上信号的跳变沿被包含在SS段的范围内,则表示节点与总线的时序是同步的;(固定1个Tq)
  • PTS段(PROP SEG;传播段):这个时间段是用于补偿网络的物理延时时间,是总线上输入比较器延时和输出驱动器延时综合的两倍;(长度可编程:1~8个Tq)
  • PBS1段(PHASE SEG1;相位缓冲段1):用于补偿节点间的晶振误差,允许通过重同步对该段加长,在这个时间段末端进行总线状态的采样;(长度可编程:1~8Tq)

 

  •  PBS2段(PHASE SEG2;相位缓冲段2):用于补偿节点间的晶振误差,允许通过重同步方式对该段缩短;(长度可编程:1~8Tq)

通讯波特率的计算:

  • 波特率= 1 / 位时间

 

二、同步

        波特率只是约定了每个数据位的长度,数据同步还涉及相位的细节,这个时候就需要用到数据位内的SS、PTS、PBS1、PBS2等段了。

同步规则:

  • 一个位时间内只允许一种同步方式
  • 任何一个“隐性”到“显性”的跳变都可以用于同步
  • 硬同步发生在SOF,让所有接收节点调整各自当前位的同步段,使其位于发送的SOF位内。且只是当存在“帧起始信号”时起作用,无法确保后续一连串的位时序都是同步的。
  • 重新同步发生在一个帧的其他位场内,当跳变沿跳变沿落在了同步段之外。
  • 在SOF到仲裁场有多个节点同时发送的情况下,发送节点对跳变沿不进行重新同步

1、硬同步

        发生在SOF位让所有接收节点调整各自当前位的同步段,调整宽度不限。且只是当存在帧起始信号采起作用,如果在一帧很长的数据内,节点信号与总线信号相位有偏移时,这种同步方式就无能为力了。

        当某节点检测到总线的帧起始信号不在节点内部时序的SS段范围,会判断它自己的内部时序与总线不同步,因而这个状态的采样点采集到的数据是不正确的,所以节点通过硬同步的方式重新调整,把自己的位时序中的SS段平移至总线出现下降沿的部分,从而获得同步,同步后采样点既可以采集到正确的数据了。

2、重新同步 

        当跳变沿与同步段的误差小于SJW(reSynchronization Jump Width;重新同步补偿宽度),重新同步会通过延长PTS1段或者缩短PTS2段,来保证采样点位置的正确;如限定SJW=4 Tq时,单词同步调整的时候不能增加或者减少超过4Tq的时间长度,若有需要,控制器会通过多次小幅度调整来实现同步。

 

 

三、位定时

1、传播段延迟时间的确定

 2、位定时参数确定

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAN资料整理(三):CAN的位时间、同步、位定时 的相关文章

  • CAN通信数据帧介绍

    CAN通信有五个帧 xff0c 其中最重要的是数据帧 xff01 xff01 xff01 xff01 我们下面开始讨论数据帧 一 数据帧的格式 xff08 数据帧有七个段组成 xff09 xff0c 帧起始 表示数据帧开始的段 xff0c
  • CAN报文解析—案例

    1 CAN报文定义 CAN报文是指发送单元向接受单元传送数据的帧 我们通常所说的CAN报文是指在CAN线 xff08 内部CAN 整车CAN 充电CAN xff09 上利用ECU和CAN卡接收到的十六进制报文 2 CAN协议中CAN报文种类
  • CAN总线协议:标准CAN和扩展CAN

    CAN通讯协议是一个载波侦听 基于报文优先级碰撞检测和仲裁 xff08 CSMA CD 43 AMP xff09 的多路访问协议 CSMA的意思是总线上的每一个节点在企图发送报文前 xff0c 必须要监听总线 xff0c 当总线处于空闲时
  • Nvidia Jetson Xavier 上使用CAN

    为了利于回忆 xff0c 将自己查询到的资料在这里记录一下 资料一 xff1a 20条消息 NVIDIA Xavier CAN weifengdq的专栏 CSDN博客 资料二 xff1a 英文版Enabling CAN on Nvidia
  • 蓝牙通信、串口通信、和can通信以及MCU之间的关系

    说明 xff1a 其端口和can需要设置波特率 xff1a 250 500 xff0c 和can的类型 xff0c can1 can2 串口直接和模拟量通信需要设置串口的信息 xff0c 如下图 xff1a 蓝牙和模拟量通信 xff0c 不
  • CAN总线详解(转)

    1 简介 CAN是控制器局域网络 Controller Area Network CAN 的简称 xff0c 是一种能够实现分布式实时控制的串行通信网络 优点 xff1a 传输速度最高到1Mbps xff0c 通信距离最远到10km xff
  • CAN通信学习笔记(一)

    1 CAN通信的基本原理 1 1 基本概念 CAN 是 Controller Area Network 的缩写 xff08 以下称为 CAN xff09 xff0c 是 ISO 国际标准化的串行通信协议 在北美和西欧 xff0c CAN 总
  • 使用STM32F103做CAN的收发通信

    下面也是搭建嵌入式系统所必须的一个部分 参考网站 xff1a https www cnblogs com craigtao p 3645148 html https blog csdn net qq 29413829 article det
  • RT-thread 中CAN总线的应用

    准备 xff1a RT thread Studio 2 2 5 CubeMX 6 6 1 rt thread驱动包 4 0 3 1 新建项目 2 打开CubeMX Settings xff0c 设置CAN 找到CAN1 xff0c 并勾选激
  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • kvaser pcie can 在ros中使用socketcan开发

    kvaser pcie can 在ros中使用socketcan开发 0 系统配置 Ubuntu 16 04 6 LTS Linux version 4 15 0 45 generic 1 官网下载地址 https www kvaser c
  • STM32F042 CAN使用例子

    代码如下 include mycan h CAN初始化 tsjw 重新同步跳跃时间单元 范围 1 3 CAN SJW 1tq CAN SJW 2tq CAN SJW 3tq CAN SJW 4tq tbs2 时间段2的时间单元 范围 1 8
  • 通讯协议057——全网独有的OPC HDA知识一之接口(十二)IOPCHDA_DataCallback

    本文简单介绍OPC HDA规范的IOPCHDA DataCallback 客户端接口 接口方法 更多通信资源请登录网信智汇 wangxinzhihui com 1 HRESULT OnDataChange dwTransactionID h
  • 一文读懂CAN总线及通信协议

    CAN总线的汽车 CAN概念 CAN是控制器域网 Controller Area Network CAN 的简称 是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的 并最终成为国际标准 ISO11898 是ISO国际标准化的串行通信
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • CAN 帧ID 与J1939 PGN 转换例子

    在saeJ1939中文版中找的三张图如下 例如 0x18 FE DF 00 110 0 0 11111110 11011111 00000000 P R DP PF PS SA 具体参数即为数据段 0 64 优先级为 P 110 2 或6
  • STM32 CAN通信的学习笔记总结(从小白开始)

    知识来源于互联网 回馈于互联网 目录 1 总体概述 1 1 基本概念 1 2 通讯方式 1 3 为什么使用CAN 1 4 CAN的协议及组成 2 上帝视角看CAN的通讯过程 2 1 数据传输原理实现 2 2 通信的整个过程 2 2 1 空闲
  • Ubuntu 周立功CAN分析仪 USBCAN-II 驱动

    首先从官网https www zlg cn Index Search search key linux的下载资料界面下载 Linux驱动 USBCAN I I II II 2A I MINI安装驱动 USBCAN II新版驱动基于libus
  • CAN协议详解-01

    CAN 是控制器局域网络 Controller Area Network 的简称 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的 并最终成为国际标准 ISO11519以及ISO11898 是国际上应用最广泛的现场总线之一 差
  • STM32的CAN标识符过滤器超简单理解

    1 STM32中CAN1与CAN2的过滤器组 103系列14个过滤器组 104 107系列28个过滤器组 CAN FilterInitStructure CAN FilterNumber 0 0 13 2 每组过滤器组有两种工作模式 标识符

随机推荐

  • unable to access android sdk add-on list解决方案

    unable to access android sdk add on list解决方案 问题 原因 解决方案 1 配置Proxy 2 跳过检测 在Android Studio的安装目录下 找到 bin idea properties 在尾
  • List集合遍历过程中修改元素,这个坑踩一次就够了

    简介 java系列技术分享 持续更新中 初衷 一起学习 一起进步 坚持不懈 如果文章内容有误与您的想法不一致 欢迎大家在评论区指正 希望这篇文章对你有所帮助 欢迎点赞 收藏 留言 更多文章请点击 文章目录 问题描述 一 将List集合中的每
  • 华为OD机试 - 找单词(Python)

    题目描述 给一个字符串和一个二维字符数组 如果该字符串存在于该数组中 则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串 如果找不到返回字符串 N 1 需要按照字符串的字符组成顺序搜索 且搜索到的位置必须是相邻单元格 其中 相
  • centos7或8安装google-authenticator身份令牌

    1 系统基础环境 说明 使用云服务器安装与本地系统两种方式安装google authenticator 基于云服务器centos7 root linux tes lsb release a LSB Version core 4 1 amd6
  • 什么是HTML语义化标签?常见HTML语义化标签大全,以及不同标签比较

    一 什么是HTML语义化标签 语义化的标签 旨在让标签有自己的含义 p 一行文字 p span 一行文字 span 如上代码 p 标签与 span 标签都区别之一就是 p 标签的含义是 段落 而 span 标签责没有独特的含义 二 语义化标
  • SQL:基础概念 + 在线数据库

    文章目录 1 基础 2 数据库基础概念整理 2 1 ER图 2 2 数据库管理工具 2 3 在线数据库 1 基础 推荐阅读 https www w3school com cn sql sql orderby asp https www ru
  • 优化器算法总结(BGD、SGD、MBGD、Momentum、NAG、Adagrad 未总结完)

    参考的两篇博文 1 优化算法总结 深度学习 https blog csdn net fengzhongluoleidehua article details 81104051 2 深度学习 优化器算法Optimizer详解 BGD SGD
  • Spring-动态代理深入了解

    前言 本篇的Spring AOP系类文章第二篇扩展了Spring 动态代理然后开发了简易的AOP类 个人主页 尘觉主页 个人简介 大家好 我是尘觉 希望我的文章可以帮助到大家 您的满意是我的动力 在csdn获奖荣誉 csdn城市之星2名 J
  • JVM内存溢出和内存泄漏的区别

    1 概念的区分 1 1 内存泄露 memory leak 程序运行结束后 没有释放 所占用的内存空间 一次内存泄漏 似乎不会有大的影响 但内存泄漏 不断累积 最终可用内存会变得越来越少 比如说 总内存大小是100 MB 有40MB的内存一直
  • 一个无源晶振和外围电路(如图)组成的振荡电路,就能发挥类似有源晶振的功能吗?

    一个无源晶振和外围电路 如图 组成的振荡电路 就能发挥类似有源晶振的功能吗 2012 06 21 22 01 曾佳乐曾佳乐曾 分类 工程技术科学 浏览1232次 从output端输出的电压只有正半周还是正半周 负半周都有 这个电路通电后 能
  • numpy平均值插补步骤及详细说明

    numpy平均值插补步骤及详细说明 1 导入numpy工具并读取数据 2 定义平均值插补函数 3 调用平均值插补函数 4 插补结果 利用 numpy对数据进行插补是一个非常常见的方法 代码也很多 但是网上的代码一般没有很详细的解释 不利于初
  • 虚拟IP原理

    高可用性HA High Availability 指的是通过尽量缩短因日常维护操作 计划 和突发的系统崩溃 非计划 所导致的停机时间 以提高系统和应用的可用性 HA系统是目前企业防止核心计算机系统因故障停机的最有效手段 实现HA的方式 一般
  • java x86 x64_jdk x86与jdk x64 有什么区别

    展开全部 1 jdk x86与jdk x64版本不同 jdk x86 32位版e68a843231313335323631343130323136353331333431366239 jdk x64 64位版 2 jdk x86与jdk x
  • c++ enable_shared_from_this

    std enable shared from this 是一个类模板 那它是用来干嘛的呢 光看它的名字可能可以猜出它是 返回指向当前对象的shared ptr智能指针 在说明它的作用前我们可以看一下如下代码 include
  • ceph分布式文件存储性能调优

    ceph分布式文件存储性能调优 一 硬件调优 二 BIOS配置 三 网络配置 四 OS配置 五 硬盘调度算法 六 软件层面 七 ceph参数调优 一 硬件调优 1 NVMe SSD 调优 目的 为减少数据跨片开销 方法 将NVMe SSD与
  • 彩笔的第一个模型:DOTA数据集YOLOv5目标检测

    目录 前言 一 下载数据集DOTA和源码 下载YOLOv5模型 切割图片并转化label为YOLO格式 2 DOTA数据集的label格式不能在YOLO模型 里直接使用 需要转化 3 需要做成coco数据集的文件结构 包括文件夹名称 二 修
  • 技术科普丨信噪比

    概念简介 信噪比 英文名称叫做SNR或S N SIGNAL NOISE RATIO 又称为讯噪比 是指一个电子设备或者电子系统中信号与噪声的比例 信噪比的计量单位是dB 对于一张图像来说 计算信噪比可以按照 20lg 信号 噪声 这个公式来
  • Andriod getContext和getActivity

    原创文章 如有转载 请注明出处 http blog csdn net myth13141314 article details 62045162 MainActivity this 表示MainActivity对象 一般用在内部类中指示外面
  • STM32+FATFS文件系统连续在同一个txt文件里写入内容

    移植好fatfs文件系统之后 我们经常要在一个txt文件下写入数据 但是这些数据可能需要多次写入 那怎么办呢 通过这几天的学习 有以下函数可以帮助我们进行多次写入数据 1 打开文件 f open filescr2 0 201711022 t
  • CAN资料整理(三):CAN的位时间、同步、位定时

    目录 一 位时间 二 同步 1 硬同步 2 重新同步 三 位定时 1 传播段延迟时间的确定 2 位定时参数确定 由于CAN属于异步通讯 没有时钟信号线 连接在同一个总线网络中的各个节点会像串口异步通讯那样 节点间会使用约定好的波特率进行通讯