原因一,物理定律的限制:
保证CAN通信安全最大的特点是它的发送错误自监测要求:发送器将要发送的位电平与总线上检测到的位电平进行比较。如下图绿色字。

这使得所有发送回路必须是带反馈功能的。即发送节点发出一个数据位,传播到最远的接收节点,等待接收节点应答一个数据位,再传播到发送端。电信号在这个回路上传播是有时间的。物理学研究结果,铜线中的电信号传播速度大约为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。可见,波特率要求越高,时钟源振荡器频率也要越高。
原因三:时钟源振荡器频率的误差的限制,
一项新技术能否普及,成本是很关键的因素。为了节省线缆成本,CAN通信采用异步传输方式,时钟信号由网络上每个ECU自己承担。为了保证收发时序的同步,所有时钟信号的频率误差必须在一定范围内。理论上,通信速率越高,每个位的时间越短,则时钟频率也要越高,且误差越小。首先,CAN在设计之初就排除了频率误差较大的RC振荡器(误差在1%以上)。剩下的有陶瓷谐振器和晶体谐振器(俗称晶振),晶振的频率误差更低但是价格也贵。
“石英晶体振荡器的核心元件是石英晶体谐振器。陶瓷振荡器的核心元件是陶瓷谐振器。石英晶体谐振器的频率稳定度高达百万分之几(ppm),做成振荡器其频率稳定度可达-6量级。如果是温补振荡器也可达-7量级。如果是恒温振荡器可做到-8~-9量级,多层恒温振荡器更可达到-9量级。做为系统时钟,可以达到几百年不差一秒。用作导弹或航天中,可作到飞行上万公里,误差不到一米。而陶瓷谐振器频率稳定度只有千分之几。与石英晶体谐振器比显然差了很多。但陶瓷谐振器的特点是起振容易,且价格低廉。用在对时钟要求不太高的电路中比石英晶体谐振器在性价比上有优势。”
根据ISO11898-1-2003标准描述,选用N位填充时,频率误差df公式如下,
式1),分母中的13意思是选择5位填充,2*(N+1)+1=2*(5+1)+1。
可见填充位的位数N越大,对振荡器的精度要求越高。
分析一下:
设计tbit=8Tq,最小的PSEG1=2, PSEG2=2, PTS=4,
带入公式1,df≤2/(2*(13*8-2)=0.98%=9800ppm。
可见,对于这个误差陶瓷谐振器完全满足。

原因四: 总线传输延迟的考虑
在第一个原因里只考虑了总线上信号的传播延迟,事实上发送单元,接收单元的芯片处理信号本身也要时间。则按照单程
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的波特率能覆盖住这个传输延迟时间。
以下,ISO11898-5-2007标准限制了这个最大时间是255ns。


以上四个原因说明了,CAN2.0 最大波特率是1Mbps
————————————————
版权声明:本文为CSDN博主「南山上的一颗石」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40137252/article/details/98500615