• 108查看
  • 0回复

[网络开发] CANFD 一次采样点和二次采样点

[复制链接]


该用户从未签到

发表于 19-3-2025 20:25:53 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1.采样点的定义

采样点是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。

首先我们需要了解Tq的概念,Tq是can控制器的最小时间周期称作时间份额(Time quantum,简称Tq),它是通过芯片晶振周期分频而来。传输的个bit位由若干个Tq组成,根据功能传输一个BIT位需要分成四个阶段:同步段、传输段、相位缓冲段1和相位缓冲段2.

CANFD 一次采样点和二次采样点w1.jpg

这4个阶段的功能如下:

1.同步段(Sync_Seg):用于实现时序调整,总线上各个节点的跳变沿产生在同步段内,通常为1个Tq;

2.传播段(Prop_Seg):用于补偿网络上的物理延迟时间。这些延迟时间包含信号在总线上的传输延迟和CAN节点内部的处理延迟。传播段保证了2倍的信号在总线上的延迟时间;

3.相位缓冲段1(Phase_Seg1)和相位缓冲段2(Phase_Seg2):用于补偿跳变沿的相位误差,其长度会在重同步的实现过程中延长或缩短。

采样点位于相位缓冲段1的结尾。由于相位缓冲段1和相位缓冲段2能够延长或缩短,采样点也能够随之变化。

2.can采样点的计算

CANFD 一次采样点和二次采样点w2.jpg

晶振时钟周期:是由单片机振荡器的晶振频率决定的,指的是振荡器每震荡一次所消耗的时间长度,也是整个系统中最小的时间单位;

下面以TC377为例进行计算:

通过查看配置我们的canfd的,采样分为仲裁场和数据场。仲裁场的波特率为500Kbit/s,数据场为2Mbit/s,can时钟频率为4.0E7。

查看TP377手册Tq = (DBRP + 1) clock cycles

Tq=(1+1)1/4.0E7(s)=50(ns)

仲裁场计算采样点:

对于仲裁场500k,传输一个bit位的时间1/500000s=2us,所以分配

2us/50ns=40个tq

如果采样点设置为80%,则sync_seg+prop_seg+phase_seg1=4080%=32Tq

在ET tresos中可以这样配置

CANFD 一次采样点和二次采样点w3.jpg

数据场采样点计算:

对于数据场2Mkbs,传输一个bit位的时间1/2000000s=500ns,所以分配

500ns/50ns=10个tq,

如果采样点设置为80%,则sync_seg+prop_seg+phase_seg1=10*80%=8Tq

则对应在EB TRESOS中配置如下

CANFD 一次采样点和二次采样点w4.jpg

3. CAN-FD与CAN发送速率的不同

CAN最大传输速率1Mbps,CAN-FD速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps。BRS位速率切换为,BRS位为0时CANFD速率保持恒定速率、BRS位为1时CANFD的数据段会被切换到高速率。

CANFD 一次采样点和二次采样点w5.jpg

ESI错误状态指示位:CAN报文中发送节点的错误状态只有该节点自己知道,CANFD报文中可以通过ESI标志位来告诉其他节点该节点的错误状态,当ESI为1时表示发送节点处于被动错误状态、当ESI为0时表示发送节点处于主动错误状态。

CANFD 一次采样点和二次采样点w6.jpg

4. 发送延迟补偿

CANFD 一次采样点和二次采样点w7.jpg

CAN控制器发送信号时,是经过收发器后发往CAN总线后,再经过收发器反馈总线信号。那么发送过程中,控制器发送位信号到接收位信号就不可避免地存在环路延迟。发送延迟时间的总和如下:

1 ). CAN控制器内部产生TX信号到Tx引脚的传播延迟;

2 ). Tx引脚到收发器TxD引脚的传播延迟;

3 ).收发器环路延迟TxD到RxD;

4 ). 收发器RxD引脚到CAN控制器Rx引脚延迟;

5 ).CAN控制器Rx引脚到控制器内部收到Rx信号的延迟

CAN协议中规定:发送方发送位时,需检测接收到的位与发送是否一致,若不一致则产生错误帧(位错误)。如果发送延迟过长,则将直接导致发送与接收位不一致而产生错误帧。由于传统CAN协议规定最高波特率为1Mbps,即位宽1us,正常情况下,传输延迟不会超过位宽的采样点(当然具体延迟取决于收发器环路延迟、传输距离、传输线缆质量等),因此不会因为发送延迟而产生错误。

在CANFD中,数据段的波特率是比CAN更高的(BRS位为隐性时),此时波特率越高,位宽越小,在发送报文时发送延迟影响越大,越容易产生位错误。由于发送延迟无法避免,此时就需要一种机制来保证发送与接收的位对应上,以避免产生位错误。这种机制就是发送延迟补偿了。

5. 发送延迟补偿(TDC)

TDC实际上就是在发送BRS位为隐性的CANFD报文时(BRS隐性即开启数据域波特率),在发送时延迟一定时间后,在第二采样点采样接收位,以正确采样到发送位对应的接收位。

6.发送延迟测量

那么延迟采样的延迟时间是多久呢?实际上,开启TDC后,控制器将自动测量Tx信号线上FDF位到r0位下降沿与Rx信号线上FDF位到r0位边沿的之间的延迟时间,如下图中所示,TDCV即为延迟时间。发送延迟测量的时间单位为CAN控制器时钟(TDC寄存器中一般对TDCV的值有限制,若超过寄存器最大位数,则发送延迟测量失败)。

CANFD 一次采样点和二次采样点w8.jpg

不同于采样点,第二采样点在CAN FD控制器接收其他节点发送报文的过程中并不会起到任何作用。第二采样点的作用,是在不改变传输延迟补偿的情况下,实现CAN FD在数据场的位错误检测要求。

根据TC377手册

CANFD 一次采样点和二次采样点w9.jpg

根据手册TDCV是接收到数据时的发送延迟时间,是当TDC使能的时候会自己自动计算的。

TDCO就是设置的正常采样点的时间。

                       

本文来源于网络,原文链接:

https://blog.csdn.net/jiushimanya/article/details/129354758



-end-

分享不易,恳请点个【👍】和【在看】


该用户从未签到

发表于 19-3-2025 21:58:00 | 显示全部楼层
针对您关于CANFD的一次采样点和二次采样点的询问,采样点是CAN控制器在总线电平上读取并解释比特逻辑值的时间点。在汽车工程中,对于CANFD通信协议,采样点的选择至关重要。通常,一次采样点发生在同步段和传播段之间的某个时间点,用于获取准确的信号状态。而二次采样点则可能出现在传播段的结束或相位缓冲段的开始,用于对信号进行再次确认或错误检测。正确选择采样点能确保数据的准确传输和接收。在实际应用中,工程师会根据系统需求和通信环境的特性来设定和优化采样点。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 6-4-2025 13:43 , Processed in 0.413785 second(s), 38 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.