首页 > 其他分享 >CANFD 传输速率分析

CANFD 传输速率分析

时间:2023-02-08 09:55:12浏览次数:60  
标签:分析 FRAME BRS CANFD 传输速率 FD 速率 bit

https://my.oschina.net/u/2252538/blog/3191024

 

CAN-FD:英文为 CAN with Flexible Data-Rate,翻译为【可变速率的 CAN】

 

BRS (Bit Rate Switch) 位速率转换开关,当 BRS 为显性位时数据段的位速率与仲裁段的位速率一致,当 BRS 为隐性位时数据段的位速率高于仲裁段的位速率;

 

CAN-FD 采用了两种位速率:从控制场中的 BRS 位到 ACK 场之前(含 CRC 分界符)为可变速率,其余部分为原 CAN 总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位 TQ 外,位时间各段的分配比例也可不同。

 

因此,对于 CAN-FD,是在 CAN 的基础上增加了一个数据域的传输速率,数据传输速率要大于等于原 CAN 总线用的速率。说白了 CANFD 支持两种传输速率,两种速率可以保持一致,也可以不保持一致。

 

 

 

上图上 CubeMX 截图,下面讲解一下如何进行位速率设置:

CAN-FD 有两种模式:

  1. FDCAN_FRAME_FD_NO_BRS 不使用位速率转换开关
  2. FDCAN_FRAME_FD_BRS     使用位速率转换开关

 

这两种模式怎么设置 niminal 速率和 data 速率呢?如下:

当 Mode = FDCAN_FRAME_FD_NO_BRS 的时候,两种速率保持一致,只需要设置常规的 CAN 速率即可,即 nominal 速率。

当 Mode = FDCAN_FRAME_FD_BRS 的时候,需要两个速率都要设置,并且 data 速率要大于等于 nominal 速率。

 

接下来说一下怎么设置位速率:

位速率:做位采样用的;

位速率组成:

Syncseg

Propseg

Phaseseg1

Phaseseg2

同步段

传播时间段

相位缓冲段 1

相位缓冲段 2

意思就是一个 bit 的长度,主要目的是为了准确采集到该 bit 属于高电平或者低电平,由于电信号的上升沿或者下降沿都有损耗,不是标准的高电平或者低电平,因此在该电平 80% 左右位置对该 bit 位电平进行采样最为合适,采到的信号最为稳定。

采样点是在 seg1 后面;同步段一般占用 1td;

采样率计算公式:

sample = (1+proseg+seg1)/(1+proseg+seg1+seg2);

 

/* 波特率计算公式 */

Baudrate = 1/bit time

Bit time = Syncseg+Phaseseg1+Phaseseg2

 

其中 Phaseseg1 包含了 progseg 段,用来吸收网络上的物理延迟。

 

对于常用的 CAN 速率:

由于 hal 库里对应的四个值都进行了加 1 操作,如:

Nominal Prescaler = NBRP [8:0]+1, 因此公式简化如下:

举例:

HSE 25M,主频 400M,fdcanclk 为 200M,baudrate = 500k,则

可以设置 tsyncseg = 10,tsge1=31,tseg2=8,tsjw=8;

其中 tsjw 是包含在 tseg1 中的,在 tseg1 前面那一段。

标签:分析,FRAME,BRS,CANFD,传输速率,FD,速率,bit
From: https://www.cnblogs.com/better-day/p/17100673.html

相关文章

  • 登录案例需求和分析
    登录案例需求用户登录案例需求:1.编写login.html登录页面username&password两个输入框2.使用Druid数据库连接池技术,操作mysql,day14......
  • CAN 波形帧内容解析分析
    文章来源https://betheme.net/news/txtlist_i253682v.html?action=onClick这里的CAN数据波形抓取的是两个STM32F103设备通过CAN通信一方发送另一方接收,CAN收发器使用的是T......
  • CANFD 讲解
    CANFD基础一、CANFD与CAN2.0的区别1.CANFD的优势该协议能够支持更高的速率,可以更快的刷写ECU;在单个数据帧内传送率可达64字节,避免了经常发生的数据分拆传输的状况;对......
  • 注册功能-功能分析、表单校验1
    功能分析register.html1、使用js完成表单校验2、使用ajax完成表单提交3、注册完成,跳转成功页面registUserServlet1、获取数据2、封装user对象3、调用service完成注......
  • PCIe与存算一体分析
    PCIe与存算一体分析中国制造的PCIe5.0游戏GPU基准出现(更新)中国没有很多自制显卡,因此当显卡制造商MooreThreads发布MTTS80时,人们的期望值很高。很难说MTTS80是否具备......
  • R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
    原文链接:http://tecdat.cn/?p=23344最近我们被客户要求撰写关于信用卡违约的研究报告,包括一些图形和统计输出。本文中我们介绍了决策树和随机森林的概念,并在R语言中用逻......
  • 基于R语言股票市场收益的统计可视化分析|附代码数据
    全文链接:http://tecdat.cn/?p=16453 最近我们被客户要求撰写关于股票市场的研究报告,包括一些图形和统计输出。金融市场上最重要的任务之一就是分析各种投资的历史收益......
  • ChIP-seq 分析:原始数据质控(2)
    1.ChIPseq简介染色质免疫沉淀,然后进行深度测序(ChIPseq)是一种成熟的技术,可以在全基因组范围内识别转录因子结合位点和表观遗传标记。1.1.实验处理交联和蛋白质......
  • 【性能分析】【SLG】cpu-script卡顿案例
    用Unity自带的Profile排查,卡顿的原因主要在于循环遍历的次数太多。案例:遍历格子数太多导致卡顿。SLG游戏一张大地图由横竖多块“屏”拼接而成,一“屏”又由一片格子组成,一......
  • HashMap源码分析 (基于JDK1.8)
    HashMap本文讲解的HashMap以及源代码都是基于JDK1.8背景引入数组优:读取修改快 劣:增加删除慢原因:数组可以根据下标直接定位到指定位置的数据进行读取和修改,但增加......