CN113709011B - 以can为基础的dn-can通信协议的配置方法及通信方法 - Google Patents
以can为基础的dn-can通信协议的配置方法及通信方法 Download PDFInfo
- Publication number
- CN113709011B CN113709011B CN202110977139.1A CN202110977139A CN113709011B CN 113709011 B CN113709011 B CN 113709011B CN 202110977139 A CN202110977139 A CN 202110977139A CN 113709011 B CN113709011 B CN 113709011B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- task
- transmission
- receiving
- 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
Images
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
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种以CAN为基础的DN‑CAN通信协议,包括物理层、数据链路层、网络层和传输层,传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,片控制段用于将长数据包分割为多个数据片;数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符。该通信协议将CAN协议网络化、数据化,使CAN协议应用扩展到物联网领域。
Description
技术领域
本发明涉及通信协议技术领域,具体涉及一种以CAN为基础的DN-CAN通信协议的配置方法及通信方法。
背景技术
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
a)网络各节点之间的数据通信实时性强;
b)开发周期短;
c)已形成国际标准的现场总线;
d)最有前途的现场总线之一。
在OSI模型中,CAN定义了物理层、数据链路层协议,是一种优秀的现场总线,构成了一个多主局域网,一般可连接120个通信节点。
1991年 9月 PHILIPS SEMICONDUCTORS制订并发布了 CAN技术规范(VERSION2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。
CAN协议是一种控制协议,具有突出的可靠性、实时性和灵活性,只定义了物理层、数据链路层,上面的高层协议同样是偏向控制。但在物联网应用中,节点规模大、网络结构复杂,在CAN基础上发展一种广域网是很有必要的。但是,CAN协议存在以下问题:1、CAN协议没有通信地址的概念,是标识符,是以控制为目标的,需要增加通信地址;2、CAN协议的一帧最多只能传输8个字节,无法完成较大数据传输,想要扩展也比较麻烦;3、CAN协议虽是多主协议,具备冲突侦听机制,但无冲突处理机制;4、CAN协议是一种总线协议,无法搭建广域网;5、CAN协议接入互联网不便。
发明内容
针对现有技术中的缺陷,本发明实施例提供一种以CAN为基础的DN-CAN通信协议的配置方法,将CAN协议网络化、数据化,使CAN协议应用扩展到物联网领域。
本发明实施例提供的一种基于DN-CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
第一方面,本发明实施例提供的一种以CAN为基础的DN-CAN通信协议的配置方法,包括物理层和数据链路层,还包括网络层和传输层,
所述传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;所述网络特征符作为DN-CAN数据传输范围的判定符;
所述网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,所述片控制段用于将长数据包分割为多个数据片;
所述数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符。
第二方面,本发明提供的一种基于DN-CAN通信协议的通信方法,方法适用于DN-CAN交换机,DN-CAN通信协议采用上述实施例描述的配置方法实现配置,所述方法包括:传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间。
第三方面,本发明实施例提供的一种基于DN-CAN通信协议的通信方法,方法适用DN-CAN终端,DN-CAN通信协议采用上述实施例描述的配置方法实现配置,所述方法包括:传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
网络层发送部分的数据通信方法,具体包括:
将发送交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,通过CAN口发送控制程序进行发送控制,且将CAN口数据片的发送状态通过帧发送状态反馈程序反馈给发送交换FIFO缓存。
第四方面,本发明实施例提供的一种基于DN-CAN通信协议的通信方法,所述方法适用于DN-CAN路由器,DN-CAN通信协议采用上述实施例描述的配置方法实现配置,所述方法包括:传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
网络层发送部分的数据通信方法,具体包括:
将交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,并通过下行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给交换FIFO缓存;
将包交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过包转移发送程序转移至包接收FIFO缓存,并通过路由器上行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给包交换FIFO缓存。
本发明的有益效果:
本发明实施例提供的一种以CAN为基础的DN-CAN通信协议的配置方法,对网络层和传输层进行定义,地址段、网络标识符、片控制段构成DN-CAN网络层数据片的片头,流控制段、包类型段构成DN-CAN传输层数据包的包头。这样,DN-CAN成为一个完整的低功耗、低成本、远距、具有传输控制的多主广域网。
本发明实施例提供的一种基于DN-CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明第一实施例所提供的一种以CAN为基础的DN-CAN通信协议的配置方法中DN-CAN网络的网络拓扑图;
图2本发明第二实施例所提供的一种基于DN-CAN通信协议的通信方法的流程图;
图3示出了本发明第三实施例所提供的一种基于DN-CAN通信协议的通信方法的流程图;
图4示出了本发明第四实施例所提供的一种基于DN-CAN通信协议的通信方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为 “当... 时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
DN-CAN是数据网络CAN(Data Network-CAN)的简称,是基于CAN协议的网络层与传输层协议,将CAN协议网络化、数据化,使CAN协议应用扩展到物联网领域。
OSI七层模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。根据OSI七层模型,CAN协议只规定了物理层、数据链路层,DN-CAN进一步规定了网络层、传输层,使得DN-CAN网络可以走向互联网。
本发明第一实施例提供的一种以CAN为基础的DN-CAN通信协议的配置方法,包括物理层和数据链路层,还包括网络层和传输层,传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;网络特征符作为DN-CAN数据传输范围的判定符;网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,所述片控制段用于将长数据包分割为多个数据片;数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符。将CAN的标识符、部分数据段分配为DN-CAN的地址段、网络标识符、片控制段、流控制段、包类型段,其中地址段全部位于标识符。地址段、网络标识符、片控制段构成DN-CAN网络层数据片的片头,流控制段、包类型段构成DN-CAN传输层数据包的包头。这样,DN-CAN成为一个完整的低功耗、低成本、远距、具有传输控制的多主广域网,是目前宽带、4G、5G、无线物联网的有力补充。
将CAN的标识符段的全部或部分位设计为DN-CAN地址段,地址段由目标地址和源地址构成。源地址为发送方地址,目标地址为接收方地址,网络上所有设备的地址唯一。因CAN规定29位ID高7位不能全为1b,地址范围为13b,有效范围为0x0000-0x1FBF共8128个值,即1个DN-CAN网络最多可接入8128个设备。同一个DN-CAN网络中地址是唯一的,同时发生的任何传输的地址段具有唯一性,这样地址段就实现了作为CAN数据链路层CSMA/CA载波侦听多路访问/冲突避免仲裁的依据。地址段的设计,将CAN的控制网络属性提升为DN-CAN的互联网络属性。
如图1所示,DN-CAN网络形成树形结构和总线型结构结合的混合拓扑结构,该网络包括多个DN-CAN交换机、DN-CAN路由器和终端,DN-CAN交换机具有1个上行接口(CAN-A口)和多个下行接口(CAN-B口、CAN-C口……),1个虚拟口(CAN-V口),与内部通信,用于设备管理。上行接口连接上级网络,下行接口连接下级网络。DN-CAN路由器具有2个上行接口(TCP/IP口)和多个下行接口(CAN-B口、CAN-C口……),1个虚拟口(CAN-V口),与内部通信,用于设备管理。通过网络标识符将洪泛范围分成总线、全网、下行、上行4类,源设备可根据目标设备在网络中所处位置自由选择洪泛范围。源设备为数据传输方,目标设备为数据接收方。当目标设备位为本地总线时,可采用总线洪泛将传输限制于本地总线,降低交换机、路由器的计算开销,阻止不必要的传输占用网络其他部分带宽。同理,下行、上行洪泛也将传输限制在一定范围。这样,即可实现任意设备互通,又降低网络其他部分的带宽消耗。
网络标识符既可设置于CAN的标识符段,也可设置于数据段。设置于标识符段,交换机可进行标识符硬件掩码过滤,不符合交换标准则不进入软件程序,减少交换机的计算开销。设置于数据段,交换判断由软件进行,但节约了标识符段,标识符段可以设置更长的地址段,实现更长的地址容量。
DN-CAN设计有片控制段,分配自CAN的标识符段或数据段。片控制段用于将长数据包分割为数个数据片,包含片头的数据片构成CAN的数据帧,实现长数据传输。
分片控制段分为片总数、片序号两部分。对于片总数,0代表1片,1代表2片,以此类推。对于片序号,0代表第1片,1代表第2片,以此类推。数据片发送方按照片序号由小到大依次发送,接收方安装逆序进行数据包重组装,当收到片总数与片序号相同的数据片时,认为是数据包的最后1片。每个数据片都有片总数,故具有丢片诊断能力,可靠性较高。
分片控制段还可采用末片甄别的方法。0代表第1片,1代表第2片,以此类推,无论1包被分为了几片,最后1片都为最大片序号。如片控制段最大分片能力为64,1包被分为4片,则第4片的片控制段应为64。末片甄别法采用相同的段长可以得到更大的分片能力。
分片控制段还可采用上述2种方法的结合,首片片头为片序号、片总数,其他片片头仅为片序号。这样,具备了上述2种方法的优点。
DN-CAN传输层的数据传输方式分为广播、发信、收信3种方式。广播是发起方把数据传给一个或多个目标方,而不核实目标方是否正确接收的方式,属于一对多传输,是非可靠传输。发信是发起方把数据传给目标方的方式,源设备需要核实数据是否被目标方正确接收,属于一对一传输,是可靠传输。收信是发起方获取目标方数据的方式,发起方需要告知目标方自己是否正确收到数据,属于一对一传输,是可靠传输。
DN-CAN传输层的3种数据传输方式由包类型段实现。包类型段将数据包分为广播请求、发信请求、收信请求、应答、确认5类,设备根据不同任务类型的不同环节,标明数据包的类型,以供发起方、目标方进行程序处理。以发信方式为例说明,发起方发送请求时包类型段标明为发信请求,目标方收数据包后通过包类型段判断该包为被动发信请求,遂建立被动发信任务。目标方DN-CAN程序发送应答时,将数据包自动标记为应答。发起方DN-CAN程序收到数据包,如果是应答,则认为是发信任务的应答数据。
在传输层采用流控制段实现数据传输的连续交换,充分利用网络带宽。广播不加任何控制就可实现连续传输,即DN-CAN程序可以同时处理多个广播,发信、收信不加控制是无法实现连续传输的。流控制段是由发起方为每个传输任务添加1个唯一序列号,位移序列号填充于流控制段,发起方地址与流控制段共同构成任务的唯一标识符。这样在上一个任务结束前,下一个任务也可开始,解决了请求、应答、确认的错误配对问题。
流控制段设计了0~127的唯一序列号池,每个任务会占用1个序列号,被占用的序列号会被标记。流控制段占用7位,共128个唯一序列号。发起方新建发信、收信传输任务时,首先通过查询唯一序列号池获取空闲序列号,同1个任务的请求、应答、确认的序列号相同。若无空闲序列号,则不可新建任务。任务结束后,被占用序列号恢复为空闲。 以收信传输为例说明。发起方新建收信任务,并未该任务添加唯一序列号,发信请求、确认的流控制段被填充为序列号。目标方建立被动任务时,为该任务添加相同的序列号,应答的流控制段添加相同序列号。流控制段与发起方地址共同构成任务的唯一标识,发起方、目标方均可根据此唯一标识完成收信请求、应答和确认的配对。
本发明实施例提供的一种以CAN为基础的DN-CAN通信协议的配置方法,对网络层和传输层进行定义,地址段、网络标识符、片控制段构成DN-CAN网络层数据片的片头,流控制段、包类型段构成DN-CAN传输层数据包的包头。这样,DN-CAN成为一个完整的低功耗、低成本、远距、具有传输控制的多主广域网。
请参阅图2,本发明第二实施例提供的一种基于DN-CAN通信协议的通信方法,适用于DN-CAN交换机,方法包括:
API接口程序建立API函数;
传输层发送部分的数据通信方法;
网络层发送部分的数据通信方法;
传输层接收部分的数据通信方法;
网络层接收部分的数据通信方法。
其中,主动任务蜂窝列表和被动任务蜂窝列表分别建立对应的API函数。
主动任务列表状态查询程序、主动任务新建程序、主动任务状态查询程序和主动任务确认响应程序,主动任务列表状态查询程序用于查询列表是否有空闲蜂窝。若有则允许新建任务,若无则表明不可新建任务,需等待空闲蜂窝产生。主动任务新建程序用于新建任务。主动任务状态查询程序用于应用层程序新建任务后,对任务状态的查询,根据状态进行下一步操作。主动任务确认响应程序用于应用层程序向收信任务传递确认数据。当应用层程序查询到主动任务最终状态后,该任务自动释放。
被动任务蜂窝列表包括:被动任务查询程序、被动任务请求获取程序、被动任务应答响应附加时间写入程序和被动任务应答响应程序。被动任务查询程序用于应用层程序查询有无被动任务,根据任务类型进行下一步操作。被动任务请求获取程序用于应用层程序得知有被动任务后,获取任务的请求数据。被动任务应答响应附加时间写入程序于应用层程序无法及时应答发信、收信任务时,向DN-CAN程序申请应答延时,以适应物联网应用场景。被动任务应答响应程序用于应用层程序写入应答数据。当应用层程序查询到被动任务最终状态后,该任务自动释放。
在本实施例中,传输层以主动任务蜂窝列表和被动任务蜂窝列表为对象,每个任务蜂窝可适应广播、发信和收信的任何任务类型,执行不同任务时标记为对应类型。传输层发送部分的数据通信方法,具体包括以下步骤:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间。
在本实施例中,网络层发送部分的数据通信方法,具体包括:
将各个交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,并将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给交换FIFO缓存,并通过通信接口发送控制程序进行发送控制。
在本实施例中,网络层接收部分的数据通信方法,具体包括:
连接CAN接收终端程序,将接收到的CAN2.0B帧解析为DN-CAN数据片存于接收FIFO缓存,经端口分拣接收程序判断交换方向,目标地址与交换机相同的转移至虚拟口(CAN-V口)方向,其他根据网络特征符进行转移,若网络特征符为上行,则转移至上行口(CAN-A口);若网络特征符为下行,则转移至下行口(CAN-B口、CAN-C口、……);若为全网,则转移至全部接口。
在本实施例中,传输层接收部分的数据通信方法,具体包括:
由并包转移接收程序从虚拟口接收缓存获取数据片,根据发起方地址、流控制段构成的唯一任务标识符进行并包处理,若为头片,则在包接收缓存新建包接收任务,启动并包超时判断程序,若顺利接收到尾片,则标记为该包为完整包,若出现片序错误,则抛弃该片,若并包任务超时,则释放该任务;
包分拣接收程序将包接收缓存中的完整包进行向上转移,若为请求,则在被动任务蜂窝列表新建相应任务,若为确认信息,则确认是否有相同唯一任务标识符的任务,若有,则转移,若无,则抛弃;若为应答信息,则确认主动任务蜂窝列表中是否有对应任务正在执行,若有,则转移,若无,则抛弃。
本发明实施例提供的基于DN-CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
请参阅图3,本发明第三实施例提供的一种基于DN-CAN通信协议的通信方法,适用于DN-CAN终端,所述方法包括:
API接口程序建立API函数;
传输层发送部分的数据通信方法;
网络层发送部分的数据通信方法;
传输层接收部分的数据通信方法;
网络层接收部分的数据通信方法。
在本实施例中,传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
网络层发送部分的数据通信方法,具体包括:
将发送交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,通过CAN口发送控制程序进行发送控制,且将CAN口数据片的发送状态通过帧发送状态反馈程序反馈给发送交换FIFO缓存。
在本实施例中,传输层接收部分的数据通信方法,具体包括:
由并包转移接收程序从虚拟口接收缓存获取数据片,根据发起方地址、流控制段构成的唯一任务标识符进行并包处理,若为头片,则在包接收缓存新建包接收任务,启动并包超时判断程序,若顺利接收到尾片,则标记为该包为完整包,若出现片序错误,则抛弃该片,若并包任务超时,则释放该任务;
包分拣接收程序将包接收缓存中的完整包进行向上转移,若为请求,则在被动任务蜂窝列表新建相应任务,若为确认信息,则确认是否有相同唯一任务标识符的任务,若有,则转移,若无,则抛弃;若为应答信息,则确认主动任务蜂窝列表中是否有对应任务正在执行,若有,则转移,若无,则抛弃;
在本实施例中,网络层接收部分的数据通信方法,具体包括:
连接CAN口接收控制程序,将接收到的CAN2.0B帧解析为DN-CAN数据片存于接收FIFO缓存,并通过帧转移接收程序转移至接收交换FIFO缓存。
本发明实施例提供的DN-CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
请参阅图4,本发明第四实施例提供的一种基于DN-CAN通信协议的通信方法,适用于DN-CAN路由器,所述方法包括:
API接口程序建立API函数;
传输层发送部分的数据通信方法;
网络层发送部分的数据通信方法;
传输层接收部分的数据通信方法;
网络层接收部分的数据通信方法。
在本实施例中,传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
网络层发送部分的数据通信方法,具体包括:
将交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,并通过下行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给交换FIFO缓存;
将包交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过包转移发送程序转移至包接收FIFO缓存,并通过路由器上行口发送控制程序进行发送控制,且将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给包交换FIFO缓存。
在本实施例中,网络层接收部分的数据通信方法,具体包括:
连接下行口接收控制程序,将接收到的CAN2.0B帧解析为DN-CAN数据片存于接收FIFO缓存,经端口分拣接收程序判断交换方向,目标地址与路由器相同的转移至虚拟口方向,其他根据网络特征符进行转移,若网络特征符为上行,则转移至上行口;若网络特征符为下行,则转移至下行口;若为全网,则转移至全部接口;
连接上行口接收控制程序,将接收到的数据包存储于包接收FIFO缓存,经端口分拣拆分包接收程序根据DN-CAN地址与IP地址映射关系判断交换方向,将数据包转移至包交换FIFO缓存或交换FIFO缓存。
在本实施例中,传输层接收部分的数据通信方法,具体包括:
由并包转移接收程序从虚拟口接收缓存获取数据片,根据发起方地址、流控制段构成的唯一任务标识符进行并包处理,若为头片,则在包接收缓存新建包接收任务,启动并包超时判断程序,若顺利接收到尾片,则标记为该包为完整包,若出现片序错误,则抛弃该片,若并包任务超时,则释放该任务;
包分拣接收程序将包接收缓存中的完整包进行向上转移,若为请求,则在被动任务蜂窝列表新建相应任务,若为确认信息,则确认是否有相同唯一任务标识符的任务,若有,则转移,若无,则抛弃;若为应答信息,则确认主动任务蜂窝列表中是否有对应任务正在执行,若有,则转移,若无,则抛弃。
本发明实施例提供的基于DN-CAN通信协议的通信方法,具有低功耗、低成本、远距离传输的特点。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (9)
1.一种以CAN为基础的DN-CAN通信协议配置方法,包括物理层和数据链路层,其特征在于,还包括网络层和传输层,
所述传输层包括多个数据包,1个数据包被分割为多个数据片进行传输,数据包头包括目标地址、源地址、网络特征符、流控制段和包类型段;所述网络特征符作为DN-CAN数据传输范围的判定符;
所述网络层包括多个数据片,数据片头包括目标地址、源地址、网络特征符、片控制段和流控制段,所述片控制段用于将长数据包分割为多个数据片;
所述数据链路层采用CAN数据帧作为数据链路层协议,将CAN协议的ID标识符的全部或部分位设置为地址段,地址段由目标地址和源地址构成,将CAN协议的ID标识符或数据段的一部分设置为网络特征符;
所述DN-CAN通信协议采用树型结构和总线型结构结合的混合拓扑结构,所述混合拓扑结构包括DN-CAN路由器、DN-CAN交换机和终端,所述DN-CAN路由器、DN-CAN交换机和终端之间的数据交换采用洪泛广播,DN-CAN交换机具有一个上行接口和多个下行接口,在通信过程中,DN-CAN交换机的其中任一接口接收到数据后,向其他各个接口复制分发,通过网络特征符将洪泛范围分成总线、全网、下行和上行,源设备根据目标设备在网络中所处位置选择洪泛范围。
2.如权利要求1所述的DN-CAN通信协议配置方法,其特征在于,所述片控制段采用末片甄别法,0代表第1片,1代表第2片,以此类推,无论1个数据包被分为多少片,最后1片均为最大片序号。
3.如权利要求1所述的DN-CAN通信协议配置方法,其特征在于,所述传输层的数据传输方式包括广播、发信和收信,广播、发信和收信均由包类型段实现,所述发信是发起方把数据传输给目标方的方式,源设备核实传输的数据是否被目标方正确接收,所述收信是发起方获取目标方数据的方式,发起方会告知目标方是否正确接收到数据,包类型段将数据包分为广播请求、发信请求、收信请求、应答和确认,广播由广播请求包组成,发信由发信请求包和应答包组成,收信由收信请求包、应答包和确认包组成,源设备根据通信方式选择对应的请求类型,目标设备通过请求类型判断本次通信的方式。
4.如权利要求3所述的DN-CAN通信协议配置方法,其特征还在于,在传输层采用流控制段实现数据传输的连续交换,所述流控制段设置了0~x的唯一序列号池,每个任务会占用一个序列号,对被占用的序列号进行标记,发起方新建发信、收信传输任务时,首先通过查询唯一序列号池获取空闲序列号,同一个任务的请求、应答、确认的序列号相同,若无空闲序列号,则不可新建任务,任务结束后,被占用序列号恢复为空闲,流控制段与发起方地址共同构成任务的唯一标识,发起方和目标方均可根据此唯一标识完成收信请求、应答和确认的配对。
5.一种基于DN-CAN通信协议的通信方法,其特征在于,所述方法适用于DN-CAN交换机,所述DN-CAN通信协议采用如权利要求1所述的配置方法实现配置,所述方法包括:传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间。
6.如权利要求5所述的通信方法,其特征在于,所述方法还包括:网络层发送部分的数据通信方法,具体包括:
将各个交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,并将虚拟口数据片的发送状态通过帧发送状态反馈程序反馈给交换FIFO缓存,并通过通信接口发送控制程序进行发送控制。
7.如权利要求6所述的通信方法,其特征在于,所述方法还包括:网络层接收部分的数据通信方法,具体包括:
连接CAN接收终端程序,将接收到的CAN2.0B帧解析为DN-CAN数据片存于接收FIFO缓存,经端口分拣接收程序判断交换方向,目标地址与交换机相同的转移至虚拟口方向,其他根据网络特征符进行转移,若网络特征符为上行,则转移至上行口;若网络特征符为下行,则转移至下行口;若为全网,则转移至全部接口。
8.如权利要求7所述的通信方法,其特征在于,所述方法还包括:传输层接收部分的数据通信方法,具体包括:
由并包转移接收程序从虚拟口接收缓存获取数据片,根据发起方地址、流控制段构成的唯一任务标识符进行并包处理,若为头片,则在包接收缓存新建包接收任务,启动并包超时判断程序,若顺利接收到尾片,则标记为该包为完整包,若出现片序错误,则抛弃该片,若并包任务超时,则释放该任务;
包分拣接收程序将包接收缓存中的完整包进行向上转移,若为请求,则在被动任务蜂窝列表新建相应任务,若为确认信息,则确认是否有相同唯一任务标识符的任务,若有,则转移,若无,则抛弃;若为应答信息,则确认主动任务蜂窝列表中是否有对应任务正在执行,若有,则转移,若无,则抛弃。
9.一种基于DN-CAN通信协议的通信方法,其特征在于,所述方法适用于DN-CAN终端,所述DN-CAN通信协议采用如权利要求1所述的配置方法实现配置,所述方法包括:传输层发送部分的数据通信方法,具体包括:
将主动任务蜂窝列表的请求和确认信息进行包发送FIFO缓存;
拆包转移发送程序将包发送FIFO缓存信息根据网络特征符转移至对应交换缓存;
包发送状态判断程序从各个交换缓存中收集信息反馈到包发送FIFO缓存,若包分片全部发送成功则标记为成功,若有任何发送失败则标记为失败,且不再进行发送转移;
包发送状态反馈程序将包发送FIFO缓存的发送状态反馈给主动任务蜂窝列表,同时释放对应的存储空间;
网络层发送部分的数据通信方法,具体包括:
将发送交换FIFO缓存中的数据片封装为CAN2.0B帧,并通过帧转移发送程序转移至发送FIFO缓存,通过CAN口发送控制程序进行发送控制,且将CAN口数据片的发送状态通过帧发送状态反馈程序反馈给发送交换FIFO缓存;
传输层接收部分的数据通信方法,具体包括:
由并包转移接收程序从虚拟口接收缓存获取数据片,根据发起方地址、流控制段构成的唯一任务标识符进行并包处理,若为头片,则在包接收缓存新建包接收任务,启动并包超时判断程序,若顺利接收到尾片,则标记为该包为完整包,若出现片序错误,则抛弃该片,若并包任务超时,则释放该任务;
包分拣接收程序将包接收缓存中的完整包进行向上转移,若为请求,则在被动任务蜂窝列表新建相应任务,若为确认信息,则确认是否有相同唯一任务标识符的任务,若有,则转移,若无,则抛弃;若为应答信息,则确认主动任务蜂窝列表中是否有对应任务正在执行,若有,则转移,若无,则抛弃;
网络层接收部分的数据通信方法,具体包括:
连接CAN口接收控制程序,将接收到的CAN2.0B帧解析为DN-CAN数据片存于接收FIFO缓存,并通过帧转移接收程序转移至接收交换FIFO缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977139.1A CN113709011B (zh) | 2021-08-24 | 2021-08-24 | 以can为基础的dn-can通信协议的配置方法及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977139.1A CN113709011B (zh) | 2021-08-24 | 2021-08-24 | 以can为基础的dn-can通信协议的配置方法及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709011A CN113709011A (zh) | 2021-11-26 |
CN113709011B true CN113709011B (zh) | 2022-09-27 |
Family
ID=78668872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110977139.1A Active CN113709011B (zh) | 2021-08-24 | 2021-08-24 | 以can为基础的dn-can通信协议的配置方法及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709011B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834287B (zh) * | 2022-11-28 | 2023-11-14 | 北京神经元网络技术有限公司 | 宽带现场总线的多域数据交换设备、网络系统及交换方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242251A (zh) * | 2021-05-20 | 2021-08-10 | 北京九州云驰科技有限公司 | 车载网络安全防护系统及其应用方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016221690A1 (de) * | 2016-11-04 | 2018-05-09 | Audi Ag | Verfahren zum Übertragen von Datenpaketen zwischen einem Ethernet und einem Bussystem in einem Kraftfahrzeug sowie Gatewayvorrichtung und Kraftfahrzeug |
US20200389469A1 (en) * | 2017-12-24 | 2020-12-10 | Arilou Information Security Technologies Ltd. | System and method for tunnel-based malware detection |
US11025632B2 (en) * | 2018-07-30 | 2021-06-01 | Cisco Technology, Inc. | Serial network communication using intelligent access policies |
US11681813B2 (en) * | 2019-05-13 | 2023-06-20 | Cisco Technology, Inc. | System and method for enforcing context-based data transfer and access |
DE102019005608A1 (de) * | 2019-08-09 | 2021-02-11 | Infineon Technologies Ag | Transportschichtauthentizität und Sicherheit für Automobilkommunikation |
-
2021
- 2021-08-24 CN CN202110977139.1A patent/CN113709011B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242251A (zh) * | 2021-05-20 | 2021-08-10 | 北京九州云驰科技有限公司 | 车载网络安全防护系统及其应用方法 |
Non-Patent Citations (1)
Title |
---|
"车身舒适系统总线协议研究";黄智等;《汽车工程》;20090425(第04期);第331-335页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113709011A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6233248B1 (en) | User data protocol for internet data communications | |
EP1468528B1 (en) | Method and apparatus for priority-based load balancing for use in an extended local area network | |
JP4408496B2 (ja) | 複数のサブネットワーク間でデータを伝送するためのブリッジ端末を有するローカルエリアネットワーク | |
KR100603951B1 (ko) | 무선 패킷 통신 장치 및 방법 | |
US7443858B1 (en) | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network | |
US6512747B1 (en) | ATM transmission system | |
US20030112810A1 (en) | Method for forwarding packets by connecting network segments through a wireless channel and wireless bridging apparatus using the same | |
EP1255381A2 (en) | Method and device for multicast transmission | |
US8654764B2 (en) | Protocol accelerator module with packet forwarding function and a method of transceiver operation for rapid forwarding of data packets | |
WO2020150872A1 (en) | Ethernet and controller area network protocol interconversion for in-vehicle networks | |
US6088346A (en) | Local area network with transceiver | |
JP2000032007A (ja) | 無線atmを使用してipマルチキャストを処理できるネットワ―クシステム及び方法 | |
EP1453338B1 (en) | Packet data resending control method and apparatus therefor | |
US7009980B1 (en) | Apparatus and method for automatic port identity discovery in hierarchical heterogenous systems | |
US6603740B1 (en) | Local area network with a bridge terminal for transmitting data between a plurality of sub-networks and for loop detection | |
US6034951A (en) | Local area network comprising radio transmission terminals | |
CN113709011B (zh) | 以can为基础的dn-can通信协议的配置方法及通信方法 | |
US20020034184A1 (en) | Asynchronous transfer mode local area network having a ring structure with wireless terminals | |
EP1699169A1 (en) | Wireless base station, wireless mobile device, and wireless access network for reducing signalling traffic | |
US6973055B1 (en) | Network with several network clusters for wireless transmission of packets | |
CN106713142B (zh) | 在can总线上传输ip报文的方法及利用can总线网络构建的ip局域网 | |
JP2000138701A (ja) | ロ―カルエリアネットワ―ク内の複数のサブネットワ―ク間でデ―タを伝送するためのブリッジ端末の自動コンフィギュレ―ション | |
WO2022179437A1 (zh) | 传输数据的方法和通信装置 | |
US20220407742A1 (en) | Time-sensitive transmission of ethernet traffic between endpoint network nodes | |
CN112866143B (zh) | 一种实现802.1cb协议的装置及芯片 |
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 |