CN110601944A - 一种在物联网中运用的can协议通信方法 - Google Patents
一种在物联网中运用的can协议通信方法 Download PDFInfo
- Publication number
- CN110601944A CN110601944A CN201910884008.1A CN201910884008A CN110601944A CN 110601944 A CN110601944 A CN 110601944A CN 201910884008 A CN201910884008 A CN 201910884008A CN 110601944 A CN110601944 A CN 110601944A
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- lower computer
- data frame
- protocol
- 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
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
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种在物联网中运用的CAN协议通信方法,其特征在于,包括:通过仲裁域确定通讯下位机的地址;根据所要通讯的下位机编辑层次化的CAN协议数据帧;上位机将多组数据帧发送至下位机并执行命令;下位机在完成命令后发送一个回复上位机的数据帧;上位机确定回复的数据帧的仲裁域;上位机接收完回复的数据帧后通讯结束;本发明通过层次化的CAN总线通信协议包,以及特殊的仲裁域定义,使CAN协议能应用于应用层;有效降低了物联网中信息传输的失败率,使通信可以更加流畅并且使通讯距离得到了有效的增加,同时还防止了出现节点错误导致网络瘫痪的问题,有效节省了运维成本。
Description
技术领域
本发明涉及通信协议领域,尤其是一种在物联网中运用的CAN协议通信方法。
背景技术
随着物联网的不断发展,控制设备的变多,导致通信距离不断加长。现有的485总线已经不能达到理想的状况,通信距离过短、通信失败率高、数据传输慢等劣势越来越突出。因此需要新的技术来代替它。据调查CAN总线具有通信距离较远,抗电磁干扰能力强,实时性高等特点,从而设计出了此方法来解决这一问题,然而CAN总线大多应用于只在数据链路层,由此需要克服技术难题,在此CAN总线原有基础上设计出应用于应用层的CAN总线新型通信协议。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种在物联网中运用的CAN协议通信方法;本发明解决了CAN总线不能应用于应用层的问题。
本发明采用的技术方案如下:
一种在物联网中运用的CAN协议通信方法,其特征在于,包括:
S1:通过仲裁域确定通讯下位机的地址;
S2:根据所要通讯的下位机编辑层次化的CAN协议数据帧;
S3:上位机将多组数据帧发送至下位机并执行命令;
S4:下位机在完成命令后发送一个回复上位机的数据帧;
S5:上位机确定回复的数据帧的仲裁域;
S6:上位机接收完回复的数据帧后通讯结束。
进一步的,S1中,所述通过仲裁域确定下位机地址的方式为:将仲裁域从左至右定义为D.10-ID.0;根据ID.10的值判断目标地址类型;根据ID.9-ID.0确定下位机地址。
进一步的,所述ID.10的值包括0和1;当ID.10=0时,目标地址类型为下位机,当ID.10=1时,目标地址类型为上位机。
进一步的,所述根据ID.9-ID.0确定下位机地址是将二进制值换算为十进制值确定。
进一步的,所述层次化的CAN协议数据帧包括:报文控制域、操作码域和校验和。
进一步的,所述报文控制域还包括:起始字节、指派码、监控器类型和操作码域的长度。
进一步的,S3中,所述命令包括关闭设备、运行设备和状态查询。
进一步的,所述下位机在完成命令后发送一个回复上位机的数据帧需要根据操作码域的字节判断是否进行回复。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明通过层次化的CAN总线通信协议包,以及特殊的仲裁域定义,使CAN协议能应用于应用层。
2、本发明有效降低了物联网中信息传输的失败率,使通信可以更加流畅并且使通讯距离得到了有效的增加。
3、本发明防止了出现节点错误导致网络瘫痪的问题,有效节省了运维成本。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是物联网中运用的CAN协议通信方法流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
实施例1
一种在物联网中运用的CAN协议通信方法,如图1所示,包括:
S1:通过仲裁域确定通讯下位机的地址。
在CAN总线里会包含若干下位机,因此需要确定传输信息的下位机的具体位置,因此上述步骤用于确定下位机的地址,所述通过仲裁域确定下位机地址的方式为:将仲裁域从左至右定义为D.10-ID.0;根据ID.10的值判断目标地址类型;根据ID.9-ID.0确定下位机地址。
所述ID.10的值包括1和0,当ID.10=0时,目标地址类型为下位机,当ID.10=1时,目标地址类型为上位机;根据ID.9-ID.0确定下位机地址是将二进制值换算为十进制值确定;在确定下位机地址时,是上位机需要传输数据帧给下位机时,因此设定仲裁域的ID.10=1,例如仲裁域为:10000001100;其中ID.10为1表示目标地址类型为下位机,数据帧由主机发送;ID.9-ID.0为0000001100表示下位机地址为12;本实施例中,当ID.9-ID.0均为1时,表示其为下位机的广播地址。
S2:根据所要通讯的下位机编辑层次化的CAN协议数据帧。
上述步骤中,层次化的CAN协议数据帧作用是:在CAN数据帧中实际发送的只有“0”和“1”两个数组成的信息,如果不对其增加定义根本无法解析其命令;因此将层次化的CAN协议数据帧定义了:报文控制域、操作码域和校验和;所述报文控制域还包括起始字节、指派码、监控器类型和操作码域的长度;当下位机或上位机接收到定义的数据后,可以根据定义内容分析出相对应的命令信息并进行执行。
所述报文控制域根据使用情况不同可以分为多个种类;根据发起的对象和流向,可分为用于发起方主动向另外一方发起命令的命令报文;用于对发起方的命令或故障报警进行数据或确认返回等的返回报文;用于发起方主动向另外一方发起一些与监控对象本身特性无关的通用型的命令的通用报文;用于发起方主动向另外一方发起一些与监控对象本身特性密切相关的专用型的命令的专用报文。
所述起始字节可以表示不同种类的报文类型,例如,当起始字节为77 8C时,此报文为通用型命令报文;起始字节为77 8D时,此报文为通用型返回报文;起始字节为77 8E时,此报文为专用型命令报文;起始字节为77 8F时,此报文为专用型返回报文;起始字节为77 80时,此报文为板间通信命令报文;起始字节为77 81时,此报文为板间通信返回报文。
所述指派码为属于和客户端连接相关联的一个识别码,在物联网中,用于识别不同的设备类型。
所述操作码域的长度指操作码域的字节数,操作码域用于告知下位机所需要执行的操作,例如返回数据包、注册、标识、故障检测、状态检测、持续运行时间等;本实施例中,所述操作码的第一个字节为命令字节,其定义为,bit7:保留,填充0,即bit7位置的值为0;bit6:命令的返回:即当该值为0时,表示该命令不需要返回数据包,当该值为1时,表示该命令需要返回数据包,需要注意的是,当命令类型为查询类命令时,不管该位的值是0或是1都需要返回数据包;bit5:保留,填充0,即bit5位的值为0;bit4-0:命令标识,即bit4-0的值代表不同的命令内容,具体为,当值为0x00时为保留命令,当值为0x0时为从机复位,当值为0x02时为从机注册,当值为0x03时为从机标识,当值为0x04时为从机标识及端口状态,当值为0x05时为从机状态,当值为0x06时为从机故障,当值为0x07时为从机持续运行时间,当值为0x08时为主从机心跳保持,当值为0x09-0x0F时为保留命令,当值为0x10-0x1E时为专有报文命令。
所述校验和为校验和算法,是将报文控制域和操作码域的全部字节,按照单字节简单求和。
S3:上位机将多组数据帧发送至下位机并执行命令。
上述步骤中,上位机会将各项密令通过数据帧的形式发送至下位机上,下位机会根据接收到的数据帧进行识别,根据识别结果执行相应命令;本实施例中,其执行的命令包括设备的运行或关闭命令以及对设备的状态查询命令等,设备的状态查询命令可以查询设备的各项状态,如运行情况,故障情况,电路运行情况等,在其他实施例中,包括但不限于上述情况。
S4:下位机在完成命令后发送一个回复上位机的数据帧。
上述步骤中,下位机在执行完成接收到的命令后,会给上位机回复一个数据帧;本实施例中,下位机对上位机的数据帧回复需要视操作码域的识别码内容进行判断是否回复,具体通过操作码域的第一字节中的bit6位的值进行判断,当该值为0时,表示该命令不需要返回数据包,当该值为1时,表示该命令需要返回数据包。
S5:上位机确定回复的数据帧的仲裁域。
上述步骤中,在上位机接收到下位机回复的数据帧后,需要根据发送信息的下位机地址得到其仲裁域;例如,下位机地址为12,因此ID.9-ID.0即为00001001100,其次数据帧是由下位机进行发送,因此,ID.10=0,可以得到该仲裁域为000001001100;通过下位机的地址可以找到对应的下位机,并可以根据回复的数据帧内容确定该下位机的各项状态是否正常。
S6:上位机接收完回复的数据帧后通讯结束。
本实施例通过层次化的CAN总线通信协议包,以及特殊的仲裁域定义,使CAN协议能应用于应用层;有效降低了物联网中信息传输的失败率,使通信可以更加流畅并且使通讯距离得到了有效的增加,同时还防止了出现节点错误导致网络瘫痪的问题,有效节省了运维成本。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (8)
1.一种在物联网中运用的CAN协议通信方法,其特征在于,包括:
S1:通过仲裁域确定通信下位机的地址;
S2:根据所要通信的下位机编辑层次化的CAN协议数据帧;
S3:上位机将多组数据帧发送至下位机并执行命令;
S4:下位机在完成命令后发送一个回复上位机的数据帧;
S5:上位机确定回复的数据帧的仲裁域;
S6:上位机接收完回复的数据帧后通讯结束。
2.如权利要求1所述的在物联网中运用的CAN协议通信方法,其特征在于,S1中,所述通过仲裁域确定下位机地址的方式为:将仲裁域从左至右定义为D.10-ID.0;根据ID.10的值判断目标地址类型;根据ID.9-ID.0确定下位机地址。
3.如权利要求2所述的在物联网中运用的CAN协议通信方法,其特征在于,所述ID.10的值包括0和1;当ID.10=0时,目标地址类型为下位机,当ID.10=1时,目标地址类型为上位机。
4.如权利要求2所述的在物联网中运用的CAN协议通信方法,其特征在于,所述根据ID.9-ID.0确定下位机地址是将二进制值换算为十进制值确定。
5.如权利要求1所述的在物联网中运用的CAN协议通信方法,其特征在于,所述层次化的CAN协议数据帧包括:报文控制域、操作码域和校验和。
6.如权利要求5所述的在物联网中运用的CAN协议通信方法,其特征在于,所述报文控制域还包括:起始字节、指派码、监控器类型和操作码域的长度。
7.如权利要求1所述的在物联网中运用的CAN协议通信方法,其特征在于,S3中,所述命令包括关闭设备、运行设备和状态查询。
8.如权利要求1所述的在物联网中运用的CAN协议通信方法,其特征在于,S4中,所述下位机在完成命令后发送一个回复上位机的数据帧需要根据操作码域的字节判断是否进行回复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884008.1A CN110601944A (zh) | 2019-09-19 | 2019-09-19 | 一种在物联网中运用的can协议通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884008.1A CN110601944A (zh) | 2019-09-19 | 2019-09-19 | 一种在物联网中运用的can协议通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110601944A true CN110601944A (zh) | 2019-12-20 |
Family
ID=68860900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910884008.1A Pending CN110601944A (zh) | 2019-09-19 | 2019-09-19 | 一种在物联网中运用的can协议通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110601944A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632646A (zh) * | 2020-12-30 | 2021-04-09 | 国网河北省电力有限公司物资分公司 | 一种单片机串口通讯加密方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560806A (zh) * | 2004-03-04 | 2005-01-05 | 深圳市泛海三江电子有限公司 | 基于can2.0b的火灾报警应用层数据传输方法 |
CN101626333A (zh) * | 2009-08-07 | 2010-01-13 | 北京和利时电机技术有限公司 | 一种can总线系统及其中的应用层通讯方法 |
CN101662404A (zh) * | 2008-08-27 | 2010-03-03 | 上海海事大学 | 基于can总线船舶电站控制仪表通信方法 |
CN202541456U (zh) * | 2012-03-31 | 2012-11-21 | 无锡市凌翔电气驱动技术有限公司 | 基于can总线的电动自行车和电动摩托车整车通信系统 |
US20130332636A1 (en) * | 2012-06-12 | 2013-12-12 | Lsis Co., Ltd. | Method for configurating canopen network, method for operating slave device of canopen network and system for controlling plc device using canopen network |
CN104780086A (zh) * | 2015-05-08 | 2015-07-15 | 中国电子科技集团公司第四十七研究所 | 用于监测环境的can总线通信的方法及系统 |
-
2019
- 2019-09-19 CN CN201910884008.1A patent/CN110601944A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560806A (zh) * | 2004-03-04 | 2005-01-05 | 深圳市泛海三江电子有限公司 | 基于can2.0b的火灾报警应用层数据传输方法 |
CN101662404A (zh) * | 2008-08-27 | 2010-03-03 | 上海海事大学 | 基于can总线船舶电站控制仪表通信方法 |
CN101626333A (zh) * | 2009-08-07 | 2010-01-13 | 北京和利时电机技术有限公司 | 一种can总线系统及其中的应用层通讯方法 |
CN202541456U (zh) * | 2012-03-31 | 2012-11-21 | 无锡市凌翔电气驱动技术有限公司 | 基于can总线的电动自行车和电动摩托车整车通信系统 |
US20130332636A1 (en) * | 2012-06-12 | 2013-12-12 | Lsis Co., Ltd. | Method for configurating canopen network, method for operating slave device of canopen network and system for controlling plc device using canopen network |
CN104780086A (zh) * | 2015-05-08 | 2015-07-15 | 中国电子科技集团公司第四十七研究所 | 用于监测环境的can总线通信的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632646A (zh) * | 2020-12-30 | 2021-04-09 | 国网河北省电力有限公司物资分公司 | 一种单片机串口通讯加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693905B2 (en) | Invalidity detection electronic control unit, in-vehicle network system, and communication method | |
KR101519793B1 (ko) | 차량용 네트워크 시스템 및 이 시스템 내 이종 통신 제어기의 데이터 전송 방법 | |
CN111164923B (zh) | 用于单向传输数据的设计 | |
KR20050032313A (ko) | 홈 네트워크 시스템 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
US10678592B2 (en) | Process control system | |
KR101519719B1 (ko) | 게이트웨이의 메시지 처리 방법 | |
CN112347021B (zh) | 用于串行通信装置的安全模块 | |
CN105897652A (zh) | 一种基于标准协议的异构终端动态接入方法 | |
CN107528747B (zh) | 主从站通信状态的诊断方法和装置及计算机可读存储介质 | |
US7076715B2 (en) | Safety network using phantom address information | |
CN110808873A (zh) | 一种检测链路故障的方法及装置 | |
JP2017079429A (ja) | 通信システム、制御装置、及び制御方法 | |
CN105183687A (zh) | 一种分时串口通信方法及系统 | |
US20080164980A1 (en) | Home Network System | |
KR101334017B1 (ko) | 차량 네트워크의 메시지 무결성 체크 시스템 및 방법 | |
CN110601944A (zh) | 一种在物联网中运用的can协议通信方法 | |
CN115085993A (zh) | 数据校验方法、装置及域控制器 | |
CN114422288A (zh) | 基于Modbus协议的通讯系统 | |
CN110677283B (zh) | 一种网络双冗余快速切换的方法 | |
CN115378756B (zh) | 监控控制器域网络(can)xl节点 | |
CN108989168B (zh) | 用于在计算机网络中进行标识的方法和设备 | |
CN109245864B (zh) | 基于自反馈的eth-can通讯前端检测装置及错误自检方法 | |
CN110784492A (zh) | 一种跨平台物联网通讯组件、系统及方法 | |
US11991022B2 (en) | Monitoring controller area network (CAN) XL nodes |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191220 |