CN107147478B - 基于can2.0长报文数据标准帧的组织方法 - Google Patents
基于can2.0长报文数据标准帧的组织方法 Download PDFInfo
- Publication number
- CN107147478B CN107147478B CN201710552155.XA CN201710552155A CN107147478B CN 107147478 B CN107147478 B CN 107147478B CN 201710552155 A CN201710552155 A CN 201710552155A CN 107147478 B CN107147478 B CN 107147478B
- Authority
- CN
- China
- Prior art keywords
- frame
- standard
- data
- frame number
- 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
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- 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/03—Protocol definition or specification
-
- 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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种基于CAN2.0长报文数据标准帧的组织方法,标准帧的11位标识符分为报文类型部分和帧序号部分,所述报文类型部分为高8位,所述帧序号部分为低3位。该基于CAN2.0长报文数据标准帧的组织方法具有设计科学、简单清晰、通用性高、稳定性强、识别快速准确的优点。
Description
技术领域
本发明涉及一种报文组织方法,具体的说,涉及了一种基于CAN2.0长报文数据标准帧的组织方法。
背景技术
CAN总线协议是一种用于实时应用的串行通讯总线协议,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。最开始CAN总线协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用,例如航空航天、机器人、数控机床、医疗器械及传感器等。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。CAN总线协议规定一帧数据最多携带8个字节的数据,这使得利用CAN总线协议传送长数据报文时必须将完整的用户报文拆分成若干帧CAN协议帧,通常情况下,用户数据报文都分为许多不同类型的数据,以让CAN总线上的通信结点区分所接受到的数据类型,现有的数据帧没有帧序号的标识,出现混乱时难以区分。因此,如何区分用户数据类型,以及如何使CAN协议帧的组织变得简单清晰、易于实现,就成为了一个工程师不得不面对的问题。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种设计科学、简单清晰、通用性高、稳定性强、识别快速准确的基于CAN2.0长报文数据标准帧的组织方法。
为了实现上述目的,本发明所采用的技术方案是:一种基于CAN2.0长报文数据标准帧的组织方法,标准帧的11位标识符分为报文类型部分和帧序号部分,所述报文类型部分为高8位,所述帧序号部分为低3位。
基于上述,包括以下步骤:1)根据报文长度计算需要发送的总帧数;2)第一个标准帧记录本次报文的总帧数,且第一个标准帧的帧序号为0;3)从第二个标准帧开始到最后一个标准帧结束,其标准帧的帧序号从1-7循环使用。
基于上述,总帧数的计算方法为n=((UserDataLen+7)/8) + 1其中n为总帧数,UserDataLen为报文字节数。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,本发明采用CAN2.0标准帧格式,该格式含有11位标识符,将11位标识符分为两部分,第一部分为高8位,用来存放用户定义的数据报文的类型;第二部分为低3位,用来在发送CAN数据帧时存放帧序号用,接受CAN数据帧时用以根据帧序号先后顺序组织用户报文。其具有设计科学、简单清晰、通用性高、稳定性强、识别快速准确的优点。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
一种基于CAN2.0长报文数据标准帧的组织方法,采用CAN2.0标准帧格式进行数据传输,兼容CAN2.0A和CAN2.0B协议。将标准帧的11位标识符分为报文类型部分和帧序号部分,所述报文类型部分用于区分报文数据的类型,所述报文类型部分为高8位,所述帧序号部分为低3位。当接收端接收到CAN数据帧后,通过取得11位标识符高8位解析出来报文类型,通过取得11位标识符的低3位解析出来帧序号。根据报文类型和帧序号准确判断数据帧是否发生丢帧等混乱,如果发生混乱,则及时丢弃数据,避免数据错误。
优选地,该组织方法包括以下步骤:1)根据报文长度计算需要发送的总帧数;2)第一个标准帧记录本次报文的总帧数,且第一个标准帧的帧序号为0;3)从第二个标准帧开始到最后一个标准帧结束,其标准帧的帧序号从1-7循环使用。
当接收端接收到CAN数据帧后,通过取得11位标识符高8位解析出来用户报文类型,通过取得11位标识符的低3位解析出来帧序号,如果帧序号为0,则该帧为第1帧,根据该第1帧的8字节内容解析得出本次接收后续还有多少帧。接收过程中可通过判断帧序号是否连续来识别出是否有丢帧。
优选地,总帧数的计算方法为n=((UserDataLen+7)/8) + 1,其中n为总帧数,UserDataLen为报文字节数。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (1)
1.一种基于CAN2.0长报文数据标准帧的组织方法,其特征在于:标准帧的11位标识符分为报文类型部分和帧序号部分,所述报文类型部分为高8位,所述帧序号部分为低3位;
1)根据报文长度计算需要发送的总帧数;
2)第一个标准帧记录本次报文的总帧数,且第一个标准帧的帧序号为0;
3)从第二个标准帧开始到最后一个标准帧结束,其标准帧的帧序号从1-7循环使用;
总帧数的计算方法为
n=((UserDataLen+7)/8) + 1
其中n为总帧数,UserDataLen为报文字节数;
当接收端接收到CAN数据帧后,通过取得11位标识符高8位解析出来用户报文类型,通过取得11位标识符的低3位解析出来帧序号;如果帧序号为0,则该帧为第1帧,根据该第1帧的8字节内容解析得出本次接收后续还有多少帧;
接收过程中可通过判断帧序号是否连续来识别出是否有丢帧;并根据报文类型和帧序号准确判断数据帧是否发生混乱,如果发生混乱,则及时丢弃数据,避免数据错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710552155.XA CN107147478B (zh) | 2017-07-07 | 2017-07-07 | 基于can2.0长报文数据标准帧的组织方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710552155.XA CN107147478B (zh) | 2017-07-07 | 2017-07-07 | 基于can2.0长报文数据标准帧的组织方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107147478A CN107147478A (zh) | 2017-09-08 |
CN107147478B true CN107147478B (zh) | 2020-10-27 |
Family
ID=59775606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710552155.XA Active CN107147478B (zh) | 2017-07-07 | 2017-07-07 | 基于can2.0长报文数据标准帧的组织方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107147478B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919947B (zh) * | 2017-11-28 | 2020-09-29 | 南瑞集团有限公司 | 一种can总线长报文传输的编码方法 |
CN112583683B (zh) * | 2020-12-29 | 2021-10-15 | 中国科学院声学研究所 | 一种主从式can fd总线应用层通信方法及系统、电子设备 |
CN113079074A (zh) * | 2021-03-25 | 2021-07-06 | 成都纵横自动化技术股份有限公司 | 一种基于can总线的协议栈通信方法、装置和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368915A (zh) * | 2012-04-03 | 2013-10-23 | 朱正兴 | 一种基于can总线的通信方法 |
JP2014017733A (ja) * | 2012-07-10 | 2014-01-30 | Auto Network Gijutsu Kenkyusho:Kk | 通信システム、通信装置及び中継装置 |
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
-
2017
- 2017-07-07 CN CN201710552155.XA patent/CN107147478B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107147478A (zh) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107147478B (zh) | 基于can2.0长报文数据标准帧的组织方法 | |
AU2012238884B2 (en) | Method and apparatus for adapting the data transmission security in a serial bus system | |
CN107919947B (zh) | 一种can总线长报文传输的编码方法 | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
CN110300120B (zh) | 一种物理隔离条件下反向数据的分级同步方法和系统 | |
US7917603B2 (en) | Method for setting an internet protocol address using a vehicle identification number | |
CN107682247B (zh) | 一种主机与多个从机的高效通讯方法 | |
US20180361574A1 (en) | Intelligent digital controller of flexible material cutting robot and realization method | |
CN111930666A (zh) | 一种高速可配置工业协议转换器 | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 | |
CN110809003A (zh) | 机器人和焊接设备间协议转换的方法及协议转换模块 | |
CN104717203B (zh) | 总线通信协议识别方法 | |
CN103744351A (zh) | 一种绝对式编码器的通信方法 | |
CN101814976A (zh) | 多类型网络数据传输方法及装置 | |
WO2023124197A1 (zh) | 一种时间戳同步的误差补偿方法、装置、电子设备以及存储介质 | |
CN114726674B (zh) | 一种基于fpga的profibus总线工艺数据提取方法 | |
CN107748728B (zh) | 一种串口通讯分配装置及其通讯方法 | |
CN102710479A (zh) | 用于通信协议逆向解析的汽车网关系统 | |
US8554966B2 (en) | Method for data exchange | |
CN103209105A (zh) | 用于轨道交通车辆的通信设备及方法 | |
CN114070885A (zh) | 一种适配于光纤网络的多类型信息传输方法 | |
CN113992471A (zh) | 一种多主机与多从机的通讯系统及方法 | |
CN111843137B (zh) | 一种用于机器人与总线式弧焊焊机通用通信方法 | |
CN201322874Y (zh) | 自动检测并校正总线极性的电路结构 | |
CN115174307B (zh) | 一种支持can总线传输多于8字节数据的通讯方法 |
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 |