CAN协议规范将位时间分成4个不同的时间段,如图所示。
SYNC_SEG 该段用来同步总线上的各节点,在该段内需要一个边沿。本段总是一个TIME QUANTUM(TQ)。
PROP_SEG 该段用来补偿网络内的物理延时。它是信号在总线上传播时间和的2倍,输入比较延时和输出驱动延时。该段在1~8 TIME QUANTA(TQ)之间可编程。
PHASE_SEG1该项用来补偿上升沿相位错误,在1~8 TIME QUANTA(TQ)之间可编程,并且可以被重新同步延长。
PHASE_SEG2该项用来补偿下降沿相位错误,2~8 TIME QUANTA(TQ)之间可编程,并且可以被重新同步缩短。
图 CAN位时间长庋
在eCAN模式下,CAN总线上位的长度由参数TSEG1(BTC.6~3)、TSEG2(BTC.2~0)和BRP(BTC.dJ~16)确定。CAN协议定义PROP_SEG和PHASE_SEG1结合构成TSEG1;TSEG2定义了PHASE ̄SEG2时间段的长度。IPT(信息处理时间)相当于位读取操作所需要的时间,IPT等于2倍的TQ。
在确定位时间段时,必须满足下列位时间选择规则:
●TSEG1(min)≥TSEG2;
●IPT≤TSEG1≥≥6TQ;
●IPT≤TSEG2≤8TQ;
●IPT=3/BRP(较接近3/BRP的整数值作为IPT的结果);
●ITQ≤SJW min[4 TQ,TSEG2](SJW为同步跳转宽度);
●为使用3次采样模式,必须选择BRP≥5。