CN103777538A - 控制器与can总线的波特率自动匹配方法 - Google Patents
控制器与can总线的波特率自动匹配方法 Download PDFInfo
- Publication number
- CN103777538A CN103777538A CN201210401627.9A CN201210401627A CN103777538A CN 103777538 A CN103777538 A CN 103777538A CN 201210401627 A CN201210401627 A CN 201210401627A CN 103777538 A CN103777538 A CN 103777538A
- Authority
- CN
- China
- Prior art keywords
- controller
- bus
- baud rate
- baud
- message
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
一种控制器与CAN总线的波特率自动匹配方法,是在控制器中预存储多种备用标准波特率,将控制器连接到CAN总线上,设置控制器默认波特率,控制器接收CAN总线发送的报文,通过判断控制器接收到CAN总线的报文正确与否来判断波特率匹配成功与否,若控制器接收到CAN总线发送的报文错误,则在内置于控制器的错误计数累加器的数值累加,判断错误计数累加器的数值是否达到预定值来执行控制器是否重新设置波特率。该方法实现了控制器与CAN总线之间波特率的自动匹配,使得控制器能够适用于不同固定波特率的CAN总线,提高了控制器的通用性和可移植性。
Description
技术领域
本发明涉及汽车电控系统通信领域,具体涉及控制器与CAN总线的波特率自动匹配方法。
背景技术
随着消费者对汽车性能以及舒适性的要求不断提高,汽车的电控系统也相应地不断增多,各个控制器之间需要通过通讯网络进行相互连接,而目前应用最广泛的接口就是CAN总线,通过CAN总线对各个控制器进行监控和管理。
在传统的通讯方式中,进行通讯的双方必须具有相同的波特率才能够进行正常通讯,而汽车控制器与CAN总线之间进行相互通信也需具有相同的波特率,即控制器只能与跟自身波特率相同的特定CAN总线进行相互通讯。在实际应用中,CAN总线的波特率不是唯一的,不同的CAN总线有着不同的波特率,而通常情况下控制器的波特率在工厂生产时已经固定,导致当控制器移植到不同波特率的CAN总线中时,不仅会出现不能通讯的情况进而限制了控制器的通用性,而且当总线上有错误帧时,甚至会导致CAN总线瘫痪,进而使得其余控制器都无法正常工作。同时,诊断仪也无法对控制器波特率进行重新配置,解决方式只能是更换新的控制器。这样既浪费了资源也增加了成本,还降低了工作效率。所以,使控制器能够根据CAN总线的波特率自动匹配波特率是非常必要的。
发明内容
本发明的目的在于提供一种控制器与CAN总线的波特率自动匹配方法,使控制器能够与不同波特率的CAN总线进行自动匹配。
本发明所述控制器与CAN总线的波特率自动匹配方法,包括以下步骤:
a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率;
b、控制器接收CAN总线发送的报文;
c、判断控制器是否接收到正确的报文,是则进入步骤d,否则进入步骤e;
d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功;
e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1;
f、判断错误计数累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤b、c、d、e、f;
g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、c、d、e、f、g,直到波特率匹配成功。
本发明在控制器内预先存储多个标准波特率,在控制器内内置一个错误计数累加器,控制器通过接收到的CAN总线的报文正确与否来判断匹配是否成功,在匹配失败后控制器通过判断错误计算累加器的数值来执行控制器是否重新设置波特率,实现了控制器与CAN总线之间波特率的自动匹配,使得控制器能够适用于不同固定波特率的CAN总线,提高了控制器的通用性和可移植性。
附图说明:
图1为本发明所述控制器与CAN总线的波特率自动匹配方法的流程图。
具体实施方式
下面结合附图对本发明作进一步的说明。
如图1所示,该控制器与CAN总线的波特率自动匹配方法,包括以下步骤:
a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率;
b、控制器接收CAN总线发送的报文;
c、判断控制器是否接收到正确的报文,是则进入步骤d,否则进入步骤e;
d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功;
e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1;
f、判断错误计数累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤b、c、d、e、f;
g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、c、d、e、f、g,直到波特率匹配成功。
上述自动匹配方法举例如下:
匹配实例1:
假设CAN总线的波特率为500K,错误计数累加器的初始值为0,规定错误计数累加器的数值预定值X=2。
执行步骤a:编写控制器代码,将多种备用标准波特率(1M、500K、250K、125K……)预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将控制器的默认标准波特率设置为1M。
执行步骤b:控制器接收CAN总线发送的报文;
执行步骤c:由于控制器的默认标准波特率为1M,而CAN总线的固定波特率为500K,很显然控制器收到CAN总线发送的报文为错误报文,所以进入步骤e。
执行步骤e:控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1,由于错误计数累加器的初始值为0,所以错误计数累加器的数值达到1。
执行步骤f:判断错误计数累加器的数值是否达到预定值2,由于错误计数累加器的数值未达到预定值2,所以重复步骤b、c、d、e、f。
执行步骤b:控制器(第2次)接收CAN总线发送的报文;
执行步骤c:判断控制器是否接收到正确的报文, 由于控制器波特率仍旧为默认初始的波特率1M,而CAN总线的固定波特率为500K,很显然波特率不匹配,即控制器收到CAN总线发送的报文为错误报文,所以进入步骤e。
执行步骤e:控制器接收到CAN总线发送的报文错误,即控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1,错误计数累加器的数值达到2。
执行步骤f:判断错误计数累加器的数值是否达到预定值2,由于错误计数累加器的数值达到预定值2,所以进入步骤g。
执行步骤g:错误计数累加器中的数值达到预定值2,读取出预存储在控制器中的下一个备用标准波特率500K, 该备用标准波特率即为控制器的波特率,并将错误计数累加器数值重置为0,重复步骤b。
执行步骤b:控制器(第三次)接收CAN总线发送的报文。
执行步骤c:判断控制器是否接收到正确的报文,由于此时控制器的波特率为500K,而CAN总线的固定波特率为500K,很显然控制器收到CAN总线发送的报文为正确报文,所以进入步骤d。
执行步骤d:控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功。
匹配实例2:
假设CAN总线的波特率为1M,错误计数累加器的初始值为0,规定X=2。
执行步骤a:编写控制器代码,将各种备用标准波特率(1M、500K、250K、125K……)预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将控制器的默认标准波特率设置为1M。
执行步骤b:控制器接收CAN总线发送的报文。
执行步骤c:判断控制器是否接收到正确的报文,由于控制器的默认初始波特率为1M,而CAN总线的固定波特率为1M,很显然控制器收到CAN总线发送的报文为正确报文,所以进入步骤d。
执行步骤d:控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功。
Claims (1)
1.一种控制器与CAN总线的波特率自动匹配方法,其特征在于,包括以下步骤:
a、编写控制器代码,将多种备用标准波特率预存储在控制器所用的单片机里,将控制器连接到CAN总线上,将其中之一备用标准波特率设置为控制器的默认标准波特率;
b、控制器接收CAN总线发送的报文;
c、判断控制器是否接收到正确的报文,是则进入步骤d,否则进入步骤e;
d、控制器接收到CAN总线发送的报文正确,即表示控制器与CAN总线的波特率相同,波特率匹配成功;
e、控制器接收到CAN总线发送的报文错误,控制器接收到一帧错误帧,在内置于控制器的错误计数累加器的数值上加1;
f、判断错误计数累加器的数值是否达到预定值X,是则进入步骤g,否则重复步骤b、c、d、e、f;
g、读取出存储在控制器中的下一个备用标准波特率,该备用标准波特率即为控制器的波特率,并将错误计数累加器的数值重置为初始值,重复步骤b、c、d、e、f、g,直到波特率匹配成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210401627.9A CN103777538B (zh) | 2012-10-19 | 2012-10-19 | 控制器与can总线的波特率自动匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210401627.9A CN103777538B (zh) | 2012-10-19 | 2012-10-19 | 控制器与can总线的波特率自动匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103777538A true CN103777538A (zh) | 2014-05-07 |
CN103777538B CN103777538B (zh) | 2016-03-30 |
Family
ID=50569915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210401627.9A Active CN103777538B (zh) | 2012-10-19 | 2012-10-19 | 控制器与can总线的波特率自动匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777538B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986610A (zh) * | 2014-06-04 | 2014-08-13 | 珠海格力电器股份有限公司 | 通讯接口匹配方法、装置及控制器 |
CN104052579A (zh) * | 2014-06-26 | 2014-09-17 | 湖南先步信息股份有限公司 | Modbus-rtu通信波特率自动匹配 |
CN104199298A (zh) * | 2014-08-18 | 2014-12-10 | 广西师范大学 | 一种can总线波特率自适应的方法 |
CN104796222A (zh) * | 2014-11-21 | 2015-07-22 | 湖南先步信息股份有限公司 | Can波特率自动匹配的方法 |
CN106411641A (zh) * | 2016-09-20 | 2017-02-15 | 宁波中车时代传感技术有限公司 | 一种自动检测can总线波特率的方法 |
CN107229457A (zh) * | 2016-03-24 | 2017-10-03 | 宝沃汽车(中国)有限公司 | 电子控制器的引导加载方法、装置、电子控制器及汽车 |
CN108072779A (zh) * | 2017-12-20 | 2018-05-25 | 福建利利普光电科技有限公司 | 一种数字示波器can总线波特率自动识别方法 |
CN109471425A (zh) * | 2018-12-14 | 2019-03-15 | 上海星融汽车科技有限公司 | 一种识别商用车obd口can通讯针脚波特率的方法 |
CN109656172A (zh) * | 2018-12-24 | 2019-04-19 | 深圳市道通科技股份有限公司 | 一种获取波特率的方法、装置 |
CN111224837A (zh) * | 2019-11-25 | 2020-06-02 | 上海星融汽车科技有限公司 | 自动识别车辆ecu的can通信波特率的方法及其系统 |
CN111277455A (zh) * | 2020-01-15 | 2020-06-12 | 深圳市元征科技股份有限公司 | Can网络波特率识别方法、装置、设备和存储介质 |
CN111665821A (zh) * | 2020-06-08 | 2020-09-15 | 重庆长安汽车股份有限公司 | 基于车辆诊断服务的错误帧排查方法 |
CN113688086A (zh) * | 2021-08-23 | 2021-11-23 | 湖南芯力特电子科技有限公司 | 用于局部网络的高速can收发器波特率匹配检测系统 |
CN114866367A (zh) * | 2022-04-13 | 2022-08-05 | 深圳市三旺通信股份有限公司 | Can设备通信方法、装置、can光猫设备与介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271439A (zh) * | 2007-11-09 | 2008-09-24 | 奇瑞汽车股份有限公司 | 一种can总线转换模块 |
KR100911336B1 (ko) * | 2007-12-12 | 2009-08-07 | 현대자동차주식회사 | 플렉스레이와 캔 통신 사이의 메시지 변환장치 및 캔아이디와 플렉스레이 슬롯의 매칭방법 |
CN101572641A (zh) * | 2009-05-26 | 2009-11-04 | 阴晓峰 | 基于can总线的控制器网络监控系统及监控方法 |
CN101841449A (zh) * | 2010-05-10 | 2010-09-22 | 三一重工股份有限公司 | 实现can总线传感器位置绑定的方法及装置 |
KR20110032521A (ko) * | 2009-09-23 | 2011-03-30 | 모비콘 주식회사 | 상용차용 캔 버스 시스템 |
-
2012
- 2012-10-19 CN CN201210401627.9A patent/CN103777538B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271439A (zh) * | 2007-11-09 | 2008-09-24 | 奇瑞汽车股份有限公司 | 一种can总线转换模块 |
KR100911336B1 (ko) * | 2007-12-12 | 2009-08-07 | 현대자동차주식회사 | 플렉스레이와 캔 통신 사이의 메시지 변환장치 및 캔아이디와 플렉스레이 슬롯의 매칭방법 |
CN101572641A (zh) * | 2009-05-26 | 2009-11-04 | 阴晓峰 | 基于can总线的控制器网络监控系统及监控方法 |
KR20110032521A (ko) * | 2009-09-23 | 2011-03-30 | 모비콘 주식회사 | 상용차용 캔 버스 시스템 |
CN101841449A (zh) * | 2010-05-10 | 2010-09-22 | 三一重工股份有限公司 | 实现can总线传感器位置绑定的方法及装置 |
Non-Patent Citations (2)
Title |
---|
付强 等: "CAN总线应用匹配设计", 《计算机与网络》, no. 7, 15 July 2011 (2011-07-15) * |
石虎山 等: "带有在片CAN的微控制器P80C592的通信研究", 《宝鸡文理学院学报》, vol. 23, no. 4, 31 December 2003 (2003-12-31) * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986610A (zh) * | 2014-06-04 | 2014-08-13 | 珠海格力电器股份有限公司 | 通讯接口匹配方法、装置及控制器 |
CN104052579A (zh) * | 2014-06-26 | 2014-09-17 | 湖南先步信息股份有限公司 | Modbus-rtu通信波特率自动匹配 |
CN104199298A (zh) * | 2014-08-18 | 2014-12-10 | 广西师范大学 | 一种can总线波特率自适应的方法 |
CN104199298B (zh) * | 2014-08-18 | 2016-10-26 | 广西师范大学 | 一种can总线波特率自适应的方法 |
CN104796222A (zh) * | 2014-11-21 | 2015-07-22 | 湖南先步信息股份有限公司 | Can波特率自动匹配的方法 |
CN107229457B (zh) * | 2016-03-24 | 2020-12-11 | 宝沃汽车(中国)有限公司 | 电子控制器的引导加载方法、装置、电子控制器及汽车 |
CN107229457A (zh) * | 2016-03-24 | 2017-10-03 | 宝沃汽车(中国)有限公司 | 电子控制器的引导加载方法、装置、电子控制器及汽车 |
CN106411641A (zh) * | 2016-09-20 | 2017-02-15 | 宁波中车时代传感技术有限公司 | 一种自动检测can总线波特率的方法 |
CN108072779A (zh) * | 2017-12-20 | 2018-05-25 | 福建利利普光电科技有限公司 | 一种数字示波器can总线波特率自动识别方法 |
CN109471425A (zh) * | 2018-12-14 | 2019-03-15 | 上海星融汽车科技有限公司 | 一种识别商用车obd口can通讯针脚波特率的方法 |
WO2020135331A1 (zh) * | 2018-12-24 | 2020-07-02 | 深圳市道通科技股份有限公司 | 一种获取波特率的方法、装置 |
CN109656172A (zh) * | 2018-12-24 | 2019-04-19 | 深圳市道通科技股份有限公司 | 一种获取波特率的方法、装置 |
CN111224837A (zh) * | 2019-11-25 | 2020-06-02 | 上海星融汽车科技有限公司 | 自动识别车辆ecu的can通信波特率的方法及其系统 |
CN111277455A (zh) * | 2020-01-15 | 2020-06-12 | 深圳市元征科技股份有限公司 | Can网络波特率识别方法、装置、设备和存储介质 |
CN111665821A (zh) * | 2020-06-08 | 2020-09-15 | 重庆长安汽车股份有限公司 | 基于车辆诊断服务的错误帧排查方法 |
CN113688086A (zh) * | 2021-08-23 | 2021-11-23 | 湖南芯力特电子科技有限公司 | 用于局部网络的高速can收发器波特率匹配检测系统 |
CN114866367A (zh) * | 2022-04-13 | 2022-08-05 | 深圳市三旺通信股份有限公司 | Can设备通信方法、装置、can光猫设备与介质 |
CN114866367B (zh) * | 2022-04-13 | 2023-12-05 | 深圳市三旺通信股份有限公司 | Can设备通信方法、装置、can光猫设备与介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103777538B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103777538A (zh) | 控制器与can总线的波特率自动匹配方法 | |
CN111143061A (zh) | 多设备的联动控制方法、装置及存储介质 | |
CN101916200B (zh) | 终端升级的方法、终端升级回退的方法和升级管理中心 | |
CN103168292B (zh) | 一种用于监控至少两个微控制器的方法 | |
CN104796222A (zh) | Can波特率自动匹配的方法 | |
CN112579492A (zh) | 具不同类型连接端口的通用序列总线集线装置之连接方法 | |
CN110505135A (zh) | 基于can总线的电池系统自动组网方法 | |
CN112653738A (zh) | 一种物联网网络调试系统和调试方法 | |
JP5893027B2 (ja) | バスを用いた制御システムのバス加入者に加入者アドレスを発行する方法 | |
CN103514724A (zh) | 一种数据采集器的自适应配置方法 | |
CN103986610A (zh) | 通讯接口匹配方法、装置及控制器 | |
CN102385382B (zh) | 车辆故障诊断系统 | |
CN105812504A (zh) | 一种智能型通信地址编码方法 | |
CN110704357B (zh) | 一种主站与多个从站串行通信的方法及装置 | |
CN104683130A (zh) | 一种配置堆叠端口的方法和设备 | |
CN101686152B (zh) | 一种状态上报方法和装置 | |
CN108259130A (zh) | 一种波特率奇偶校验位自适应的Modbus传输系统及方法 | |
CN102375099A (zh) | 便携式电子装置测试系统 | |
CN105392109B (zh) | 一种无线连接方法和装置 | |
JP2014068466A (ja) | 充電装置 | |
CN104238711A (zh) | 电压源堆栈系统 | |
CN102025576A (zh) | 一种家庭自动化系统及其控制方法 | |
CN107547315B (zh) | 一种优化数据通信的方法和装置 | |
CN106227516A (zh) | 一种网络芯片自适应通讯的装置和方法 | |
CN112866322B (zh) | 一种物联网设备的接入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |