以CAN为基础的DN-CAN通信协议及其通信方法技术

技术编号:31019759 阅读:23 留言:0更新日期:2021-11-30 03:06
本发明专利技术公开了一种以CAN为基础的DN

【技术实现步骤摘要】
以CAN为基础的DN

CAN通信协议及其通信方法


[0001]本专利技术涉及通信协议
,具体涉及一种以CAN为基础的DN

CAN通信协议及其通信方法。

技术介绍

[0002]CAN是控制器局域网络(Controller Area Network,CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
[0003]CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
[0004]a)网络各节点之间的数据通信实时性强;
[0005]b)开发周期短;
[0006]c)已形成国际标准的现场总线;
[0007]d)最有前途的现场总线之一。
[0008]在OSI模型中,CAN定义了物理层、数据链路层协议,是一种优秀的现场总线,构成了一个多主局域网,一般可连接120个通信节点。
[0009]1991年9月PHILIPS SEMICONDUCTORS制订并发布了CAN技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。
[0010]CAN协议是一种控制协议,具有突出的可靠性、实时性和灵活性,只定义了物理层、数据链路层,上面的高层协议同样是偏向控制。但在物联网应用中,节点规模大、网络结构复杂,在CAN基础上发展一种广域网是很有必要的。但是,CAN协议存在以下问题:1、CAN协议没有通信地址的概念,是标识符,是以控制为目标的,需要增加通信地址;2、CAN协议的一帧最多只能传输8个字节,无法完成较大数据传输,想要扩展也比较麻烦;3、CAN协议虽是多主协议,具备冲突侦听机制,但无冲突处理机制;4、CAN协议是一种总线协议,无法搭建广域网;5、CAN协议接入互联网不便。

技术实现思路

[0011]针对现有技术中的缺陷,本专利技术实施例提供一种以CAN为基础的DN

CAN通信协议,将CAN协议网络化、数据化,使CAN协议应用扩展到物联网领域。
[0012]本专利技术实施例提供的一种DN

CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
[0013]第一方面,本专利技术实施例提供的一种以CAN为基础的DN

CAN通信协议,包括物理层和数据链路层,还包括网络层和传输层,
[0014]所述传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;所述网络特征符作为DN

CAN数
据传输范围的判定符;
[0015]所述网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,所述片控制段用于将长数据包分割为多个数据片;
[0016]所述数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符。
[0017]第二方面,本专利技术提供的一种DN

CAN通信协议的通信方法,方法适用于DN

CAN交换机,所述方法包括:传输层发送部分的数据通信方法,具体包括:
[0018]将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
[0019]拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
[0020]包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
[0021]包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间。
[0022]第三方面,本专利技术实施例提供的一种DN

CAN通信协议的通信方法,方法适用DN

CAN终端,所述方法包括:传输层发送部分的数据通信方法,具体包括:
[0023]将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
[0024]拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
[0025]包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
[0026]包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
[0027]网络层发送部分的数据通信方法,具体包括:
[0028]将发送交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,通过CAN口发送控制程序进行发送控制,且将CAN口数据片的发送状态通过帧发送状态反馈程序反馈给发送交换FIFO缓存。
[0029]第四方面,本专利技术实施例提供的一种DN

CAN通信协议的通信方法,所述方法适用于DN

CAN路由器,所述方法包括:传输层发送部分的数据通信方法,具体包括:
[0030]将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
[0031]拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
[0032]包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
[0033]包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
[0034]网络层发送部分的数据通信方法,具体包括:
[0035]将交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,并通过下行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给交换FIFO缓存;
[0036]将包交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过包转移发送程序转移至
包接收FIFO缓存,并通过路由器上行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给包交换FIFO缓存。
[0037]本专利技术的有益效果:
[0038]本专利技术实施例提供的一种以CAN为基础的DN

CAN通信协议,对网络层和传输层进行定义,地址段、网络标识符、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种以CAN为基础的DN

CAN通信协议,包括物理层和数据链路层,其特征在于,还包括网络层和传输层,所述传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;所述网络特征符作为DN

CAN数据传输范围的判定符;所述网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,所述片控制段用于将长数据包分割为多个数据片;所述数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符。2.如权利要求1所述的DN

CAN通信协议,其特征在于,所述片控制段采用末片甄别法,0代表第1片,1代表第2片,以此类推,无论1个数据包被分为多少片,最后1片均为最大片序号。3.如权利要求1所述的DN

CAN通信协议,其特征在于,所述DN

CAN通信协议采用树型结构和总线型结构结合的混合拓扑结构,所述混合拓扑结构包括DN

CAN路由器、DN

CAN交换机和终端,所述DN

CAN路由器、DN

CAN交换机和终端之间的数据交换采用洪泛广播,DN

CAN交换机具有一个上行接口和多个下行接口,在通信过程中,DN

CAN交换机的其中任一接口接收到数据后,向其他各个接口复制分发,通过网络标识符将洪泛范围分成总线、全网、下行和上行,源设备根据目标设备在网络中所处位置选择洪泛范围。4.如权利要求1所述的DN

CAN通信协议,其特征在于,所述传输层的数据传输方式包括广播、发信和收信,广播、发信和收信均由包类型段实现,所述发信是发起方把数据传输给目标方的方式,源设备核实传输的数据是否被目标方正确接收,所述收信是发起方获取目标方数据的方式,发起方会告知目标方是否正确接收到数据,包类型段将数据包分为广播请求、发信请求、收信请求、应答和确认,广播由广播请求包组成,发信由发信请求包和应答包组成,收信由收信请求包、应答包和确认包组成,源设备根据通信方式选择对应的请求类型,目标设备通过请求类型判断本次通信的方式。5.如权利要求4所述的DN

CAN通信协议,其特征还在于,在传输层采用流控制段实现数据传输的连续交换,所述流控制段设置了0~x的唯一序列号池,每个任务会占用一个序列号,对被占用的序列号进行标记,发起方新建发信、收信传输任务时,首先通过查询唯一序列号池获取空闲序列号,同一个任务的请求、应答、确认的序列号相同,若无空闲序列号,则不可新建任务,任务结束后,被占用序列号恢复为空闲,流控制段与发起方地址共同构成任务的唯一标识,发起方和目标方均可根据此唯一标识完成收信请求、应答和确认的配对。6.一种DN

CAN通信协议的通信方法,其特征在于,所述方法适用于DN

CAN交换机,所述方法包括:传输层发送部分的数据通信方法,具体包括:将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发...

【专利技术属性】
技术研发人员:郭少龙郑星新
申请(专利权)人:山西暗石电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1