CN117439949A - 车载总线混合报文处理方法、装置、电子设备及存储介质 - Google Patents
车载总线混合报文处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117439949A CN117439949A CN202311315978.2A CN202311315978A CN117439949A CN 117439949 A CN117439949 A CN 117439949A CN 202311315978 A CN202311315978 A CN 202311315978A CN 117439949 A CN117439949 A CN 117439949A
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- message
- preemption
- bus
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 238000013439 planning Methods 0.000 claims abstract description 29
- 230000000737 periodic effect Effects 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 32
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000006854 communication Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/13—Flow control; Congestion control in a LAN segment, e.g. ring or bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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
-
- 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)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种车载总线混合报文处理方法、装置、电子设备及存储介质,方法包括:获取待发送至车载总线的突发报文数据;在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线;在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据,使得车载网络可以实现在不明显增加成本的情况下实现消息传输的低延时、高总线利用率。
Description
技术领域
本申请涉及车载网络技术领域,尤其涉及车载总线混合报文处理方法、装置、电子设备及存储介质。
背景技术
控制器局域网(CAN,Controller Area Network)是目前主流车载网络技术之一,应用较为广泛的是基于事件触发控制器局域网。但是随着车上分布系统复杂性不断增加,对安全性要求更加严格,对车载网络通信的实时性、时间的可预测性等提出了更高的要求。基于事件触发控制器局域网由事件触发通信过程,当有多个信息同时发送时,会出现网络交通拥挤的现象。基于位竞争的非破坏性仲裁机制能够保证这些信息以优先级的顺序发送,但会使一些信息的传送出现较大的延时,并且很难在设计时估计一个信息传送的延时特性。
出于对信息传送时效性和确定性的要求,基于时间触发控制器局域网(TT-CAN,Time-Triggered CAN)应运而生。基于时间触发控制器局域网是通过一个高层协议,在网络中完成所有节点通信调度的同步功能,在网络全局时间同步机制的基础上实现时间触发的通信过程。网络中的节点可以在一个特定的时间窗口传送自己的信息,而不必再去竞争总线。但依然存在兼容性差、成本高、总线利用率低、易造成网络交通阻塞的问题。
两种现有的控制器局域网均存在一定的局限性,难以应用在实际的车载网络中。
发明内容
为了解决现有的控制器局域网兼容性差、易造成网络交通阻塞的技术问题,本发明提供了一种车载总线混合报文处理方法、装置、电子设备及存储介质,通过调度和抢占机制合理发送周期报文数据和突发报文数据,结合了基于事件触发控制器局域网和基于时间触发控制器局域网的优势,同时避免各自的缺陷,使得车载网络可以实现在不明显增加成本的情况下实现消息传输的低延时、高总线利用率。
一方面,本申请实施例提供了一种车载总线混合报文处理方法,应用于第一报文节点,该方法包括:
获取待发送至车载总线的突发报文数据;
在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线;
在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据。
在一种可选的实施例中,向车载总线发送突发报文数据对应的第一抢占数据之后,还包括:
若接收到车载总线发送的第一失败指令时,等待随机时间后重新向车载总线发送第一抢占数据;
第一失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级等于第二抢占数据的优先级的情况下生成。
在一种可选的实施例中,向车载总线发送突发报文数据对应的第一抢占数据之后,还包括:
若接收到车载总线发送的第二失败指令时,在检测到车载总线上的第二抢占数据发送完成后,重新向车载总线发送第一抢占数据;
第二失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级小于第二抢占数据的优先级的情况下生成。
在一种可选的实施例中,向车载总线发送突发报文数据对应的第一抢占数据之后,还包括:
若接收到车载总线发送的第一成功指令时,向车载总线发送突发报文数据;
第一成功指令在第一抢占数据的优先级大于车载总线上的当前报文数据的优先级的情况下生成。
在一种可选的实施例中,向车载总线发送突发报文数据对应的第一抢占数据之后,还包括:
若接收到车载总线发送的第二成功指令时,在检测到车载总线上的当前报文数据发送完毕后,向车载总线发送突发报文数据;
第二成功指令在车载总线上的当前报文数据的优先级大于第一抢占数据的优先级的情况下生成。
在一种可选的实施例中,获取待发送至车载总线的突发报文数据之后,还包括:
在调度规划信息指示当前不存在发送至车载总线的周期报文数据的情况下,向车载总线发送突发报文数据。
在一种可选的实施例中,确定突发报文数据的延迟发送时间,并调用计时器计时之后,还包括:
检测车载总线上的当前报文数据;
若计时器计时的时间小于或等于延迟发送时间,且调度规划信息指示当前报文数据是位于预设发送次序中的最后一位的周期报文数据时,在当前报文数据发送完毕后,发送突发报文数据。
第二方面,本申请实施例提供了一种车载总线混合报文处理方法,应用于车载总线,包括:
接收第一报文节点发送的第一抢占数据;
若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级大于第二抢占数据的优先级,向第一报文节点发送数据发送指令;数据发送指令指示第一报文节点向车载总线发送第一抢占数据对应的突发报文数据;
接收第一抢占数据对应的突发报文数据。
在一种可选的实施例中,接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为一个,向第一报文节点发送数据发送指令。
在一种可选的实施例中,向第一报文节点发送数据发送指令,包括:
若第一抢占数据的优先级大于车载总线上的当前报文数据的优先级时,向第一报文节点发送第一成功指令;第一成功指令指示第一报文发送节点向车载总线发送第一抢占数据对应的突发报文数据;或者;
若第一抢占数据的优先级小于车载总线上的当前报文数据的优先级时,向第一报文节点发送第二成功指令;第二成功指令指示第一报文发送节点在检测到车载总线上的当前报文数据发送完毕后,向车载总线发送第一抢占数据对应的突发报文数据。
在一种可选的实施例中,接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级等于第二抢占数据的优先级,向第一报文节点发送第一失败指令;
第一失败指令指示第一报文节点等待随机时间后,向车载总线重新发送第一抢占数据。
在一种可选的实施例中,接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级小于第二抢占数据的优先级,向第一报文节点发送第二失败指令;
第二失败指令指示第一报文节点在检测到车载总线上的第二抢占数据发送完成后,向车载总线重新发送第一抢占数据。
第三方面,本申请实施例提供了一种车载总线混合报文处理装置,装置包括:
获取模块,用于获取待发送至车载总线的突发报文数据;
计时模块,用于在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线;
发送模块,用于在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据。
第四方面,本申请实施例提供了一种车载总线混合报文处理装置,装置包括:
第一接收模块,用于接收第一报文节点发送的第一抢占数据;
发送模块,用于若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级大于第二抢占数据的优先级,向第一报文节点发送数据发送指令;数据发送指令指示第一报文节点向车载总线发送第一抢占数据对应的突发报文数据;
第二接收模块,用于接收第一抢占数据对应的突发报文数据。
第五方面,本申请实施例提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现第一方面的车载总线混合报文处理方法和第二方面的车载总线混合报文处理方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,计算机存储介质中存储有至少一条指令或者至少一段程序,至少一条指令或者至少一段程序由处理器加载并执行以实现第一方面的车载总线混合报文处理方法和第二方面的车载总线混合报文处理方法。
本申请实施例提供的车载总线混合报文处理方法、装置、电子设备及存储介质,具有如下技术效果:
获取待发送至车载总线的突发报文数据;在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线;在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据,通过调度和抢占机制合理发送周期报文数据和突发报文数据,结合了基于事件触发控制器局域网和基于时间触发控制器局域网的优势,同时避免各自的缺陷,使得车载网络可以实现在不明显增加成本的情况下实现消息传输的低延时、高总线利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种车载总线周期报文处理方法的流程示意图;
图3是本申请实施例提供的一种调度表的示意图;
图4是本申请实施例提供的一种抢占报文数据的格式示意图;
图5是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图;
图6是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图;
图7是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图;
图8是本申请实施例提供的一种车载总线混合报文处理方法的软件架构示意图;
图9是本申请实施例提供的一种车载总线混合报文处理装置的结构示意图;
图10是本申请实施例提供的一种车载总线混合报文处理装置的结构示意图;
图11是本申请实施例提供的一种车载总线混合报文处理方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,包括第一报文节点101和车载总线102。
在车载网络中,第一报文节点101可以配置为控制器,负责车辆的实际控制,将控制指令转化为车辆行动,例如,发动机控制单元、制动系统控制单元、转向控制单元等。第一报文节点101还可以配置为车辆上的各种仪器仪表,如车速、加速度、转向角、环境温度传感器等,负责采集车辆和环境的各种数据。第一报文节点101同样可以配置为车辆上的各种执行器,根据控制节点的指令执行实际操作,如控制发动机输出、调整刹车力度、调整转向角度等。
在一些可能的实施例中,第一报文节点101可以为负责提供娱乐和信息服务的音频播放、视频显示、导航指引装置,还可以为负责处理车辆数据、进行分析预测、协同决策云端服务器。
在本申请实施例中,第一报文节点101的作用是发送报文数据,报文数据可以为用于控制车辆的各种功能的控制指令报文,可以为包括车速、转向角、加速度、车辆位置数据的传感器数据报文,可以为用于车辆之间或车辆与基础设施之间的通信的通信报文,还可以为涵盖音频、视频等娱乐内容的娱乐信息报文以及用于传输安全相关的碰撞警报、交通标志识别等信息的安全报文。
车载网络的常态流量形态是报文以周期的形式进行发送,也就是周期报文数据,各个报文节点的报文数据具有固定的发送周期和时间窗口,上述报文节点中的获取车辆各种数据的传感器节点一般发送周期报文数据。
在本申请实施例中,车载网络中可能存在事件型报文等突发报文数据,突发报文数据基于一个特定的操作事件而触发,上述报文节点中的执行实际操作的执行器一般发送突发报文数据。举个例子,车辆上的转向灯基于操作者打开或关闭转向灯开关的操作而亮灭,因此,打开或关闭转向灯开关的操作就会触发一个突发报文数据。
在本申请实施例中,周期报文数据和突发报文数据在生成时,都会被赋予一个唯一的标识符,通常称为CAN标识符(Controller Area Network Identifier,CAN ID)。这个标识符由一定数量的位组成,用于在车载总线上唯一地标识该报文。
在一种可能的实施例中,上述标识符可以用于区分不同类型的报文。不同的报文类型可以有不同的标识符范围,从而在车载网络中实现对不同类型数据的分组和分类。车载总线和报文节点依据标识符对进行分类,可以将报文数据分为周期报文数据和突发报文数据,也可以根据报文数据内容将报文数据分为安全报文数据和娱乐报文数据等。
在本申请实施例中,只利用标识符对报文数据进行周期报文数据和突发报文数据的分类。
车载总线102是车载网络中连接车辆内部各个电子控制单元和传感器、执行器之间的通信通道,可以实现数据的传输、控制指令的发送和接收,从而协调车辆各个子系统的工作。
在本申请实施例中,车载总线102的功能主要为在至少一个报文节点尝试发送至少两个报文数据时,通过总线仲裁机制对至少两个报文数据决定哪个报文数据可以在成功地在车载总线102上发送,通过比较报文数据之间的优先级确保了报文数据之间可以有序传递。
具体的,在本申请实施例中,车载总线102进行仲裁的方法是基于标识符的优先级进行比较,标识符越小,优先级越高,优先级高的报文数据优先发送,优先级低的报文数据暂时挂起。
以下介绍本申请一种车载总线周期报文处理方法的具体实施例,具体的如图2所示,应用于第一报文节点,可以包括:
S201:第一报文节点获取待发送至车载总线的周期报文数据。
在一种可能的实施例中,一个网段存在A、B、C三个报文节点,各个报文节点发送的周期型报文如下表所示。
报文节点 | 标识符(ID) | 发送周期 |
A | 0x301 | 100毫秒 |
A | 0x302 | 200毫秒 |
B | 0x401 | 200毫秒 |
C | 0x501 | 400毫秒 |
在传统控制器局域网中,发送周期存在整倍数关系时就会产生碰撞,比如A、B、C三个节点同时启动时,这4个报文数据会产生碰撞,虽然通过车载总线仲裁可以实现报文数据的依次发出,但是需要3次仲裁才可以全部发出,且每次仲裁时都未禁止其它报文加入,所以可能产生拥塞。
因此,在报文数据碰撞的发送时间点设置一个调度规划信息,可以将产生碰撞的周期报文数据按照预设发送次序依次发出,使得每个周期报文数据具有单独的发送窗口,不会互相产生竞争、产生拥塞。
在本申请实施例中,根据周期报文数据的发送周期最大公约数为基本周期,在基本周期的整倍数位置检查是否存在碰撞,若存在则设置一个调度规划信息,直到周期报文数据的周期最小公倍数,形成一个调度规划信息集合。同时设置一个调度定时器,用于调度规划信息集合的循环,该定时器的值为周期型报文的周期最小公倍数。
在本申请实施例中,调度规划信息具体设置为调度表,图3示例性地展示了一种调度表。
如图3所示,报文节点A、B、C的最大公约周期为100毫秒,即基本周期为100毫秒;最小公倍周期为400毫秒,通过最小公倍周期除以最大公约周期得到存在4个潜在碰撞点,即100毫秒、200毫秒、300毫秒、400毫秒时,会出现至少两个报文数据同时发送的情况。在检查潜在碰撞点后发现,仅200毫秒和400毫秒存在碰撞,因此在200毫秒和400毫秒时间点构建两张调度表。调度定时器设置为400毫秒。这些调度表会存储在各个报文节点中。
在本申请实施例中,调度表1中各个周期报文数据的顺序通过标识符的大小决定,标识符越小,优先级越高,位于调度表中的前序。
在本申请实施例中,定时器均利用晶振作为稳定的振荡源,为定时器提供可靠的时钟信号,从而实现精确的时间测量、计时和周期性操作。
S202:调用调度定时器计时,根据调度定时器计时的时间以及存储的调度规划信息判断当前是否处于调度发送状态,若是,执行S203;若不是,执行S207。
在本申请实施例中,调度定时器的时间如果和调度表所在的时间点重合,那么当前时间点就处于该调度表1的调度发送状态。
举个例子,调度表1所在的时间点为200毫秒,当调度定时器的时间为200毫秒时,此时出现碰撞的A、B报文节点的三个周期报文数据就会按照调度表1中的顺序进行发送。
S203:根据调度规划信息中的预设发送次序判断第一报文节点待发送的周期报文数据是否是位于第一位的报文数据,若是,执行S204;若不是,执行S205。
S204:第一报文节点向车载总线发送第一抢占数据,并执行S207。
在本申请实施例中,第一抢占数据实际上配置为抢占帧,抢占帧主要用于为需要优先发出的报文数据获得车载总线通信权,是标识符为0x01-0x09随机产生的一帧数据场长度为4的报文数据,一种可能的格式见附图4。
在实施例中,数据场字节1的低4位和数据场字节2、数据场字节3、数据场字节4用于表示抢占帧针对的标识符(支持29位扩展标识符),数据场字节1的高4位表示可以用于表示功能扩展,当高位等于0,则表示该抢占帧为调度表的抢占帧,后3位表示调度表索引,索引值共有8个,当调度表超过8个时,会循环利用8个索引值。例如调度表1的第一帧报文数据的标识符为0x301,那么开始调度表1的抢占帧的数据场字节为0x00 0x00 0x03 0x01。
需要特别说明的是,本申请是实施例以及图2中的车载总线周期报文处理方法流程仅展示了第一报文节点一端的操作流程,实际上,第一报文节点向车载总线发送抢占帧,仅表示第一报文节点待发送的周期报文数据在参与总线优先权的竞争,但是车载总线一端可能接收到多个抢占帧,多个抢占帧之间也可能发生冲突,第一报文节点发送的抢占帧也可能竞争失败,车载总线如何对上述问题进行解决,记载在后文的车载总线混合报文处理方法中,在此不做赘述。
S205:在检测到位于预设发送次序中第一位的周期报文数据已经发送至车载总线后,同步调度定时器的时间为第一位的周期报文数据发送的时间,同步完成后执行S206。
在一种可能的实施方式中,由于调度表存储在各个报文节点中,且基于CAN总线的特性,各个报文节点会检测车载总线上的报文数据,因此,各个报文节点都可以获取当前发送给车载总线的报文数据。
在本申请实施例中,调度定时器依赖节点时间的同步,每个报文节点的时基可能存在偏差,为了消除上述偏差,在每次调度表的抢占帧时间点实现一次时间同步,也就是说每次时间同步都是调度表第一帧报文发送节点的时间。例如调度表1的抢占帧由报文节点A发出后,报文节点B和C会调整调度定时器的当前值为200毫秒。
S206:在检测预设发送次序中位于前序的周期报文数据发送完毕后,执行S207。
在一种可能的实施例中,在调度表中第一帧周期报文数据对应的报文节点发送抢占帧和周期报文数据时,其他报文数据处于等待状态,当第一个周期报文数据发送完毕后,发送下一个报文数据,以此类推,直到调度表中最后一个周期报文数据发出。
本申请实施例中,调定时器启动后200ms,调度表1的标识符为0x301的第一个周期报文数据的发送节点A发送抢占帧,之后报文节点A首先发送标识符为0x301的第一个周期报文数据,其余报文数据处于等待状态。当调度表1下一个标识符为0x302的周期报文数据的发送节点A检测到车载总线上第一个周期报文数据发送完毕后,会立即发送标识符为0x302的周期报文数据,其余报文处于等待状态。当调度表1下一个标识符为0x401的周期报文数据的发送节点B检测到车载总线上上一个周期报文数据发送完毕后,会立即发送标识符为0x401的周期报文数据,其余报文处于等待状态。
S207:第一报文节点向车载总线发送周期报文数据。
为了避免周期报文数据丢失,本申请实施例中,针对每一个周期报文数据都设置一个软定时器,每成功发送一次,就会重置自身的软定时器。
举个例子,报文节点A发送标识符为0x301的周期报文数据后,就会重置标识符为0x301的周期报文数据的软定时器。通常软定时器超时时长的值设置为该报文数据的发送周期标称值,也就是该报文数据的发送周期最大允许偏差值。比如标识符为0x301的周期报文数据的周期标称值是100毫秒,最大允许偏差值110毫秒,那么可以将该软定时器的值设置为108毫秒,软定时器设置的值取决于软定时器的精度,必须保证不会大于最大允许偏差值,因此会预留余量。
在一种可能的实施例中,当出现比如报文节点掉线的异常导致调度表中的某个报文数据无法发出,那么调度表中未发送的报文数据就会超时,为避免周期偏差过大导致视为报文数据丢失,软定时器超时的报文数据会发送抢占帧,之后将该帧报文数据发出。
在一种可能的实施例中,对掉线的报文节点,当报文节点重新上线后,如果周期软定时器超时会通过发送抢占帧发送,如果掉线的报文节点监听到调度表抢占帧,则根据抢占帧中的调度表索引号和当前车载总线上的当前报文数据判断所处的调度表,并进行时间同步,如果该报文节点掉线期间调度定时器正常运行,则报文节点正常按照调度表发送报文数据;如果该报文节点掉线期间检测到调度定时器异常,则在时间同步后的下一个调度表正常发送,期间采用抢占帧的方式进行过渡。
以下介绍本申请一种车载总线混合报文处理方法的具体实施例,图5是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图5所示,该方法应用于第一报文节点,可以包括:
S301:第一报文节点获取待发送至车载总线的突发报文数据。
S302:在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时。
在本申请实施例中,调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线,也就是处于上述的调度发送状态。
S303:在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据。
本申请实施例车载总线混合报文处理方法的应用场景为至少两个周期报文数据在按照调度表进行发送时,第一报文节点有一个突发报文数据需要发送。
在本申请实施例中,突发报文数据通常具有更高的优先级,但是如果突发报文数据的标识符大于调度表中周期报文数据的标识符,那么突发报文数据的优先级就低于周期报文数据,此时,突发报文数据就无法优先发送,如果该突发报文数据是有关安全的信息,比如刹车的指令,无法得到及时传递可能会导致严重的事故。
因此,针对每一个突发报文数据设置一个软定时器以及延迟发送时间,延迟发送时间与报文节点的种类有关,也与突发报文数据的内容有关,与安全相关的突发报文数据的延迟发送时间小。
图6是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图,由于版面原因,应当结合图7进行理解,应用于第一报文节点,该方法可以包括:
S401:第一报文节点获取待发送至车载总线的突发报文数据。
S402:第一报文节点获取当前的调度表定时器的时间点,若调度表定时器的时间点与调度表所在时间点重合,执行S403;若调度表定时器的时间点与调度表所在时间点不重合,执行S412。
在一种可能的实施例中,调度表定时器的时间点与调度表所在时间点重合表示,当前时间点有周期报文数据正在按照调度表中顺序进行发送,即处于调度发送状态;调度表定时器的时间点与调度表所在时间点不重合表示不处于调度发送状态。
S403:第一报文节点确定突发报文数据的延迟发送时间,并调用计时器计时。
S404:第一报文节点判断计时器计时的时间是否大于延迟发送时间,若是,执行S407;若不是,执行S405。
S405:第一报文节点检测车载总线上的当前报文数据。
在本申请实施例中,车载总线上的当前报文数据包括两种形式,一种是该报文数据只交付给数据链路层,实际上并未发送至车载总线,另一种是该报文数据已经在车载总线上发送完毕,在此统称为车载总线上的当前报文数据。
S406:第一报文节点判断当前报文数据是否是调度表中最后一帧周期报文数据,若是,执行S407;若不是,执行S404。
S407:第一报文节点向车载总线发送第一抢占数据。
S408:若第一报文节点接收到车载总线发送第一失败指令,等待随机时间执行S407;若没有,执行S409。
在一种可能的实施例中,第一失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级等于第二抢占数据的优先级的情况下生成。
在一种可能的实施例中,车载总线接收到的多个抢占数据可能是其他突发报文数据对应的抢占数据,也可能是调度表对应的抢占数据。
在本申请实施例中,第二抢占数据不狭义地指代一个抢占数据,而是指代与第一抢占数据不同的其他抢占数据,该第二抢占数据可能为一个,也可能为多个,在此不做限制。
在本申请实施例中,由于抢占帧的标识符是随机生成的,等待随机时间后重新生成的第一抢占数据与原始的第一抢占数据可能相同也可能不相同。
S409:若第一报文节点接收到车载总线发送第二失败指令,执行S407;若没有,执行S410。
在一种可能的实施例中,第二失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级小于第二抢占数据的优先级的情况下生成。
S410:若第一报文节点接收到车载总线发送第一成功指令,执行S412;若没有,执行S411。
在一种可能的实施例中,第一成功指令在第一抢占数据的优先级大于车载总线上的当前报文数据的优先级的情况下生成。
S411:若第一报文节点接收到车载总线发送第二成功指令,在检测到车载总线上的当前报文数据发送完毕后,执行S412。
在一种可能的实施例中,第二成功指令在车载总线上的当前报文数据的优先级大于第一抢占数据的优先级的情况下生成。
S412:第一报文节点向车载总线发送突发报文数据。
图5是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图,应用于车载总线,该方法可以包括:
S304:车载总线接收第一报文节点发送的第一抢占数据。
S305:若车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级大于第二抢占数据的优先级,向第一报文节点发送数据发送指令;数据发送指令指示第一报文节点向车载总线发送第一抢占数据对应的突发报文数据。
S306:车载总线接收第一抢占数据对应的突发报文数据。
图7是本申请实施例提供的一种车载总线混合报文处理方法的流程示意图,由于版面原因,应当结合图6进行理解,应用于车载总线,该方法可以包括:
S501:车载总线接收第一报文节点发送的第一抢占数据。
在一种可能的实施例中,第一报文节点可以为上述举例中的有突发报文数据待发送的报文节点A,在其他可能的实施例中,可以为报文节点B、C。
举个例子,报文节点A具有一帧标识符为0x311的突发报文数据并已触发,当前正处于调度表2的时间,报文节点A已发送标识符为0x302的周期报文数据,根据调度表,下一帧报文数据应该为节点B发送标识符为0x401的周期报文数据。但此时突发报文数据的软定时器已超时,因此报文节点A会发送抢占数据。由于抢占数据标识符的优先级高于标识符0x401,因此会赢得仲裁,报文节点B和C会暂停发送,随后标识符为0x311的突发报文数据发出。
对于报文节点C,当检测到标识符为0x311的突发报文数据发出时,表明突发报文数据发送完毕,当检测到标识符为0x401的周期报文数据时,表明调度表的上一帧报文数据已发出,以上两个条件都满足时,表明突发报文已经处理完成可以继续按照调度表发送标识符为0x501的周期报文数据。
S502:车载总线判断接收到的抢占数据是否为多个,若是S503,执行;若不是,执行S505。
S503:车载总线判断多个抢占数据的识别符是否相同,若是,执行S506;若不是,执行S504。
在本申请实施例中,通常当某个抢占数据发出后,其余报文节点会暂停报文数据发送,让出车载总线通信,不会发生在抢占数据标记的报文数据发送时,有其它抢占数据冲断的情况。
但是有时会出现多个抢占数据同时发送的情况,由于抢占数据本身具有标识符,可以通过标识符大小仲裁决定先后发送顺序,由于在这种情况下多个抢占数据都已交付给底层,故车载总线上所有的抢占数据都会发送,但是只有优先级最高的抢占数据有效,其余节点检测到优先级最高的抢占数据不是自己发送的之后会丢弃已经发送抢占数据的状态,待优先级最高的抢占数据标记的报文处理完成后,重新发送抢占数据。
举个例子,报文节点A、B、C同时有突发报文数据需要发送,同时发送抢占数据,节点A的抢占数据的标识符最小,优先级最高,那么当这三个节点的抢占数据都发送完毕后,由于报文节点B和C检测到优先级最高的抢占数据不是自己的抢占数据,会在报文节点A发送完抢占数据标记的报文数据后,重新发送抢占数据。
如果节点B的抢占数据报文标识符最小,那么当节点BC的抢占数据都发送完毕后,报文节点C会在报文节点B的抢占数据标记的报文数据发送完毕后,再重新发送抢占数据。
需要特别说明的是,由于每次重新发送抢占数据都是新的车载总线竞争,因此此时可能还会有新的抢占数据发送到车载总线。
在本申请实施例中,由于抢占数据的标识符是随机值,可能存在同时发送的抢占数据标识符相同,那么通信各方会认为自己都仲裁成功,同时开始发送报文数据。由于在车载通信中显性位会覆盖隐性位,发送隐性位的节点会检测到位错误,并发送错误帧,导致当前车载总线上发送的所有报文数据都失败,一般在控制器局域网中底层会自动重发没有发送成功的报文数据,但是这也可能导致同时重发,重复引发上述错误,直到引起节点Bus-off。
因此,本申请实施例中,车载总线接收到抢占数据时,会通过检测底层错误标识寄存器的方式判断同时发送的抢占数据标识符是否相同。如果将抢占数据交付给底层后,在收到底层返回的发送成功之前,检测到错误,则直接禁用底层收发器的发送功能,并在随机等待0-64微秒之后重新使能。如果重新使能后仍然存在碰撞,重复上述过程,直到消除碰撞。
需要说明的是,事实上由于抢占数据的标识符相同在随机等待一轮以后仍然碰撞的概率非常低,在实践中通常一个网段为10-20个节点。如果一个网段30个节点计算,30个节点同时发送抢占数据,那么相同的最大概率是有4个报文节点的标识符相同,在这种情况下,4个报文节点随机等待0-64微秒之后仍存在相同的等待时间的概率为4.7%,所以即使出现抢占数据的标识符相同,绝大部分情况只需要等待一轮。
S504:车载总线判断多个抢占数据中第一抢占数据的优先级是否大于第二抢占数据的优先级,若是,执行S505;若不是,执行S507。
S505:车载总线判断第一抢占数据的优先级是否大于车载总线上的当前报文数据,若是,执行S508;若不是,执行S509。
S506:车载总线向第一报文节点发送第一失败指令。
在一种可能的实施例中,第一失败指令指示第一报文节点等待随机时间后,向车载总线重新发送第一抢占数据。
S507:车载总线向第一报文节点发送第二失败指令。
在一种可能的实施例中,第二失败指令指示第一报文节点在检测到车载总线上的第二抢占数据发送完成后,向车载总线重新发送第一抢占数据。
S508:车载总线向第一报文节点发送第一成功指令。
在一种可能的实施例中,第一成功指令指示第一报文发送节点向车载总线发送第一抢占数据对应的突发报文数据。
S509:车载总线向第一报文节点发送第二成功指令。
在一种可能的实施例中,第二成功指令指示第一报文发送节点在检测到车载总线上的当前报文数据发送完毕后,向车载总线发送第一抢占数据对应的突发报文数据。
在本申请实施例中,报文节点B由于已经将标识符为0x401周期报文数据交付给数据链路层,故抢占数据发送完毕后会标识符为0x401周期报文数据仍会重新参与车载总线竞争,这属于底层行为,也就是说,报文节点A还是会与报文节点B进行仲裁,标识符为0x311的突发报文数据最晚延迟一个报文发送。
在一种可能的实施例中,对于标识符为0x311的突发报文数据,如果优先权大于标识符为0x401的周期报文数据,赢得仲裁,会直接在抢占数据之后发送,如果优先权小于标识符为0x401的周期报文数据,没有赢得仲裁,也只会延迟一个周期报文数据发送,报文节点C此时不会发送标识符为0x501的周期报文数据。
S510:车载总线接收第一抢占数据对应的突发报文数据。
本申请实施例中的车载总线混合报文处理方法采用单独的软件模块实现,位于数据链路层之上,对于上层应用,也就是报文节点无感。
其中,参见图8所示,包括调度表管理模块、定时器组模块、发送缓存模块和异常处理模块四个部分。
在一种可能的实施例中,调度表管理模块实现报文节点存储的各个调度表的调用,以及调度表的同步,定时器组模块包括调度定时器以及软定时器。发送缓存用于存储报文节点交付的报文数据,并根据调度表或异常处理的结果交付给底层发送,异常处理包括上文中的抢占数据冲突、节点掉线等异常情况。
本申请实施例还提供了一种车载总线混合报文处理装置,图9是本申请实施例提供的一种车载总线混合报文处理装置的结构示意图,如图9所示,该装置包括:
获取模块601,用于获取待发送至车载总线的突发报文数据。
计时模块602,用于在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线。
发送模块603,用于在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据。
在一种可选的实施方式中,该装置还包括:
第一发送模块,用于若接收到车载总线发送的第一失败指令时,等待随机时间后重新向车载总线发送第一抢占数据。
第一失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级等于第二抢占数据的优先级的情况下生成。
在一种可选的实施方式中,该装置还包括:
第二发送模块,用于若接收到车载总线发送的第二失败指令时,在检测到车载总线上的第二抢占数据发送完成后,重新向车载总线发送第一抢占数据;
第二失败指令在车载总线接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级小于第二抢占数据的优先级的情况下生成。
在一种可选的实施方式中,该装置还包括:
第三发送模块,用于若接收到车载总线发送的第一成功指令时,向车载总线发送突发报文数据。
第一成功指令在第一抢占数据的优先级大于车载总线上的当前报文数据的优先级的情况下生成。
在一种可选的实施方式中,该装置还包括:
第四发送模块,用于若接收到车载总线发送的第二成功指令时,在检测到车载总线上的当前报文数据发送完毕后,向车载总线发送突发报文数据。
第二成功指令在车载总线上的当前报文数据的优先级大于第一抢占数据的优先级的情况下生成。
在一种可选的实施方式中,该装置还包括:
第五发送模块,用于在调度规划信息指示当前不存在发送至车载总线的周期报文数据的情况下,向车载总线发送突发报文数据。
在一种可选的实施方式中,该装置还包括:
检测模块,用于检测车载总线上的当前报文数据;
第五发送模块,用于若计时器计时的时间小于或等于延迟发送时间,且调度规划信息指示当前报文数据是位于预设发送次序中的最后一位的周期报文数据时,在当前报文数据发送完毕后,发送突发报文数据。
本申请实施例还提供了一种车载总线混合报文处理装置,图10是本申请实施例提供的一种车载总线混合报文处理装置的结构示意图,如图10所示,该装置包括:
第一接收模块701,用于接收第一报文节点发送的第一抢占数据。
发送模块702,用于若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级大于第二抢占数据的优先级,向第一报文节点发送数据发送指令;数据发送指令指示第一报文节点向车载总线发送第一抢占数据对应的突发报文数据。
第二接收模块703,用于接收第一抢占数据对应的突发报文数据。
在一种可选的实施方式中,该装置还包括:
第一发送模块,用于若接收到的抢占数据为一个,向第一报文节点发送数据发送指令。
在一种可选的实施方式中,该装置还包括:
第二发送模块,用于若第一抢占数据的优先级大于车载总线上的当前报文数据的优先级时,向第一报文节点发送第一成功指令;第一成功指令指示第一报文发送节点向车载总线发送第一抢占数据对应的突发报文数据;或者;若第一抢占数据的优先级小于车载总线上的当前报文数据的优先级时,向第一报文节点发送第二成功指令;第二成功指令指示第一报文发送节点在检测到车载总线上的当前报文数据发送完毕后,向车载总线发送第一抢占数据对应的突发报文数据。
在一种可选的实施方式中,该装置还包括:
第三发送模块,用于若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级等于第二抢占数据的优先级,向第一报文节点发送第一失败指令。
第一失败指令指示第一报文节点等待随机时间后,向车载总线重新发送第一抢占数据。
在一种可选的实施方式中,该装置还包括:
第四发送模块,用于若接收到的抢占数据为多个,且接收到的抢占数据中,第一抢占数据的优先级小于第二抢占数据的优先级,向第一报文节点发送第二失败指令。
第二失败指令指示第一报文节点在检测到车载总线上的第二抢占数据发送完成后,向车载总线重新发送第一抢占数据。
本申请实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图11是本申请实施例提供的一种车载总线混合报文处理方法的服务器的硬件结构框图。如图11所示,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)810(处理器810可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器830,一个或一个以上存储应用程序823或数据822的存储介质820(例如一个或一个以上海量存储设备)。其中,存储器830和存储介质820可以是短暂存储或持久存储。存储在存储介质820的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器810可以设置为与存储介质820通信,在服务器800上执行存储介质820中的一系列指令操作。服务器800还可以包括一个或一个以上电源860,一个或一个以上有线或无线网络接口80,一个或一个以上输入输出接口840,和/或,一个或一个以上操作系统821,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口840可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器800的通信供应商提供的无线网络。在一个实例中,输入输出接口840包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口840可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器800还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
本申请的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种车载总线混合报文处理方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述车载总线混合报文处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的车载总线混合报文处理方法、装置、电子设备或存储介质的实施例可见,本申请中获取待发送至车载总线的突发报文数据;在存储的调度规划信息指示当前存在发送至车载总线的周期报文数据的情况下,确定突发报文数据的延迟发送时间,并调用计时器计时;调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且至少两个周期报文数据按照预设发送次序被发送至车载总线;在计时器计时的时间大于延迟发送时间时,向车载总线发送突发报文数据对应的第一抢占数据,通过调度和抢占机制合理发送周期报文数据和突发报文数据,结合了基于事件触发控制器局域网和基于时间触发控制器局域网的优势,同时避免各自的缺陷,使得车载网络可以实现在不明显增加成本的情况下实现消息传输的低延时、高总线利用率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种车载总线混合报文处理方法,其特征在于,应用于第一报文节点,包括:
获取待发送至车载总线的突发报文数据;
在存储的调度规划信息指示当前存在发送至所述车载总线的周期报文数据的情况下,确定所述突发报文数据的延迟发送时间,并调用计时器计时;所述调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且所述至少两个周期报文数据按照预设发送次序被发送至所述车载总线;
在所述计时器计时的时间大于所述延迟发送时间时,向所述车载总线发送所述突发报文数据对应的第一抢占数据。
2.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述向所述车载总线发送所述突发报文数据对应的第一抢占数据之后,还包括:
若接收到所述车载总线发送的第一失败指令时,等待随机时间后重新向所述车载总线发送所述第一抢占数据;
所述第一失败指令在所述车载总线接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级等于第二抢占数据的优先级的情况下生成。
3.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述向所述车载总线发送所述突发报文数据对应的第一抢占数据之后,还包括:
若接收到所述车载总线发送的第二失败指令时,在检测到所述车载总线上的第二抢占数据发送完成后,重新向所述车载总线发送所述第一抢占数据;
所述第二失败指令在所述车载总线接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级小于第二抢占数据的优先级的情况下生成。
4.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述向所述车载总线发送所述突发报文数据对应的第一抢占数据之后,还包括:
若接收到所述车载总线发送的第一成功指令时,向所述车载总线发送所述突发报文数据;
所述第一成功指令在所述第一抢占数据的优先级大于所述车载总线上的当前报文数据的优先级的情况下生成。
5.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述向所述车载总线发送所述突发报文数据对应的第一抢占数据之后,还包括:
若接收到所述车载总线发送的第二成功指令时,在检测到所述车载总线上的当前报文数据发送完毕后,向所述车载总线发送所述突发报文数据;
所述第二成功指令在所述车载总线上的当前报文数据的优先级大于所述第一抢占数据的优先级的情况下生成。
6.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述获取待发送至车载总线的突发报文数据之后,还包括:
在所述调度规划信息指示当前不存在发送至所述车载总线的周期报文数据的情况下,向所述车载总线发送所述突发报文数据。
7.根据权利要求1所述的一种车载总线混合报文处理方法,其特征在于,所述确定所述突发报文数据的延迟发送时间,并调用计时器计时之后,还包括:
检测所述车载总线上的当前报文数据;
若所述计时器计时的时间小于或等于所述延迟发送时间,且所述调度规划信息指示所述当前报文数据是位于所述预设发送次序中的最后一位的周期报文数据时,在所述当前报文数据发送完毕后,发送所述突发报文数据。
8.一种车载总线混合报文处理方法,其特征在于,应用于车载总线,包括:
接收第一报文节点发送的第一抢占数据;
若接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级大于第二抢占数据的优先级,向所述第一报文节点发送数据发送指令;所述数据发送指令指示所述第一报文节点向所述车载总线发送所述第一抢占数据对应的突发报文数据;
接收所述第一抢占数据对应的突发报文数据。
9.根据权利要求8所述的一种车载总线混合报文处理方法,其特征在于,所述接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为一个,向所述第一报文节点发送所述数据发送指令。
10.根据权利要求8或9所述的一种车载总线混合报文处理方法,其特征在于,所述向所述第一报文节点发送所述数据发送指令,包括:
若所述第一抢占数据的优先级大于所述车载总线上的当前报文数据的优先级时,向所述第一报文节点发送第一成功指令;所述第一成功指令指示所述第一报文发送节点向所述车载总线发送所述第一抢占数据对应的突发报文数据;或者;
若所述第一抢占数据的优先级小于所述车载总线上的当前报文数据的优先级时,向所述第一报文节点发送第二成功指令;所述第二成功指令指示所述第一报文发送节点在检测到所述车载总线上的当前报文数据发送完毕后,向所述车载总线发送所述第一抢占数据对应的突发报文数据。
11.根据权利要求8所述的一种车载总线混合报文处理方法,其特征在于,所述接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级等于第二抢占数据的优先级,向所述第一报文节点发送第一失败指令;
所述第一失败指令指示所述第一报文节点等待随机时间后,向所述车载总线重新发送所述第一抢占数据。
12.根据权利要求8所述的一种车载总线混合报文处理方法,其特征在于,所述接收第一报文节点发送的第一抢占数据之后,还包括:
若接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级小于第二抢占数据的优先级,向所述第一报文节点发送第二失败指令;
所述第二失败指令指示所述第一报文节点在检测到所述车载总线上的第二抢占数据发送完成后,向所述车载总线重新发送所述第一抢占数据。
13.一种车载总线混合报文处理装置,其特征在于,所述装置包括:
获取模块,用于获取待发送至车载总线的突发报文数据;
计时模块,用于在存储的调度规划信息指示当前存在发送至所述车载总线的周期报文数据的情况下,确定所述突发报文数据的延迟发送时间,并调用计时器计时;所述调度规划信息表征至少一个报文节点对应的至少两个周期报文数据的发送周期重叠,且所述至少两个周期报文数据按照预设发送次序被发送至所述车载总线;
发送模块,用于在所述计时器计时的时间大于所述延迟发送时间时,向所述车载总线发送所述突发报文数据对应的第一抢占数据。
14.一种车载总线混合报文处理装置,其特征在于,所述装置包括:
第一接收模块,用于接收第一报文节点发送的第一抢占数据;
发送模块,用于若接收到的抢占数据为多个,且所述接收到的抢占数据中,所述第一抢占数据的优先级大于第二抢占数据的优先级,向所述第一报文节点发送数据发送指令;所述数据发送指令指示所述第一报文节点向所述车载总线发送所述第一抢占数据对应的突发报文数据;
第二接收模块,用于接收所述第一抢占数据对应的突发报文数据。
15.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-7任一所述的车载总线混合报文处理方法和权利要求8-12任一所述的车载总线混合报文处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如权利要求1-7任一所述的车载总线混合报文处理方法和权利要求8-12任一所述的车载总线混合报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315978.2A CN117439949A (zh) | 2023-10-11 | 2023-10-11 | 车载总线混合报文处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315978.2A CN117439949A (zh) | 2023-10-11 | 2023-10-11 | 车载总线混合报文处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117439949A true CN117439949A (zh) | 2024-01-23 |
Family
ID=89550751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311315978.2A Pending CN117439949A (zh) | 2023-10-11 | 2023-10-11 | 车载总线混合报文处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117439949A (zh) |
-
2023
- 2023-10-11 CN CN202311315978.2A patent/CN117439949A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9591641B2 (en) | Method and device for scheduling slot resources | |
US10917441B2 (en) | Communications system that detects an occurrence of an abnormal state of a network | |
CN111492708B (zh) | 用户设备及其无线通信方法 | |
JP4023341B2 (ja) | 通信方法および通信端末装置 | |
EP1968247A1 (en) | Shared communication protocol for a bus system of type Controller Area Network (CAN) | |
KR102271467B1 (ko) | 데이터 프레임의 동적 우선순위 재조정을 이용한 시리얼 데이터 전송을 위한 스테이션 및 방법 | |
JP5637193B2 (ja) | 通信システム | |
US20200382597A1 (en) | Vehicle diagnostic communication apparatus, system including the same and method thereof | |
US20200274729A1 (en) | In-vehicle communication device, in-vehicle communication system and in-vehicle communication method | |
JP2018503316A (ja) | 無線ネットワークにおけるリソース割り当て | |
CN108111576B (zh) | 一种车地无线传输方法及装置 | |
KR101334017B1 (ko) | 차량 네트워크의 메시지 무결성 체크 시스템 및 방법 | |
US10250434B2 (en) | Electronic control apparatus | |
KR101714526B1 (ko) | 차량 네트워크 해킹 방지 방법 및 장치 | |
CN106603431B (zh) | 基于混合关键任务的工业无线网络数据调度方法及装置 | |
US7433354B2 (en) | Bus system for an aircraft | |
CN117439949A (zh) | 车载总线混合报文处理方法、装置、电子设备及存储介质 | |
CN111988236B (zh) | 资源抢占的方法、装置及系统 | |
CN111541771A (zh) | 物联网通信方法、装置、系统及计算机可读存储介质 | |
CN113965432B (zh) | 一种双通道can总线通信的控制系统 | |
EP3787239A1 (en) | Systems and methods for scheduling a message | |
KR101169993B1 (ko) | Csma/ca 경쟁기반 매체접근 제어 장치 및 방법 | |
JP3948330B2 (ja) | 異種ネットワーク間の相互接続装置 | |
US9775035B2 (en) | Architecture and apparatus for controller secure message processing | |
JPH09247192A (ja) | リアルタイム通信方式 |
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 |