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

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

Info

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
Application number
CN201210401627.9A
Other languages
English (en)
Other versions
CN103777538B (zh
Inventor
张鹏
韩蛟
余秋实
刘大全
王冠翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN201210401627.9A priority Critical patent/CN103777538B/zh
Publication of CN103777538A publication Critical patent/CN103777538A/zh
Application granted granted Critical
Publication of CN103777538B publication Critical patent/CN103777538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

一种控制器与CAN总线的波特率自动匹配方法,是在控制器中预存储多种备用标准波特率,将控制器连接到CAN总线上,设置控制器默认波特率,控制器接收CAN总线发送的报文,通过判断控制器接收到CAN总线的报文正确与否来判断波特率匹配成功与否,若控制器接收到CAN总线发送的报文错误,则在内置于控制器的错误计数累加器的数值累加,判断错误计数累加器的数值是否达到预定值来执行控制器是否重新设置波特率。该方法实现了控制器与CAN总线之间波特率的自动匹配,使得控制器能够适用于不同固定波特率的CAN总线,提高了控制器的通用性和可移植性。

Description

控制器与CAN总线的波特率自动匹配方法
技术领域
本发明涉及汽车电控系统通信领域,具体涉及控制器与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,直到波特率匹配成功。
CN201210401627.9A 2012-10-19 2012-10-19 控制器与can总线的波特率自动匹配方法 Active CN103777538B (zh)

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 (13)

* Cited by examiner, † Cited by third party
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 重庆长安汽车股份有限公司 基于车辆诊断服务的错误帧排查方法
CN114866367A (zh) * 2022-04-13 2022-08-05 深圳市三旺通信股份有限公司 Can设备通信方法、装置、can光猫设备与介质

Citations (5)

* Cited by examiner, † Cited by third party
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 모비콘 주식회사 상용차용 캔 버스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
付强 等: "CAN总线应用匹配设计", 《计算机与网络》, no. 7, 15 July 2011 (2011-07-15) *
石虎山 等: "带有在片CAN的微控制器P80C592的通信研究", 《宝鸡文理学院学报》, vol. 23, no. 4, 31 December 2003 (2003-12-31) *

Cited By (17)

* Cited by examiner, † Cited by third party
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 重庆长安汽车股份有限公司 基于车辆诊断服务的错误帧排查方法
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总线的波特率自动匹配方法
CN103259299A (zh) 多标准兼容的充电机
CN103168292B (zh) 一种用于监控至少两个微控制器的方法
CN104796222A (zh) Can波特率自动匹配的方法
CN104345717A (zh) 一种基于物联网的智能远程数据采集系统
CN112579492A (zh) 具不同类型连接端口的通用序列总线集线装置之连接方法
CN102984500A (zh) 一种实现多种视频监控设备兼容的方法、装置和系统
CN111787128A (zh) 一种自动编址方法、系统及其主控模块
CN103514724A (zh) 一种数据采集器的自适应配置方法
CN112653738A (zh) 一种物联网网络调试系统和调试方法
CN103684937A (zh) 一种智能家居通信系统的网络拓扑结构及其建立方法
CN101916200A (zh) 终端升级的方法、终端升级回退的方法和升级管理中心
JP2013534389A (ja) バスを用いた制御システムのバス加入者に加入者アドレスを発行する方法
CN102385382B (zh) 车辆故障诊断系统
CN104239130A (zh) 人机交互界面对操作指令响应的控制方法及终端
CN105812504A (zh) 一种智能型通信地址编码方法
CN110704357B (zh) 一种主站与多个从站串行通信的方法及装置
CN101686152B (zh) 一种状态上报方法和装置
CN104683130A (zh) 一种配置堆叠端口的方法和设备
CN102375099A (zh) 便携式电子装置测试系统
JP2014068466A (ja) 充電装置
CN104238711A (zh) 电压源堆栈系统
CN104848472A (zh) 空调监控系统及用于空调的opc服务器和opc连接方法
CN107547315B (zh) 一种优化数据通信的方法和装置
CN106227516A (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