CN111431783B - 一种can总线波特率自适应的方法 - Google Patents
一种can总线波特率自适应的方法 Download PDFInfo
- Publication number
- CN111431783B CN111431783B CN202010254974.8A CN202010254974A CN111431783B CN 111431783 B CN111431783 B CN 111431783B CN 202010254974 A CN202010254974 A CN 202010254974A CN 111431783 B CN111431783 B CN 111431783B
- Authority
- CN
- China
- Prior art keywords
- baud rate
- bus
- calculated
- relationship
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种CAN总线波特率自适应的方法,包括:设置采样时钟,从一个CAN报文起始位开始,启动测量并记录CAN总线的每个电平跳变时间,依次比较相邻两个电平跳变时间T1和T2,若T1=T2,则T=T1,若T1和T2是2倍的关系,则T为T1和T2中的较小值,重复上述操作,直至CAN报文结束,然后计算CAN设备的波特率B,B=1/T,在比较相邻两个电平跳变时间T1和T2时,若T1不等于T2且T1和T2不是2倍关系,则根据T1和T2的倍数关系,差分计算CAN设备的波特率B,将所述CAN设备的波特率与CAN总线波特率进行匹配。上述方法采用差分方式计算CAN设备的波特率,可快速获得与CAN总线波特率相匹配的CAN设备的波特率。
Description
技术领域
本发明涉及CAN总线通信领域,特别是涉及一种CAN总线波特率自适应的方法。
背景技术
CAN是控制器局域网络(Controller Area Network,CAN)的简称,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。但CAN总线的波特率不是唯一的,当CAN总线与某个CAN设备的波特率不相匹配时,就无法进行正常通讯。
传统的CAN总线波特率自适应的方法虽然能实现自适应匹配,但效率较低,无法满足现有需求。
发明内容
基于此,有必要针对传统的自适应方法效率较低的问题,提供一种CAN总线波特率自适应的方法。
一种CAN总线波特率自适应的方法,包括:
S100、设置采样时钟,从一个CAN报文起始位开始,启动测量并记录CAN总线的每个电平跳变时间,
S200、依次比较相邻两个电平跳变时间T1和T2,若T1=T2,则T=T1,若T1和T2是2倍的关系,则T为T1和T2中的较小值,重复上述操作,直至CAN报文结束,然后计算CAN设备的波特率B,B=1/T,
在比较相邻两个电平跳变时间T1和T2时,若T1不等于T2且T1和T2不是2倍关系,则根据T1和T2的倍数关系,差分计算CAN设备的波特率B,
S300、将所述CAN设备的波特率与CAN总线波特率进行匹配。
上述方法采用差分方式计算CAN设备的波特率,可快速获得与CAN总线波特率相匹配的CAN设备的波特率。
在其中一个实施例中,所述步骤S200中,
若T1和T2是3倍、4倍或5倍的关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/T,
若T1和T2是2/3倍数关系或2/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/2),
若T1和T2是3/4倍数关系或3/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/3)。
在其中一个实施例中,所述步骤S300中,计算得出一个CAN设备的波特率B1后,对下一个CAN报文,重复步骤S100和S200,计算获得新的CAN设备的波特率B2,将B1与B2进行比较,若(0.9*B1)≤B2≤(1.1*B1),则CAN设备的波特率更新为((B1+B2)/2),否则,CAN设备的波特率更新为B2,应用更新后的CAN设备的波特率与CAN总线波特率进行匹配。
附图说明
图1为本发明的实施例的CAN总线波特率自适应的方法的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示,本发明的实施例提供了一种CAN总线波特率自适应的方法,该方法包括:
S100、设置采样时钟,例如采样时钟为100MHz。检测CAN总线电平拉低,从一个CAN报文起始位开始,启动测量并记录CAN总线的每个电平跳变时间,也就是记录每个高电平的跳变时间以及每个低电平的跳变时间。具体的,可对RX电平进行采样。
S200、依次比较相邻两个电平跳变时间T1和T2。例如,相邻两个电平分别是高电平和低电平,高电平的跳变时间为T1,低电平的跳变时间为T2。然后按照以下方式比较T1和T2。
若T1=T2,则T=T1。
若T1和T2是2倍的关系,则T为T1和T2中的较小值,例如,T1=2T2,则T=T2。若T2=2T1,则T=T1。
重复上述操作,直至CAN报文结束,然后计算CAN设备的波特率B,B=1/T。
CAN设备的波特率B获得后,可执行步骤S300,也就是将所述CAN设备的波特率与CAN总线波特率进行匹配。即设置响应波特率并进行通讯。
需要说明的是,在比较相邻两个电平跳变时间T1和T2时,可能出现T1和T2是1倍关系或2倍关系,则按照上述方式操作,在比较过程中,一旦出现T1不等于T2且T1和T2不是2倍关系,则根据T1和T2的倍数关系,直接进行差分计算CAN设备的波特率B,不用管CAN报文是否结束。
上述根据T1和T2的倍数关系,差分计算CAN设备的波特率B。也就是,根据T1和T2的倍数关系,制定不同的计算CAN设备的波特率B的方式。细分计算方式,有助于快速获得可与CAN总线波特率匹配的CAN设备的波特率。按照上述方式获得CAN设备的波特率B后,可执行步骤S300,也就是将所述CAN设备的波特率与CAN总线波特率进行匹配。即设置响应波特率并进行通讯。
本发明的上述方法采用差分方式计算CAN设备的波特率,可快速获得与CAN总线波特率相匹配的CAN设备的波特率。
本实施例中,所述步骤S200中,优选的差分计算CAN设备的波特率B的方法如下。
若T1和T2是3倍、4倍或5倍的关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/T。
若T1和T2是2/3倍数关系或2/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/2)。
若T1和T2是3/4倍数关系或3/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/3)。
按照上述方式获得CAN设备的波特率B后,可执行步骤S300,也就是将所述CAN设备的波特率与CAN总线波特率进行匹配。即设置响应波特率并进行通讯。
以下通过实验证明本发明的方法的有益效果。
实验方案:
S100、设置采样时钟,从一个CAN报文起始位开始,启动测量并记录CAN总线的每个电平跳变时间。
S200、依次比较相邻两个电平跳变时间T1和T2,若T1=T2,则T=T1,若T1和T2是2倍的关系,则T为T1和T2中的较小值,重复上述操作,直至CAN报文结束,然后计算CAN设备的波特率B,B=1/T。
在比较相邻两个电平跳变时间T1和T2时,若T1不等于T2且T1和T2不是2倍关系,则根据T1和T2的倍数关系,差分计算CAN设备的波特率B,具体的:
若T1和T2是3倍、4倍或5倍的关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/T。
例如,T1=3T2,则T=T2,若T2=3T1,则T=T1。
例如,T1=4T2,则T=T2,若T2=4T1,则T=T1。
例如,T1=5T2,则T=T2,若T2=5T1,则T=T1。
若T1和T2是2/3倍数关系或2/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/2)。
例如,T1=(2/3)T2,则T=T1,若T2=(2/3)T1,则T=T2。
例如,T1=(2/5)T2,则T=T1,若T2=(2/5)T1,则T=T2。
若T1和T2是3/4倍数关系或3/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/3)。
例如,T1=(3/4)T2,则T=T1,若T2=(3/4)T1,则T=T2。
例如,T1=(3/5)T2,则T=T1,若T2=(3/5)T1,则T=T2。
S300、将所述CAN设备的波特率与CAN总线波特率进行匹配。
实验结果:
通过实验证明,本发明的上述方法对5Kbps至1250Kbps范围的波特率可以在一个CAN报文中计算完成。也就是在一个CAN报文中就可获得合适的CAN设备的波特率,使之可以与CAN总线匹配。
本实施例中,所述步骤S300中,计算得出一个CAN设备的波特率B1后,对下一帧,重复步骤S100和S200,计算获得新的CAN设备的波特率B2,将B1与B2进行比较,若(0.9*B1)≤B2≤(1.1*B1),则CAN设备的波特率更新为((B1+B2)/2),否则,CAN设备的波特率更新为B2,应用更新后的CAN设备的波特率与CAN总线波特率进行匹配。
例如,对于第一帧,按照上述步骤S100和S200,计算得出CAN设备的波特率为B1,对于第二帧,按照上述步骤S100和S200,计算得出CAN设备的波特率为B2。比较B1与B2,若(0.9*B1)≤B2≤(1.1*B1),也就是B2与B1相比,偏差在10%以内,则CAN设备的波特率更新为((B1+B2)/2)。也就是取平均值作为CAN设备的波特率。若偏差大于10%,则CAN设备的波特率更新为B2,也就是应用B2作为CAN设备的波特率。
上述这样设置,主要用于防止动态改变波特率。也就是CAN总线波特率动态改变后,CAN设备波特率也相应改变,以达到快速准确的匹配。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (2)
1.一种CAN总线波特率自适应的方法,其特征在于,包括:
S100、设置采样时钟,从一个CAN报文起始位开始,启动测量并记录CAN总线的每个电平跳变时间,
S200、依次比较相邻两个电平跳变时间T1和T2,若T1=T2,则T=T1,若T1和T2是2倍的关系,则T为T1和T2中的较小值,重复上述操作,直至CAN报文结束,然后计算CAN设备的波特率B,B=1/T,
在比较相邻两个电平跳变时间T1和T2时,若T1不等于T2且T1和T2不是2倍关系,则根据T1和T2的倍数关系,差分计算CAN设备的波特率B,
S300、将所述CAN设备的波特率与CAN总线波特率进行匹配;
所述步骤S300中,计算得出一个CAN设备的波特率B1后,对下一个CAN报文,重复步骤S100和S200,计算获得新的CAN设备的波特率B2,将B1与B2进行比较,若(0.9*B1)≤B2≤(1.1*B1),则CAN设备的波特率更新为((B1+B2)/2),否则,CAN设备的波特率更新为B2,应用更新后的CAN设备的波特率与CAN总线波特率进行匹配。
2.根据权利要求1所述的CAN总线波特率自适应的方法,其特征在于,
所述步骤S200中,
若T1和T2是3倍、4倍或5倍的关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/T,
若T1和T2是2/3倍数关系或2/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/2),
若T1和T2是3/4倍数关系或3/5倍数关系,则T为T1和T2中的较小值,计算CAN设备的波特率B,B=1/(T/3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254974.8A CN111431783B (zh) | 2020-04-02 | 2020-04-02 | 一种can总线波特率自适应的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254974.8A CN111431783B (zh) | 2020-04-02 | 2020-04-02 | 一种can总线波特率自适应的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431783A CN111431783A (zh) | 2020-07-17 |
CN111431783B true CN111431783B (zh) | 2021-12-31 |
Family
ID=71556107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254974.8A Active CN111431783B (zh) | 2020-04-02 | 2020-04-02 | 一种can总线波特率自适应的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431783B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112118075B (zh) * | 2020-08-09 | 2023-06-02 | 东风电驱动系统有限公司 | Can总线波特率自适应方法及装置 |
CN112702145B (zh) * | 2020-12-22 | 2022-02-15 | 北京城建智控科技股份有限公司 | Can总线波特率自配置方法和系统 |
CN114024795B (zh) * | 2021-11-05 | 2023-08-08 | 深圳数马电子技术有限公司 | 波特率自适应方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201960A (zh) * | 2011-04-28 | 2011-09-28 | 华南理工大学 | 一种基于排序脉宽差分的波特率自适应方法 |
CN102904766A (zh) * | 2011-07-27 | 2013-01-30 | 深圳英飞拓科技股份有限公司 | 串行通信波特率识别方法、装置及监控设备 |
CN104714920A (zh) * | 2015-02-13 | 2015-06-17 | 暨南大学 | 一种自适应波特率的信号接收方法 |
CN107370565A (zh) * | 2016-11-24 | 2017-11-21 | 天地融科技股份有限公司 | 一种传输参数自适应的数据传输方法和装置 |
CN109802878A (zh) * | 2019-03-29 | 2019-05-24 | 广州亚美信息科技有限公司 | 一种can设备与can总线波特率自动匹配方法及装置 |
-
2020
- 2020-04-02 CN CN202010254974.8A patent/CN111431783B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201960A (zh) * | 2011-04-28 | 2011-09-28 | 华南理工大学 | 一种基于排序脉宽差分的波特率自适应方法 |
CN102904766A (zh) * | 2011-07-27 | 2013-01-30 | 深圳英飞拓科技股份有限公司 | 串行通信波特率识别方法、装置及监控设备 |
CN104714920A (zh) * | 2015-02-13 | 2015-06-17 | 暨南大学 | 一种自适应波特率的信号接收方法 |
CN107370565A (zh) * | 2016-11-24 | 2017-11-21 | 天地融科技股份有限公司 | 一种传输参数自适应的数据传输方法和装置 |
CN109802878A (zh) * | 2019-03-29 | 2019-05-24 | 广州亚美信息科技有限公司 | 一种can设备与can总线波特率自动匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111431783A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111431783B (zh) | 一种can总线波特率自适应的方法 | |
US11108247B2 (en) | Method, apparatus, device and medium for equalization control of battery packs | |
US10396921B2 (en) | Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium | |
WO2013192112A1 (en) | METHODS FOR SIGNALING A MAXIMUM NUMBER OF MSDUs IN A TRANSMISSION | |
EP3930075B1 (en) | Battery pack ocv-soc curve update method, battery management system and vehicle | |
US20130034012A1 (en) | Available bandwidth measurement system, transmission device, available bandwidth measurement method and recording medium | |
AU2019348020B2 (en) | Secure distributed state estimation for networked microgrids | |
CN107070743A (zh) | 一种can总线负载率检测方法及装置 | |
US20230204668A1 (en) | Method for estimating state of charge (soc) of lithium-ion battery system based on artificial intelligence (ai) | |
WO2019107149A1 (ja) | ビットアサイン推定装置、ビットアサイン推定方法、プログラム | |
CN111177060A (zh) | 串口数据发送方法、接收方法、相应装置及终端设备 | |
EP3496327B1 (en) | Method for acquiring phase discrimination signal in clock recovery circuit and phase discriminator | |
US11374731B2 (en) | Fast initial phase search for digital clock and data recovery and related systems, devices, and methods | |
CN116760508A (zh) | 一种波特率设置方法及系统 | |
CN116315187A (zh) | 电池均衡控制方法、系统及电子设备 | |
CN110247734B (zh) | 一种数据传输方法、装置及电子设备 | |
CN115755623A (zh) | 一种基于事件触发中间观测器的故障容错控制方法 | |
EP4246171A1 (en) | Sampling assembly and sampling method | |
CN112910605B (zh) | 信号调整方法、装置和电子设备 | |
JP4419867B2 (ja) | データ処理装置 | |
CN111929520A (zh) | 电力系统故障录波触发方法及装置 | |
TWI424733B (zh) | 接收機時序資料校正裝置與方法 | |
JP2004032176A (ja) | 移動局装置,回線制御局装置,移動通信システムおよびその数値データ伝送方法ならびにプログラム | |
WO2003010913A1 (en) | Data rate negotiation method using a mean square error technique | |
TWI580292B (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 |