CN108072779A - 一种数字示波器can总线波特率自动识别方法 - Google Patents
一种数字示波器can总线波特率自动识别方法 Download PDFInfo
- Publication number
- CN108072779A CN108072779A CN201711385774.0A CN201711385774A CN108072779A CN 108072779 A CN108072779 A CN 108072779A CN 201711385774 A CN201711385774 A CN 201711385774A CN 108072779 A CN108072779 A CN 108072779A
- Authority
- CN
- China
- Prior art keywords
- frame
- baud rate
- bus
- crc
- value
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/0209—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form in numerical form
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开一种数字示波器CAN总线波特率自动识别方法,其包括以下步骤:步骤1:判断示波器通道是否有信号输入;步骤2:设定波特率变量并赋值常用波特率的最小值;步骤3:定位CAN总线信号的第二个数据帧或遥控帧的位置;步骤4:解码数据帧或遥控帧的CRC段;步骤5:对解码所得的CRC段的CRC顺序与CAN总线协议的CRC算法计算出的CRC值进行对比;解码的CRC顺序与计算出的CRC值相等时,则波特率识别成功并跳到步骤7;否则将波特率变量从小到大赋值下一个常用波特率;步骤6:重复步骤3到步骤5,遍历所有常用波特率,识别未成功跳转步骤8;步骤7:成功识别显示识别出的波特率的值;步骤8:结束。本发明能CAN总线信号进行自动识别和解析得到一个正确波特率。
Description
技术领域
本发明涉及检测设备领域,尤其涉及一种数字示波器CAN总线波特率自动识别方法。
背景技术
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
目前高级的数字示波器一般带有CAN总线触发和解码功能,数字示波器对CAN总线触发和解码的时候需要预先设定波特率、采样点等,根据CAN总线的协议规定,CAN总线常用的波特率比较多,如1Mbps、800Kbps、400Kbps、250Kbps、153Kbps、125Kbps、100Kbps等。多数的情况下,用户需要对未知波特率的CAN总线信号进行触发和解码时,需要尝试设置各种波特率,操作繁琐。
发明内容
本发明的目的在于克服现有技术的不足,提供一种数字示波器CAN总线波特率自动识别方法。
本发明采用的技术方案是:
一种数字示波器CAN总线波特率自动识别方法,其包括以下步骤:
步骤1:判断示波器通道是否有信号输入;当有信号输入时获取该通道的CAN总线信号并跳转到步骤2;否则,跳转到步骤8
步骤2:设定波特率变量,并从存储有的常用波特率的最小值开始赋值波特率变量,所有常用波特率的值从小到大排列;
步骤3:根据波特率变量的值和CAN总线的通信帧的特性定位CAN总线信号的第二个数据帧或遥控帧的位置;
步骤4:从定位位置开始,根据波特率变量的值以及数据帧或遥控帧的CAN总线协议解码数据帧或遥控帧的CRC段;
步骤5:对解码所得的CRC段的CRC顺序与CAN总线协议的CRC算法计算出的CRC值进行对比;解码的CRC顺序与计算出的CRC值相等时,则波特率识别成功并跳到步骤7;否则将波特率变量赋值为下一个常用波特率;
步骤6:重复执行步骤3到步骤5,直到波特率变量遍历完所有常用波特率,波特率识别还未成功则示波器屏幕显示“未识别到CAN总线的波特率”并跳转到步骤8;
步骤7:成功识别输入的CAN总线信号的波特率,示波器屏幕显示识别出的波特率的值;
步骤8:自动识别程序结束。
进一步地,所述常用波特率的最小值为10Kbps。
进一步地,所述常用波特率的值具体包括10Kbps、20Kbps、25Kbps、31.25Kbps、33.3Kbps、37Kbps、50Kbps、62.5Kbps、68.266Kbps、83.3Kbps、92.238Kbps、100Kbps、125Kbps、153Kbps、20Kbps、400Kbps、500Kbps、800Kbps、1Mbps。
进一步地,步骤1中判断示波器通道是否有信号输入的方法具体为:判断示波器通道是否有信号输入的方法,将待识别的示波器通道的CAN总线信号的信号幅值与示波器预设的阈值相比;信号幅值不小于示波器预设的阈值时,则示波器通道有信号输入;否则,示波器通道无信号输入,示波器屏幕显示“没有信号输入”。
进一步地,步骤4中解码的具体步骤为:
步骤4-1:根据SRR位和IDE位判断通信帧是标准格式还是扩展格式;
步骤4-2:根据RTR位判断是数据帧还是遥控帧;
步骤4-3:根据得到格式类型和帧类型解码出帧起始、仲裁段、控制段和CRC段,当为数据帧时还解码对应的数据段。
本发明采用以上技术方案,提出一种数字示波器CAN总线波特率自动识别的功能,对未知波特率的CAN总线信号进行自动识别和解析得到一个正确波特率,从而避免用户手动尝试探索波特率的繁琐操作,其中自动识别和解析的波特率为常用波特率。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明一种数字示波器CAN总线波特率自动识别方法的流程示意图;
图2为CAN总线通信的数据帧的构成示意图;
图3为CAN总线通信的遥控帧的构成示意图;
图4为CAN总线通信的帧间隔的构成示意图;
图5为本发明一种数字示波器CAN总线波特率自动识别方法的解码的流程。
具体实施方式
如图1-5所示,本发明公开了一种数字示波器CAN总线波特率自动识别方法,其包括以下步骤:
步骤1:判断示波器通道是否有信号输入;当有信号输入时获取该通道的CAN总线信号并跳转到步骤2;否则,跳转到步骤8。具体地,判断示波器通道是否有信号输入的方法,将待识别的示波器通道的CAN总线信号的信号幅值与示波器预设的阈值相比;信号幅值不小于示波器预设的阈值时,则示波器通道有信号输入;否则,示波器通道无信号输入,示波器屏幕显示“没有信号输入”。
步骤2:设定波特率变量,并从存储有的常用波特率的最小值开始赋值波特率变量,所有常用波特率的值从小到大排列;所述常用波特率的最小值为10Kbps。常用波特率的值具体包括10Kbps、20Kbps、25Kbps、31.25Kbps、33.3Kbps、37Kbps、50Kbps、62.5Kbps、68.266Kbps、83.3Kbps、92.238Kbps、100Kbps、125Kbps、153Kbps、20Kbps、400Kbps、500Kbps、800Kbps、1Mbps。这些常用波特率主要来自于 ISO或SAE等其它的组织、团体和企业对 CAN 协议进行标准化后的波特率,基于 CAN 的各种标准规格如下表1所示:
表1. CAN协议和标准规格
步骤3:根据波特率变量的值和CAN总线的通信帧的特性定位CAN总线信号的第二个数据帧或遥控帧的位置;
具体地,CAN的通信是通过以5种类型的帧进行的,包括:数据帧、遥控帧、错误帧、过载帧和帧间隔。各帧的用途如下:
(1)数据帧:用于发送单元向接收单元传送数据的帧;
(2)遥控帧:用于接收单元向具有相同 ID 的发送单元请求数据的帧;
(3)错误帧:用于当检测出错误时向其它单元通知错误的帧;
(4)过载帧:用于接收单元通知其尚未做好接收准备的帧;
(5)帧间隔:用于将数据帧及遥控帧与前面的帧分离开来的帧;
如图2-4之一所示,数据帧和遥控帧的帧开始(SOF)有1个显性电平和帧结束(EOF)有7个隐性电平,而帧间隔(帧间隔是用于分隔数据帧和遥控帧的帧,数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧分开)至少包含3个隐性电平,这样第二个数据帧和遥控帧的开头必定有大于10个隐性电平和1个显性电平的帧开始,而错误帧和过载帧加上帧间隔小于10个隐性电平,依据这个特性来定位CAN信号的第二个数据帧或遥控帧的位置。
步骤4:从定位位置开始,根据波特率变量的值以及数据帧或遥控帧的CAN总线协议解码数据帧或遥控帧的CRC段;
具体地,数据帧由 7 个段构成,相比于数据帧来说遥控帧缺少一个数据段,各个段的功能描述如下:
(1)帧起始:表示数据帧开始的段;
(2)仲裁段:表示该帧优先级的段;
(3)控制段:表示数据的字节数及保留位的段;
(4)数据段:数据的内容,可发送 0~8 个字节的数据;
(5)CRC段:检查帧的传输错误的段;
(6)ACK段:表示确认正常接收的段;
(7)帧结束:表示数据帧结束的段。
如图2或3所示,数据帧和遥控帧有标准格式和扩展格式两种格式,标准格式有 11个位的标识符(Identifier: 以下称 ID),扩展格式有 29 个位的 ID,SRR和IDE位都为隐性则说明该帧为扩展格式的帧,反之为标准格式的帧。数据帧和遥控帧的区别取决于RTR位,RTR位为隐性说明该帧是遥控帧,反之则为数据帧。根据根据得到的格式类型和帧类型来解码出帧起始、仲裁段、控制段、数据段(遥控帧没有数据段)和CRC段。
如图5所示,步骤4中解码的具体步骤为:
步骤4-1:根据SRR位和IDE位判断通信帧是标准格式还是扩展格式;
步骤4-2:根据RTR位判断是数据帧还是遥控帧;
步骤4-3:根据得到格式类型和帧类型解码出帧起始、仲裁段、控制段和CRC段,当为数据帧时还解码对应的数据段。
步骤5:对解码所得的CRC段的CRC顺序与CAN总线协议的CRC算法计算出的CRC值进行对比;解码的CRC顺序与计算出的CRC值相等时,则波特率识别成功并跳到步骤7;否则将波特率变量赋值为下一个常用波特率;
具体地,数据帧和遥控帧的CRC段是检查帧传输是否错误的段,CRC段由15个位的CRC顺序和1个位的 CRC 界定符(用于分隔的位)构成,CRC 顺序是根据多项式生成 CRC值,CRC的计算范围包括帧起始、仲裁段、控制段、数据段(遥控帧没有数据段)。输入示波器的CAN信号解码所得的CRC顺序与示波器内部计算的CRC值相比,如果相等则说明波特率识别成功。
步骤6:重复执行步骤3到步骤5,直到波特率变量遍历完所有常用波特率,波特率识别还未成功则示波器屏幕显示“未识别到CAN总线的波特率”并跳转到步骤8;
步骤7:成功识别输入的CAN总线信号的波特率,示波器屏幕显示识别出的波特率的值;
步骤8:自动识别程序结束。
本发明采用以上技术方案,提出一种数字示波器CAN总线波特率自动识别的功能,对未知波特率的CAN总线信号进行自动识别和解析得到一个正确波特率,从而避免用户手动尝试探索波特率的繁琐操作,其中自动识别和解析的波特率为常用波特率。
Claims (7)
1.一种数字示波器CAN总线波特率自动识别方法,其特征在于:其包括以下步骤:
步骤1:判断示波器通道是否有信号输入;当有信号输入时获取该通道的CAN总线信号并跳转到步骤2;否则,跳转到步骤8;
步骤2:设定波特率变量,并从存储有的常用波特率的最小值开始赋值波特率变量,所有常用波特率的值从小到大排列;
步骤3:根据波特率变量的值和CAN总线的通信帧的特性定位CAN总线信号的第二个数据帧或遥控帧的位置;
步骤4:从定位位置开始,根据波特率变量的值以及数据帧或遥控帧的CAN总线协议解码数据帧或遥控帧的CRC段;
步骤5:对解码所得的CRC段的CRC顺序与CAN总线协议的CRC算法计算出的CRC值进行对比;解码的CRC顺序与计算出的CRC值相等时,则波特率识别成功并跳到步骤7;否则将波特率变量赋值为下一个常用波特率;
步骤6:重复执行步骤3到步骤5,直到波特率变量遍历完所有常用波特率,波特率识别还未成功则示波器屏幕显示“未识别到CAN总线的波特率”并跳转到步骤8;
步骤7:成功识别输入的CAN总线信号的波特率,示波器屏幕显示识别出的波特率的值;
步骤8:自动识别程序结束。
2.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:所述常用波特率的最小值为10Kbps。
3.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:所述常用波特率的值具体包括10Kbps、20Kbps、25Kbps、31.25Kbps、33.3Kbps、37Kbps、50Kbps、62.5Kbps、68.266Kbps、83.3Kbps、92.238Kbps、100Kbps、125Kbps、153Kbps、20Kbps、400Kbps、500Kbps、800Kbps、1Mbps。
4.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:步骤1中判断示波器通道是否有信号输入的方法具体为:将待识别的示波器通道的CAN总线信号的信号幅值与示波器预设的阈值相比;信号幅值不小于示波器预设的阈值时,则示波器通道有信号输入;否则,示波器通道无信号输入,示波器屏幕显示“没有信号输入”。
5.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:步骤3中定位CAN总线信号的第二个数据帧或遥控帧的位置的方法具体为:CAN总线数据帧和遥控帧的帧开始有1个显性电平和帧结束有7个隐性电平,而帧间隔至少包含3个隐性电平,第二个数据帧和遥控帧的开头必定有大于10个隐性电平和1个显性电平的帧开始,而错误帧和过载帧加上帧间隔小于10个隐性电平,依据这个特性来定位CAN信号的第二个数据帧或遥控帧的位置。
6.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:步骤4中解码的具体步骤为:
步骤4-1:根据SRR位和IDE位判断通信帧是标准格式还是扩展格式;
步骤4-2:根据RTR位判断是数据帧还是遥控帧;
步骤4-3:根据得到格式类型和帧类型解码出帧起始、仲裁段、控制段和CRC段,当为数据帧时还解码对应的数据段。
7.根据权利要求1所述的一种数字示波器CAN总线波特率自动识别方法,其特征在于:步骤5中CRC值对比的具体方法为:CAN总线的数据帧和遥控帧的CRC段是检查帧传输是否错误的段,CRC段由15个位的CRC顺序和1个位的 CRC 界定符构成,示波器内部计算的CRC值是由CAN总线协议规定的多项式参与运算得出,参与运算的内容包括帧起始、仲裁段、控制段、数据段,CRC值对比的方法为接入示波器的CAN信号解码所得的CRC顺序与示波器内部计算的CRC值相比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711385774.0A CN108072779A (zh) | 2017-12-20 | 2017-12-20 | 一种数字示波器can总线波特率自动识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711385774.0A CN108072779A (zh) | 2017-12-20 | 2017-12-20 | 一种数字示波器can总线波特率自动识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108072779A true CN108072779A (zh) | 2018-05-25 |
Family
ID=62158994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711385774.0A Withdrawn CN108072779A (zh) | 2017-12-20 | 2017-12-20 | 一种数字示波器can总线波特率自动识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108072779A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768907A (zh) * | 2019-01-09 | 2019-05-17 | 北京安控科技股份有限公司 | 一种can总线波特率自适应设置方法 |
CN112069098A (zh) * | 2020-09-14 | 2020-12-11 | 上海东软载波微电子有限公司 | 波特率识别方法及装置 |
CN113691412A (zh) * | 2021-06-28 | 2021-11-23 | 国网浙江省电力有限公司台州供电公司 | 基于rs485总线的电力物联终端通信自适配侦听解析方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2638142Y (zh) * | 2003-08-29 | 2004-09-01 | 清华大学 | 基于usb接口的便携式can总线分析记录仪 |
US20100052653A1 (en) * | 2008-08-26 | 2010-03-04 | Spx Corporation | Digital Oscilloscope Module with Glitch Detection |
CN103777538A (zh) * | 2012-10-19 | 2014-05-07 | 重庆长安汽车股份有限公司 | 控制器与can总线的波特率自动匹配方法 |
CN104052579A (zh) * | 2014-06-26 | 2014-09-17 | 湖南先步信息股份有限公司 | Modbus-rtu通信波特率自动匹配 |
CN203859738U (zh) * | 2014-05-20 | 2014-10-01 | 中钢集团马鞍山矿山研究院有限公司 | 波特率自适应rs-485隔离器 |
CN204408370U (zh) * | 2014-12-21 | 2015-06-17 | 哈尔滨智晟天诚科技开发有限公司 | 一种can总线网络监测诊断系统 |
CN105610545A (zh) * | 2015-12-21 | 2016-05-25 | 中国西电电气股份有限公司 | 一种基于fpga的ft3自适应解码系统及方法 |
CN106411641A (zh) * | 2016-09-20 | 2017-02-15 | 宁波中车时代传感技术有限公司 | 一种自动检测can总线波特率的方法 |
CN106569047A (zh) * | 2015-10-09 | 2017-04-19 | 惠州市德赛西威汽车电子股份有限公司 | 一种车载can总线的分析装置及方法 |
-
2017
- 2017-12-20 CN CN201711385774.0A patent/CN108072779A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2638142Y (zh) * | 2003-08-29 | 2004-09-01 | 清华大学 | 基于usb接口的便携式can总线分析记录仪 |
US20100052653A1 (en) * | 2008-08-26 | 2010-03-04 | Spx Corporation | Digital Oscilloscope Module with Glitch Detection |
CN103777538A (zh) * | 2012-10-19 | 2014-05-07 | 重庆长安汽车股份有限公司 | 控制器与can总线的波特率自动匹配方法 |
CN203859738U (zh) * | 2014-05-20 | 2014-10-01 | 中钢集团马鞍山矿山研究院有限公司 | 波特率自适应rs-485隔离器 |
CN104052579A (zh) * | 2014-06-26 | 2014-09-17 | 湖南先步信息股份有限公司 | Modbus-rtu通信波特率自动匹配 |
CN204408370U (zh) * | 2014-12-21 | 2015-06-17 | 哈尔滨智晟天诚科技开发有限公司 | 一种can总线网络监测诊断系统 |
CN106569047A (zh) * | 2015-10-09 | 2017-04-19 | 惠州市德赛西威汽车电子股份有限公司 | 一种车载can总线的分析装置及方法 |
CN105610545A (zh) * | 2015-12-21 | 2016-05-25 | 中国西电电气股份有限公司 | 一种基于fpga的ft3自适应解码系统及方法 |
CN106411641A (zh) * | 2016-09-20 | 2017-02-15 | 宁波中车时代传感技术有限公司 | 一种自动检测can总线波特率的方法 |
Non-Patent Citations (2)
Title |
---|
佚名: "Agilent Infiniivision 7000B系列示波器", 《豆丁网,网址HTTP://WWW.DOCIN.COM/P-364739282.HTML》 * |
孙雪飞 等: "《例说TI ARM Cortex-M3 基于LM3S9B96》", 31 January 2013 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768907A (zh) * | 2019-01-09 | 2019-05-17 | 北京安控科技股份有限公司 | 一种can总线波特率自适应设置方法 |
CN112069098A (zh) * | 2020-09-14 | 2020-12-11 | 上海东软载波微电子有限公司 | 波特率识别方法及装置 |
CN112069098B (zh) * | 2020-09-14 | 2022-04-15 | 上海东软载波微电子有限公司 | 波特率识别方法及装置 |
CN113691412A (zh) * | 2021-06-28 | 2021-11-23 | 国网浙江省电力有限公司台州供电公司 | 基于rs485总线的电力物联终端通信自适配侦听解析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10484401B2 (en) | In-vehicle network attack detection method and apparatus | |
KR101921357B1 (ko) | 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치 | |
RU2596582C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
US9032124B2 (en) | Definition of wakeup bus messages for partial networking | |
US9361178B2 (en) | Method and device for improving the data transmission security in a serial data transmission having flexible message size | |
US9880956B2 (en) | Method and apparatus for adapting the data transmission security in a serial bus system | |
CN108072779A (zh) | 一种数字示波器can总线波特率自动识别方法 | |
KR20150100790A (ko) | 프로토콜 예외 상태를 이용하는 데이터 전송 | |
CN104995874B (zh) | 具有协议异常状态的数据传输协议 | |
CN112751738B (zh) | 波特率自适应方法、装置、计算机设备和可读存储介质 | |
JP2016510189A (ja) | データ伝送のための複数のフレーム制御データブロックを用いる電力線通信 | |
CN107426770B (zh) | 基于数据链路层的数据通讯方法、数据终端及系统 | |
EP3772839A1 (en) | Security module for a serial communications device | |
TWI672021B (zh) | 用於使用可變資料速率控制協定通信資料之方法 | |
CN113412604B (zh) | 串行总线系统的用户站和在串行总线系统中通信的方法 | |
CN105612734A (zh) | 用于总线系统的适配设备和用于运行总线系统中的can成员站和can-fd成员站的方法 | |
KR102366436B1 (ko) | 검사 기능을 갖는 전송 유닛 | |
CN114342325B (zh) | 用于串行总线系统的用户站和用于在串行总线系统中进行通信的方法 | |
CN111713074B (zh) | 用于串行总线系统的用户站和用于针对在串行总线系统中接收的消息用信号通知错误的方法 | |
EP4199437A1 (en) | Apparatus for a controller area network | |
KR102595722B1 (ko) | 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180525 |
|
WW01 | Invention patent application withdrawn after publication |