关于CAN通信速率设置

[复制链接]

一、

CAN时钟周期(Tq)=2*晶振时钟*BRP(波特率预分频值 baudrate prescaler)

一个CAN时间称为一个时间量子 Tq

1)同步段(Synchronization Segment):1个Tq,tSS

2)传播段(Propagation Segment):传播段时长可编程(1~8个时间量子Tq),tPS

3)相位缓冲段1(Phase Buffer Segment1):长度可编程(1~8个时间量子Tq),tPBS1

4)相位缓冲段2(Phase Buffer Segment2):长度可编程(1~8个时间量子Tq),tPBS2

(位时间)tBit=tSS+tPS+tPBS1+tPBS2

二、在CAN通信中,有两种同步机制:硬同步与重同步

三、同步跳转宽度

在重同步时,有个同步跳转宽度(SJW,Synchro Jump Width)的概念,表示的是PBS1和PBS2重同步时允许跳转的最大宽度。

同步跳转宽度必须满足以下几个条件:

SJW必须小于PBS1和PBS2的最小值

SJW最大值不能超过4(500kbps通常为3)

(1)位速率:单位为bps、Kbps、Mbps

1Mbps=1000Kbps=1000000bps

1Mbps=1000Kbps=1000000bps

(2)位时间:tBit,单位一般为纳秒(ns)

tBit=1/位速率

(3)时间量子Tq:

Tq=1/NBT(NBT 表示的是一个位时间tBit内包含Tq的个数,500kbps通常为16或20)

(4)传输延迟时间tPTS

CAN报文在CAN总线上的传输时,物理延迟包含两个部分:

在CAN-BUS上传输造成的延迟

在节点上传输造成延迟

按照CAN通信协议的规定,补偿给传播延迟的时间长度要至少等于实际实际传播延迟时长的2被,即:

tPTS≥2×tdel=2×(tdel+tBus)

(5)报文发送顺序

字节序:LSB,bit序:MSb

4 例子

以下面的例子来讲述位定时参数的确定方法:

MCU晶振16MHz,位速率500kbps,总线长度20m,单位总线延迟5ns/m,物理接口的发送接收延迟150ns(一般端口延迟最低300ns)

(1)晶振时钟周期:T=1s/16MHz = 62.5ns

(2)位时间 :tBit = 1/500kbps = 2000ns

公式: tBit=NBT*(Tq),也就是tBit=NBT*(2*晶振时钟周期*BPR)

(3)BPR和NBT:考虑到 T = 62.5ns,tBit = 2000ns,所以BPR只能取值为1,才能满足NBT∈[8,25],于是预分频数BPR=1;

(4)CAN时钟周期Tq = 2 × 62.5 × 1 = 125ns

(5)NBT = 16

(6)传输延迟时间 tPTS≥2×tdel=2×(tdel+tBus),也就是tPTS≥2*(20*5+150)=500ns,(总线长度20m,单位总线延迟5ns/m,物理接口的发送接收延迟150ns),对于诊断设备由于总线长度很短,因此该时间可忽略。

tPTS_Tq=500/125=4

此时,同步段为1 Tq,传播段为4 Tq,还剩NBT-5=11个tq,采样点满足75%-80%,因此相位缓冲段1PBS1为6个tq,相位缓冲段2为4个Tq;同步跳转宽度  SJW=min{PBS1,4}=4

