本文目录一览

1,上位机通过can总线通信速率250kbps给下位机发送8万个字节花了3分钟

按理论计算这个速度的确不正常。你不妨简单介绍一下你的试验环境以及用线布线情况。250kbps波特率已经不低了,用线质量差、屏蔽不足的话都会导致很多问题的。首先监视一下总线传输情况,看看是否出现了过多的错误帧。如果错误帧过多说明通讯不稳定,应检查终端电阻匹配是否正确、线缆质量是否可靠、是否存在其它造成延时的元件、是否存在其它的干扰源。另外你上下位机之间是采用模块成品通讯还是自己做的驱动板?效率如何?

上位机通过can总线通信速率250kbps给下位机发送8万个字节花了3分钟

2,can报文的时间段的长度

根据CAN规范,每一个CAN位时间被分成4个时间段:同步段、传播时间段、相位缓冲段1和相位缓冲段2。同步段的长度为1QT,传播段长度为1-8QT,不同的控制器,PS1/PS2 的取值范围不完全一致,一般 PS1 为 1 – 8 TQ,PS2 为 2 – 8 TQ。CAN信息包分为两部分:信息部分和数据部分。头两个字节为信息部分,其前十一位为标识符,标识符中的前八位用作接收判断,应包含本信息包的目的站地址。然后是一位RTR位(应设为0),最后是四位的DLC(数据长度位,即所发数据的实际长度,单位:字节)。

can报文的时间段的长度

3,CAN总线负载率计算

根据波特率计算10 ms总共可以发送多少 bit:1s=1000ms;(250000 bit/1000 ms)*10 ms=2500 bit计算最长的一帧报文有多少个bit:(扩展帧)1sof+29id+1ide+1rtr+1srr+2r+4dlc+8*8data+16crc+2ack+7eof=128bit计算10ms内可以支持的报文数目:2500 bit/128 bit≈19综上可得:当10 ms间隔的报文数量超过19条时,就会出现丢帧,总线包和。(虽然问题已久,但此回答为了方便后来查找的人,Thanks?(?ω?)?)

CAN总线负载率计算


文章TAG:cancan  字节  需要  
下一篇