CAN总线学习笔记总结(二)

介绍了CAN通讯错误相关和位定时位同步相关。
错误:

  1. 总线逻辑错误检测机制 error detection
    错误检测

错误类型:
位错误(Bit Error)发送显性位,总线监视到隐性位。
填充错误(Stuff Error)6个同极性位。
CRC错误(CRC Error)接收器计算的CRC与发送器不同。
格式错误(Form Error)检测crc界定符和ack界定符以及eof区域是否出现显性位。
应答错误(Acknowledgment Error)接收方会在收到消息后在ack应答位给出一个显性电平,如果发送方检测到该位为隐性,则报错。
2.错误处理error handling
错误跟踪

故障界定(Fault Confinement):下面是节点的三种状态:
主动错误(Error Active)也称为错误激活
被动错误(Error Passive)称为错误认可
总线关闭(Bus Off)
错误激活的单元可以正常参与总线通信,在检测到错误时发出“激活错误”标志。错误认可的单元不允许发送错误激活的标志,只发出认可错误的标志。发送后,错误认可的单元将在起动下一个发送之前处于等待状态。
总线单元上的计数以便故障界定:发送错误计数TEC和接收错误计数REC
规则:
a) 接收器检测到错误,接收错误计数器REC+1。
b) 错误标志发送,接收器检测到第一个位是显性,REC+8.
c) 发送器发送错误标志,TEC+8.
d) 发送节点发送主动错误标志或过载标志发现位错误,TEC+8
e) 接收节点接收主动错误标志或过载标志发现位错误,REC+8.
f) 发送激活错误标志、认可错误标志或过载标志以后,任何节点最多容许7个连续显性位。出现第八个显性位,则发送节点的TEC+8,接收节点的REC+8.
g) 成功发送一个报文,TEC-1
h) 成功接收一个报文,如果REC在1-127就REC-1;REC>127则置数119-127之间一个数。
i) Bus off状态,总线出现128个连续的11位隐性位,REC和TEC均清零。
j) TEC>=256,节点变为“Bus off”
k) TEC<=127,REC<=127,错误认可状态变为错误激活。而当TEC或REC有一个>=128,就变为错误认可。
tips:
错误计数器大于96就表明干扰严重,最好采取措施。
起动/睡眠:只有一个节点在线,发送报文,得不到应答,节点变为错误认可,不会成为总线关闭。

位定时与位同步
位定时:

  1. 标称位速率:理想的发送器没有重同步情况下每秒发送的位数量。
  2. 标称位时间:1/标称位速率。分为四个不重叠时间的片段。
    同步段(SYNC_SEG)用于同步总线不同的节点,必须有跳变沿。
    传播时间段(PROP_SEG)用于补偿网络内的物理延时时间。是信号在总线传播的时间、输入比较器延时和输出驱动器延时的2倍。
    相位缓冲段1(PHASE_SEG1)、相位缓冲段2(PHASE_SEG2)用于补偿边沿阶段的误差,这两个段可以通过重同步加长或缩短。
  3. 采样点:读总线电平并解释各位的值的一个时间点。位于相位缓冲段1的结尾。
  4. 时间量程:时间份额(TIME QUANTUM)=m*最小时间份额(MINIMUM TIME QUANTUM)m是预比例因子。
  5. 时间段长度:8-25个时间量程1+(1-8)+(1-8)+(max(PHASE_SEG1,信息处理时间)).

硬同步(Hard Synchronization)硬同步后,内部位时间以同步段重新开始。硬同步迫使引起硬同步的跳变沿位于重新开始的位时间同步段之内。

重同步跳转宽度(Resyhchronization Jump Width)使相位缓冲段1增长或使相位缓冲段2缩短。缩短或加长的数量有由重同步跳转宽度给定的上限。重同步跳转宽度设置在1和最小值之间(最小值为4,PHASE_SEG1)

边沿的相位误差(Phase Error of an Edge)由相对于同步段边沿的位置给出,以时间量程度量。e=0边沿处于同步段里;e<0边沿处于前一个位的采样点之后;e>0边沿位于采样点之前。相位误差源于节点的振荡器漂移,网络节点之间的传播延迟以及噪声干扰等。

重同步(Resyhchronization)在消息帧的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。重同步机制可以根据跳变沿增长或者缩短位时间以调整采样点的位置,保证正确采样。引起重同步的边沿相位误差小于等于重同步跳转宽度的编程值时,重同步和硬同步的作用相同;大于时,相位误差为正,相位缓冲段1增长一个重新同步跳转宽度的值,负的时候,2就缩短。

同步规则:一个位时间允许1个同步;采样点之前探测的值与紧跟边沿之后的总线值不符合时,才把边沿用于同步;空闲时,只要有1-0的边沿,就执行硬同步;符合条件1、2的1-0的边沿都可以重同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值