网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
CAN通信程序错误处理
作者: 来源:中国机电工程网    发布于:2019-06-07 18:30:52    文字:【】【】【
在CAN初始化中,打开了错误报警中断使能和总线错误中断使能,当错误计数器(发送错误计数器和接收错误计数器中的任何一个)计数值超过96时,说明总线被严重干扰,产生错误报警中断;当发送错误计数器值超过255时,节点进入总线关闭状态,CAN控制器将设置复位模式位为1(当前)并产生一个错误报警和总线错误中断。错误报警中断处理是清零所有错误计数器的值,维持CAN的运转,但这样做存在局限性:清零错误计数器只是将错误计数器简单的清零,不能从根本上消除错误来源;由于错误报警中断产生的条件为错误计数器的值超过96,而总线关闭中断产生的条件为发送错误计数器的值超过255,因此,发送错误计数器引起的错误报警中断可以屏蔽掉总线错误中断。系统可能由于总响应错误报警中断导致系统不能产生总线关闭,使CAN总线一直处于不稳定状态。

    为了避免这种情况,只打开总线错误中断使能,这样,在总线发生严重错误的情况下,可马上产生总线错误中断,使错误得到及时处理。总线错误中断的处理是复位该节点,重新初始化CAN控制器,这样可以消除错误,给节点一个很好的初态。由于CAN总线两条传输线之间的误接触,也易造成CAN总线关闭,使节点无法工作,在主程序中查询状态寄存器中当前CAN总线状态,及时复位该节点,使节点正常工作。

    同时,为了更方便直观地查看CAN总线的工作状态,设计了一个指示灯,当总线正常地收发信息时,指示灯闪烁,一旦CAN总线关闭,节点不参与总线活动,指示灯不再闪烁(此时指示灯长亮或长灭),当总线错误不能通过复位该节点解决时,可以通过查看指示灯的状态(长亮或长灭),及时地对不工作的节点进行修理维护。
浏览 (37) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人: 来源:中国机电工程网
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们