您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页CAN网络波特率识别方法、装置、设备和存储介质[发明专利]

CAN网络波特率识别方法、装置、设备和存储介质[发明专利]

来源:易妖游戏网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 111277455 A(43)申请公布日 2020.06.12

(21)申请号 202010042180.5(22)申请日 2020.01.15

(71)申请人 深圳市元征科技股份有限公司

地址 518129 广东省深圳市龙岗区坂雪岗

工业区五和大道北元征工业园新研发大楼(72)发明人 刘均 陈质健 刘权列 (74)专利代理机构 广州市越秀区哲力专利商标

事务所(普通合伙) 44288

代理人 齐则琳(51)Int.Cl.

H04L 12/26(2006.01)H04L 12/40(2006.01)

权利要求书2页 说明书11页 附图4页

(54)发明名称

CAN网络波特率识别方法、装置、设备和存储介质(57)摘要

本申请涉及一种CAN网络波特率识别方法、装置、设备和存储介质。该方法包括:根据预设的标准波特率表设置CAN控制器的波特率;判断CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;CAN控制器在预设的第一时间内能接收到数据时,识别使CAN控制器能接收到数据的波特率为正确的波特率并记录使CAN控制器能接收到数据的波特率;CAN控制器在预设的第一时间内不能接收到数据、标准波特率表中的波特率未使用完毕时,继续根据标准波特率表设置CAN控制器的波特率。CN 111277455 ACN 111277455 A

权 利 要 求 书

1/2页

1.一种CAN网络波特率识别方法,其特征在于,所述控制器局域网络CAN网络波特率识别方法包括:

根据预设的标准波特率表设置所述CAN控制器的波特率;

判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;

所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。

2.如权利要求1所述的CAN网络波特率识别方法,其特征在于:所述根据预设的标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;

设置所述CAN控制器的过滤器为身份标识ID全通过模式。3.如权利要求1所述的CAN网络波特率识别方法,其特征在于:所述设置控制器局域网络CAN控制器的操作模式为受限操作模式之前,所述方法还包括:

初始化所述CAN控制器。

4.如权利要求1所述的CAN网络波特率识别方法,其特征在于:所述标准波特率表中的波特率使用完毕、所述CAN控制器在预设的第一时间内不能接收到数据时,所述方法还包括:

所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,根据预设的所述标准波特率表设置所述CAN控制器的波特率;

控制所述CAN控制器向CAN总线中发送一帧数据;

在预设的第二时间后判断所述CAN控制器是否发送数据成功;在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;

在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。

5.如权利要求4所述的CAN网络波特率识别方法,其特征在于:所述根据预设的所述标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次。

6.如权利要求5所述的CAN网络波特率识别方法,其特征在于,所述根据预设的所述标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

设置所述CAN控制器的过滤器为ID全不通过模式。7.如权利要求4所述的CAN网络波特率识别方法,其特征在于:所述标准波特率表中的波特率从大到小排列。8.一种CAN网络波特率识别装置,其特征在于,所述CAN网络波特率识别装置包括:第一波特率设置模块,用于根据预设的标准波特率表设置所述CAN控制器的波特率;

2

CN 111277455 A

权 利 要 求 书

2/2页

接收判断模块,用于判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;

第一识别模块,用于所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;

第一波特率设置模块,还用于所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。

9.一种CAN网络波特率识别设备,其特征在于,所述CAN网络波特率识别设备包括:存储器,用于存储CAN网络波特率识别程序;处理器,用于执行所述CAN网络波特率识别程序时实现如权利要求1至7任一项所述的CAN网络波特率识别方法。

10.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述存储介质中存储有CAN网络波特率识别程序,所述CAN网络波特率识别程序被处理器执行时实现如权利要求1至7任一项所述的CAN网络波特率识别方法。

3

CN 111277455 A

说 明 书

CAN网络波特率识别方法、装置、设备和存储介质

1/11页

技术领域

[0001]本申请涉及车辆CAN总线技术领域,尤其涉及一种CAN网络波特率识别方法、装置、设备和存储介质。

背景技术

[0002]控制器局域网络(Controller Area Network,CAN)通信是一种在基于微处理器的设备之间进行通信的方法。通常,设备包括CAN控制器,其通信地耦合到CAN总线。一般CAN控制器以固定波特率与其他设备进行通信。如车辆上的各个设备之间通过CAN总线进行相互通信。在一个未知的CAN网络中,需要识别CAN网络的波特率,而现有技术中,识别波特率效率不准确。

