CN116112523A - 车载传输系统、数据传输方法及车辆 - Google Patents
车载传输系统、数据传输方法及车辆 Download PDFInfo
- Publication number
- CN116112523A CN116112523A CN202310031896.9A CN202310031896A CN116112523A CN 116112523 A CN116112523 A CN 116112523A CN 202310031896 A CN202310031896 A CN 202310031896A CN 116112523 A CN116112523 A CN 116112523A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- data packet
- transmission
- packet
- 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
Classifications
-
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请涉及车载通信技术领域,公开了一种车载传输系统、数据传输方法及车辆,所述方法包括:通过对待传输车辆数据进行应用层协议内容填充得到应用层数据,并将应用层数据传输至传输层;通过传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;通过数据链路层对传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据并传输至物理通信总线,通过物理通信总线传输至汽车内部多个控制器上的系统。通过上述方式,进行链路层的扩展,传输层的分区、分包、重传,从而能够提高了数据传输的可靠性、稳定性和扩展性。
Description
技术领域
本发明涉及车载通信技术领域,尤其涉及一种车载传输系统、数据传输方法及车辆。
背景技术
在车载应用场景下,存在多个处理器系统之间数据传输的功能需求。典型的如运行通用操作系统的处理器(CPU)与运行实时系统的处理器(MCU)或者另一个运行通用操作系统的处理器通过UART/SPI/I2C等通信总线进行互联和数据传输、交互。现有车载系统间数据传输缺乏良好设计的通信协议和方法,采用简单的数据包起始标识和包校验来传输数据,无法满足车载系统间数据传输的可靠性、稳定性和扩展性等要求。所以,针对车载系统通信技术现存问题的创新性研究有着重大的研究意义。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种车载传输系统、数据传输方法及车辆,旨在解决现有技术中采用简单的数据包起始标识和包校验来传输数据,无法满足车载系统间数据传输的可靠性、稳定性和扩展性的问题的问题。
为实现上述目的,本发明提供了一种车载传输系统,所述车载传输系统包括:
多个运行不同操作系统的车载系统,各个所述车载系统通过物理通信总线连接,各个所述车载系统至少包括数据链路层、传输层和应用层;
所述应用层,用于获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层;
所述传输层,用于对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;
所述数据链路层,用于对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
可选地,所述数据链路层中传输的数据包至少包括数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息;
所述传输层中传输的数据包至少包括服务端口、数据包序列号和数据包应答号以及传输控制位。
可选地,所述数据链路层中的数据包括完整的传输层的数据,所述传输层中的数据包括完整的应用层的数据。
此外,为实现上述目的,本发明还提出一种车载传输系统的数据传输方法,所述车载传输系统的数据传输方法应用于各个车载系统,所述车载系统至少包括数据链路层、传输层和应用层,所述车载传输系统的数据传输方法包括:
通过所述应用层获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层;
通过所述传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;
通过所述数据链路层对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
可选地,所述应用层数据传输至所述传输层,包括:
获取应用层数据业务类型,根据应用层数据业务类型确定服务端口号;
根据不同的服务端口号将应用层数据发送到传输层中对应的服务程序。
可选地,所述通过所述传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据,包括:
拷贝应用层数据,根据所述应用层服务端口信息,传输控制信息填充服务端口字段和传输控制位字段,填充传输层数据字段;
确认数据包是否需要应答;
在数据包需要应答时,配置传输层控制位,记录数据包的当前时间戳,将数据包添加到重传队列中,将数据包发送给数据链路层;
在数据包不需要应答时,配置传输层控制位,将数据包发送给数据链路层。
可选地,所述将数据包添加到重传队列中,将数据包发送给数据链路层,包括:
启动超时重传定时器,等待定时器到期并获取当前时间戳;
检查重传队列获取当前数据包重传次数,创建重传次数预设值;
在数据包当前时间戳超时并且所述当前数据包重传次数小于预设值时,将数据包发送给数据链路层;
在所述当前数据包重传次数大于或等于预设值的情况下,丢弃当前数据包。
可选地,所述将数据包发送给数据链路层之前,还包括:
构造数据包缓冲区,创建预设长度值;
获取当前应用层数据长度,在所述当前应用层数据长度大于预设长度值的情况下,在数据包缓冲区对数据包进行分包,并对中间数据包配置传输层控制位;
在确定当前数据包为最后一包数据的情况下,配置传输层控制位,结束分包。
可选地,所述通过所述数据链路层对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线之后,包括:
从物理通信总线设备接收数据;
解析数据包起始标识字段,在数据包起始标识字段有效的情况下,解析数据包长度字段,在数据包长度字段有效的情况下,计算数据包的校验码字段,在数据包的校验码字段与协议填充校验码字段相等的情况下,解析目的地址字段与源地址字段;
在目的地址字段为本机地址的情况下,将数据发送至传输层处理;
传输层解析传输控制信息,在解析到使能应答信息为需要应答时,解析数据包序列号并构造传输层应答包,并将设置后的应答包发送给数据链路层,应答结束,并将数据包移交给应用层处理;
在应答序号有效的情况下,遍历查询重传队列中的数据包,若找到重传队列中数据包序列号与数据包重传应答序列号相等的数据包,将其从重传队列中移除,并将数据包移交给应用层处理;
在目的地址字段不为本机地址的情况下,对接收到的数据进行扩展与转发。
此外,为实现上述目的,本发明还提出一种车辆,所述车辆包括车载本体以及如上文所述的车载传输系统,并应用如上文所述的车载传输系统的数据传输方法。
本发明提出的车载传输系统、数据传输方法及车辆,通过对待传输车辆数据进行应用层协议内容填充得到应用层数据,并将应用层数据传输至传输层;通过传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;通过数据链路层对传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据并传输至物理通信总线,并传输到汽车内部多个控制器上的系统,然后通过传输层接收链路层的数据包,解析其传输控制信息,并将应答包发给数据链路层,之后移交数据包到应用层处理。通过上述方式,进行链路层的扩展,传输层的分区、分包、重传,从而能够提高了数据传输的可靠性、稳定性和扩展性。
附图说明
图1为本发明车载传输系统第一实施例的流程示意图;
图2为本发明车载传输系统的数据传输方法第一实施例的流程示意图;
图3为本发明车载传输系统的数据传输方法一实施例的传输层服务端口分区示意图;
图4为本发明车载传输系统的数据传输方法一实施例的传输层数据发送流程图;
图5为本发明车载传输系统的数据传输方法一实施例的传输层接收数据流程图;
图6为本发明车载传输系统的数据传输方法一实施例的传输层数据重传流程图;
图7为本发明车载传输系统的数据传输方法一实施例的传输层数据分包流程图;
图8为本发明车载传输系统的数据传输方法一实施例的数据链路层数据发送流程图;
图9为本发明车载传输系统的数据传输方法一实施例的数据链路层数据接收和校验流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明车载传输系统第一实施例的结构示意图。
车载传输系统包括多个运行不同操作系统的车载系统,各个所述车载系统通过物理通信总线连接,各个所述车载系统至少包括数据链路层30、传输层20和应用层10;
所述应用层10,用于获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层;
所述传输层20,用于对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;
所述数据链路层30,用于对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
需要说明的是,应用层指的是在车辆内系统的人机交互接口,提供给用户的操作界面的交互层,在数据传输的过程用以获取当前交互数据,并渲染接收数据;传输层用以将应用层获取的数据进行包装以及分区传输数据,包括服务端口、数据包序列号和数据包应答号以及传输控制位;数据链路层用以提供发送节点和接受节点的地址,确保传输的可靠性,数据链路层中传输的数据包至少包括数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息。
应当理解的是,数据链路层中的数据包括完整的传输层的数据,传输层中的数据包括完整的应用层的数据。车载系统数据传输由至少两个系统构成,从方案技术层面来看系统间并无服务端、客户端或者主从区别,参与数据传输的两个或者多个系统在传输方案架构上是完全对称一致的。系统间进行业务数据传输和交互时,由本文描述的协议和方法对数据报文进行封装和解析,实现系统间数据传输完整性校验、链路扩展、逻辑通信信道和业务功能分区、可靠性传输、分包传输功能。依托这些能力,应用程的程序只需专注具体业务逻辑,而不需关系底层数据传输的完整性、可靠性。
本实施例通过对待传输车辆数据进行应用层协议内容填充得到应用层10数据,并将应用层10数据传输至传输层20;通过传输层20对应用层10数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层20数据;通过数据链路层30对传输层20数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层30数据并传输至物理通信总线,通过物理通信总线传输至汽车内部多个控制器上的系统。通过上述方式,进行链路层30的扩展,传输层20的分区、分包、重传,从而能够提高了数据传输的可靠性、稳定性和扩展性。
参照图2,图2为本发明车载传输系统的数据传输方法第一实施例的流程示意图。
在第一实施例中,所述车载传输系统的数据传输方法包括以下步骤:
步骤S10,通过所述应用层获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层。
需要说明的是,本实施例的执行主体为携带车载系统的车辆,指用于实现数据传输功能的设备,本实施例对此不作限制。车载传输系统的数据传输方法应用于各个车载系统。
可以理解的是,应用层的协议主要依托传输层协议展开,本方法用到的物理总线一般包括:UART、SPI、I2C这类总线。而应用层协议应该理解为车载通信业务中一般协议,例如:自定义的、特定与具体业务的、特定客户的应用协议;或是标准的,公开的,与具体传输层无关的协议。本实施例对此不做限制。
进一步的,步骤S10,包括:获取应用层数据业务类型,根据应用层数据业务类型确定服务端口号;根据不同的服务端口号将应用层数据发送到传输层中对应的服务程序。
应当理解的是,应用层协议依据具体的业务类型制定,不限制其具体协议格式和数据内容。不同的业务类型对应不同的服务端口号,在需要不同业务类型时,传输层传输的端口应当对应不同,否则会造成数据传输错误,因此需要将应用层数据根据不同的服务端口号传输到对应的服务程序。参见图3,图3为传输层服务端口分区示意图,利用传输层服务端口可以实现多个逻辑通信信道,用于不同的业务数据传输;如果将服务端口与具体的业务功能对应还可以实现对应用层的功能分区,收发两端的程序利用服务端口区分具体的应用层业务数据协议类型,将不同类型的应用程数据包分发给不同服务程序处理。例如:本车载系统在获取到应用层传输的数据业务类型为第一类型时,传输层预设第一类型的服务端口号8081,对服务端口字段进行填充,8081端口对应服务程序Service1,当另一车载系统的传输层收到数据包并解析后,可以获取对应的服务端口号8081并发送给服务程序Service1。通过根据应用层对业务类型及其端口号进行分区使得传输发送数据包达到对应的服务程序以使提高数据传输的准确性。
步骤S20,通过所述传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据。
需要说明的是,传输层包括:服务端口(Service Port):代表一种通信信道,可与具体的业务协绑定,一个服务端口仅处理一种业务类型数据;包序列号(PacketNum):发送方标记的数据包的唯一包序列号,对于接收方收到与上一帧相同序列号的包代表这一包是重传包;应答号(ACKNum)当接收方收到一包需要应答的包时,应立即回复一个应答包,并将发送方的包序列号作为应答号,发送方不用处理应答号,建议默认为0;传输控制位(TransportControl):输层可以根据传输控制位和应答号提供服务端口区分、发送与应答,大数据包分包传输。
进一步地,步骤S20,包括:拷贝应用层数据,根据所述应用层服务端口信息,传输控制信息填充服务端口字段和传输控制位字段,填充传输层数据字段;确认数据包是否需要应答;在数据包需要应答时,配置传输层控制位,记录数据包的当前时间戳,将数据包添加到重传队列中,将数据包发送给数据链路层;在数据包不需要应答时,配置传输层控制位,将数据包发送给数据链路层。
应当理解的是,拷贝应用层数据指的是将获取到的应用层数据字段填充到传输层的协议字段中,同时进行字段封装,填充服务端口字段和传输控制位字段,填充传输层数据字段;服务端口字段用于区分业务类型传输到不同的服务程序。传输层数据字段ACK EN对于需要接收方应答的数据包,ACK EN需置1,ACK VALID代表应答序号有效,ACK VALID为1时代表ACKNum域的应答序号有效。参见图4,图4为传输层数据发送流程图,当应用层通过传输层接口发送数据时,传输层根据应用层提供的服务端口(ServicePort)和传输控制信息(TransportControl)填充传输数据包缓冲区,拷贝应用层数据,数据包是否需要接收端应答由应用层决定,如果数据包需要应答(ACK Enabled置位),传输层发送流程将配置传输层控制位(TransportControl)并记录数据包的当前时间戳,然后将数据包添加到重传队列中,最终数据包提交给数据链路层发送到物理通信总线上。例如:在获取到应用层数据时,其端口号为8080,并且需要应答,此时ACK Enable置1,ACK Valid置0,代表使能应答有效,需要应答,则应该将数据包添加到重传队列进行重传操作并且记录好当前时间戳,以便于判断是否丢失了数据包。
进一步地,步骤S20中将数据包添加到重传队列中,包括:启动超时重传定时器,等待定时器到期并获取当前时间戳;检查重传队列获取当前数据包重传次数,创建重传次数预设值;在数据包当前时间戳超时并且所述当前数据包重传次数小于预设值时,将超时数据包发送给数据链路层;在所述当前数据包重传次数大于或等于预设值的情况下,丢弃当前数据包。
应当理解的是,超时重传定时器是用于决定重传的重要机制,超时重传定时器维护重传超时。在使用协议开始传输数据包时,超时重传定时器会被启动。参见图5,图5为传输层接收数据流程,当传输层收到数据包时,会解析传输控制信息,在解析到使能应答信息为需要应答时,解析数据包序列号并构造传输层应答包,同时设置ACK Valid置1,ACKEnabled置0,将传输层应答包发送给数据链路层,应答结束,并将数据包移交给应用层处理;在应答序号有效的情况下指的是ACK Valid为1时代表ACKNum域的应答序号有效,此时遍历查询重传队列中的数据包,若找到重传队列中数据包序列号与数据包重传应答序列号相等的数据包,将其从重传队列中移除,并将数据包移交给应用层处理,传输层结束接收流程。传输层创建重传次数预设值是为了判断数据包重传是否冗余以确定数据包是否丢失,数据包超时则说明可以将数据包传输到物理通信总线。
具体实现中,参见图6,图6为传输层数据重传流程图,传输层数据重传采用超时重传机制,采用系统定时器以预设的超时周期运行,当定时器超时开始对重传队列进行检查;检查过程会遍历重传队列中所有的数据包,通过比较数据包的时间戳和当前系统时间判断数据包是否在预设的超时时间范围内仍然没有接收端发送的应答包,如果出现超时的数据包则将该数据包提交给数据链路层发送到物理通信总线上。对于超时重传次数超过预设值的数据包采取丢弃处理。例如:在获取到当前数据包的时间戳时,通过比较确定已经超时,则说明数据包此时可以进行传输,若重传预设值为15次,此时收到3次重传,小于15次代表还没有收到接收端的应答包但也没有超过重传次数上限,可以继续将数据包传输到物理通信总线。通过将数据包添加至重传队列,记录重传次数并判断是否超时,可以得到当前数据包是否丢失或者损坏,以使提高车载系统间数据传输的可靠性。
进一步的,步骤S20中将超时数据包发送给数据链路层之前,还包括:构造数据包缓冲区,创建预设长度值;获取当前应用层数据长度,在所述当前应用层数据长度大于预设长度值的情况下,在数据包缓冲区对数据包进行分包,并对中间数据包配置传输层控制位;在确定当前数据包为最后一包数据的情况下,配置传输层控制位,结束分包。
需要说明的是,其中中间数据包配置为连续包,最后一包数据配置为结束包。
应当理解的是,传输层进行数据分包是为了提高总线吞吐率和服务质量。在用UART、SPI、I2C这类低速总线的情况下,总线速率较低,如果设置较大的单包数据长度,一旦出现传输错误,就需要重传很大的数据包,造成总线吞吐率和服务质量(QoS)下降。因此,需要设置一个适中的最大包长,如果出现错误,需要重传的数据包长度就会小一些,总线浪费在重传上的数据就会少一些。例如:设置最大包长为256字节,若数据包长度为1024字节,则需要将该数据包分包为256字节为单位的数据包进行传输,以使提高总线吞吐率和服务质量。
具体实现中,参见7,图7为传输层数据分包流程图,受限于物理层通信链路的速率,单次传输数据量需小于预设的最大值。设置传输数据量最大值可以降低重传带来的传输带宽损失,提高系统整体输出包的吞吐率以及服务质量。例如:当传输数据长度超过了最大限制时,进行分包传输,此时传输层协议控制位PKT END字段置1,PKT字段用于确定传输层分的数据包是否为最后一包,在确定为最后一包的情况下传输层发送数据流程继续进行,若当前数据包不为最后一包,此时传输层协议控制位PKT END字段置0,传输层对下一包数据的发送流程继续进行。通过在传输层对大数据进行分包传输,减缓了信道的传输压力,有效提高了通信链路传输的效率。
步骤S30,通过所述数据链路层对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
需要说明的是,链路层包括:数据包起始字段(SOF)、结束标识字段(EOF)、目标地址字段(Dest Addr)、源地址字段(Src Addr)、CRC校验信息字段(数据报文循环冗余(CRC)校验)及有效数据(Payload Data)和数据长度(Payload Legnth)。链路层保证了数据包经过传输后的完整性、并且附带用于链路扩展的地址信息。
可以理解的是,参见图8,图8为数据链路层数据发送流程图,数据链路层通过数据包起始标识(SOF)、数据包结束标识(EOF)以及数据包长度、CRC校验信息来综合判断接收的数据包是否有效;这些数据由发送端按照协议要求填充。如果数据包经过物理通信总线后发生错码、部分数据丢失等异常,则通过校验项可以校验数据包完整性,仅通过校验的数据包才会交给另一个车载系统的传输层继续处理。例如:当数据链路层获取到填充层的数据包,填充起始标识固定值为0xFE,填充目的地址为4Bits MSB,b7~b4,源地址为4Bits LSB,b3~b0,填充报文结束标识为0x7F,填充CRC从报文头到有效数据结束的所有数据参与计算。
进一步地,步骤S30,包括:从物理通信总线设备接收数据;解析数据包起始标识字段,在数据包起始标识字段有效的情况下,解析数据包长度字段,在数据包长度字段有效的情况下,计算数据包的校验码字段,在数据包的校验码字段与协议填充校验码字段相等的情况下,解析目的地址字段与源地址字段;在目的地址字段为本机地址的情况下,将数据发送至传输层处理;在目的地址字段不为本机地址的情况下,对接收到的数据进行扩展与转发。
需要说明的是,参见图9,图9为数据链路层数据接收和校验流程图,从物理通信总线设备接收数据的系统指的是与先前发送的车载系统不同的另一系统,通过另一车载系统的数据链路层获取解析到的数据包起始标识字段,数据包长度字段并对CRC进行循环冗余校验,以保证另一车载系统传输过来的数据包的有效性和准确性。在数据包起始标识字段、数据包长度字段、校验码字段中任一项无效的情况下,丢弃无效数据包。在数据包起始标识字段、数据包长度字段、校验码字段全部有效的情况下,解析目的地址字段和源地址字段,在目的地址字段为本机地址的情况下,将数据发送至本车载系统的传输层处理,在目的地址为其他地址的情况下,将数据包进行转发。
可以理解的是,在本实施例中链路层支持扩展和转发,多个系统可以以菊花链(Daisy Chain)形式连接,以此形成多节点通信网络。方便对数据包进行扩展和转发。例如:当第二车载系统a2收到第一车载系统a1传输的数据包,解析其本机地址为a1,其目的地址为第三车载系统a3,则第二车载系统将携带目的地址a3和源地址a1的数据包传输至第三车载系统a3,而第二车载系统将负责数据包转发工作。通过数据链路层的扩展和转发数据包,以使数据包传输至目的地址,有效提高了数据传输的扩展性和稳定性。
本实施例通过对待传输车辆数据进行应用层协议内容填充得到应用层数据,并将应用层数据传输至传输层;通过传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;通过数据链路层对传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据并传输至物理通信总线,并传输到汽车内部多个控制器上的系统,然后通过传输层接收链路层的数据包,解析其传输控制信息,并将应答包发给数据链路层,之后移交数据包到应用层处理。通过上述方式,进行链路层的扩展,传输层的分区、分包、重传,从而能够提高了数据传输的可靠性、稳定性和扩展性。
此外,本发明实施例还提出一种车辆,所述车辆实现如上文所述的车载传输系统的数据传输方法的步骤。
由于本车辆采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的车载数据传输方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,一体化平台工作站,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种车载传输系统,其特征在于,所述车载传输系统包括多个运行不同操作系统的车载系统,各个所述车载系统通过物理通信总线连接,各个所述车载系统至少包括数据链路层、传输层和应用层;
所述应用层,用于获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层;
所述传输层,用于对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;
所述数据链路层,用于对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
2.如权利要求1所述的系统,其特征在于,所述数据链路层中传输的数据包至少包括数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息;
所述传输层中传输的数据包至少包括服务端口、数据包序列号和数据包应答号以及传输控制位。
3.如权利要求1所述的系统,其特征在于,所述数据链路层中的数据包括完整的传输层的数据,所述传输层中的数据包括完整的应用层的数据。
4.一种车载传输系统的数据传输方法,其特征在于,所述车载传输系统的数据传输方法应用于各个车载系统,所述车载系统至少包括数据链路层、传输层和应用层,所述方法包括:
通过所述应用层获取当前车载系统的待传输车辆数据,对所述待传输车辆数据进行应用层协议内容填充,得到应用层数据,并将所述应用层数据传输至所述传输层;
通过所述传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据;
通过对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线,通过所述物理通信总线将所述数据链路层数据传输至汽车内部多个控制器上的系统。
5.如权利要求4所述的方法,其特征在于,所述应用层数据传输至所述传输层,包括:
获取应用层数据业务类型,根据应用层数据业务类型确定服务端口号;
根据不同的服务端口号将应用层数据发送到传输层中对应的服务程序。
6.如权利要求4所述的方法,其特征在于,所述通过所述传输层对应用层数据进行服务端口、数据包序列号和数据包应答号的填充以及传输控制位的设置,得到传输层数据,包括:
拷贝应用层数据,根据所述应用层服务端口信息,传输控制信息填充服务端口字段和传输控制位字段,填充传输层数据字段;
确认数据包是否需要应答;
在数据包需要应答时,配置传输层控制位,记录数据包的当前时间戳,将数据包添加到重传队列中,将数据包发送给数据链路层;
在数据包不需要应答时,配置传输层控制位,将数据包发送给数据链路层。
7.如权利要求6所述的方法,其特征在于,所述将数据包添加到重传队列中,将数据包发送给数据链路层,包括:
启动超时重传定时器,等待定时器到期并获取当前时间戳;
检查重传队列获取当前数据包重传次数,创建重传次数预设值;
在数据包当前时间戳超时并且所述当前数据包重传次数小于预设值时,将数据包发送给数据链路层;
在所述当前数据包重传次数大于或等于预设值的情况下,丢弃当前数据包。
8.如权利要求6所述的方法,其特征在于,所述将数据包发送给数据链路层之前,还包括:
构造数据包缓冲区,创建预设长度值;
获取当前应用层数据长度,在所述当前应用层数据长度大于预设长度值的情况下,在数据包缓冲区对数据包进行分包,并对中间数据包配置传输层控制位;
在确定当前数据包为最后一包数据的情况下,配置传输层控制位,结束分包。
9.如权利要求4所述的方法,其特征在于,所述通过所述数据链路层对所述传输层数据进行数据包起始标识、数据包结束标识、地址信息、数据包长度信息以及CRC校验信息的填充,得到数据链路层数据,并将所述数据链路层数据传输至物理通信总线之后,包括:
从物理通信总线设备接收数据;
解析数据包起始标识字段,在数据包起始标识字段有效的情况下,解析数据包长度字段,在数据包长度字段有效的情况下,计算数据包的校验码字段,在数据包的校验码字段与协议填充校验码字段相等的情况下,解析目的地址字段与源地址字段;
在目的地址字段为本机地址的情况下,将数据发送至传输层处理;
传输层解析传输控制信息,在解析到使能应答信息为需要应答时,解析数据包序列号并构造传输层应答包,并将设置后的应答包发送给数据链路层,应答结束,并将数据包移交给应用层处理;
在应答序号有效的情况下,遍历查询重传队列中的数据包,若找到重传队列中数据包序列号与数据包重传应答序列号相等的数据包,将其从重传队列中移除,并将数据包移交给应用层处理;
在目的地址字段不为本机地址的情况下,对接收到的数据进行扩展与转发。
10.一种车辆,其特征在于,所述车辆包括车载本体以及如权利要求1至3中任一项所述的车载传输系统,并应用如权利要求4至9中任一项所述的车载传输系统的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031896.9A CN116112523A (zh) | 2023-01-10 | 2023-01-10 | 车载传输系统、数据传输方法及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031896.9A CN116112523A (zh) | 2023-01-10 | 2023-01-10 | 车载传输系统、数据传输方法及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116112523A true CN116112523A (zh) | 2023-05-12 |
Family
ID=86260976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310031896.9A Pending CN116112523A (zh) | 2023-01-10 | 2023-01-10 | 车载传输系统、数据传输方法及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116112523A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061072A (zh) * | 2023-10-10 | 2023-11-14 | 苏州元脑智能科技有限公司 | 报文传输方法、装置、设备及存储介质 |
-
2023
- 2023-01-10 CN CN202310031896.9A patent/CN116112523A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061072A (zh) * | 2023-10-10 | 2023-11-14 | 苏州元脑智能科技有限公司 | 报文传输方法、装置、设备及存储介质 |
CN117061072B (zh) * | 2023-10-10 | 2024-02-06 | 苏州元脑智能科技有限公司 | 报文传输方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5627829A (en) | Method for reducing unnecessary traffic over a computer network | |
CN107819736B (zh) | 基于车辆网络中的汽车安全完整性等级的通信方法及设备 | |
KR101298407B1 (ko) | 데이터 패킷의 송신 방법 및 장치, 데이터 패킷의 수신 방법 및 장치 | |
CN106992879B (zh) | 一种can总线负载率的计算方法 | |
TWI286010B (en) | Method and computer readable media for efficient channel access by using partial error detection code in centralized wireless communication system | |
US6321269B1 (en) | Optimized performance for transaction-oriented communications using stream-based network protocols | |
JP2008508812A (ja) | 共用資源ネットワークにおける可変長確認応答用のシステムおよび方法 | |
JPH0831893B2 (ja) | 通信装置 | |
KR102352527B1 (ko) | 차량 네트워크에서 asil에 기초한 통신 방법 및 장치 | |
US20040260841A1 (en) | Method, apparatus, and system for internet protocol communication over intelligent platform management bus | |
CN116112523A (zh) | 车载传输系统、数据传输方法及车辆 | |
US7434133B2 (en) | Method of retransmitting data frame and network apparatus using the method | |
WO2023124098A1 (zh) | 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置 | |
CN113079074A (zh) | 一种基于can总线的协议栈通信方法、装置和存储介质 | |
CN105634977A (zh) | 发现路径最大传输单元的方法和装置 | |
US7281052B2 (en) | Data tracing identifiers | |
CN113364790B (zh) | 数据传输方法及装置 | |
WO2024000214A1 (zh) | 车辆中的通信方法及相关装置 | |
KR20180038960A (ko) | 차량 네트워크에서 데이터의 송수신 방법 및 장치 | |
JP5058072B2 (ja) | 無線通信装置 | |
JP2000332826A (ja) | プロトコル終端装置、プロトコル終端方法、パケット伝送システム、及びパケット伝送方法 | |
US6714540B1 (en) | Data communication method, communication frame generating method, and medium on which program for carrying out the methods are recorded | |
JP3313563B2 (ja) | データ伝送制御方法 | |
Yadav et al. | Novel Implementation of a Configurable Gateway between Can and Ethernet Protocol for in-Vehicle Networks | |
EP3767851B1 (en) | Frame error indication |
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 |