【图解CAN总线】-10-详解CANFD的TDC以及SSP(收发器延迟补偿和第二采样点)

目录

1 CAN Transceiver收发器结构

1.1 CAN收发器对本ECU发送CAN报文的“回采”

1.2 什么是Loop delay环路延迟

1.2.1 Loop delay环路延迟的典型值

2 什么是TDC:Transceiver Delay Compensation收发器延迟补偿

2.1 总结:Transceiver Delay Compensation启用条件

2.2 Secondary sample point test第二采样点测试方法

2.3 Infineon英飞凌TC2xx系列芯片 – TDC配置寄存器摘录

END


注:Transceiver Delay CompensationTransmitter Delay Compensation

推荐阅读(单击下方文字即可跳转至对应博文):

Vector工具链

CAN Matrix DBC

CAN Matrix Arxml

CANFD/经典CAN/CANXL

1 CAN Transceiver收发器结构

NXP恩智浦TJA1145A为例(见图1-1),来介绍CAN收发器。TJA1145A是一款高速CAN收发器,可在控制器局域网(CAN)协议控制器物理双线式CAN总线之间提供接口。该收发器专门设计用于汽车行业的高速CAN和CAN FD应用,可为微控制器中的CAN协议控制器提供具有差异化优势的信号发送和接收能力。

TJA1145A在CAN FD快速相位下,即使数据速率高达5 Mbit/s,也能实现可靠的通信。

TJA1145A在待机模式休眠模式下具有超低的功耗,通过使用选择性唤醒功能,支持符合ISO 11898-6标准的CAN Partial networkingPN

图1-1

下图(见图1-2)为TJA1145A高速CAN收发器功能框图。

图1-2

Pin编号

Pin名称

描述

1

TXD

MCUCAN控制器发送报文。CAN收发器通过该pin接收发送报文的0和1数字电平序列,并通过CANH和CANL转换为差分电平。

2

GND

Ground地

3

VCC

CAN收发器的5V供电

4

RXD

节点接收报文,以及CAN收发器回采的报文。CAN收发器通过该pin将差分电平转换为0和1数字电平序列给到MCUCAN控制器

5

VIO

输入/输出电平适配器的供电电压

6

SDO

SPI通信。CAN收发器作为从机,通过该pin发送数据给主机MCU。

7

INH

用于切换外部稳压器的高边输出。CAN总线或WAKE引脚上的唤醒事件将INH引脚切换到BAT电平。系统上电后(BAT从零上升),INH引脚自动切换到BAT电平。

8

SCK

SPI通信。MCU作为主机,通过该pin提供Clock时钟。

9

WAKE

Local Wake-up输入

10

BAT

车辆低压12V电池供电输入

11

SDI

SPI通信。CAN收发器作为从机,通过该pin接收来自主机MCU的数据。

12

CANL

CAN低

13

CANH

CAN高

14

SCSN

SPI通信。MCU作为主机,通过该pin提供片选信号。

1.1 CAN收发器对本ECU发送CAN报文的“回采”

回采”的理论基础。在CAN协议规范(ISO 11898-1-2015中,有如下图的要求:

 “监视(发送器将发送的位电平与网络上检测到的位电平进行比较);”

abit error位错误

在总线上,一个节点发送一个位也应监视总线。当监视的位值与发送的位值不同时,就会在该bit time检测到bit error位错误。”

上述这些要求,在CAN controllerCAN transceiver之间是如何实现的?我们将图1-2的左下角部分进行单独的分解,得到图1-3:

Step1:ECU准备发送一帧报文,CAN控制器按照经典CAN/CANFD帧格式,通过TX发送0和1数字电平序列给到CAN收发器

Step2CAN收发器中的Transmitter将0和1数字电平序列转换差分电平,通过CANHCANL发送到CAN Bus上;

Step3:与此同时,CAN收发器中的Receiver回读CAN Bus上的差分电平,并转化为0和1数字电平,给到CAN控制器,完成一次“该ECU发送一帧CAN报文的回采”;

Step4CAN控制器比较Step1Step3TXRX上数字电平是否一致,见图1-4,CAN报文发送过程可详见博文“【图解CAN总线】-9-详述经典CAN和CANFD报文是如何收发的”。

图1-3

图1-4

1.2 什么是Loop delay环路延迟

loop delay环路延迟的概念:

在“回采”过程中,CAN收发器经历了两次转换:Transmitter将0和1数字电平序列转换差分电平;Receiver将差分电平转换0和1数字电平序列。因为转换是需要时间的,势必有物理上的延迟。见图1-5,ECU发送一帧报文。TXRx Pin上电平变化:Rx上的数字电平变化会滞后些许时间。

图1-5

图1-6展示的是示波器下,一个CANFD帧局部放大的后效果:RX电平变化相比TX滞后了100多纳秒。

图1-6

1.2.1 Loop delay环路延迟的典型值

另外在TJA1145AData Sheet数据手册中,也给出了Loop delay环路延迟典型值,见图1-7和1-8。该值随着电气参数的变化而变化。

图1-7

图1-8

2 什么是TDC:Transceiver Delay Compensation收发器延迟补偿

在CAN FD数据段,如果使用较快的比特率(启用BRS),导致bit time较短,则local CAN transceiver loop delay造成的延迟将大于Phase_Seg1(见图2-1,采样点前的time segment时间段假设Loop delay环路延迟255纳秒,如果CANFD帧数据段Bit Rate大于等于4Mhz,即一个Bit Time小于等于250纳秒,从而导致检测到bit error位错误transceiver loop delay收发器环路延迟限制了CAN FD帧数据段的Bit Rate比特率

图2-1

因此,为了克服这一限制,引入了TDC(Transceiver Delay Compensation收发器延迟补偿)功能,即CAN FD帧的数据段,发送器应使用一个新的采样点SSPSecondary Sample Point第二采样点),而忽略transceiver loop delay收发器环路延迟SPsample point)。