[0003]因此,如何提供一种能准确识别波特率的方案,是本领域技术人员亟待解决的技术问题。

发明内容

[0004]本申请提供一种CAN网络波特率识别方法、装置、设备和存储介质,旨在解决识别波特率不准确的技术问题。[0005]第一方面,本申请提供一种CAN网络波特率识别方法,所述CAN网络波特率识别方法包括:

[0006]根据预设的标准波特率表设置所述CAN控制器的波特率;[0007]判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;[0008]所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;[0009]所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0010]优选地,所述根据预设的标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

[0011]设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;

[0012]设置所述CAN控制器的过滤器为身份标识ID全通过模式。[0013]优选地,所述设置控制器局域网络CAN控制器的操作模式为受限操作模式之前,所述方法还包括:

[0014]初始化所述CAN控制器。[0015]优选地,所述标准波特率表中的波特率使用完毕、所述CAN控制器在预设的第一时间内不能接收到数据时,所述方法还包括:

[0016]所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的

4

CN 111277455 A

说 明 书

2/11页

波特率使用完毕时,根据预设的所述标准波特率表设置所述CAN控制器的波特率;[0017]控制所述CAN控制器向CAN总线中发送一帧数据;

[0018]在预设的第二时间后判断所述CAN控制器是否发送数据成功;[0019]在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;[0020]在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0021]优选地,所述根据预设的所述标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

[0022]设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次。[0023]优选地,所述根据预设的所述标准波特率表设置所述CAN控制器的波特率之前,所述方法还包括:

[0024]设置所述CAN控制器的过滤器为ID全不通过模式。[0025]优选地,所述标准波特率表中的波特率从大到小排列。[0026]第二方面,本申请还提供一种CAN网络波特率识别装置,所述CAN网络波特率识别装置包括:

[0027]第一波特率设置模块,用于根据预设的标准波特率表设置所述CAN控制器的波特率;

[0028]接收判断模块,用于判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;[0029]第一识别模块,用于所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;

[0030]第一波特率设置模块,还用于所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0031]优选地,CAN网络波特率识别装置还包括:[0032]受限模式设置模块,用于设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;[0033]ID通过模块,用于设置所述CAN控制器的过滤器为身份标识ID全通过模式。[0034]优选地,CAN网络波特率识别装置还包括:[0035]使用判断模块,用于判断所述标准波特率表中的波特率是否使用完毕。[0036]优选地,CAN网络波特率识别装置还包括:[0037]初始化模块,用于初始化所述CAN控制器。[0038]优选地,CAN网络波特率识别装置还包括:[0039]第二波特率设置模块,用于根据预设的所述标准波特率表设置所述CAN控制器的波特率;

5

CN 111277455 A[0040]

说 明 书

3/11页

发送控制模块,用于控制所述CAN控制器向CAN总线中发送一帧数据;

[0041]发送判断模块,用于在预设的第二时间后判断所述CAN控制器是否发送数据成功;[0042]第二识别模块,用于在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;[0043]第二波特率设置模块,还用于在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。

[0044]优选地,CAN网络波特率识别装置还包括:[0045]不重发模式设置模块,用于所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次。[0046]优选地,CAN网络波特率识别装置还包括:[0047]ID禁通模块,用于设置所述CAN控制器的过滤器为ID全不通过模式。[0048]第三方面,本申请还提供一种CAN网络波特率识别设备,其特征在于,所述CAN网络波特率识别设备包括:[0049]存储器,用于存储CAN网络波特率识别程序;[0050]处理器,用于执行所述CAN网络波特率识别程序时实现本申请第一方面实施例所述的CAN网络波特率识别方法。[0051]第四方面,本申请还提供一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述存储介质中存储有CAN网络波特率识别程序,所述CAN网络波特率识别程序被处理器执行时实现本申请第一方面实施例所述的CAN网络波特率识别方法。[0052]与现有技术相比,本申请提供的技术方案,根据预设的标准波特率表设置所述CAN控制器的波特率;判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率,能智能快速的识别未知CAN网络的波特率,波特率识别准确,识别效率高。附图说明

[0053]图1为本申请第一实施例提供的CAN网络波特率识别方法的流程图。[0054]图2为本申请第二实施例提供的CAN网络波特率识别方法的流程图。[0055]图3为本申请第三实施例提供的CAN网络波特率识别方法的流程图。[0056]图4为本申请第四实施例提供的CAN网络波特率识别方法的流程图。

