CN109061364B - 一种无应答状态检测方法及装置 - Google Patents
一种无应答状态检测方法及装置 Download PDFInfo
- Publication number
- CN109061364B CN109061364B CN201810953884.0A CN201810953884A CN109061364B CN 109061364 B CN109061364 B CN 109061364B CN 201810953884 A CN201810953884 A CN 201810953884A CN 109061364 B CN109061364 B CN 109061364B
- Authority
- CN
- China
- Prior art keywords
- error counter
- messages
- hardware error
- value
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/50—Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
Abstract
本发明公开了一种无应答状态检测方法及装置,该方法包括:实时检测CAN控制器是否处于正常发送报文状态;若否,确定CAN控制器的CAN总线通信异常;每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增;实时读取并判断硬件错误计数器的数值是否等于设定阈值;若是,确定CAN控制器的CAN总线处于无应答状态。本发明公开的方法及装置,通过以上方式可以实现对CAN总线的无应答状态的有效检测。
Description
技术领域
本发明涉及汽车网络通信领域,特别涉及一种无应答状态检测方法及装置。
背景技术
CAN(Controller Area Network,控制器局域网络)控制器作为负责汽车中众多测量控制部件之间的数据交换的控制器,需要对CAN总线的各种状态(如,无应答状态,即只接收报文,不发送报文的状态)进行检测,以根据检测结果确认CAN总线通信是否正常。
但,目前尚不能有效检测CAN总线的无应答状态。
发明内容
为解决上述技术问题,本发明实施例提供一种无应答状态检测方法及装置,以达到实现对CAN总线的无应答状态的准确检测的目的,技术方案如下:
一种无应答状态检测方法,包括:
实时检测所述CAN控制器是否处于正常发送报文状态;
若否,确定所述CAN控制器的CAN总线通信异常;
每发送失败一帧报文,所述CAN控制器的硬件错误计数器的数值按第一预设值递增;
实时读取并判断所述硬件错误计数器的数值是否等于设定阈值;
若是,确定所述CAN控制器的CAN总线处于无应答状态。
优选的,还包括:
判断所述硬件错误计数器的数值是否小于所述设定阈值,且大于零;
若是,
每成功发送一帧报文时,所述硬件错误计数器的数值减少第二预设值;
或,每成功发送一组报文时,判断所述硬件错误计数器的数值是否大于第三预设值,若是,所述硬件错误计数器的数值减少第三预设值,若否,则所述硬件错误计数器的数值直接归零,所述一组报文包含有预设数量的报文,所述预设数量大于一帧。
优选的,所述确定所述CAN控制器的CAN总线处于无应答状态后,还包括:
周期性发送一帧测试报文;
当成功发送所述一帧测试报文时,所述硬件错误计数器的数值由所述设定阈值减少第二预设值,所述CAN总线退出所述无应答状态;
或,周期性发送一组测试报文,所述一组测试报文包含有预设数量的报文,所述预设数量大于一帧;
当成功发送一组测试报文时,所述硬件错误计数器的数值由所述设定阈值减少第三预设值,所述CAN总线退出所述无应答状态。
优选的,所述周期性发送一帧测试报文,具体为:
在第一周期的第一操作时间内按第二周期发送所述一帧测试报文,在所述第一周期的第二操作时间内停止发送,所述第一操作时间与所述第二操作时间为连续的两段时间,两段时间之和为所述第一周期;
所述周期性发送一组测试报文,具体为:
在所述第一周期的第一操作时间内按所述第二周期发送所述一组测试报文,在所述第一周期的第二操作时间内停止发送。
一种无应答状态检测装置,包括:
检测模块,用于实时检测所述CAN控制器是否处于正常发送报文状态,若否,执行第一确定模块;
所述第一确定模块,用于确定所述CAN控制器的CAN总线通信异常;
触发模块,用于每发送失败一帧报文,触发所述CAN控制器的硬件错误计数器的数值按第一预设值递增;
第一判断模块,用于实时读取并判断所述硬件错误计数器的数值是否等于设定阈值,若是,执行第二确定模块;
所述第二确定模块,用于确定所述CAN控制器的CAN总线处于无应答状态。
优选的,还包括:
第二判断模块,用于判断所述硬件错误计数器的数值是否小于所述设定阈值,且大于零;若是,每成功发送一帧报文时,触发所述硬件错误计数器的数值减少第二预设值,或,每成功发送一组报文时,判断所述硬件错误计数器的数值是否大于第三预设值,若是,触发所述硬件错误计数器的数值减少第三预设值,若否,则所述硬件错误计数器的数值直接归零,所述一组报文包含有预设数量的报文,所述预设数量大于一帧。
优选的,还包括:第一测试模块和第一退出模块,或者,第二测试模块和第二退出模块;
第一测试模块,用于周期性发送一帧测试报文;
第一退出模块,用于当成功发送所述一帧测试报文时,触发所述硬件错误计数器的数值由所述设定阈值减少第二预设值,触发所述CAN总线退出所述无应答状态;
第二测试模块,用于周期性发送一组测试报文,所述一组测试报文包含有预设数量的报文,所述预设数量大于一帧;
第二退出模块,用于当成功发送一组测试报文时,触发所述硬件错误计数器的数值由所述设定阈值减少第三预设值,触发所述CAN总线退出所述无应答状态。
优选的,所述第一测试模块,具体用于:
在第一周期的第一操作时间内按第二周期发送所述一帧测试报文,在所述第一周期的第二操作时间内停止发送,所述第一操作时间与所述第二操作时间为连续的两段时间,两段时间之和为所述第一周期;
所述第二测试模块,具体用于:
在所述第一周期的第一操作时间内按所述第二周期发送所述一组测试报文,在所述第一周期的第二操作时间内停止发送。
与现有技术相比,本发明的有益效果为:
在本发明中,通过实时检测CAN控制器是否处于正常发送报文状态,来确定CAN控制器的CAN总线通信是否异常,在确定CAN控制器的CAN总线通信异常的基础上,每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增,实时读取并判断硬件错误计数器的数值是否等于设定阈值,若硬件错误计数器的数值等于设定阈值,则可以确定CAN控制器的CAN总线的状态为处于无应答状态,从而实现对CAN总线的无应答状态的有效检测。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的无应答状态检测方法的一种流程图;
图2是本发明提供的无应答状态检测方法的另一种流程图;
图3是本发明提供的无应答状态检测方法的再一种流程图;
图4是本发明提供的无应答状态检测方法的再一种流程图;
图5是本发明提供的无应答状态检测方法的再一种流程图;
图6是本发明提供的无应答状态检测装置的一种逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种无应答状态检测方法,包括:实时检测CAN控制器是否处于正常发送报文状态;若否,确定CAN控制器的CAN总线通信异常;每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增;实时读取并判断硬件错误计数器的数值是否等于设定阈值;若是,确定CAN控制器的CAN总线处于无应答状态。本方法可以实现对CAN总线的无应答状态的准确检测。
接下来对本发明实施例公开的无应答状态检测方法进行介绍,请参见图1,可以包括:
步骤S11、实时检测CAN控制器是否处于正常发送报文状态。
若否,则执行步骤S12。
本实施例中,实时检测CAN控制器是否处于正常发送报文状态的过程,具体可以包括:
实时检测CAN控制器所发送报文的无应答位是否出现错误。
若检测结果为CAN控制器所发送报文的无应答位出现错误,则可以确定CAN控制器的CAN总线上存在未发送成功的数据帧。
步骤S12、确定CAN控制器的CAN总线通信异常。
基于步骤S11检测的CAN控制器未处于正常发送报文状态的结果,可以确定CAN控制器的CAN总线通信异常。
具体地,在步骤S11确定出CAN控制器的CAN总线上存在未发送成功的数据帧之后,可以确定CAN控制器的CAN总线通信异常。
步骤S13、每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增。
第一预设值可以根据实际需要进行灵活设置。优选的,第一预设值可以设置为8。
步骤S14、实时读取并判断硬件错误计数器的数值是否等于设定阈值。
若是,则执行步骤S15。
需要说明的是,设定阈值大于0。
由于硬件错误计数器为CAN控制器的内置元件,因此可以将硬件错误计数器作为检测源,利用硬件错误计数器的特性来检测CAN总线的工作状态。
接下来,对硬件错误计数器的特性进行介绍,具体可以包括:
首先,在CAN控制器发送报文失败时,硬件错误计数器的数值会增加;在CAN控制器发送报文成功时,硬件错误计数器的数值会减少。
其次,当硬件错误计数器的数值不大于第一临界值时,CAN控制器为主动错误模式,该错误模式为CAN控制器可控制的自身错误模式,CAN控制器可实现正常的发送及接收报文;当硬件错误计数器的数值大于第一临界值时控制器进入被动错误模式,此错误模式下,CAN控制器只接收报文,不能正常发送报文;当硬件错误计数器的数值等于第二临界值时,CAN控制器处于被动错误模式,并且在硬件错误计数器的数值不再改变时,CAN控制器的CAN总线进入无应答状态。其中,第二临界值大于第一临界值,第二临界值大于0。
优选的,将上述第二临界值作为设定阈值。
优选的,第一临界值可以设置为127,第二临界值可以设置为128。
基于上述对硬件错误计数器的特性可知,可以通过检测硬件错误计数器的数值是否等于设定阈值,来确定CAN控制器的工作状态。
步骤S15、确定CAN控制器的CAN总线处于无应答状态。
基于步骤S14判断出的硬件错误计数器的数值等于设定阈值的结果,本步骤可以确定CAN控制器的CAN总线处于无应答状态。
在本发明中,通过实时检测CAN控制器是否处于正常发送报文状态,来确定CAN控制器的CAN总线通信是否异常,在确定CAN控制器的CAN总线通信异常的基础上,每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增,实时读取并判断硬件错误计数器的数值是否等于设定阈值,若硬件错误计数器的数值等于设定阈值,则可以确定CAN控制器的CAN总线的状态为处于无应答状态,从而实现对CAN总线的无应答状态的有效检测。
在本发明的另一个实施例中,介绍另外一种无应答状态检测方法,请参见图2,可以包括:
步骤S21、实时检测CAN控制器是否处于正常发送报文状态。
若否,执行步骤S22。
步骤S22、确定CAN控制器的CAN总线通信异常。
步骤S23、每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增。
步骤S24、实时读取并判断硬件错误计数器的数值是否等于设定阈值。
步骤S25、确定CAN控制器的CAN总线处于无应答状态。
步骤S21-S25与前述实施例中的步骤S11-S15相同,步骤S21-S25的详细过程可以参见步骤S11-S15的相关介绍,在此不再赘述。
步骤S26、判断硬件错误计数器的数值是否小于设定阈值,且大于零。
需要说明的是,步骤S26可以在步骤S23之后执行。
若是,说明CAN控制器的CAN总线未处于无应答状态,CAN控制器可以正常发送报文,在CAN控制器可以正常发送报文的情况下,可以执行步骤S27。
步骤S27、每成功发送一帧报文时,硬件错误计数器的数值减少第二预设值。
基于前述介绍的在CAN控制器发送报文成功时,硬件错误计数器的数值会减少的特性,本实施例可以设置每成功发送一帧报文时,硬件错误计数器的数值减少第二预设值。
第二预设值可以根据实际需要进行灵活设置,优选的,第二预设值可以设置为1。
需要说明的是,CAN控制器在实际工作中需要发送多帧报文,本实施例中按照预设的报文发送次序,每次发送一帧报文,每发送失败一帧,硬件错误计数器的数值增加第一预设值;每成功发送一帧,硬件错误计数器的数值减少第二预设值,直至减为零。
在本发明的另一个实施例中,介绍另外一种无应答状态检测方法,请参见图3,可以包括:
步骤S31、实时检测CAN控制器是否处于正常发送报文状态。
若否,执行步骤S32。
步骤S32、确定CAN控制器的CAN总线通信异常。
步骤S33、每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增。
步骤S34、实时读取并判断硬件错误计数器的数值是否等于设定阈值。
步骤S35、确定CAN控制器的CAN总线处于无应答状态。
步骤S31-S35与前述实施例中的步骤S11-S15相同,步骤S31-S35的详细过程可以参见步骤S11-S15的相关介绍,在此不再赘述。
步骤S36、判断硬件错误计数器的数值是否小于设定阈值,且大于零。
需要说明的是,步骤S36可以在步骤S33之后执行。
若是,说明CAN控制器的CAN总线未处于无应答状态,CAN控制器可以发送报文,在CAN控制器可以发送报文的情况下,可以执行步骤S37。
步骤S37、每成功发送一组报文时,判断硬件错误计数器的数值是否大于第三预设值。
可以理解的是,一组报文包含有预设数量的报文,预设数量大于一帧。相应地,第三预设值大于上述第二预设值。
第三预设值可以根据实际需要进行灵活设置。优选的,第三预设值可以设置为:第二预设值与一组报文所包括的报文的帧数的乘积。如,第二预设值等于1,一组报文包括N帧报文,则第三预设值等于1*N。
若是,执行步骤S38;若否,则执行步骤S39。
步骤S38、硬件错误计数器的数值减少第三预设值。
每成功发送一组报文时,硬件错误计数器的数值减少第三预设值,相比于每成功发送一帧报文时硬件错误计数器的数值减少第二预设值,硬件错误计数器的数值的递减速度更快。
步骤S39、硬件错误计数器的数值直接归零。
若在成功发送一组报文的同时检测到硬件错误计数器的数值小于第三预设值,则硬件错误计数器的数值可以直接归零,提升硬件错误计数器的数值递减为零的效率。
需要说明的是,本实施例中,每组报文包含有多帧报文,每次发送报文时是按照一组报文进行发送,每次发送失败即发送失败一组报文,每次发送成功也是发送成功一组报文,例如一组报文包含有5帧报文,则发送失败一组报文,硬件错误计数器的数值增加:第一预设值*5,与每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增的设定是一致的,即硬件错误计数器的数值会连续增加5个第一预设值。
在本发明的另一个实施例中,介绍另外一种无应答状态检测方法,请参见图4,可以包括:
步骤S41、实时检测CAN控制器是否处于正常发送报文状态。
若否,执行步骤S42。
步骤S42、确定CAN控制器的CAN总线通信异常。
步骤S43、每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增。
步骤S44、实时读取并判断硬件错误计数器的数值是否等于设定阈值。
步骤S45、确定CAN控制器的CAN总线处于无应答状态。
步骤S41-S45与前述实施例中的步骤S11-S15相同,步骤S41-S45的详细过程可以参见步骤S11-S15的相关介绍,在此不再赘述。
步骤S46、周期性发送一帧测试报文。
需要说明的是,本步骤中的一帧测试报文可以为CAN控制器需要发送的报文中的任意一帧。
步骤S47、当成功发送一帧测试报文时,硬件错误计数器的数值由设定阈值减少第二预设值,CAN总线退出无应答状态。
硬件错误计数器的数值由设定阈值减少第二预设值后,硬件错误计数器的数值小于设定阈值,CAN总线退出无应答状态。
周期性发送一帧测试报文,可以理解为:循环执行在一段时间内发送一帧测试报文,在另一段时间内停止发送测试报文的操作。
需要说明的是,本步骤中的第二预设值与前述实施例中步骤S27介绍的第二预设值相同。
在本发明的另一个实施例中,对上述周期性发送一帧测试报文进行介绍,具体可以包括:
在第一周期的第一操作时间内按第二周期发送一帧测试报文,在第一周期的第二操作时间内停止发送,第一操作时间与第二操作时间为连续的两段时间,两段时间之和为第一周期。
需要说明的是,第二周期的大小小于第一操作时间。
在第一周期的第一操作时间内按第二周期发送一帧测试报文,在第一周期的第二操作时间内停止发送,可以保证CAN控制器不需要一直发送测试报文,从而降低CAN控制器的功耗。
在第一周期的第一操作时间内按第二周期发送一帧测试报文,相比于在第一周期的第一操作时间内一直发送测试报文,可以进一步降低CAN控制器的功耗。
在本发明的另一个实施例中,介绍另外一种无应答状态检测方法,请参见图5,可以包括:
步骤S51、实时检测CAN控制器是否处于正常发送报文状态。
若否,执行步骤S52。
步骤S52、确定CAN控制器的CAN总线通信异常。
步骤S53、每发送失败一帧报文,CAN控制器的硬件错误计数器的数值按第一预设值递增。
步骤S54、实时读取并判断硬件错误计数器的数值是否等于设定阈值。
若是,则执行步骤S55。
步骤S55、确定CAN控制器的CAN总线处于无应答状态。
步骤S51-S55与前述实施例中的步骤S11-S15相同,步骤S51-S55的详细过程可以参见步骤S11-S15的相关介绍,在此不再赘述。
步骤S56、周期性发送一组测试报文。
一组测试报文可以包含有预设数量的报文,预设数量大于一帧。
周期性发送一组测试报文,可以理解为:循环执行在一段时间内发送一组测试报文,在另一段时间内停止发送的操作。
周期性发送一组测试报文,可以避免CAN控制器一直处于高速运转状态,从而降低CAN控制器的运行负担。
步骤S57、当成功发送一组测试报文时,硬件错误计数器的数值由设定阈值减少第三预设值,CAN总线退出无应答状态。
硬件错误计数器的数值由设定阈值减少第三预设值后,硬件错误计数器的数值小于设定阈值,CAN总线退出无应答状态。
需要说明的是,S56及S57中所发送的一组测试报文与前述实施例步骤S37中发送的一组报文为相同的报文,所涉及的第三预设值为相同的值。
可以理解的是,周期性发送一组测试报文,当成功发送一组测试报文时,硬件错误计数器的数值由设定阈值减少第三预设值,相比于周期性发送一帧测试报文,当成功发送一帧测试报文时,硬件错误计数器的数值由设定阈值减少第二预设值,硬件错误计数器的数值减小的速度更快。在硬件错误计数器的数值快速减小的基础上,可以使CAN总线快速退出无应答状态,避免由于下一帧报文发送失败导致再次进入无应答状态的情况发生,进而避免CAN总线在无应答状态和退出无应答状态之间频繁切换。
在本发明的另一个实施例中,对上述周期性发送一组测试报文进行介绍,具体可以包括:
在第一周期的第一操作时间内按第二周期发送一组测试报文,在第一周期的第二操作时间内停止发送,第一操作时间与第二操作时间为连续的两段时间,两段时间之和为第一周期。
需要说明的是,第二周期的大小小于第一操作时间。
在第一周期的第一操作时间内按第二周期发送一组测试报文,在第一周期的第二操作时间内停止发送,可以保证CAN控制器不需要一直发送测试报文,从而降低CAN控制器的功耗。
在第一周期的第一操作时间内按第二周期发送一组测试报文,相比于在第一周期的第一操作时间内一直发送一组测试报文,可以进一步降低CAN控制器的功耗。
接下来对本发明提供的无应答状态检测装置进行介绍,下文介绍的无应答状态检测装置与上文介绍的无应答状态检测方法可相互对应参照。
请参见图6,其示出了本发明提供的无应答状态检测装置的一种逻辑结构示意图,无应答状态检测装置包括:检测模块11、第一确定模块12、触发模块13、第一判断模块14和第二确定模块15。
检测模块11,用于实时检测CAN控制器是否处于正常发送报文状态,若否,执行第一确定模块12;
第一确定模块12,用于确定CAN控制器的CAN总线通信异常;
触发模块13,用于每发送失败一帧报文,触发CAN控制器的硬件错误计数器的数值按第一预设值递增;
第一判断模块14,用于实时读取并判断硬件错误计数器的数值是否等于设定阈值,若是,执行第二确定模块15;
第二确定模块15,用于确定CAN控制器的CAN总线处于无应答状态。
在本实施例中,无应答状态检测装置还可以包括:第二判断模块,用于判断硬件错误计数器的数值是否小于设定阈值,且大于零;若是,每成功发送一帧报文时,触发硬件错误计数器的数值减少第二预设值,或,每成功发送一组报文时,判断硬件错误计数器的数值是否大于第三预设值,若是,触发硬件错误计数器的数值减少第三预设值,若否,则硬件错误计数器的数值直接归零,一组报文包含有预设数量的报文,预设数量大于一帧。
在本实施例中,无应答状态检测装置还可以包括:第一测试模块和第一退出模块。
第一测试模块,用于周期性发送一帧测试报文;
第一退出模块,用于当成功发送一帧测试报文时,触发硬件错误计数器的数值由设定阈值减少第二预设值,触发CAN总线退出无应答状态。
在本实施例中,第一测试模块,具体可以用于:
在第一周期的第一操作时间内按第二周期发送一帧测试报文,在第一周期的第二操作时间内停止发送,第一操作时间与第二操作时间为连续的两段时间,两段时间之和为第一周期。
在本实施例中,无应答状态检测装置还可以包括:第二测试模块和第二退出模块。
第二测试模块,用于周期性发送一组测试报文,该一组测试报文包含有预设数量的报文,预设数量大于一帧;
第二退出模块,用于当成功发送一组测试报文时,触发硬件错误计数器的数值由设定阈值减少第三预设值,触发CAN总线退出无应答状态。
在本实施例中,第二测试模块,具体可以用于:
在第一周期的第一操作时间内按第二周期发送一组测试报文,在第一周期的第二操作时间内停止发送,第一操作时间与第二操作时间为连续的两段时间,两段时间之和为第一周期。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种无应答状态检测方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种无应答状态检测方法,其特征在于,包括:
实时检测CAN控制器是否处于正常发送报文状态;
若否,确定所述CAN控制器的CAN总线通信异常;
每发送失败一帧报文,所述CAN控制器的硬件错误计数器的数值按第一预设值递增;
实时读取并判断所述硬件错误计数器的数值是否等于设定阈值;
若是,确定所述CAN控制器的CAN总线处于无应答状态,所述无应答状态为只接收报文,且不能正常发送报文的状态;
周期性发送一组测试报文,所述一组测试报文包含有预设数量的报文,所述预设数量大于一帧;
当成功发送一组测试报文时,所述硬件错误计数器的数值由所述设定阈值减少第三预设值,所述CAN总线退出所述无应答状态。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断所述硬件错误计数器的数值是否小于所述设定阈值,且大于零;
若是,每成功发送一帧报文时,所述硬件错误计数器的数值减少第二预设值;或,每成功发送一组报文时,判断所述硬件错误计数器的数值是否大于第三预设值,若是,所述硬件错误计数器的数值减少第三预设值,若否,则所述硬件错误计数器的数值直接归零,所述一组报文包含有预设数量的报文,所述预设数量大于一帧。
3.根据权利要求1所述的方法,其特征在于,所述周期性发送一组测试报文,具体为:
在第一周期的第一操作时间内按第二周期发送所述一组测试报文,在所述第一周期的第二操作时间内停止发送。
4.一种无应答状态检测装置,其特征在于,包括:
检测模块,用于实时检测CAN控制器是否处于正常发送报文状态,若否,执行第一确定模块;
所述第一确定模块,用于确定所述CAN控制器的CAN总线通信异常;
触发模块,用于每发送失败一帧报文,触发所述CAN控制器的硬件错误计数器的数值按第一预设值递增;
第一判断模块,用于实时读取并判断所述硬件错误计数器的数值是否等于设定阈值,若是,执行第二确定模块;
所述第二确定模块,用于确定所述CAN控制器的CAN总线处于无应答状态,所述无应答状态为只接收报文,且不能正常发送报文的状态;
第二测试模块,用于周期性发送一组测试报文,所述一组测试报文包含有预设数量的报文,所述预设数量大于一帧;
第二退出模块,用于当成功发送一组测试报文时,触发所述硬件错误计数器的数值由所述设定阈值减少第三预设值,触发所述CAN总线退出所述无应答状态。
5.根据权利要求4所述的装置,其特征在于,还包括:
第二判断模块,用于判断所述硬件错误计数器的数值是否小于所述设定阈值,且大于零;若是,每成功发送一帧报文时,触发所述硬件错误计数器的数值减少第二预设值,或,每成功发送一组报文时,判断所述硬件错误计数器的数值是否大于第三预设值,若是,触发所述硬件错误计数器的数值减少第三预设值,若否,则所述硬件错误计数器的数值直接归零,所述一组报文包含有预设数量的报文,所述预设数量大于一帧。
6.根据权利要求4所述的装置,其特征在于,所述第二测试模块,具体用于:
在第一周期的第一操作时间内按第二周期发送所述一组测试报文,在所述第一周期的第二操作时间内停止发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810953884.0A CN109061364B (zh) | 2018-08-21 | 2018-08-21 | 一种无应答状态检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810953884.0A CN109061364B (zh) | 2018-08-21 | 2018-08-21 | 一种无应答状态检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109061364A CN109061364A (zh) | 2018-12-21 |
CN109061364B true CN109061364B (zh) | 2020-12-01 |
Family
ID=64687598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810953884.0A Active CN109061364B (zh) | 2018-08-21 | 2018-08-21 | 一种无应答状态检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109061364B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547284A (zh) * | 2018-11-05 | 2019-03-29 | 北京长城华冠汽车科技股份有限公司 | 一种检测控制器局域网报文掉线的方法、装置和电动汽车 |
CN113033752B (zh) * | 2021-03-22 | 2023-06-02 | 深圳市英威腾电气股份有限公司 | 通信故障检测方法、主机、从机 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6201794B1 (en) * | 1997-03-07 | 2001-03-13 | Advanced Micro Devices, Inc. | Network with efficient message routing |
CN102033141A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种基于can总线汽车仪表的测试系统及方法 |
CN102523608A (zh) * | 2011-12-26 | 2012-06-27 | 福建星网锐捷网络有限公司 | 一种报文发送方法及装置 |
CN103546306A (zh) * | 2012-07-13 | 2014-01-29 | 广州汽车集团股份有限公司 | 周期性can报文丢失故障的判定系统和方法 |
CN105323130A (zh) * | 2014-06-18 | 2016-02-10 | 广州汽车集团股份有限公司 | 一种can总线无应答处理方法及装置 |
CN105634894A (zh) * | 2015-12-31 | 2016-06-01 | 深圳市科陆电源技术有限公司 | 一种增强型can总线数据重发方法和装置 |
-
2018
- 2018-08-21 CN CN201810953884.0A patent/CN109061364B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6201794B1 (en) * | 1997-03-07 | 2001-03-13 | Advanced Micro Devices, Inc. | Network with efficient message routing |
CN102033141A (zh) * | 2009-09-30 | 2011-04-27 | 比亚迪股份有限公司 | 一种基于can总线汽车仪表的测试系统及方法 |
CN102523608A (zh) * | 2011-12-26 | 2012-06-27 | 福建星网锐捷网络有限公司 | 一种报文发送方法及装置 |
CN103546306A (zh) * | 2012-07-13 | 2014-01-29 | 广州汽车集团股份有限公司 | 周期性can报文丢失故障的判定系统和方法 |
CN105323130A (zh) * | 2014-06-18 | 2016-02-10 | 广州汽车集团股份有限公司 | 一种can总线无应答处理方法及装置 |
CN105634894A (zh) * | 2015-12-31 | 2016-06-01 | 深圳市科陆电源技术有限公司 | 一种增强型can总线数据重发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109061364A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8977905B2 (en) | Method and system for detecting abnormality of network processor | |
CN100571173C (zh) | 一种网络节点异常的检测方法 | |
CN109061364B (zh) | 一种无应答状态检测方法及装置 | |
CN103580902A (zh) | 一种计算机信息系统及其动态容灾方法 | |
CN100488070C (zh) | 通信系统中链路切换装置及其方法 | |
CN111858122A (zh) | 一种存储链路的故障检测方法、装置、设备及存储介质 | |
CN109101371B (zh) | 一种容灾切换方法及装置 | |
CN107682172A (zh) | 控制中心装置、业务系统处理的方法及介质 | |
CN111147313B (zh) | 一种报文异常监控方法、装置、存储介质及电子设备 | |
CN111953564A (zh) | 一种故障检测方法、装置、设备及机器可读存储介质 | |
CN103810033A (zh) | 一种检测用程序启动的方法和装置 | |
CN113608908B (zh) | 服务器故障处理方法、系统、设备及可读存储介质 | |
CN110912985A (zh) | 一种网络链路调度方法及相关设备 | |
CN104954190A (zh) | 应用服务器故障检测方法及装置 | |
CN117156101A (zh) | 车载摄像头视频数据处理方法、中央计算单元及设备 | |
CN108880930B (zh) | 一种网络环路的检测方法及设备 | |
US9401854B2 (en) | System and method for slow link flap detection | |
CN111934909B (zh) | 主备机ip资源切换方法、装置、计算机设备和存储介质 | |
CN111131095B (zh) | 报文转发方法及装置 | |
CN102195746A (zh) | 循环检测方法及应用其的网络装置 | |
CN111309532A (zh) | Pcie设备异常检测方法、系统、电子设备及存储介质 | |
CN109067611B (zh) | 检测系统间通讯状态的方法、装置、存储介质及处理器 | |
CN115150400B (zh) | 服务故障的处理方法、装置、云服务平台和存储介质 | |
CN117234793B (zh) | 数据存储方法、系统、设备及介质 | |
CN114338357B (zh) | 一种在网络中的数据报文传输的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |