CAN总线也叫作控制器局域网,顾名思义,这是个控制系统。因为CAN总线数据传输速度快,抗干扰能力强,信息传输延迟性低,所以这个东西广泛的被应用在汽车控制以及工业自动化控制领域里。既然是一个实用化的控制系统,那我们也不想聊虚的,我们就想知道这玩意在实际使用中应该注意些什么,比如总线传输时的负载率。
所谓负载率,指的是总线上传输的信息量除以理论上这个通讯速率下总线上可传输的最大信息量。是不是有点拗口不懂啊?没事,我们再形象的说下。比如说,一条总线在100Kbps的通讯速率下,它一秒钟最多可以通过10000帧的数据。注意,我这里只是举个例子,现实情况其实不是这个数,大家注意一下。然后我们接着说,总线在100Kbps通讯速率下,理论上最多可以在一秒通过10000帧数据。但我们也知道,理论数据就是理论数据,绝大多数情况下肯定是达不到这个指标的。就如同军事上子弹的射程一样,它一般包括有效射程以及最大射程。有效射程就是子弹在飞行的过程中,其命中精度比较高,属于可控的发射。相对应的,最大射程就是子弹飞的最远的那种情况,也有杀伤力,但已经控制不好精度了。CAN总线也是一样,你让它实际使用肯定不能够满负载运行,那样几下子就出错了,它也有红线是不能逾越的。从总线负载率上将,CAN总线的负载率控制在60%或以下就可以,也就是说,当CAN总线的通讯速率是1000Kbps时,它理论上最多能够通过8000帧的数据,然后再乘以60%,剩下的4800帧数据就是CAN总线在这个通讯速率下的理想数据通过量。当CAN总线的通讯速率是500Kbps时,其理想数据通过量是2400帧。CAN总线的通讯速率越小,其理想的数据通过量越小,但理想的总线负载率不变.