[0057]图5为本申请第五实施例提供的CAN网络波特率识别装置的模块示意图。[0058]图6为本申请第六实施例提供的CAN网络波特率识别设备的结构示意图。

6

CN 111277455 A

说 明 书

4/11页

具体实施方式

[0059]为了使本申请的目的、技术方案及优点更加清楚明白,如下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

[0060]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。[0061]需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。[0062]请参阅图1,图1为本申请第一实施例提供的一种CAN网络波特率识别方法,该CAN网络波特率识别方法可由CAN网络波特率识别装置来执行,该CAN网络波特率识别装置可通过硬件和/或软件的方式来实现,用于识别CAN网络的波特率。CAN网络波特率识别装置可以应用于CAN网络波特率识别设备。该CAN网络波特率识别方法包括:[0063]S11:根据预设的标准波特率表设置所述CAN控制器的波特率。[00]标准波特率表为CAN控制器允许设置的波特率的列表,标准波特率表中有一个波特率是正确的。标准波特率表预先存储在CAN网络波特率识别设备中。根据标准波特率表设置CAN控制器的波特率时,是逐一设置的,在设置好一个CAN控制器的波特率时,则进入步骤S12。设置的波特率可能正确,也可能不正确。优选地,标准波特率表中的波特率从大到小排列。

[0065]S12:判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据。[0066]第一时间的长短不受限定,可以根据需要进行设置。第一时间至少为CAN总线中数据收发的一个周期,以使在CAN控制器的波特率设置正确时,才有可能接收到数据。CAN控制器在预设的第一时间内能接收到数据时,进入步骤S13。在CAN控制器在预设的第一时间内不能接收到数据时,进入步骤S14。[0067]S13:所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率。[0068]CAN控制器在预设的第一时间内能接收到数据时,说明CAN控制器的波特率设置正确,使所述CAN控制器能接收到数据的波特率即为正确的波特率,即可识别使所述CAN控制器能接收到数据的波特率为正确的波特率,并记录使所述CAN控制器能接收到数据的波特率,记录的该波特率即为识别出的正确的CAN网络的波特率,即可结束波特率的识别。[0069]S14:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表

7

CN 111277455 A

说 明 书

5/11页

中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0070]CAN控制器在预设的第一时间内不能接收到数据,则说明在没有特殊情况下,CAN控制器的波特率设置错误,需要再次设置CAN控制器的波特率。在标准波特率表中的波特率未使用完毕时,标准波特率表中剩下的波特率有可能是正确的波特率,则需要根据标准波特率表中未使用的波特率逐一去设置CAN控制器的波特率。标准波特率表中的波特率从大到小排列,逐一去设置CAN控制器的波特率时,从而使波特率由大到小逐个设置。[0071]优选地,在继续根据预设的标准波特率表设置所述CAN控制器的波特率之前,CAN网络波特率识别方法还包括:[0072]判断所述标准波特率表中的波特率是否使用完毕。

[0073]若标准波特率表中的每一个波特率都被用于设置CAN控制器的波特率,则说明标准波特率表中的波特率被使用完毕。

[0074]本实施例提供的CAN网络波特率识别方法,根据预设的标准波特率表设置所述CAN控制器的波特率;判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率,能智能快速的识别未知CAN网络的波特率,波特率识别准确,识别效率高。[0075]请参阅图2,图2为本申请第二实施例提供的一种CAN网络波特率识别方法,[0076]S21:设置CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数。

[0077]CAN控制器分别和CAN网络波特率识别设备、CAN网络的CAN总线通信连接。CAN控制器包括错误计数器、过滤器、错误状态寄存器等。错误计数器用于CAN控制器在发送或接收数据错误时计数错误,过滤器用于过滤其他CAN控制器等的身份标识(Identity document,ID),错误状态寄存器用于CAN控制器发送数据时是否错误。CAN寄存器、错误计数器、过滤器、错误状态寄存器为现有技术中的内容,本身不再进一步详细说明。[0078]CAN网络波特率识别设备和CAN控制器通信连接,CAN网络波特率识别设备即可设置CAN控制器的操作模式,使CAN控制器具备相应操作模式具备的状态。CAN控制器的受限操作模式和CAN控制器的静默监听模式类似,区别在于CAN控制器在发送或接收数据错误时,错误计数器不会进行计数。

[0079]CAN控制器的错误计数器在计数次数过多时,会对使CAN网络产生错误,本申请能防止CAN控制器因错误计数器计数次数过多使网络产生错误。[0080]优选地,在设置CAN控制器的操作模式为受限操作模式之前,CAN网络波特率识别方法还包括:

