CAN位时序及相关参数解读
相关概念
位速率(也叫做比特率)
表示的是单位时间内,总线上传输的信息量,即每秒能够传输的二进制位的数量,R=1/T ,单位是bit per second,bps。比如,比特率为8bit/s,意思为一秒传输了8bit,包含了8个二进制事件的信息量。
波特率(码元传输速率)
表示单位时间(1s)内传输的码元个数(脉冲个数或者信息变化次数),码元可以是多进制的;kBaud(1baud=1bit/second, 1KBaud=1KB=1000bits/second)(码元:就是一个脉冲信号,一个脉冲信号有可能携带1bit数据,也有可能携带2、4bit)
Time Quantum 时间份额Tq
CAN控制器工作的最小时间单位,通常对系统时钟分频得到。
位时间Tbit
CAN上传输一个数据位的时间周期Tbit=1/Baudrate. 如下图中的帧起始位。
位时序
根据CAN规范,每个位的时间内又可细分成4段:
同步段(SS,Synchronization Segment,SYSNC_SEG)一个位的输出从同步段开始。若总线的跳变沿被包含在SS段的范围之内,则表示节点与总线的时序同步。节点与总线同步时,采样点采集到的总线电平即可被确定为该电平的电位。SS段的大小为1Tq.
传播段(PTS,Propagation Time Segment, PROP_SEG)用于补偿信号在网络和节点传播的物理延时时间,是总线上输入比较器延时和输出驱动器延时总和的两倍。通常1-8Tq
相位缓冲段1(PBS1,Phase Buffer Segment 1, PHASE_SEG1)主要用于补偿边沿阶段的误差,其时间长度在重新同步时可以加长或缩短。初始大小1-8Tq.
相位缓冲段2(PBS2,Phase Buffer Segment 2,PHASE_SEG2)也是用于补偿边沿阶段的误差,其时间长度在重新同步时可以缩短。初始大小2-8Tq.
采样点:是读取总线电平,并将它解析为数值的时间点。位于相位缓冲段1(PHASE_SEG1)的终点。
tsp =(SYNC_SEG + PROP_SEG + PHASE_SEG1) / (SYNC_SEG + PROP_SEG + PHASE_SEG1 + PHASE_SEG2)
如果位定时设置将采样点设置在位时间的末端,则传播段就会越长,能实现更远的网络。反之,则可提高重同步能力,对时钟误差的容忍能力越大。采样点的设置应使所有节点能够达到传播延迟和时钟误差的最佳折衷点。建议采样点设置应当靠近但是不超过0.875,这使传播延迟和时钟误差容忍达到最优
在CAN实现中,传播段(PROP_SEG)和相位缓冲段1(PHASE_SEG1)被统称为Time segment 1, 相位缓冲段2(PHASE_SEG2)被统称为Time segment 2.
重同步调整宽度(SJW, Resynchronization jump width)由于重同步的结果,相位缓冲段1(PHASE_SEG1)可被延长或者相位缓冲段2(PHASE_SEG2)可被缩短。这两个相位缓冲段的延长和缩短的总和上限由重同步跳转宽度给定.
一个位时间内包含多少个时间份额Tq,称为BTL Cycles。
CAN 总线定时寄存器
如果直接设置STM32的寄存器, 上面BRP、TS1、TS2和SJW的数值,全都需要减1后写入寄存器.
SAM的确定:低频时,选SAM=1,即采样3次。高频100K以上时,取SAM=0,即采样1次.
SJA1000 内部频率基准源F_BASE = Fclk/2,即外部晶振频率Fclk的2分频。注意任何应用中,当利用外部晶振作为基准源的时候,都是先经过2分频整形的.
如下图,通过BTR0, BTR1两个寄存器的值,就确定了同步段、传播段,相位缓冲段1/2的大小,同时也定义出了Sampling Point.
CAN位时序及相关参数解读相关推荐
- CAN总线的位时序与参数设置
CAN总线的位时序与参数设置 CAN的位时序构成 CAN总线的每个位(Bit)的周期 Tbit = 1 / Baudrate.根据CAN规范,每个位的时间内又可细分成4段: 同步段(Synchroni ...
- mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)...
binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计. binary log 相关参数: log_bin 设置此参数表示启用binlog功能,并指定路径名称 log_bin ...
- 初识EMC元器件(一)——TVS管参数解读
一.什么是TVS管 1.定义 :TVS全称Transient Voltage Suppre,亦称TVS管.瞬态抑制二极管等,有单向和双向之分. 2.保护原理:当TVS二极管的两端经受瞬态高压尖峰脉冲冲 ...
- CANOpen系列教程04_CAN总线波特率、位时序、帧类型及格式说明
CANOpen最新全套教程: 1.CANOpen系列教程01_初识CAN与CANOpen及相关内容 2.CANOpen系列教程02_理解CAN总线协议 3.CANOpen系列教程03_CAN收发器功能 ...
- MySQL-DB参数、内存、I/O、安全等相关参数设置
文章目录 生猛干货 官方文档 服务器参数介绍 MySQL获取信息配置领 MySQL配置参数的作用域 内存配置相关参数 I/O相关配置参数 Innodb I/O 相关的配置 MyISAM I/O 相关的 ...
- Linux TCP队列相关参数的总结
作者:阿里技术保障锋寒 原文:https://yq.aliyun.com/articles/4252 摘要: 本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记 ...
- CAN 总线 之七 BOSCH CAN 位时序 和 同步
CAN 支持 1 kBit/s 至 1000 kBit/s 的比特率.CAN 网络的每个节点都有自己的时钟发生器,通常是石英振荡器. 可以为每个 CAN 节点单独配置比特时间的定时参数(即比特率的 ...
- CAN总线-位时序、波特率、采样点
CAN总线通讯协议的每一帧可以看作一连串的电平信号,每一个电平信号代表一位(一个字节8位的位),所以一帧中包含了很多个位,由发送单元在非同步的情况下发送的每秒钟的位数称为位速率. 一位又分为4段,同步 ...
- CAN笔记(11) 位时序
CAN笔记(11) 位时序 1. 位速率 2. 位时序 3. 位的构成 1. 位速率 由 发送单元 在 非同步 的情况下发送的 每秒钟的位数称 为 位速率 可以看看 位速率 与 波特率1 的关系:位速 ...
最新文章
- 高性能js之js文件的加载与解析
- 《快乐编程大本营》java语言训练班-第4课:java流程控制
- MySQL事务控制语句
- cfree是c语言程序的什么,用C-FREE编写的C语言程序
- gRPC四种模式、认证和授权实战演示
- 每天一个linxu命令6之jps 查看java进程的端口
- ReactNative学习笔记(二)Flex布局
- 装NOILinux的奇妙经历
- XML---(2)LIBXML2库Linux使用指南
- 程序员需不需要数学知识?
- Unity3D资源分享
- Python软件封装打包
- mysql之mysql.sock文件
- Linux防火墙配置工具iptables中MASQUERADE的含义
- 智课雅思词汇---十八、前缀peri是什么意思
- ssm启动不报错_ssm整合 启动表现层报错。。。
- python函数之plot函数(一)
- Sqlserver 中的Iif语句
- 由俭入奢易,由奢入俭难
- 实时大数据处理real-time big data processing (RTDP)框架:挑战与解决方案