CN116667971A - Can数据报文发送校验方法、装置、计算机设备及存储介质 - Google Patents
Can数据报文发送校验方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116667971A CN116667971A CN202310935846.3A CN202310935846A CN116667971A CN 116667971 A CN116667971 A CN 116667971A CN 202310935846 A CN202310935846 A CN 202310935846A CN 116667971 A CN116667971 A CN 116667971A
- Authority
- CN
- China
- Prior art keywords
- section
- data
- odd
- bit
- segment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
- H04L1/0082—Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例公开了CAN数据报文发送校验方法、装置、计算机设备及存储介质。所述方法包括:设定CAN数据报文帧,其中,CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位。采用奇偶校验码的方式校验发送的CAN数据是否正确。通过实施本发明实施例的方法可实现解决浪费CAN标准数据报文位数资源的问题以及解决CAN标准数据报文中CRC序列计算复杂,从而导致发送和接收节点收发数据延时过大的问题。
Description
技术领域
本发明涉及数据校验方法,更具体地说是指CAN数据报文发送校验方法、装置、计算机设备及存储介质。
背景技术
如图1所示,在现有的CAN(控制器局域网CAN,Controller Area Network)标准数据报文帧结构中,一帧CAN标准数据报文可以分为:帧起始、仲裁段、控制段、数据段、CRC(循环冗余校核,Cyclic Redundancy Check)段、ACK(确认字符,Acknowledge character)段、帧结束段。其中,帧起始数据占1位,值为0,表示一帧数据报文的开始;仲裁段包括11位的标识符和1位RTR,11位的标识符用来表示每个单独的发送节点,接收节点可以通过标识符判断数据报文来自哪个节点;RTR位的值表示数据报文是数据帧还是遥控帧,当RTR位的值为0时,表示该数据报文为数据帧,当RTR位的值为1时,表示该数据报文为遥控帧。控制段包括1位IDE(电子集成驱动器,Integrated Drive Electronics)、1位r0、4位DLC(可下载内容,Downloadable Content),IDE位的值用来判断该数据报文是标准帧还是扩展帧,当IDE值为0时,表示该数据报文是标准数据报文,当IDE值为1时,表示该数据报文是扩展数据报文;r0位数据保留位,一般设为0;DLC位的值用来表示该数据报文下面传输的数据段包含几个字节。数据段表示该数据帧所要传输的数据,是由0-8字节的数据组成,由DLC决定字节数,最多可占64位。CRC段包括15位CRC序列、1位CRC界定符,其中CRC序列用于判断发送的数据是否正确,一般由15位的值组成,计算范围是帧起始、仲裁段、控制段、数据段,计算方法是:待发送的数据报文多项式P(x),即帧起始、仲裁段、控制段、数据段,收发双方约定的生成多项式G(x),使用P(x)模2除以G(x),求到余数多项式R(x),即CRC段的15位数据,将R(x)放到P(x)后,生成M(x),发送方数据M(x)模2除以G(x),得到的余数为0,则表示数据发送无错误,接收方的接收报文为N(X)模2除以G(x),得到的余数为0,则表示数据接收无错误。CRC界定符占一位,值为1。ACK段包括1位ACK槽和1位ACK界定符,发送节点在ACK槽输出1,接收节点如果正确接收到数据报文,会在ACK槽输出0作为应答,ACK界定符的值为1。最后,帧结束段,即EOF段,表示数据报文传输结束,占7位,值都为1。
但是,现有的CAN标准数据报文中CRC序列占15位,根据CRC序列的生成机制,需要发送和接收节点约定一个特殊的生成多项式,同时还要发送和接收节点对数据报文进行模二除的操作,这就占用发送和接收节点的计算资源,也浪费数据发送和接收的时间,可能造成数据的延时变大,同时,CRC序列占15位,也会过多的占用CAN标准数据报文位数资源;而且现有的CAN标准数据报文中ID位占11位,11位的数据可以表示211=2048个主机和从机节点,然而实际工程中并不会用到全部的11位数据,这就造成了数据位资源浪费的现象。
因此,有必要设计一种新的方法,实现解决CAN标准数据报文中ID位位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列计算复杂,从而导致发送和接收节点收发数据延时过大的问题。
发明内容
本发明的目的在于克服现有技术的缺陷,提供CAN数据报文发送校验方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:CAN数据报文发送校验方法,包括:
设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;
采用奇偶校验码的方式校验发送的CAN数据是否正确;
所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段;
所述采用奇偶校验码的方式校验发送的CAN数据是否正确,包括:
确定校验方式;
判断所述校验方式是否是奇数校验方式;
若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;
当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;
若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;
当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。
其进一步技术方案为:所述帧起始数据的数值为0。
其进一步技术方案为:所述仲裁段包括7位的标识符和1位RTR;所述控制段包括1位IDE、1位r0以及4位DLC。
其进一步技术方案为:所述ACK段包括1位ACK槽和1位ACK界定符。
其进一步技术方案为:所述当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确之后,还包括:
当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010。
本发明还提供了CAN数据报文发送校验装置,包括:
设定单元,用于设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段;
校验单元,用于采用奇偶校验码的方式校验发送的CAN数据是否正确;
所述校验单元包括方式确定子单元、判断子单元、第一计算子单元、第一确定子单元、第一设定子单元、第二计算子单元、第二确定子单元以及第二设定子单元;
方式确定子单元,用于确定校验方式;判断子单元,用于判断所述校验方式是否是奇数校验方式;第一计算子单元,用于若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;第一确定子单元,用于当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;第一设定子单元,用于当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010;第二计算子单元,用于若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;第二确定子单元,用于当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确;第二设定子单元,用于当帧起始、仲裁段、控制段、数据段的偶数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的偶数位数和为偶数,则设定奇偶检验序列段的值为010。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过重新设定CAN数据报文帧的结构,该结构中的帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位,并采用奇偶校验码的方式校验发送的CAN数据是否正确,实现解决CAN标准数据报文中ID位位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列计算复杂,从而导致发送和接收节点收发数据延时过大的问题。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的CAN数据报文结构的示意图;
图2为本发明实施例提供的CAN数据报文发送校验方法的应用场景示意图;
图3为本发明实施例提供的CAN数据报文发送校验方法的流程示意图;
图4为本发明实施例提供的CAN数据报文发送校验方法的子流程示意图;
图5为本发明实施例提供的CAN数据报文结构的示意图;
图6为本发明实施例提供的CAN数据报文发送校验装置的示意性框图;
图7为本发明实施例提供的CAN数据报文发送校验装置的校验单元的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图2和图3,图2为本发明实施例提供的CAN数据报文发送校验方法的应用场景示意图。图3为本发明实施例提供的CAN数据报文发送校验方法的示意性流程图。该CAN数据报文发送校验方法应用于第一服务器,该第一服务器与第二服务器或者终端进行数据交互,实现减少CAN标准数据报文中ID位的位数,从而节约CAN标准数据报文位数资源;减少的CAN标准数据报文中ID位用于传输数据,从而增加一帧CAN标准数据报文所传输的数据量;采用奇偶校验码的方式替换CRC校验的方式,减少CAN标准数据报文中CRC位的位数,从而节约CAN标准数据报文位数资源;使接收和发送节点在收发数据时,不用将过多计算资源用于校验上,大大减少了传输时的时延;减少了的CRC校验码位,用于传输数据,从而增加一帧CAN标准数据报文所传输的数据量。
图3是本发明实施例提供的CAN数据报文发送校验方法的流程示意图。如图3所示,该方法包括以下步骤S110至S150。
S110、设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位。
在本实施例中,如图5所示,所述帧起始数据的数值为0,表示一帧数据报文的开始。
所述仲裁段包括7位的标识符和1位RTR;所述控制段包括1位IDE、1位r0以及4位DLC。7位的标识符用来表示每个单独的发送节点,接收节点可以通过标识符判断数据报文来自哪个节点;RTR位的值表示数据报文是数据帧还是遥控帧,当RTR位的值为0时,表示该数据报文为数据帧,当RTR位的值为1时,表示该数据报文为遥控帧。
控制段包括1位IDE、1位r0、4位DLC,IDE位的值用来判断该数据报文是标准帧还是扩展帧,当IDE值为0时,表示该数据报文是标准数据报文,当IDE值为1时,表示该数据报文是扩展数据报文,本实施例只考虑0的情况;r0位不再是保留位,而是用来判断该数据报文是标准数据报文还是本文所提出的数据报文帧结构,当r0的值为0时,表示该数据报文是标准数据报文,当r0的值为1时,表示该数据报文是本文所提出的数据报文帧结构;DLC位的值用来表示该数据报文下面传输的数据段包含几个字节。
数据段表示该数据帧所要传输的数据,是由0-8字节的数据组成,由DLC决定字节数,最多可占80位。
所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段。计算方法是:帧起始、仲裁段、控制段的位数和为15,数据段的位数是0-80,是根据DLC段的值大小而变化,但位数都是偶数。PC界定符占一位,值为1。
所述ACK段包括1位ACK槽和1位ACK界定符。发送节点在ACK槽输出1,接收节点如果正确接收到数据报文,会在ACK槽输出0作为应答,ACK界定符的值为1。
帧结束段,即EOF段,表示数据报文传输结束,占7位,值都为1。
S120、采用奇偶校验码的方式校验发送的CAN数据是否正确。
在一实施例中,请参阅图4,上述的步骤S120可包括步骤S121~ S128。
S121、确定校验方式;
S122、判断所述校验方式是否是奇数校验方式;
S123、若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;
S124、当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;
S125、当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010;
S126、若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;
S127、当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。
S128、当帧起始、仲裁段、控制段、数据段的偶数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的偶数位数和为偶数,则设定奇偶检验序列段的值为010。
在本实施例中,发送和接收节点需提前约定是奇数校验方式还是偶数校验方式。在奇数校验方式下,收发节点计算帧起始、仲裁段、控制段、数据段、PC Sequence即奇偶检验序列段的奇数数位数和,当和为奇数时,表示传输无错误,当和为偶数时,表示传输错误,需重新发送;在偶数校验方式下,收发节点计算帧起始、仲裁段、控制段、数据段、PCSequence的偶数数位数和,当和为偶数时,表示传输无错误,当和为奇数时,表示传输错误,需重新发送;当发送和接收节点的约束规则是奇检验的方式时,假设帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则PC Sequence段的值为101,假设帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则PC Sequence段的值为010;当发送和接收节点的约束规则是偶检验的方式时,假设帧起始、仲裁段、控制段、数据段的偶数位数和为奇数,则PCSequence段的值为101,假设帧起始、仲裁段、控制段、数据段的偶数位数和为偶数,则PCSequence段的值为010。
上述的CAN数据报文发送校验方法,通过重新设定CAN数据报文帧的结构,该结构中的帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位,并采用奇偶校验码的方式校验发送的CAN数据是否正确,实现解决CAN标准数据报文中ID位位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列位数过多,从而浪费CAN标准数据报文位数资源的问题;解决CAN标准数据报文中CRC序列计算复杂,从而导致发送和接收节点收发数据延时过大的问题。
图6是本发明实施例提供的一种CAN数据报文发送校验装置300的示意性框图。如图6所示,对应于以上CAN数据报文发送校验方法,本发明还提供一种CAN数据报文发送校验装置300。该CAN数据报文发送校验装置300包括用于执行上述CAN数据报文发送校验方法的单元,该装置可以被配置于服务器中。具体地,请参阅图6,该CAN数据报文发送校验装置300包括设定单元301以及校验单元302。
设定单元301,用于设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位。校验单元302,用于采用奇偶校验码的方式校验发送的CAN数据是否正确。
在一实施例中,如图7所示,所述校验单元302包括方式确定子单元3021、判断子单元3022、第一计算子单元3023、第一确定子单元3024、第一设定子单元3025、第二计算子单元3026、第二确定子单元3027以及第二设定子单元3028。
方式确定子单元3021,用于确定校验方式;判断子单元3022,用于判断所述校验方式是否是奇数校验方式;第一计算子单元3023,用于若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;第一确定子单元3024,用于当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;第一设定子单元3025,用于当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010;第二计算子单元3026,用于若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;第二确定子单元3027,用于当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。第二设定子单元3028,用于当帧起始、仲裁段、控制段、数据段的偶数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的偶数位数和为偶数,则设定奇偶检验序列段的值为010。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述CAN数据报文发送校验装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述CAN数据报文发送校验装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种CAN数据报文发送校验方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种CAN数据报文发送校验方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;采用奇偶校验码的方式校验发送的CAN数据是否正确。
其中,所述帧起始数据的数值为0。
所述仲裁段包括7位的标识符和1位RTR;所述控制段包括1位IDE、1位r0以及4位DLC。
所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段。
所述ACK段包括1位ACK槽和1位ACK界定符。
在一实施例中,处理器502在实现所述采用奇偶校验码的方式校验发送的CAN数据是否正确步骤时,具体实现如下步骤:
确定校验方式;判断所述校验方式是否是奇数校验方式;若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。
在一实施例中,处理器502在实现所述当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确步骤之后,还实现如下步骤:
当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;采用奇偶校验码的方式校验发送的CAN数据是否正确。
其中,所述帧起始数据的数值为0。
所述仲裁段包括7位的标识符和1位RTR;所述控制段包括1位IDE、1位r0以及4位DLC。
所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段。
所述ACK段包括1位ACK槽和1位ACK界定符。
在一实施例中,所述处理器在执行所述计算机程序而实现所述采用奇偶校验码的方式校验发送的CAN数据是否正确步骤时,具体实现如下步骤:
确定校验方式;判断所述校验方式是否是奇数校验方式;若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。
在一实施例中,所述处理器在执行所述计算机程序而实现所述当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确步骤之后,还实现如下步骤:
当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1. CAN数据报文发送校验方法,其特征在于,包括:
设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;
采用奇偶校验码的方式校验发送的CAN数据是否正确;
所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段;
所述采用奇偶校验码的方式校验发送的CAN数据是否正确,包括:
确定校验方式;
判断所述校验方式是否是奇数校验方式;
若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;
当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;
若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;
当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确。
2.根据权利要求1所述的CAN数据报文发送校验方法,其特征在于,所述帧起始数据的数值为0。
3.根据权利要求1所述的CAN数据报文发送校验方法,其特征在于,所述仲裁段包括7位的标识符和1位RTR;所述控制段包括1位IDE、1位r0以及4位DLC。
4.根据权利要求1所述的CAN数据报文发送校验方法,其特征在于,所述ACK段包括1位ACK槽和1位ACK界定符。
5.根据权利要求1所述的CAN数据报文发送校验方法,其特征在于,所述当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确之后,还包括:
当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010。
6. CAN数据报文发送校验装置,其特征在于,包括:
设定单元,用于设定CAN数据报文帧,其中,所述CAN数据报文帧包括帧起始数据、仲裁段、控制段、数据段、校验段、ACK段、帧结束段;帧起始数据占1位;仲裁段占8位;控制段占6位;数据段占0位至80位;校验段包占4位;ACK段占2位;帧结束段占7位;所述校验段包括3位奇偶检验序列以及1位奇偶检验界定符;所述奇偶检验序列包括3位的值,所述奇偶检验序列的计算范围是帧起始、仲裁段、控制段、数据段以及奇偶检验序列段;
校验单元,用于采用奇偶校验码的方式校验发送的CAN数据是否正确;
所述校验单元包括方式确定子单元、判断子单元、第一计算子单元、第一确定子单元、第一设定子单元、第二计算子单元、第二确定子单元以及第二设定子单元;
方式确定子单元,用于确定校验方式;判断子单元,用于判断所述校验方式是否是奇数校验方式;第一计算子单元,用于若所述校验方式是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的奇数数位数和;第一确定子单元,用于当奇数数位数和是奇数时,确定发送的CAN数据是正确,当奇数数位数和不是奇数时,确定发送的CAN数据不是正确;第一设定子单元,用于当帧起始、仲裁段、控制段、数据段的奇数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的奇数位数和为偶数,则设定奇偶检验序列段的值为010;第二计算子单元,用于若所述校验方式不是奇数校验方式,则计算帧起始、仲裁段、控制段、数据段以及奇偶检验序列段的偶数数位数和;第二确定子单元,用于当偶数数位数和是偶数时,确定发送的CAN数据是正确,当偶数数位数和不是偶数时,确定发送的CAN数据不是正确;第二设定子单元,用于当帧起始、仲裁段、控制段、数据段的偶数位数和为奇数,则设定奇偶检验序列段的值为101,当帧起始、仲裁段、控制段、数据段的偶数位数和为偶数,则设定奇偶检验序列段的值为010。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310935846.3A CN116667971B (zh) | 2023-07-28 | 2023-07-28 | Can数据报文发送校验方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310935846.3A CN116667971B (zh) | 2023-07-28 | 2023-07-28 | Can数据报文发送校验方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116667971A true CN116667971A (zh) | 2023-08-29 |
CN116667971B CN116667971B (zh) | 2023-10-27 |
Family
ID=87717395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310935846.3A Active CN116667971B (zh) | 2023-07-28 | 2023-07-28 | Can数据报文发送校验方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116667971B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117254882A (zh) * | 2023-09-27 | 2023-12-19 | 中科可控信息产业有限公司 | 一种信号检测方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103562900A (zh) * | 2011-04-06 | 2014-02-05 | 罗伯特·博世有限公司 | 用于提高串行总线系统中的数据传输容量的方法和设备 |
CN104836636A (zh) * | 2015-02-17 | 2015-08-12 | 华为技术有限公司 | 基于新型can帧进行通信的方法、装置及系统 |
US20160121816A1 (en) * | 2014-11-03 | 2016-05-05 | Hyundai Motor Company | Can communication method and data frame structure for improving communication speed through increase in data amount |
CN108833377A (zh) * | 2018-05-30 | 2018-11-16 | 武汉高仕达电气有限公司 | 一种改进的can协议数据帧结构及数据处理方法 |
US20200379941A1 (en) * | 2019-05-27 | 2020-12-03 | Honda Motor Co., Ltd. | Communication system and communication control method |
CN114785634A (zh) * | 2022-04-30 | 2022-07-22 | 重庆长安新能源汽车科技有限公司 | 一种在hil测试过程中对can通讯系统传输的数据进行crc校验的实现方法 |
-
2023
- 2023-07-28 CN CN202310935846.3A patent/CN116667971B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103562900A (zh) * | 2011-04-06 | 2014-02-05 | 罗伯特·博世有限公司 | 用于提高串行总线系统中的数据传输容量的方法和设备 |
US20160121816A1 (en) * | 2014-11-03 | 2016-05-05 | Hyundai Motor Company | Can communication method and data frame structure for improving communication speed through increase in data amount |
CN104836636A (zh) * | 2015-02-17 | 2015-08-12 | 华为技术有限公司 | 基于新型can帧进行通信的方法、装置及系统 |
CN108833377A (zh) * | 2018-05-30 | 2018-11-16 | 武汉高仕达电气有限公司 | 一种改进的can协议数据帧结构及数据处理方法 |
US20200379941A1 (en) * | 2019-05-27 | 2020-12-03 | Honda Motor Co., Ltd. | Communication system and communication control method |
CN114785634A (zh) * | 2022-04-30 | 2022-07-22 | 重庆长安新能源汽车科技有限公司 | 一种在hil测试过程中对can通讯系统传输的数据进行crc校验的实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117254882A (zh) * | 2023-09-27 | 2023-12-19 | 中科可控信息产业有限公司 | 一种信号检测方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116667971B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116667971B (zh) | Can数据报文发送校验方法、装置、计算机设备及存储介质 | |
JP3634800B2 (ja) | パリティチェック結合を用いたハイブリッド自動再送要求を実施するシステム及び方法 | |
EP3176973B1 (en) | Crc counter normalization | |
CN104539739A (zh) | 一种文件上传的系统、方法及装置 | |
US11368251B1 (en) | Convergent multi-bit feedback system | |
JP2004242294A (ja) | ステータス情報を伝達するcrc符号化方式 | |
JP2009528728A (ja) | データブロックにおけるエラー検出方法およびエラー検出装置 | |
US8433969B1 (en) | Forward error correction (FEC) auto negotiation for an optical transport network (OTN) | |
CN110943800A (zh) | 数据包的发送方法、装置及系统、存储介质、电子装置 | |
CN109347598A (zh) | 校验码处理方法、电子设备及存储接介质 | |
US6327688B1 (en) | Data bus with automatic data integrity verification and verification method | |
JP2012147197A (ja) | 通信装置、通信方法、及び通信プログラム | |
CN113489570B (zh) | 一种PCIe链路的数据传输方法、装置及设备 | |
US20100023846A1 (en) | Methods and apparatuses for performing error detection and error correction for synchronization frame | |
CN106372026B (zh) | 一种链路检测方法和接收设备 | |
US20080082544A1 (en) | Method and system to validate a write for a device on a serial bus | |
CA3178683A1 (en) | Codeword synchronization method, receiver, network device, and network system | |
CN110750383B (zh) | 一种利用crc校验码携带信息的方法 | |
CN108551382B (zh) | 一种通信数据纠错方法及装置 | |
WO2022228370A1 (zh) | 码字同步方法、接收器、网络设备及网络系统 | |
CN114070458B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN109217982B (zh) | 传输数据的方法、装置、发送设备和接收设备 | |
CN111459707B (zh) | 一种串口通讯检错纠错方法和装置 | |
WO2020238881A1 (zh) | 一种报文的生成、校验方法及装置 | |
JP2020198613A (ja) | インターリービング深度を調整するための装置及び方法 |
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 |