[0081]初始化所述CAN控制器。

[0082]如何初始化CAN控制器为现有技术,本申请不再进行说明。初始化CAN控制器,能保证CAN控制器的正常工作,使受限操作模式能设置成功。[0083]S22:设置所述CAN控制器的过滤器为身份标识ID全通过模式。

8

CN 111277455 A[0084]

说 明 书

6/11页

CAN控制器的过滤器为ID全通过模式,即不对接收的数据进行ID过滤,CAN总线中

无论是哪个装置发送的数据,该CAN控制器在波特率正确时,都能接收到数据。[0085]S23:根据预设的标准波特率表设置所述CAN控制器的波特率。[0086]S24:判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据。[0087]S25:所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率。[0088]S26:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[00]本实施例提供的CAN网络波特率识别方法,设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;设置所述CAN控制器的过滤器为身份标识ID全通过模式;根据预设的标准波特率表设置所述CAN控制器的波特率;判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率,能智能快速的识别未知CAN网络的波特率,能且不会对CAN控制器的错误计数器的工作造成影响,从而不会影响网络的正常工作。[0090]请参阅图3,本申请第三实施例也提供了一种CAN网络波特率识别方法,本实施例以前述实施例为基础,提供了一种在意外情况发生时,波特率未能设置成功的补充方案,该CAN网络波特率识别方法包括:[0091]S31:根据预设的标准波特率表设置所述CAN控制器的波特率。[0092]S32:判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据。[0093]S33:所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率。[0094]S34:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0095]S35:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0096]本次设置波特率时,即使所述CAN控制器在预设的第一时间内不能接收到数据、且在所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式之前,标准波特率表中的波特率已经使用过,还会再次使用,以再次设置CAN控制器的波特率。即在设置CAN控制器的操作模式为不重发模式之后设置波特率,和在设置CAN控制器的操作模式为不重发模式之前设置波特率没有关联性。优选地,标准波特率表中的波特率从大到小排列。[0097]S36:控制所述CAN控制器向CAN总线中发送一帧数据。[0098]通过判定数据能否发送成功,以判定CAN控制器的波特率是否设置正确。发送数据时,把CAN帧的数据长度部分设为0,即不发送数据部分设为0,数据帧ID设为0x7FF,能减少网络错误的产生。

9

CN 111277455 A[0099]

说 明 书

7/11页

S37:在预设的第二时间后判断所述CAN控制器是否发送数据成功。

[0100]预设的第二时间的长短不做限定,第二时间的最短时间为CAN控制器成功发送一帧数据所需的时间。如何判定数据是否发送成功为现有技术,本申请不再具体说明。[0101]在数据发送成功时,说明CAN控制器的波特率设置正确。在数据发送失败时,说明CAN控制器的波特率设置错误。CAN控制器的操作模式为不重发模式,即使发送数据失败,不会再次发送数据。[0102]S38:在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率。[0103]在数据发送成功时,使所述CAN控制器能接收到数据的波特率即为正确的波特率,即可识别出使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率,记录的该波特率即为识别出的正确的波特率,即可结束CAN网络波特率识别。[0104]S39:在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0105]CAN控制器发送数据失败,则说明CAN控制器的波特率设置错误,需要再次设置CAN控制器的波特率。在标准波特率表中的波特率未使用完毕时,标准波特率表中剩下的波特率有可能是正确的波特率,则需要根据标准波特率表中未使用的波特率再逐一去设置CAN控制器的波特率。标准波特率表中的波特率从大到小排列,逐一去设置CAN控制器的波特率时,从而使波特率由大到小逐个设置。从而在S29步骤发送数据时,先以设置好的较大的波特率进行发送数据,能减少网络错误的产生。[0106]优选地,在在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率之前,还包括:[0107]判断所述标准波特率表中的波特率是否使用完毕。

[0108]若标准波特率表中的每一个波特率都被用于设置CAN控制器的波特率,则说明标准波特率表中的波特率被使用完毕,由于是CAN控制器主动发送数据,故只要CAN控制器的波特率设置正确,则CAN控制器即可发送数据成功,保证CAN控制器的数据发送成功。[0109]本实施例提供的CAN网络波特率识别方法,能使在CAN总线中没有数据传输的情况下,也能保证识别出CAN控制器的波特率。[0110]请参阅图4,本申请第四实施例也提供了一种CAN网络波特率识别方法,本实施例以前述实施例为基础,提供了一种能进一步减少网络错误的情方案,该CAN网络波特率识别方法包括:[0111]S41:根据预设的标准波特率表设置所述CAN控制器的波特率;[0112]S42:判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;[0113]S43:所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;[0114]S44:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率[0115]S45:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在

