[发明专利]一种CAN总线上电错误帧处理方法在审
申请号: | 202010063020.9 | 申请日: | 2020-01-19 |
公开(公告)号: | CN111273636A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 吴旭亮;向兵 | 申请(专利权)人: | 湖北三江航天红峰控制有限公司 |
主分类号: | G05B23/02 | 分类号: | G05B23/02 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 雷霄 |
地址: | 432000*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 can 线上 错误 处理 方法 | ||
本发明公开了一种CAN总线上电错误帧处理方法,所述CAN总线包括多个节点,所述节点包括主控制器和CAN控制器,所述CAN控制器包括用于记录总线状态的总线状态寄存器,所述方法包括:S1,所述CAN控制器检测到所述总线状态寄存器记录总线状态为总线关闭状态后,所述CAN控制器发生中断信号;S2,所述主控制器检测到中断信号后,向所述CAN控制器发出硬件复位信号脉冲,控制所述CAN控制器进行硬件复位及初始化;S3,所述CAN控制器完成硬件复位及初始化后,若所述主控制器仍然检测到中断信号,则执行步骤S2。本发明可以提高多节点CAN总线可靠性。
技术领域
本发明属于嵌入式控制技术领域,更具体地,涉及一种CAN总线上电错误帧处理方法。
背景技术
CAN总线具有自动检测总线错误状态机制,基于错误计数器的值,每个CAN控制器能够在三种错误状态之一中工作,错误激活、错误认可或总线关闭。如果错误计数器的值都在0~127之间,CAN控制器是错误激活的,此时产生错误激活标志6个显性位。如果一个错误计数器的值在128~255之间,CAN控制器是错误认可的,此时,在检测到错误前产生认可错误标志6个隐性位。如果发送错误计数器的值高于255,则到达总线关闭状态。当CAN总线控制系统上某一节点进入总线关闭状态时,会导致该节点自动关闭,进而无法正常工作。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种CAN总线上电错误帧处理方法,可以提高多节点CAN总线可靠性。
为实现上述目的,按照本发明的一个方面,提供了一种CAN总线上电错误帧处理方法,所述CAN总线包括多个节点,所述节点包括主控制器和CAN控制器,所述CAN控制器包括用于记录总线状态的总线状态寄存器,所述方法包括:
S1,所述CAN控制器检测到所述总线状态寄存器记录总线状态为总线关闭状态后,所述CAN控制器发生中断信号;
S2,所述主控制器检测到中断信号后,向所述CAN控制器发出硬件复位信号脉冲,控制所述CAN控制器进行硬件复位及初始化;
S3,所述CAN控制器完成硬件复位及初始化后,若所述主控制器仍然检测到中断信号,则再次执行步骤S2。
优选地,在执行步骤S2时进行计数,每执行一次步骤S2,则计数加一,当计数大于预定阈值时,则提示发生CAN总线节点关闭错误。
优选地,所述主控制器为MCU、DSP或FPGA。
优选地,所述总CAN控制器包括错误计数器,用于记录所述CAN控制器错误次数;
当所述CAN控制器错误次数为0~127,则所述总线状态寄存器记录总线状态为错误激活状态;
当所述CAN控制器错误次数为128~255,则所述总线状态寄存器记录总线状态为错误认可状态;
当所述CAN控制器错误次数大于255,则所述总线状态寄存器记录总线状态为总线关闭状态。
优选地,所述CAN控制器完成硬件复位及初始化后,等待预设时间再进行中断信号的检测。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有有益效果:可以在某一节点进入总线关闭状态时进行节点自动恢复,提高多节点CAN总线控制系统工作可靠性。
附图说明
图1是本发明实施例提供的一种CAN总线上电错误帧处理方法流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北三江航天红峰控制有限公司,未经湖北三江航天红峰控制有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010063020.9/2.html,转载请声明来源钻瓜专利网。