蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

CAN总线系列讲座——如何监测CAN网络节点的工作状态

  • 资源ID:56068332       资源大小:234.37KB        全文页数:7页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

CAN总线系列讲座——如何监测CAN网络节点的工作状态

CAN 总线系列讲座第十讲如何监测 CAN 网络节点的工作状态 1 问题的引出 在 CAN 总线研发项目的具体应用中,有的项目相对比较简单,不需要运用 CAN 总线的应用层协议来开发,在网络节点的状态监控方面,需要实时诊断其 是处于正常通讯状态还是故障状态。 2 只有 2 个节点的简单 CAN 总线网络 例如一个 CAN 总线网络中只有主节点和 1 个子节点。 主节点子节点 图图 1 21 2 个节点构成的简单个节点构成的简单 CANCAN 总线网络总线网络 这时, 主节点可以通过 2 种方式诊断子节点是处于正常通讯状态还是故障状 态。 方式一主节点中设置一个定时器,例如 2s 时间间隔主节点向子节点发送 一次询问(可以单独询问子节点的状态,也可以令子节点上传数据) ,设定 0.5s 钟时间限制,如果 0.5s 钟内没有收到子节点的应答,就判定子节点故障,主节 点可以通过蜂鸣器、显示屏、LED 等报警;同样的,子节点设定6s 钟时间限制, 如果 6s 钟内没有收到主节点的询问,就判定主节点故障,同样子节点可以通过 蜂鸣器、显示屏、LED 等报警。 方式二主节点在有人值守的情况下,例如煤矿风机运转状态的监控,主节 点一般是有人值守的计算机(主节点通过 USB、串口、PCI 连接在计算机上) , 此时可以不用再通过嵌入式系统判定主节点是否工作正常了。 可以让子节点定时 (例如 0.5s 钟)向主节点发送一组数据帧,在主节点上设定 1s 钟时间限制,如 果 1s 钟内没有收到子节点的应答,就判定子节点故障。此处 0.5s 钟向主节点发 送的一组数据帧就是我们常说的“心跳信息”就像人的心脏跳动一样,证明 子节点还“活着” 。 设置“心跳信息”有个技巧,让子节点发送的数据帧中的一个字节内容要有 所变化,例如 数据流传输方向子节点主节点 目标地址(主节点地址)数据帧内容数据长度 3 第一次0X28A0X000XAA0XBB 第二次0X28A0X010XAA0XBB 第三次0X28A0X000XAA0XBB 第四次0X28A0X010XAA0XBB 第五次0X28A0X000XAA0XBB 数据帧内容中的第 1 个字节是 0X00 和 0X01 交替出现, 假如都是保持 0X00 不变会有什么麻烦呢 目标地址(主节点地址)数据帧内容数据长度 3 第一次0X28A0X000XAA0XBB 第二次0X28A0X000XAA0XBB 第三次0X28A0X000XAA0XBB 第四次0X28A0X000XAA0XBB 第五次0X28A0X000XAA0XBB 如果某一段时间内 CAN 总线网络上没有其他的数据传输,只有这些内容不 变的“心跳信息”占满整个显示屏,那么就不容易让人及时判定子节点出现故障 了,有“视觉疲劳” 。 所以,使用“心跳信息”时,要让子节点发送的数据帧中的一个字节内容有 所变化至于数据帧中的数据长度,只要满足 1 到 8 个字节都可以,只是数据长 度越大占用 CAN 总线网络传输数据的时间越长,这个需要研发工程师根据自己 项目的实际情况灵活运用。 图图 2 2 3 大于 2 个节点的 CAN 总线网络 例如 主节点 1 子节点 2子节点 3子节点 4 图图 3 3多个节点构成的多个节点构成的 CANCAN 网络网络 主节点通过 CAN 网络实现对 3 个子节点的控制和信息交换,此时主节点如 何判断子节点的工作状态是否正常呢 首先,设置各节点在 CAN 网络中的 ID,即地址。设置如下 主节点的 ID 设为 0 x01,三个子节点的 ID 分别设为 0 x02、0 x03、0 x04。 方法一主节点逐个轮询子节点状态 主节点中设置一个定时器,例如 2s 时间间隔内主节点逐一向子节点发送一 次询问(可以单独询问子节点的状态,也可以令子节点上传数据) ,设定 0.5s 钟 时间限制,如果 0.5s 钟内没有收到子节点的应答,就判定子节点故障,主节点 可以通过蜂鸣器、显示屏、LED 等报警;同样的,子节点设定 6s 钟时间限制, 如果 6s 钟内没有收到主节点的询问,就判定主节点故障,同样子节点可以通过 蜂鸣器、显示屏、LED 等报警。 例如主节点(ID 为 0 x01)询问子节点(ID 为 0 x02) ,其数据流传输方向 主节点子节点。 目标地址(子节点地址)数据帧内容数据长度 2 0X020X010XDD 其中 0X01 表示此帧数据来自主节点(ID 为 0 x01) ,0XDD 表示命令标志, 告诉子节点 0X02 上传其状态或者采集的数据。 主节点(ID 为 0 x01)询问子节点(ID 为 0 x02)的数据帧发出后,主节点 (ID 为 0 x01)设置一个定时器并开始计时,如果0.5s 钟内没有收到子节点(ID 为 0 x02)的应答,就判定子节点(ID 为 0 x02)故障,主节点(ID 为 0 x01)可 以通过蜂鸣器、显示屏、LED 等报警,主节点就可以重新把计时器的计时数值 清零,开始询问下一个子节点(ID 为 0 x03)了。 如果子节点(ID 为 0 x02)工作正常,其需要马上应答主节点(ID 为 0 x01) , 其数据流传输方向子节点主节点。 目标地址(主节点地址)数据帧内容数据长度 3 0X010X020XCC0X06 其中 0X02 表示此帧数据来自子节点(ID 为 0 x02) ,0XCC 表示应答标志, 0X06 表示子节点(ID 为 0 x02)采集的开关量数据。 主节点(ID 为 0 x01)收到子节点(ID 为 0 x02)的应答数据帧后,其定时 器停止计时并把计时数值清零。 子节点 (ID 为 0 x02)设定 6s 钟时间限制, 如果 6s 钟内没有收到主节点(ID 为 0 x01)的询问,就判定主节点故障,同样子节点(ID 为 0 x02)可以通过蜂鸣 器、显示屏、LED 等报警。 通过上述方法,主节点(ID 为 0 x01)可以在2s 内逐个询问子节点,本例中 的 2s、0.5s、6s 是可以根据通讯距离、通讯速率、轮询周期要求调整的,具体项 目具体分析。 主节点逐个轮询子节点状态的方法的弊端是耗费时间长,试想一个 CAN 网 络中有 50 个节点,轮询一次耗费时间是比较长的。 方法二子节点通过“心跳信息”定时上传数据 三个子节点 (ID 分别为 0 x02、 0 x03、 0 x04) 定时 2s 分别向主节点上传数据, 如果 3 个子节点同时传输数据,通过总线竞争,地址低的子节点( ID0 x02)优先 级别高, 先于其他节点上传数据,其他 2 个节点会自动在总线空闲的时候上传数 据。如果定时 2s 的时间太短,就有可能出现这种情况其他 2 个节点还没有来 得及上传数据,子节点(ID0 x02)又开始了新一轮的上传数据这就是我们所 说的总线网络过载 例如 数据流传输方向子节点主节点 子节点 ID目标地址(主节点地址)数据帧内容数据长度 4 ID 为 0 x020X010X000X020XCC0X06 ID 为 0 x030X010X000X030XCC0X16 ID 为 0 x040X010X000X040XCC0X08 以子节点(ID

注意事项

本文(CAN总线系列讲座——如何监测CAN网络节点的工作状态)为本站会员(sunhongz124)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开