Secondary Sample Point第二采样点transceiver loop delay收发器环路延迟可配置的transceiver delay compensation offset收发器延迟补偿偏移组成。

Transceiver loop delay收发器环路延迟是在每个发送帧中从EDL位(同FDF)到下一位r0的边沿,对应发送位边沿和接收位边沿之间测量的(见图2-2,图2-3)。测得的loop delay不足以用于定义secondary sample point,因为它与位边沿有关。

图2-2 Transceiver loop delay收发器环路延迟测量

图2-3 示波器下,一个CANFD帧RX电平变化相比TX滞后了120纳秒

Transceiver delay compensation offset收发器延迟补偿偏移用于将secondary sample point从边沿转移到bit time内的中间点,远离其边沿。因此,offset值不能大于data phasebit time

如果secondary sample point设置得非常接近CAN bit边沿(见图2-1,Sync_Seg字段),则在data phase的位采样期间可能会出现问题。为了使TDC可靠地工作,offset必须使用最佳设置。为确保在最佳区域中执行位采样,TDC offset建议参考如下等式,参考图2-1:

Offset = Phase_Seg1 + Prop_Seg + 2

下图2-4显示了使用这些设置时的SSP位置。

图2-4

2.1 总结:Transceiver Delay Compensation启用条件

通过以上章节的描述,总结如下:

条件1:该帧必须是CANFD帧(不适用于经典CAN帧,原因是其bit time远大于Loop Delay),并且启用了BRS位(数据段比特率高于仲裁段比特率),SSP作用在CANFD帧的数据段;

条件2:TDC仅适用于ECU发送的CANFD,不适用ECU接收的CANFD

条件3:在MCU的寄存器中启用TDC功能;

2.2 Secondary sample point test第二采样点测试方法

在《ISO 16845-1-Part 1_Data link layer and physical signalling_2016》标准的”8.8.2 Secondary sample point test”章节描述SSP的测试方法。

2.3 Infineon英飞凌TC2xx系列芯片 – TDC配置寄存器摘录

Transceiver Delay Compensation收发器延迟补偿寄存器TDCRx包含设置Transceiver Delay Compensation收发器延迟补偿功能的所有参数以及相应的状态位。NTDCRx寄存器只有在NCRx.CCE位被设置时才能写入。

CAN_NTDCRx(x = 0-2)

Node x Transceiver Delay Compensation收发器延迟补偿寄存器(23CH+x*100H)0000 0000H

CAN1_NTDCRz(z = 0-2)

Node z Transceiver Delay Compensation收发器延迟补偿寄存器(23CH+z*100H)0000 0000H

Field

Bits

Type

Description

TDCV

[4:0]

r

Transceiver Delay Compensation Value

该位字段显示secondary sample point第二采样点,即测量的transceiver delay收发器延迟(从CAN发送到接收)与transceiver delay compensation offset收发器延迟补偿偏移NTDCRz.TDCO之和。

TDCV的有效值为tq(time quanta)的0至31倍。

TDCO

[11:8]

rw

Transceiver Delay Compensation Offset

该位字段定义了Transceiver Delay Compensation收发器延迟补偿偏移量,该偏移量被添加到测量的transceiver delay收发器延迟(从CAN发送到接收)中,形成secondary sample point

TDCO的有效值为tq(time quanta)的0至15倍。

TDC

15

rw

Transceiver Delay Compensation Enable

该位启用Transceiver Delay Compensation收发器延迟补偿功能:

0B:禁用Transceiver Delay Compensation收发器延迟补偿

1B:启用Transceiver Delay Compensation收发器延迟补偿

0

[7:5],

[14:12],

[31:16]

r

Reserved

读为0;应写为0。

推荐阅读(单击下方文字即可跳转至对应博文):

《Autosar从入门到精通-实战篇》总目录_培训教程持续更新中...

《Autosar_BSW高阶配置》总目录_培训教程持续更新中...

《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...

END

获取更多“汽车电子资讯”和“工具链使用”,

请关注“汽车电子助手”,做您的好助手

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值