can通道采样频率_关于CAN通信速率设置相关推荐

  1. can通道采样频率_哪个是嵌入式开发中最常用的外部总线:RS232?RS485?CAN?LIN?……...

    在做嵌入式开发的过程中,难免会和各种总线打交道,总线开发属于嵌入式开发的基本技能了.对于总线人们一般将其分为:内部总线.系统总线.外部总线. 所谓内部总线一般指MCU和外围集成IC之间数据交互的线.我 ...

  2. 关于CAN通信速率设置

    一. CAN时钟周期(Tq)=2*晶振时钟*BRP(波特率预分频值 baudrate prescaler) 一个CAN时间称为一个时间量子 Tq 1)同步段(Synchronization Segme ...

  3. BLE 蓝牙实现最大通信速率

    1.  为什么不可能达到BLE的理论速度? 1 Mbps (LE 1M PHY).2 Mbps (LE 2M PHY).125 kbps 和 500 kbps(均使用 S=8 和 S=2 的 LE 编 ...

  4. 启明云端分享|乐鑫 ESP-NOW 无线通信方案主要特点、应用以及NOW一对一模式下通信速率

    ESP-NOW是乐鑫定义的基于数据链路层的无线通信协议,可与 Wi-Fi 和 Bluetooth LE 共存,既能实现稳定的设备连接和控制,也能作为独立的辅助模块,为系统提供设备配网.调试和固件升级等 ...

  5. db9针232接口波特率标准_理解串口通信以及232,485,422常见问题

    下面先讲一讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习复习,如果哪里讲错或不到位,也可以及时指出,当作一块交流交流. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为 ...

  6. delphi 串口通信发送_关于串口通信232、485、422和常见问题,就没见过能讲这么清楚的...

    先讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习,如果哪里讲的不到位,欢迎及时指出. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为更多的时候,都是产品做好了,比如触 ...

  7. CAN/CAN_FD/Flexray的通信速率

    1.通信速率对比 Name 通信速率 CAN 1Mbit/s CAN_FD 5Mbit/s Flexray 10Mbit/s 2.终端欧电阻 CAN单端增加60欧姆的电阻,两端则是120欧姆

  8. 量子通信与计算机网络,中科大90后团队搭建 “量子鹊桥”,可将量子通信速率提升四倍,相关研究登上 Nature 封面 | 专访...

    中国神话传说中,每年农历七夕借助一座鹊桥,牛郎织女得以见一面. 试想一下,如果喜鹊飞快点,就能把桥搭得更快,牛郎和织女也能更早见面. 那么有可能实现更快搭桥吗? 在科学家眼中,这其实是一个通信问题 图 ...

  9. can总线不加末端电阻_细说汽车电子通信总线之CAN 2.0 总线协议详解

    引言 1. CAN总线发展历史与ISO规范 2. CAN总线主要功能特性 3. CAN 2.0总线协议的物理层电气特性 4. CAN 2.0总线协议消息报文详解 4.1 CAN2.0总线的通信报文帧格 ...

最新文章

  1. 一种使用GDI+对图片尺寸和质量的压缩方法
  2. 解决事件多次绑定,执行多次问题
  3. java redis 主从 哨兵_Redis主从复制与哨兵机制
  4. xpath定位中starts-with、contains和text()的用法
  5. 判断出栈顺序的合法性(面试题)
  6. 一个用WPF做的简单计算器源代码
  7. 微信公众开发api接口
  8. Struts 体系结构与工作原理(图) .
  9. Delphi 控制摄像头
  10. hdu4011(水贪心)
  11. datareader对象直接转化为int_Integer、new Integer() 和 int 比较的面试题
  12. 查看ipad网页代码 iPad Quick Tip – View Page Source In iPad Safari
  13. 为什么要预留字段_PaperYY为什么会免费论文查重?
  14. samba 安装配置部署和优化
  15. L1-003 个位数统计 (15 point(s))
  16. tftp negotiation
  17. 大学电子竞赛及项目~总贴
  18. PSGAN——姿态稳健型可感知空间式生成对抗网络论文详细解读与整理
  19. 2022年秋招 Java后端程序员如何应对面试?
  20. HDUOJ 1392凸包graham算法

热门文章

  1. Windows Server 2003网络配置与管理
  2. ARMLINUX学习笔记(二)
  3. django orm 数据查询详解
  4. 第一篇 mybatis的简介
  5. 我们来说一说TCP神奇的40ms
  6. 第27月第24天 git pull fetch
  7. 在maven 2工程中加入iTextAsian支持(maven添加自定义jar包到本地仓库)
  8. 如何在面试中脱颖而出?
  9. 徐汉彬:亿级Web系统搭建—单机到分布式集群
  10. [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法...