CN103368915A - 一种基于can总线的通信方法 - Google Patents
一种基于can总线的通信方法 Download PDFInfo
- Publication number
- CN103368915A CN103368915A CN2012100957339A CN201210095733A CN103368915A CN 103368915 A CN103368915 A CN 103368915A CN 2012100957339 A CN2012100957339 A CN 2012100957339A CN 201210095733 A CN201210095733 A CN 201210095733A CN 103368915 A CN103368915 A CN 103368915A
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- frame number
- identifier
- last
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明涉及一种基于CAN总线的通信方法。将用户数据拆分成若干个相同属性的CAN数据帧,并进行传输。CAN数据帧的数据区包含“末帧指示”“帧序号”“数据内容”三个部分,并对接收到的用户数据进行完整性检查。
Description
技术领域
本发明属于串行通讯领域,涉及工业控制中常用的控制器局域网(CAN)总线。
背景技术
控制器局域网(CAN)协议凭借其良好的特性,在工业控制、汽车电子等领域越来越普及。CAN协议定义了数据帧的数据区(Data Field)最多为8个字节,即每个数据帧最多可传送8个字节,对于大于8个字节的数据信息,需要分多个数据帧传输。
目前,在处理大于8个字节的数据传输时,用户往往根据自身的特点,自定义一种方法;另一方面,流行的、基于CAN总线的高层协议,如CANOpen、DeviceNet,都有各自的处理方法,并且协议本身比较复杂。
发明内容
针对上述的情况,本发明提出了一种方法,志在统一对不同大小数据传输的处理。
方法体现如下: 将CAN数据帧(Data Frame)的数据区(Data Field)分为“末帧指示”“帧序号”“数据内容”三个部分,其中“末帧指示”表示当前数据帧是否为最后一帧,“帧序号”表示当前数据帧,在用户数据信息拆分成若干数据帧后所处的位置,“数据内容”表示用户数据信息。
“帧序号”具有一定的规律,或者是事先约定的一组数据,在“末帧指示”有效的情况下,通过“帧序号”可以确定数据信息拆分的CAN数据帧帧数,检查数据信息的完整性。
附图说明
图1:CAN数据帧的数据区分解示意图。
具体实施方法
为了便于讲述实例,现作如下约定。
1. CAN数据帧的数据区最多为8个字节,分别定义为Byte0->Byte7,末位数字递增。
2. 每个字节8个位,从高位至低位分别定义为.7->.0, 末位数字递减,如Byte0.7表示字节0的最高位。
3. 用.[x..y]的形式表示一个字节的多个位,如Byte1.[1..0]表示字节1的最低两位。
4. 在以下的实例中,用#表示位连接,如Byte0.[3..0]#Byte1表示字节0的低4位和字节1组成一个12位的数据。
实例1:
基本配置:
用户数据:0xaa 0x01 0x23 0x45 0x67 0x89 0xab 0xcd 0xef 0x55
拆分后的数据帧数据内容:
数据帧 | Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
第一帧 | 0x00 | 0xaa | 0x01 | 0x23 | 0x45 | 0x67 | 0x89 | 0xab |
第二帧 | 0x81 | 0xcd | 0xef | 0x55 | 无 | 无 | 无 | 无 |
组包还原用户数据:
接收端在收到第一帧数据后,根据Byte0.7为0,判断还有后续数据帧,同时根据Byte0.[6..0]为0x00,按照规则,判定为第一帧数据;在收到第二帧数据后,根据Byte0.7为1,判断为最后一个数据帧,同时根据Byte0.[6..0]为0x01,按照规则,推断出总共有两个数据帧,并检查是否收到两个正确的数据帧。在检查无误后,将第一帧的Byte1至Byte7和第二帧的Byte1至Byte3组成完整的用户数据。
实例2:
基本配置:
用户数据:0xaa 0x01 0x23 0x45 0x55
拆分后的数据帧数据内容:
数据帧 | Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
第一帧 | 0xa0 | 0x00 | 0xaa | 0x01 | 0x23 | 0x45 | 0x55 | 无 |
组包还原用户数据:
接收端在收到第一帧数据后,根据Byte0.[7..4]为0xa,判断为最后一个数据帧,同时根据Byte0.[3..0]#Byte1为0x000,按照规则,推断出总共就一个数据帧,Byte2至Byte6为完整的用户数据。
Claims (3)
1.一种基于CAN总线的通信方法,其特征在于:将数据信息拆分成相同属性的CAN数据帧(Data Frame),然后进行传输,接收端将相同属性的CAN数据帧重新组合成完整的数据信息;其中相同属性是指具有相同的标识符格式(Standard Format or Extended Format)和标识符(Identifier)。
2.根据权利要求1所述的CAN数据帧,其特征在于:每个CAN数据帧的数据区(Data Field),均包含“末帧指示”“帧序号”“数据内容”三个部分(定义详见说明书)。
3.根据权利要求1所述的通信方法,其特征在于:“帧序号”具有一定的规律,或者是事先约定的一组数据,在“末帧指示”有效的情况下,通过“帧序号”可以确定数据信息拆分的CAN数据帧帧数,检查数据信息的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100957339A CN103368915A (zh) | 2012-04-03 | 2012-04-03 | 一种基于can总线的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100957339A CN103368915A (zh) | 2012-04-03 | 2012-04-03 | 一种基于can总线的通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103368915A true CN103368915A (zh) | 2013-10-23 |
Family
ID=49369466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100957339A Pending CN103368915A (zh) | 2012-04-03 | 2012-04-03 | 一种基于can总线的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103368915A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486034A (zh) * | 2014-12-08 | 2015-04-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
CN107147478A (zh) * | 2017-07-07 | 2017-09-08 | 河南辉煌科技股份有限公司 | 基于can2.0长报文数据标准帧的组织算法 |
WO2023121017A1 (ko) * | 2021-12-23 | 2023-06-29 | 주식회사 엘지에너지솔루션 | Modbus 프로토콜을 지원하는 can 통신 장치 및 이의 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560806A (zh) * | 2004-03-04 | 2005-01-05 | 深圳市泛海三江电子有限公司 | 基于can2.0b的火灾报警应用层数据传输方法 |
WO2006051763A1 (en) * | 2004-11-11 | 2006-05-18 | Toyota Jidosha Kabushiki Kaisha | Data recording device and data recording method |
CN101764730A (zh) * | 2009-12-18 | 2010-06-30 | 航天东方红卫星有限公司 | 一种can总线数据传输方法 |
CN102355055A (zh) * | 2011-09-09 | 2012-02-15 | 航天科工深圳(集团)有限公司 | 一种实现数据同步的配网采集终端 |
-
2012
- 2012-04-03 CN CN2012100957339A patent/CN103368915A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560806A (zh) * | 2004-03-04 | 2005-01-05 | 深圳市泛海三江电子有限公司 | 基于can2.0b的火灾报警应用层数据传输方法 |
WO2006051763A1 (en) * | 2004-11-11 | 2006-05-18 | Toyota Jidosha Kabushiki Kaisha | Data recording device and data recording method |
CN101764730A (zh) * | 2009-12-18 | 2010-06-30 | 航天东方红卫星有限公司 | 一种can总线数据传输方法 |
CN102355055A (zh) * | 2011-09-09 | 2012-02-15 | 航天科工深圳(集团)有限公司 | 一种实现数据同步的配网采集终端 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486034A (zh) * | 2014-12-08 | 2015-04-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
CN104486034B (zh) * | 2014-12-08 | 2017-12-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
CN107147478A (zh) * | 2017-07-07 | 2017-09-08 | 河南辉煌科技股份有限公司 | 基于can2.0长报文数据标准帧的组织算法 |
WO2023121017A1 (ko) * | 2021-12-23 | 2023-06-29 | 주식회사 엘지에너지솔루션 | Modbus 프로토콜을 지원하는 can 통신 장치 및 이의 동작 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970353B (zh) | 云计算平台物联网中异构设备的数据处理方法及装置 | |
CN102780705B (zh) | Ethernet-CAN协议转换器 | |
CN113162931B (zh) | 一种在广域网传输Modbus RTU协议报文的方法 | |
CN102469065B (zh) | 一种与html5浏览器互通数据的方法及系统 | |
CN105187420A (zh) | 一种基于rs422总线的通讯协议匹配方法 | |
CN103532835A (zh) | 通用物联网关 | |
CN107919947A (zh) | 一种can总线长报文传输的编码方法 | |
CN103546354A (zh) | 基于物联网电力测温设备的rs485与can总线兼容的通信方法 | |
CN103309877A (zh) | 跨域通讯及全双工通讯的方法、装置 | |
CN103326936A (zh) | 多种异构感知层网络统一接入的多协议物联网网关 | |
CN103368915A (zh) | 一种基于can总线的通信方法 | |
CN103442250A (zh) | 电视机调试系统和方法 | |
CN107682247A (zh) | 一种主机与多个从机的高效通讯方法 | |
CN102970201A (zh) | 一种工业现场设备的移动性集成方法 | |
CN105391780A (zh) | 一种数据采集和接收的方法及系统 | |
CN101163197A (zh) | 数字电视模块软件升级方法 | |
CN106330397B (zh) | 一种ZigBee和Modbus RTU协议实现数据交互的方法和装置 | |
CN115379020A (zh) | 一种基于嵌入式的多机通讯协议设计方法 | |
CN108270694A (zh) | 一种基于lvds的高速传输方法 | |
CN104301367B (zh) | 数字多点分布系统远端单元与功率放大器间的通信方法 | |
CN108173843A (zh) | 一种工控信息展示以及数据包挖掘的方法 | |
CN111030904B (zh) | 一种多级通讯下多路can总线消息实时处理方法 | |
CN208768087U (zh) | 一种串口数据通信链路分路协调控制装置 | |
CN103973794A (zh) | 一种基于分布式网络传输中标记语言对象访问方法 | |
CN117201229B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131023 |