10

CN 111277455 A

说 明 书

8/11页

不重发模式时,所述CAN控制器发送数据时仅发送一次。[0116]CAN网络中,在波特率设置错误时,CAN控制器主动发送数据时,会对CAN网络造成影响,CAN控制器主动发送数据,波特率设置错误次数过多时,会使CAN网络产生错误。CAN控制器的操作模式为不重发模式时,CAN控制器能够发送数据,但CAN控制器发送数据时,无论数据是否发送成功,数据仅发送一次。从而能够防止在数据未发送成功时,CAN控制器的错误计数器计数发生多次错误,避免因CAN控制器设置波特率错误,以致发送数据使错误计数器因计数错误过多对CAN网络造成错误,故本申请可以减少CAN网络错误的产生。[0117]优选地,在所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式之前,CAN网络波特率识别方法还包括:

[0118]初始化所述CAN控制器。

[0119]即再次对CAN控制器进行了初始化,从而能保证CAN控制器的不重发模式设置成功。

[0120]S46:设置所述CAN控制器的过滤器为ID全不通过模式。[0121]CAN控制器的过滤器在ID全不通过模式时,无论哪个装置或设备发送的数据,即使CAN控制器的波特率设置正确,CAN控制器也不会接收到数据,从而不会对CAN控制器发送数据造成影响,提高了CAN控制器的CAN网络波特率识别的准确性。[0122]S47:根据预设的所述标准波特率表设置所述CAN控制器的波特率;[0123]S48:控制所述CAN控制器向CAN总线中发送一帧数据;[0124]S49:在预设的第二时间后判断所述CAN控制器是否发送数据成功;[0125]S410:在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;[0126]S411:在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0127]本实施例提供的CAN网络波特率识别方法,能使在CAN总线中没有数据传输的情况下,也能保证识别出CAN控制器的波特率,并减少了CAN网络错误的产生。[0128]请参阅图5,本申请第五实施例提供了一种CAN网络波特率识别装置50,用于是被未知CAN网络的波特率。CAN网络波特率识别装置50可以应用于CAN网络波特率识别装置设备,该CAN网络波特率识别装置50可实现前述实施例的CAN网络波特率识别方法,CAN网络波特率识别装置50包括:[0129]第一波特率设置模块51,用于根据预设的标准波特率表设置所述CAN控制器的波特率;

[0130]接收判断模块52,用于判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;

[0131]第一识别模块53,用于所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;

[0132]第一波特率设置模块54,还用于所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置

11

CN 111277455 A

说 明 书

9/11页

所述CAN控制器的波特率。

[0133]本实施例提供的CAN网络波特率识别装置,根据预设的标准波特率表设置所述CAN控制器的波特率;判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率,能智能快速的识别未知CAN网络的波特率,波特率识别准确,识别效率高。[0134]优选地,CAN网络波特率识别装置50还包括:[0135]受限模式设置模块,用于设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;[0136]ID通过模块,用于设置所述CAN控制器的过滤器为身份标识ID全通过模式。[0137]优选地,CAN网络波特率识别装置50还包括:[0138]使用判断模块,用于判断所述标准波特率表中的波特率是否使用完毕。[0139]优选地,CAN网络波特率识别装置50还包括:[0140]初始化模块,用于初始化所述CAN控制器。[0141]优选地,CAN网络波特率识别装置50还包括:[0142]第二波特率设置模块,用于根据预设的所述标准波特率表设置所述CAN控制器的波特率;

[0143]发送控制模块,用于控制所述CAN控制器向CAN总线中发送一帧数据;[0144]发送判断模块,用于在预设的第二时间后判断所述CAN控制器是否发送数据成功;[0145]第二识别模块,用于在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;

[0146]第二波特率设置模块,还用于在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。

[0147]优选地,CAN网络波特率识别装置50还包括:[0148]不重发模式设置模块,用于所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次。[0149]优选地,CAN网络波特率识别装置50还包括:[0150]ID禁通模块,用于设置所述CAN控制器的过滤器为ID全不通过模式。[0151]上述产品可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

