我是靠谱客的博主 拼搏火车,最近开发中收集的这篇文章主要介绍RoyalScope查看CAN网络总线利用率和进行流量分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CAN 总线本质上还是半双工通讯,就是“单行道”,即一个节点发送的时候其他节点无法发送数据。虽然 CAN 报文 ID 有优先级的区分,但如果高优先级一直占用总线,导致低优先级的节点就无法发出数据,这就是堵塞现象。所以控制流量、防止堵塞是总线健康正常通讯的基本要素。

可选不同刷新时间,改为较快或较慢。观察一段时间:如果利用率都没有超过 30%,则说明总线流量较好,没有明显的拥堵情况; 如果利用率突发超过 70%,则说有堵塞情况,建议进行下面第二步流量分析的排查。 如果平均利用率都在 70%以上,则说明总线严重拥堵,必须进行流量分析整改。

查看总线利用率

流量分析

停止总线利用率监测,点击流量分析,在 CAN 报 文下面生成以时间轴排列的 CAN 报文时序图,从而找出堵塞位置。

拥堵的还有一个重要的危害就是发生报文竞争,导致仲裁。在仲裁结束时,容易产生尖峰脉冲,有导致位翻转的隐患,特别是在容抗较大场合,容易导致位错误。

这就像高速堵车,首先找出堵车的路段,然后查看这个路段哪些车辆造成了堵塞,可以查看造成堵塞的车辆车牌。

 

总线利用率和流量分析排查传输堵塞

由于煤矿通讯的距离很远,所以波特率通常都是设置为5K,每秒的最大带宽只有 40 帧/秒, 因此如果同时有 50 个节点平均 1 秒各发 1 帧数据,肯定有 10 个低优先级的节点数据发不出来。 实际情况是当节点数量超过 30 以后,就经常有节点上传延迟。

例如:煤矿综合监控系统,5Kbps通讯波特率,1秒定期上传瓦斯、风速、负压、一氧化碳、烟雾、温度、风门开关等环境参数,当节点数量达到30个节点以上时,经常有节点延时。这是因为总线利用率暴增,节点通信堵塞。

 

 

解决办法

1、子节点拉大定时上传的周期,比如此案例,可以将所有节点的上传周期改为 2 秒;

2、采用“平时主机轮询式通讯,突发事件子节点上传数据”的方式,保证了正常通讯秩序与突发事件的实时响应速度;

3、采用主机定时发送心跳,子节点按时间片轮转的方式上传,如果某个子节点遇到突发事件,子节点可打破规则,即时上传数据;

4、提高通讯波特率,提高传输带宽。但要小心这样会缩短通讯距离,有可能导致通讯异常。

最后

以上就是拼搏火车为你收集整理的RoyalScope查看CAN网络总线利用率和进行流量分析的全部内容,希望文章能够帮你解决RoyalScope查看CAN网络总线利用率和进行流量分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部