CAN总线可谓是非常常用的总线了,但是你有想过为什么其最高速速率只有1Mbps嘛,而不是2Mbps,或者是更高?下面就来理一理。
这使得所有发送回路必须是带反馈功能的。即发送节点发出一个数据位,传播到最远的接收节点,等待接收节点应答一个数据位,再传播到发送端。电信号在这个回路上传播是有时间的。物理学研究结果,铜线中的电信号传播速度大约为2.310(8次方)m/s。
那么,对于40米长的电缆,来回有5ns/m × 40m × 2 = 400ns*的延迟,加上***1.25倍***的设计余量,就是**400ns1.25=500ns***,
也就是最大2Mbps。如果是20米长的电缆,最大4Mbps。但是电缆太短,通信系统的空间规模就越小。考虑CAN的使用环境,最大按40ms设计。
按设计tbit=8Tq,最小的PSEG1=2, PSEG2=2, PTS=4tbit计算,如果最大波特率1MHz, 振荡器频率≥8×1MHz= 8MHz。如果最大波特率2MHz, 振荡器频率≥8×2MHz=16MHz。可见,波特率要求越高,时钟源振荡器频率也要越高。
5ns/m × 40m = 200ns的时间还不够。按照传播延迟通常有2个Tq考虑,tbit=8Tq,最小的PSEG1=2, PSEG2=2, PTS=4,
对于1Mbps, Tq=125us, 2Tq=250us
对于2Mbps, Tq=62.5us,2Tq=125us
显然,1MHz的波特率能覆盖住这个传输延迟时间。
扫码关注公众号
关注公众号领精彩彩蛋!