CAN FD 变速带来的问题

CAN FD 变速带来的问题 2019-10-24
杨福宇 yfy812@163.com

CAN FD用到2种速率,他们的转换过程涉及3个关键位:FDF,res,BRS,见图
在这里插入图片描述

它采用的机制是:
○1在FDF和res位间有一个硬同步;
○2在BRS位采样点前后实行不同的位速率tq。

采样位置不同造成出错的可能:
在理想状态下,FD的缺陷是BRS位,采样点之后按高速位的ps2开始下一位。但是不同ECU中设计的采样位置是不能保证相同的,例如a厂ECU的采样点定在75%,b厂定在85%,那么相差10%,假定低速位为500kbps,那么采样点可差0.2us,如高速位为2Mbps,每位0.5us。对高速位而言,初始相位差太大(40%),容易错。对高速位5Mbps,就已经差了1位。这里的关键是ECU选用晶振受芯片选用有关,也与成本有关,因此无法控制采样点位置的定义权。

毛刺引起出错:
由于FDF和res位间有一个硬同步,当存在初始相位差时,仲裁失败的发送节点及其它附近原来同步与他的接收节点的FDF位是超前的。这些节点FDF位采样点之后就等待硬同步沿了,如果一个毛刺引起错误的同步,那么整个BRS位置就错位了,当然后面的高速位就相位也错了。当仲裁失败节点FDF位是超前tprop+loopback=200ns(40m)+255ns=455ns时,即使对于2Mbps都可能错0.9位。加上各厂设计采样点不同造成的200ns,就一定差1位了。这里的关键是毛刺所处的范围很宽(几乎有1bit宽)。一般毛刺处在采样点才出位错。所以这种错要比位错的概率大很多倍。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CANFD通信中,由于数据传输速率较快,需要使用缓冲区(Buffer)来缓存发送和接收的数据。CANFD的Buffer问题主要涉及到以下几个方面: 1. Buffer数量问题CANFD通信需要使用多个缓冲区来缓存发送和接收的数据,缓冲区的数量需要根据实际情况来设计。如果缓冲区数量过少,可能会导致数据丢失或者传输失败;如果缓冲区数量过多,会增加系统的成本和复杂度。 2. Buffer大小问题CANFD通信需要使用缓冲区来缓存发送和接收的数据,缓冲区的大小需要根据实际数据大小来设计。如果缓冲区大小过小,可能会导致数据截断或者传输失败;如果缓冲区大小过大,会增加系统的成本和复杂度。 3. Buffer读写问题CANFD通信需要使用缓冲区来缓存发送和接收的数据,需要注意缓冲区的读写顺序。在发送数据时,需要先将数据写入缓冲区,然后再将缓冲区的数据发送出去;在接收数据时,需要先读取缓冲区中的数据,然后再进行处理。 4. Buffer溢出问题:在CANFD通信中,如果缓冲区大小不足或者数据传输速率过快,可能会导致缓冲区溢出。为了避免缓冲区溢出,可以增加缓冲区的数量和大小,或者使用数据丢失和错误校验等机制来处理溢出数据。 需要注意的是,CANFD的Buffer问题需要结合具体的应用场景和要求来设计,并且需要根据实际情况来选择合适的缓冲区数量和大小。同时,需要根据实际情况来设计缓冲区的读写顺序和溢出处理机制,以确保数据传输的可靠性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值