Can总线错误处理方法和can控制器的制造方法

文档序号:8318369阅读:1114来源:国知局
Can总线错误处理方法和can控制器的制造方法
【技术领域】
[0001]本发明涉及车辆技术领域,特别涉及一种CAN总线错误处理方法和CAN控制器。
【背景技术】
[0002]目前,汽车中的各电子控制单元普遍使用CAN(Controller Area Network,控制器局域网)总线进行信息共享以及相关控制。已知技术中,CAN总线具有错误界定的机制。具体地,通过发送错误计数器和接收错误计数器分别对CAN总线节点发送和接收到的错误进行计数。当发送错误计数器或接收错误计数器的计数次数大于一定值例如127时,CAN总线节点进入被动错误状态,当发送错误计数器的计数次数大于255时,CAN总线节点进入总线关闭状态。
[0003]已知技术中,常常会因为干扰使得错误计数器的计数次数达到致使CAN总线关闭的情况。一般而言,CAN总线上引起通信错误的干扰可以分为短时干扰和长时永久干扰。例如,当CAN总线上引起通信错误的干扰为短时干扰时,例如线束故障或瞬时电磁干扰,可能导致CAN总线进入总线关闭状态。另外,当CAN总线上引起通信错误的干扰为长时永久干扰时,CAN总线进入总线关闭状态。而且,不管是短时干扰还是长时永久干扰,CAN总线节点无法恢复正常通信,不具备一定容错能力。

【发明内容】

[0004]本申请是基于发明人对以下问题和事实的认识发现做出的:
[0005]相关技术中,当短时干扰导致CAN总线进入关闭状态,当干扰消失之后,CAN总线节点不能及时恢复通讯,即不具有一定的容错能力。如果是长时永久干扰,CAN总线不进行尝试恢复而始终处于关闭状态,也就是说现有技术中,没有合适的逻辑对短时干扰和长时永久干扰进行区分并进行合适的故障响应设计。
[0006]本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
[0007]为此,本发明的一个目的在于提出一种CAN总线错误处理方法,该CAN总线错误处理方法可以使CAN总线在出现通信错误而关闭通信时,能够区分引起通信错误的干扰类型并进行相应的故障响应,实现简单,可靠性高。
[0008]本发明的另一个目的在于提出一种CAN控制器。
[0009]为到达上述目的,本发明一方面实施例提出一种CAN总线错误处理方法,该CAN总线错误处理方法包括以下步骤:获取发送计数器的计数次数;如果所述发送计数器的计数次数大于第一次数阈值,则控制CAN总线节点进入总线关闭状态;以第一时间间隔进行复位,并记录第一复位次数;当所述第一复位次数大于第二次数阈值,且所述CAN总线节点未恢复通信时,以第二时间间隔进行复位,直至所述CAN总线节点恢复通信,所述第二时间间隔的时间大于所述第一时间间隔的时间。
[0010]本发明实施例的CAN总线错误处理方法,在CAN总线节点进入总线关闭状态之后,以第一时间间隔进行复位,可以在短时干扰时使得CAN总线尽快恢复通信。如果在第一复位次数大于第二次数阈值时,CAN总线节点未恢复通信,可以判断为长时永久干扰,则以第二时间间隔进行复位,在降低对系统控制器CPU的占用的同时,可以在长时干扰消失之后恢复CAN通信。换句话说,本发明实施例的CAN总线错误处理方法能够区分引起通信错误的干扰类型,并进行相应的故障响应直至恢复正常通信,实现简单,可靠性高。
[0011]优选地,在本发明的一个实施例中,所述第二时间间隔的时间为s级,所述第一时间间隔的时间为ms级。
[0012]优选地,在本发明的一个实施例中,所述第二时间间隔的时间为l_5s,所述第一时间间隔的时间为1-1OOms。
[0013]优选地,在本发明的一个实施例中,所述第一次数阈值为200-300次,所述第二次数阈值为10-30次。
[0014]为到达上述目的,本发明另一方面实施例提出一种CAN控制器,该CAN控制器包括:发送计数器;复位计数器;控制模块,所述控制模块在所述发送计数器的计数次数大于第一次数阈值时控制CAN总线节点进入总线关闭状态,并控制所述CAN总线节点以第一时间间隔进行复位,以及当所述复位计数器记录的第一复位次数大于第二次数阈值且所述CAN总线节点未恢复通信时,所述控制模块控制所述CAN总线节点以第二时间间隔进行复位,直至所述CAN总线节点恢复通信,其中,所述第二时间间隔的时间大于所述第一时间间隔的时间。
[0015]第二时间间隔的时间大于第一时间间隔的时间,可以降低对CAN控制器CPU(Central Processing Unit,中央处理器)的占用。
[0016]本发明实施例的CAN控制器,在CAN总线节点进入总线关闭状态之后,控制CAN总线节点以第一时间间隔进行复位,可以在短时干扰时使得CAN总线尽快恢复通信。如果在复位计数器记录的第一复位次数大于第二次数阈值时,CAN总线节点未恢复通信,可以判断为长时永久干扰,则控制模块控制CAN总线节点以第二时间间隔进行复位,在降低对系统控制器CPU的占用的同时,可以在长时干扰消失之后恢复CAN通信。换句话说,该CAN控制器能够区分引起通信错误的干扰类型,并进行相应的故障响应直至恢复正常通信,操作简单,可靠性高。
[0017]优选地,在本发明的一个实施例中,所述第二时间间隔的时间为s级,所述第一时间间隔的时间为ms级。
[0018]优选地,在本发明的一个实施例中,所述第二时间间隔的时间为l_5s,所述第一时间间隔的时间为1-1OOms。
[0019]优选地,在本发明的一个实施例中,所述第一次数阈值为200-300次,所述第二次数阈值为10-30次。
[0020]进一步地,在本发明的一个实施例中,当所述CAN总线节点恢复通信时,所述控制模块控制所述复位计数器清零。
[0021]进一步地,在本发明的另一个实施例中,当所述CAN控制器的电源重新上电时,所述控制模块控制所述复位计数器清零。
[0022]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0023]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0024]图1为根据本发明实施例的CAN控制器的框图;
[0025]图2为根据本发明实施例的CAN总线错误处理方法的流程图;以及
[0026]图3为根据本发明的一个具体实施例的CAN总线错误处理方法的流程图。
【具体实施方式】
[0027]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0028]下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此夕卜,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的可应用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。
[0029]在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0030]下面参照附图描述根据本发明实施例提出的CAN控制器和CAN总线错误处理方法。
[0031]如图1所示,本发明实施例的CAN控制器包括发送计数器10、复位计数器20以及控制模块30。其中,控制模块30在发送计数器10的计数次数大于第一次数阈值时控制CAN总
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1