[0152]请参阅图6,本申请第六实施例还提供了一种CAN网络波特率识别设备及存储介质,其均具有本申请前述实施例提供的一种CAN网络波特率识别方法具有的对应效果。[0153]本申请实施例提供的一种CAN网络波特率识别设备,包括存储器61和处理器62,存

12

CN 111277455 A

说 明 书

10/11页

储器61中存储有CAN网络波特率识别程序,处理器62执行存储器61中存储的CAN网络波特率识别程序时实现如下步骤:

[0154]根据预设的标准波特率表设置所述CAN控制器的波特率;[0155]判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;[0156]所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;[0157]所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0158]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;设置所述CAN控制器的过滤器为身份标识ID全通过模式。[0159]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:判断所述标准波特率表中的波特率是否使用完毕。[0160]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:初始化所述CAN控制器。[0161]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,根据预设的所述标准波特率表设置所述CAN控制器的波特率;控制所述CAN控制器向CAN总线中发送一帧数据;在预设的第二时间后判断所述CAN控制器是否发送数据成功;在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0162]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次。[0163]优选地,CAN网络波特率识别设备的处理器执行存储器中存储的CAN网络波特率识别程序时还实现如下步骤:设置所述CAN控制器的过滤器为ID全不通过模式。[01]本申请实施例提供的一种存储介质,存储介质为计算机可读存储介质,计算机可读存储介质中存储有CAN网络波特率识别程序,CAN网络波特率识别程序被处理器执行时具体实现如下步骤:

[0165]设置控制器局域网络CAN控制器的操作模式为受限操作模式,所述CAN控制器在受限操作模式时,所述CAN控制器能接收数据,不能发送数据且所述CAN控制器的错误计数器在所述波特率设置错误时不计数;

[0166]设置所述CAN控制器的过滤器为身份标识ID全通过模式;[0167]根据预设的标准波特率表设置所述CAN控制器的波特率;[0168]判断所述CAN控制器在预设的第一时间内是否接收到CAN总线中的数据;

13

CN 111277455 A[0169]

说 明 书

11/11页

所述CAN控制器在预设的第一时间内能接收到数据时,识别使所述CAN控制器能接

收到数据的波特率为正确的波特率、并记录使所述CAN控制器能接收到数据的波特率;[0170]所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的标准波特率表设置所述CAN控制器的波特率。[0171]优选地,计算机可读存储介质中存储的CAN网络波特率识别程序被处理器执行时具体还实现如下步骤:判断所述标准波特率表中的波特率是否使用完毕。[0172]优选地,计算机可读存储介质中存储的CAN网络波特率识别程序被处理器执行时具体实现如下步骤:初始化所述CAN控制器。[0173]优选地,计算机可读存储介质中存储的CAN网络波特率识别程序被处理器执行时具体实现如下步骤:所述CAN控制器在预设的第一时间内不能接收到数据、且所述标准波特率表中的波特率使用完毕时,设置所述CAN控制器的操作模式为不重发模式,所述CAN控制器在不重发模式时,所述CAN控制器发送数据时仅发送一次;根据预设的所述标准波特率表设置所述CAN控制器的波特率;控制所述CAN控制器向CAN总线中发送一帧数据;在预设的第二时间后判断所述CAN控制器是否发送数据成功;在所述CAN控制器发送数据成功时,识别使所述CAN控制器能成功发送数据的波特率为正确的波特率、并记录使所述CAN控制器能成功发送数据的波特率;在所述CAN控制器发送数据失败、且所述标准波特率表中的波特率未使用完毕时,继续根据预设的所述标准波特率表设置所述CAN控制器的波特率。[0174]优选地,计算机可读存储介质中存储的CAN网络波特率识别程序被处理器执行时具体实现如下步骤:

[0175]设置所述CAN控制器的过滤器为ID全不通过模式。

[0176]本申请所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、紧凑型光盘只读储存器(Compact Disc Read-Only Memory,CD-ROM)、或技术领域内所公知的任意其它形式的存储介质。

[0177]本申请实施例提供的一种CAN网络波特率识别方法、装置、设备及计算机可读存储介质中相关部分的说明请参见本申请前述实施例提供的一种CAN网络波特率识别方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

[0178]描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。[0179]以上仅为本申请的优选实施例,并非因此本申请的保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的保护范围内。

14

CN 111277455 A

说 明 书 附 图

1/4页

图1

图2

15

CN 111277455 A

说 明 书 附 图

2/4页

图3

16

CN 111277455 A

说 明 书 附 图

3/4页

图4

17

CN 111277455 A

说 明 书 附 图

4/4页

图5

图6

18

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务