控制器与can总线的波特率自动匹配方法

文档序号:6293518阅读:1799来源:国知局
控制器与can总线的波特率自动匹配方法
【专利摘要】一种控制器与CAN总线的波特率自动匹配方法,是在控制器中预存储多种备用标准波特率,将控制器连接到CAN总线上,设置控制器默认波特率,控制器接收CAN总线发送的报文,通过判断控制器接收到CAN总线的报文正确与否来判断波特率匹配成功与否,若控制器接收到CAN总线发送的报文错误,则在内置于控制器的错误计数累加器的数值累加,判断错误计数累加器的数值是否达到预定值来执行控制器是否重新设置波特率。该方法实现了控制器与CAN总线之间波特率的自动匹配,使得控制器能够适用于不同固定波特率的CAN总线,提高了控制器的通用性和可移植性。
【专利说明】控制器与CAN总线的波特率自动匹配方法
【技术领域】
[0001]本发明涉及汽车电控系统通信领域,具体涉及控制器与CAN总线的波特率自动匹配方法。
【背景技术】
[0002]随着消费者对汽车性能以及舒适性的要求不断提高,汽车的电控系统也相应地不断增多,各个控制器之间需要通过通讯网络进行相互连接,而目前应用最广泛的接口就是CAN总线,通过CAN总线对各个控制器进行监控和管理。
[0003]在传统的通讯方式中,进行通讯的双方必须具有相同的波特率才能够进行正常通讯,而汽车控制器与CAN总线之间进行相互通信也需具有相同的波特率,即控制器只能与跟自身波特率相同的特定CAN总线进行相互通讯。在实际应用中,CAN总线的波特率不是唯一的,不同的CAN总线有着不同的波特率,而通常情况下控制器的波特率在工厂生产时已经固定,导致当控制器移植到不同波特率的CAN总线中时,不仅会出现不能通讯的情况进而限制了控制器的通用性,而且当总线上有错误帧时,甚至会导致CAN总线瘫痪,进而使得其余控制器都无法正常工作。同时,诊断仪也无法对控制器波特率进行重新配置,解决方式只能是更换新的控制器。这样既浪费了资源也增加了成本,还降低了工作效率。所以,使控制器能够根据CAN总线的波特率自动匹配波特率是非常必要的。

【发明内容】

[0004]本发明的目的在于提供一种控制器与CAN总线的波特率自动匹配方法,使控制器能够与不同波特率的CAN总线进行自动匹配。
[0005]本发明所述控制器与CAN总线的波特率自动匹配方法,包括以下步骤:
[0006]a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率;
[0007]b、控制器接收CAN总线发送的报文;
[0008]C、判断控制器是否接收到正确的报文,是则进入步骤d,否则进入步骤e ;
[0009]d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功;
[0010]e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误巾贞,在内置于控制器的错误计数累加器的数值上加I ;
[0011]f、判断错误计数累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤
b、C、d、e、f ;
[0012]g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、C、d、e、f、g,直到波特率匹配成功。
[0013]本发明在控制器内预先存储多个标准波特率,在控制器内内置一个错误计数累加器,控制器通过接收到的CAN总线的报文正确与否来判断匹配是否成功,在匹配失败后控制器通过判断错误计算累加器的数值来执行控制器是否重新设置波特率,实现了控制器与CAN总线之间波特率的自动匹配,使得控制器能够适用于不同固定波特率的CAN总线,提高了控制器的通用性和可移植性。
【专利附图】

【附图说明】:
[0014]图1为本发明所述控制器与CAN总线的波特率自动匹配方法的流程图。
【具体实施方式】
[0015]下面结合附图对本发明作进一步的说明。
[0016]如图1所示,该控制器与CAN总线的波特率自动匹配方法,包括以下步骤:
[0017]a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率;
[0018]b、控制器接收CAN总线发送的报文;
[0019]C、判断控制器是否接收到正确的报文,是则进入步骤d,否则进入步骤e ;
[0020]d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功;
[0021]e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加I ;
[0022]f、判断错误计数 累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤
b、C、d、e、f ;
[0023]g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、C、d、e、f、g,直到波特率匹配成功。
[0024]上述自动匹配方法举例如下:
[0025]匹配实例1:
[0026]假设CAN总线的波特率为500K,错误计数累加器的初始值为0,规定错误计数累加器的数值预定值X=2。
[0027]执行步骤a:编写控制器代码,将多种备用标准波特率(1M、500K、250K、125K……)预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将控制器的默认标准波特率设置为1M。
[0028]执行步骤b:控制器接收CAN总线发送的报文;
[0029]执行步骤c:由于控制器的默认标准波特率为1M,而CAN总线的固定波特率为500K,很显然控制器收到CAN总线发送的报文为错误报文,所以进入步骤e。
[0030]执行步骤e:控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1,由于错误计数累加器的初始值为0,所以错误计数累加器的数值达到I。
[0031]执行步骤f:判断错误计数累加器的数值是否达到预定值2,由于错误计数累加器的数值未达到预定值2,所以重复步骤b、C、d、e、f。[0032]执行步骤b:控制器(第2次)接收CAN总线发送的报文;
[0033]执行步骤c:判断控制器是否接收到正确的报文,由于控制器波特率仍旧为默认初始的波特率1M,而CAN总线的固定波特率为500K,很显然波特率不匹配,即控制器收到CAN总线发送的报文为错误报文,所以进入步骤e。
[0034]执行步骤e:控制器接收到CAN总线发送的报文错误,即控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1,错误计数累加器的数值达到2。
[0035]执行步骤f:判断错误计数累加器的数值是否达到预定值2,由于错误计数累加器的数值达到预定值2,所以进入步骤g。
[0036]执行步骤g:错误计数累加器中的数值达到预定值2,读取出预存储在控制器中的下一个备用标准波特率500K,该备用标准波特率即为控制器的波特率,并将错误计数累加器数值重置为0,重复步骤b。
[0037]执行步骤b:控制器(第三次)接收CAN总线发送的报文。
[0038]执行步骤c:判断控制器是否接收到正确的报文,由于此时控制器的波特率为500K,而CAN总线的固定波特率为500K,很显然控制器收到CAN总线发送的报文为正确报文,所以进入步骤d。
[0039]执行步骤d:控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功。
[0040]匹配实例2:
[0041]假设CAN总线的波`特率为1M,错误计数累加器的初始值为0,规定X=2。
[0042]执行步骤a:编写控制器代码,将各种备用标准波特率(1M、500K、250K、125K……)预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将控制器的默认标准波特率设置为1M。
[0043]执行步骤b:控制器接收CAN总线发送的报文。
[0044]执行步骤c:判断控制器是否接收到正确的报文,由于控制器的默认初始波特率为1M,而CAN总线的固定波特率为1M,很显然控制器收到CAN总线发送的报文为正确报文,所以进入步骤d。
[0045]执行步骤d:控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功。
【权利要求】
1.一种控制器与CAN总线的波特率自动匹配方法,其特征在于,包括以下步骤: a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率; b、控制器接收CAN总线发送的报文; C、判断控制器是否接收到正确的报文,是则进入步骤山否则进入步骤e ; d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功; e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加I ; f、判断错误计数累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤b、c、d、e、f ; g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、C、d、e、f、g,直到波特率匹配成功。
【文档编号】G05B19/042GK103777538SQ201210401627
【公开日】2014年5月7日 申请日期:2012年10月19日 优先权日:2012年10月19日
【发明者】张鹏, 韩蛟, 余秋实, 刘大全, 王冠翔 申请人:重庆长安汽车股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1