CN115047937B - 基于实时通信的任务控制方法、装置和车辆控制系统 - Google Patents
基于实时通信的任务控制方法、装置和车辆控制系统 Download PDFInfo
- Publication number
- CN115047937B CN115047937B CN202210665962.3A CN202210665962A CN115047937B CN 115047937 B CN115047937 B CN 115047937B CN 202210665962 A CN202210665962 A CN 202210665962A CN 115047937 B CN115047937 B CN 115047937B
- Authority
- CN
- China
- Prior art keywords
- task
- controller
- time
- time synchronization
- global
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000005540 biological transmission Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002618 waking effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于实时通信的任务控制方法、装置和车辆控制系统。该方法包括:时钟控制器可以根据时钟控制器中的全局调度信息,周期性的执行时间同步任务。该时间同步任务可以用于向该车辆中的各个控制器发送时间同步请求。该时间同步请求中可以包括时间基准。任务控制器可以获取时间同步请求。任务控制器可以根据任务控制器中的全局调度信息,周期性执行时间同步任务。该时间同步任务将用于根据该时间同步请求中的时间基准,更新该任务控制器中的时钟,以获取全局时间。本申请的方法,提高逻辑链中各个任务执行的衔接精密度,减少不必要的时延,提高该车辆中各个控制逻辑的执行效率。
Description
技术领域
本申请涉及电子电器领域,尤其涉及一种基于实时通信的任务控制方法、装置和车辆控制系统。
背景技术
车辆中可以设置有多个控制器(Electronic Control Unit,ECU)。不同的ECU用于实现该车辆中不同的车载装置的控制。例如,该车辆中的ECU可以包括用于刹车控制器、外部环境监控控制器、电池管理控制器、内部环境管理控制器等。
目前,车辆中各个ECU的执行通常独立地按照各自的任务执行周期执行其对应的任务。当该车辆中存在一个包括多个ECU的逻辑链完成目标功能时,该逻辑链中的上一个ECU中的输出信息将作为下一个ECU的输入数据被使用,各个ECU仍然按照其各自的任务执行周期执行任务。
在该完成目标功能过程中,如果车辆的逻辑链中的各个ECU中的时钟存在偏差,则容易使该逻辑链中的各个ECU的任务执行周期发生漂移,进而导致该逻辑链中上一个ECU对下一个ECU的输出信息发生时延的问题。
发明内容
本申请提供一种基于实时通信的任务控制方法、装置和车辆控制系统,用以解决现有技术中各个ECU之间的逻辑处理存在时延的问题。
第一方面,本申请提供一种基于实时通信的任务控制方法,应用于车辆的任务控制器,包括:
获取时间同步请求,所述时间同步请求由所述车辆中的时钟控制器发送到所述任务控制器中;
根据所述任务控制器中的全局调度信息,确定所述任务控制器中时间同步任务的执行周期;
根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于根据所述时间同步请求中的时间基准更新所述任务控制器中的时钟,以获取全局时间。
可选地,所述根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,具体包括:
根据所述时间同步任务的执行周期和所述全局时间,周期性唤醒所述任务控制器中所述时间同步任务的时间同步线程;或者,根据所述时间同步任务的执行周期和所述全局时间,周期性在所述任务控制器中创建所述时间同步任务的时间同步线程;
使用所述时间同步线程对所述时间同步请求进行处理,以更新所述任务控制器中的时钟,使所述任务控制器具有全局时间;
当所述时间同步任务执行完成时,控制所述任务控制器中所述时间同步线程进入休眠状态;或者,释放所述任务控制器中所述时间同步线程。
可选地,所述车辆包括多个任务控制器,每一所述任务控制器中均配置有基于所述全局时间的全局调度信息,每一所述任务控制器根据所述全局调度信息配置的任务执行时间执行目标任务。
可选地,所述多个任务控制器包括执行第一任务的第一控制器和执行第二任务的第二控制器,其中,所述第一任务在所述第二任务之前执行;所述方法,还包括:
所述第一控制器通过实时通信网络,以全局调度信息中的预设时延,将所述第一任务的任务执行结果相关的待处理报文发送到所述第二控制器,以使所述第二控制器利用所述待处理报文执行所述第二任务。
可选地,所述全局调度信息的任务执行时间中至少包括任务发送时间和任务接收时间;所述方法,包括:
所述第一控制器在所述第一控制器的所述任务发送时间将所述待处理报文发送到所述实时通信网络;
所述第二控制器在所述第二控制器的所述任务接收时间从所述实时通信网络获取所述待处理报文;
其中,所述第一控制器的所述任务发送时间和所述第二控制器的所述任务接收时间之间的时间差形成所述预设时延。
可选地,所述预设时延包括等待所述待处理报文进入所述实时通信网络进行传输前的第一缓冲时长、所述待处理报文在所述实时通信网络中完成数据传输的报文传输时长和第二控制器从所述实时通信网络获取待处理报文执行第二任务前的第二缓冲时长。
可选地,所述方法,还包括:
获取并解析存储于所述任务控制器中的调度表文件,得到所述任务控制器的所述全局调度信息,所述全局调度信息中包括所述任务控制器中各个任务的执行周期。
第二方面,本申请提供一种基于实时通信的任务控制方法,应用于车辆的时钟控制器,包括:
根据所述时钟控制器中的全局调度信息,确定所述时钟控制器中时间同步任务的执行周期;
根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于将包括时间基准的时间同步请求发送到所述车辆的各个控制器中,以使各个所述控制器获取全局时间。
可选地,所述根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,具体包括:
根据所述时间同步任务的执行周期,周期性唤醒时间同步线程;或者,根据所述时间同步任务的执行周期,周期性创建时间同步线程;
使用所述时间同步线程,向所述车辆的各个控制器发送时间同步请求,以使所述车辆的各个所述控制器根据所述时间同步请求中的时间基准获取全局时间。
可选地,所述时间基准根据所述时钟控制器中的时间确定。
第三方面,本申请提供一种基于实时通信的任务控制装置,应用于该车辆的任务控制器,包括:
获取模块,用于获取时间同步请求,所述时间同步请求由所述车辆中的时钟控制器发送到所述任务控制器中;
处理模块,用于根据所述任务控制器中的全局调度信息,确定所述任务控制器中时间同步任务的执行周期;根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于根据所述时间同步请求中的时间基准更新所述任务控制器中的时钟,以获取全局时间。
可选地,所述处理模块,具体用于:
根据所述时间同步任务的执行周期和所述全局时间,周期性唤醒所述任务控制器中所述时间同步任务的时间同步线程;或者,根据所述时间同步任务的执行周期和所述全局时间,周期性在所述任务控制器中创建所述时间同步任务的时间同步线程;
使用所述时间同步线程对所述时间同步请求进行处理,以更新所述任务控制器中的时钟,使所述任务控制器具有全局时间;
当所述时间同步任务执行完成时,控制所述任务控制器中所述时间同步线程进入休眠状态;或者,释放所述任务控制器中所述时间同步线程。
可选地,所述车辆包括多个任务控制器,每一所述任务控制器中均配置有基于所述全局时间的全局调度信息,每一所述任务控制器根据所述全局调度信息配置的任务执行时间执行目标任务。
可选地,所述多个任务控制器包括执行第一任务的第一控制器和执行第二任务的第二控制器,其中,所述第一任务在所述第二任务之前执行;所述处理模块,还用于:
所述第一控制器通过实时通信网络,以全局调度信息中的预设时延,将所述第一任务的任务执行结果相关的待处理报文发送到所述第二控制器,以使所述第二控制器利用所述待处理报文执行所述第二任务。
可选地,所述全局调度信息的任务执行时间中至少包括任务发送时间和任务接收时间;所述处理模块,用于:
所述第一控制器在所述第一控制器的所述任务发送时间将所述待处理报文发送到所述实时通信网络;
所述第二控制器在所述第二控制器的所述任务接收时间从所述实时通信网络获取所述待处理报文;
其中,所述第一控制器的所述任务发送时间和所述第二控制器的所述任务接收时间之间的时间差形成所述预设时延。
可选地,所述预设时延包括等待所述待处理报文进入所述实时通信网络进行传输前的第一缓冲时长、所述待处理报文在所述实时通信网络中完成数据传输的报文传输时长和第二控制器从所述实时通信网络获取待处理报文执行第二任务前的第二缓冲时长。
可选地,所述获取模块,还用于:
获取并解析存储于所述任务控制器中的调度表文件,得到所述任务控制器的所述全局调度信息,所述全局调度信息中包括所述任务控制器中各个任务的执行周期。
第四方面,本申请提供一种基于实时通信的任务控制装置,应用于该车辆的时钟控制器,包括:
处理模块,用于根据所述时钟控制器中的全局调度信息,确定所述时钟控制器中时间同步任务的执行周期;
所述处理模块,还用于根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于将包括时间基准的时间同步请求发送到所述车辆的各个控制器中,以使各个所述控制器获取全局时间。
可选地,所述处理模块,具体用于:
根据所述时间同步任务的执行周期,周期性唤醒时间同步线程;或者,根据所述时间同步任务的执行周期,周期性创建时间同步线程;
使用所述时间同步线程,向所述车辆的各个控制器发送时间同步请求,以使所述车辆的各个所述控制器根据所述时间同步请求中的时间基准获取全局时间。
可选地,所述时间基准根据所述时钟控制器中的时间确定。
第五方面,本申请提供一种任务控制器,包括:存储器和处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的基于实时通信的任务控制方法。
第六方面,本申请提供一种时钟控制器,包括:存储器和处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第二方面及第二方面任一种可能的设计中的基于实时通信的任务控制方法。
第七方面,本申请提供一种车辆控制系统,所述车辆控制系统中包括多个设置于车辆内部的控制器,所述控制器之间通过实时通信网络通信连接;其中,所述控制器中包括至少一个如第五方面及第五方面任一种可能的设计中的任务控制器和一个第七方面及第七方面任一种可能的设计中的时钟控制器。
第八方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当控制器的至少一个处理器执行该计算机程序时,应用于车辆的任务控制器执行第一方面及第一方面任一种可能的设计中的基于实时通信的任务控制方法,以及应用于车辆的时钟控制器执行第二方面及第二方面任一种可能的设计中的基于实时通信的任务控制方法。
第九方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当控制器的至少一个处理器执行该计算机程序时,应用于车辆的任务控制器执行第一方面及第一方面任一种可能的设计中的基于实时通信的任务控制方法,以及应用于车辆的时钟控制器执行第二方面及第二方面任一种可能的设计中的基于实时通信的任务控制方法。
本申请提供的基于实时通信的任务控制方法,通过获取时钟控制器通过时间同步任务发送的时间同步请求,该时间同步请求中包括根据该时钟控制器确定的时间基准;根据任务控制器中的全局调度信息,确定任务控制器中时间同步任务的执行周期;根据时间同步任务的执行周期,周期性执行时间同步任务,该时间同步任务将用于根据该时间同步请求中的时间基准,更新该任务控制器中的时钟,以获取全局时间的手段,实现全局时间的获取,确保了该车辆中逻辑链上的各个控制器具有相同的全局时间,提高逻辑链中各个任务执行的衔接精密度,减少不必要的时延,提高该车辆中各个控制逻辑的执行效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的现有技术的任务执行示意图;
图2为本申请一实施例提供的一种车辆控制场景示意图;
图3为本申请一实施例提供的一种基于实时通信的任务控制方法的信令交互图;
图4为本申请一实施例提供的一种现有技术的任务执行示意图;
图5为本申请一实施例提供的一种任务执行示意图;
图6为本申请一实施例提供的一种基于实时通信的任务控制装置的结构示意图;
图7为本申请一实施例提供的一种基于实时通信的任务控制装置的结构示意图;
图8为本申请一实施例提供的一种任务控制器的硬件结构示意图;
图9为本申请一实施例提供的一种时钟控制器的硬件结构示意图;
图10为本申请一实施例提供的一种车辆控制系统的结构示意图;
图11为本申请一实施例提供的一种任务执行示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
车辆中可以设置有多个控制器(Electronic Control Unit,ECU)。不同的ECU用于实现该车辆中不同的车载装置的控制。例如,该车辆中的ECU可以包括刹车控制器、外部环境监控控制器、电池管理控制器、内部环境管理控制器等。目前,车辆中各个ECU的执行通常独立地周期性地执行其对应的任务。例如,用于外部环境监控的监控控制器可以根据预设周期周期性的执行信息采集任务。该信息采集任务用于周期性的获取外部环境的采样信息。又如,用于控制刹车执行器的刹车控制器可以根据预设周期周期性的执行刹车决策任务,刹车决策任务用于周期性的获取待处理数据,并根据待处理数据判断是否需要执行刹车操作。当需要执行刹车操作时,该刹车控制器可以控制刹车执行器执行刹车操作。
该车辆中的多个ECU之间还可能存在关联。例如,刹车控制器获取的待处理数据可以为监控控制器采集得到的采样信息。当多个控制器中的任务可以组合完成一个目标功能时,该多个控制器组成一个逻辑链。每一个逻辑链通常对应于一个目标功能。例如,监控控制器和刹车控制器组成一个逻辑链。在该逻辑链上,目标功能为执行刹车操作。监控控制器在执行信息采集任务采集得到外部环境信息的采样信息后,可以将该采样信息发送到刹车控制器。刹车控制器可以在执行刹车决策任务时,可以根据监控控制器提供的采样信息判断是否需要执行刹车操作。当刹车控制器决策需要执行刹车操作时,刹车控制器可以向刹车执行器发送控制指令,以执行刹车操作。
在车辆中,各个ECU中各个任务的执行通常是相互独立的。每一ECU中均可以存储有调度表文件,调度表文件配置有完成目标功能的全局调度信息。该调度表文件中可以包括该ECU的各个任务的执行周期。例如,监控控制器可以根据其调度表文件确定信息采集任务的执行周期,并通过周期性的执行该信息采集任务得到采样信息。该监控控制器可以在得到该采样信息后,将该采样信息发送到刹车控制器。刹车控制器可以根据其调度表文件确定刹车决策任务的执行周期,并周期性的执行刹车决策任务。当该刹车决策任务开始执行时,该刹车决策任务可以获取该刹车控制器获取到的采样信息(即监控控制器执行任务的结果),并根据该采样信息判断是否需要执行刹车操作。当多个控制器处于同一逻辑链时,该多个控制器中各个任务的执行,仍根据其调表文件中的执行周期执行。例如,当刹车控制器中刹车决策任务的执行周期为每500毫秒一次时,该刹车控制器可以在第0毫秒、第500毫秒、第1000毫秒等时刻执行该刹车决策任务。当该刹车控制器在第700毫秒时获取到采样信息时,该刹车控制器接收该采样信息。但是,由于该第700毫秒时,该刹车控制器的第二次刹车决策任务已经开始执行。因此,该第二次刹车决策任务不会对该采样信息进行处理。该采样信息将在第1000毫秒开始的第三次刹车决策任务开始执行时,被该刹车决策任务从该刹车控制器中获取并处理。又如,如图1所示,该逻辑链中可以包括ECU1、ECU2和ECU3三个ECU。当ECU1的事件被触发后,该ECU1将发送事件信息到ECU2。该ECU2可以对该事件信息进行处理,进而生成中间信息。该ECU2可以将该中间信息发送给ECU3。ECU3可以对该中间信息进行处理,生成控制指令。该控制指令将用于控制对应的执行器执行对应的操作。当该ECU3完成对该中间信息进行处理时,该车辆完成该事件的处理,即完成目标功能。
在现有技术中,车辆中相互独立不仅包括任务的执行周期相互,还包括各个ECU中的时钟。目前,每一个ECU中均包括一个时钟。各个ECU可以根据其调度表文件确定各个任务的触发时刻。各个ECU可以使用其时钟,在触发时刻触发对应的任务。在该情况下,一旦ECU中的时钟出现异常,则该ECU中任务的执行周期将发生异常。例如,当该ECU中的时钟出现异常且走速过快时,该ECU的时钟走完500毫秒可能实际只花费450毫秒。则该ECU的任务实际执行周期将变成450毫秒。该问题的存在将导致该ECU的任务执行周期发生漂移。当该ECU处于逻辑链中时,该执行周期的漂移容易导致该ECU在获取其他ECU发送的信息的时间与其任务的执行时刻无法吻合。以及,该ECU向其他ECU发送信息的时间将与其他ECU的任务的执行时刻无法吻合。该情况将进一步导致任务执行出现时延,且该ECU之间时钟不同步导致的时延存在难以估算的问题。此外,ECU之间数据传输时产生的不稳定时延,同样容易导致任务执行出现时延。
针对上述问题,本申请引入了全局时间、基于全局时间的全局调度信息和实时通信网络。其中,该实时通信网络可以通过时间敏感型网络(Time Sensitive Network,TSN)实现。该全局时间的使用,可以保证该车辆中全部的ECU具有相同的时间基准,从而避免ECU的任务执行周期漂移。并且,为了进一步提高时间同步效果,该TSN技术在车辆的电子电气架构中的使用,使该车辆的各个ECU之间的通信具有稳定的传输时延。基于该TSN技术的使用相当于在以太网中引入了全局同步机制,可以提高数据传输的确定性和时间同步性,有效减小整车端到端时延,为自动驾驶技术提供高性能的端到端响应性能。如图1可以发现,当使用了TNS技术时,可以保证ECU之间的通信时间为固定时长。并且,该固定时长的设置可以在一定程度上保证该逻辑链上的下一个ECU可以在接收到上一个ECU的信息后开始执行。因此,该TSN技术的使用实现了整车层面的确定性的端到时延的获取,提高了该车辆的ECU的逻辑链中任务的处理效率。
为了实现全局时间的设置,本申请提出了一种设置有全局时间和全局调度表文件的基于实时通信的任务控制方法。本申请中,车辆中可以设置有一个时钟控制器。该时钟控制器可以是一个物理上独立的控制器。或者,该时钟控制器可以是一个软件层面独立的控制器。当该时钟控制器为软件层面独立的控制器时,该时钟控制器可以与一个任务控制器集成在一个。该时钟控制器用于周期性的向该车辆中的各个任务控制器发送包含时间基准的时间同步请求。各个任务控制器可以根据该时间同步请求获取全局时间,从而实现各个任务控制器的时间的统一。当该车辆中各个任务控制器中的时间被统一后,逻辑链上的多个任务控制器在根据全局调度信息执行任务时,各个任务控制器的任务执行时间将紧密衔接,从而减少不必要的时延。其中,任务控制器可以在第一次启动时,获取并解析调度表文件后,得到全局调度信息。任务控制器可以根据该全局调度信息,完成全局任务线程的注册。该车辆中的各个任务控制器还可以使用完成同步时钟,建立高精度的定时器。该定时器将用于周期性触发任务的执行。该车辆中的各个任务控制器还可以通过管理各任务的优先级,保证每一控制器中正在执行的任务能得到足够的资源。此外,该车辆中的各个任务控制器还可以在不需要启动任务时,主动休眠该任务的进程或者释放该任务的进程,以降低CPU的占用率。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2示出了本申请一实施例提供的一种车辆控制场景示意图。如图2所示,举例了该车辆中的一个逻辑链上的两个任务控制器。该两个任务控制器分别为用于获取外部环境信息的摄像头控制器和用于生成刹车指令的刹车控制器。其中,摄像头控制器和刹车控制器中可以分别包括操作系统、应用程序、任务调度器、全局调度表文件四个部分。其中,操作系统用于实现该摄像头控制器和刹车控制器的正常运行。应用程序中可以包括该任务控制器中需要执行的多个任务。例如,摄像头控制器中可以包括摄像头曝光任务,刹车控制器中可以包括刹车决策任务。一个任务即为该应用程序中的一个函数。一个任务在该操作系统中可以通过一个线程实现。该全局调度表文件中包括该任务控制器中的每个任务的执行周期或者触发时间。当任务控制器中的任务调度器解析调度表文件中的信息后,可以确定该任务控制器中的任务的执行周期或者触发时间。当到达启动某个任务的时间点时,任务调度器可以启动该任务的线程。任务控制器之间还可以包括以太网。该以太网用于实现任务控制器之间报文的传送。例如,当摄像头控制的摄像头曝光任务完成照片的拍摄后,该摄像头曝光任务可以将该照片以报文的形式发送到以太网中。以太网可以通过网关、数据线等组件,将该报文转发到刹车控制器中。其中,该以太网可以使用TSN技术或者PCIe技术实现报文的实时通信。
本申请中,以任务控制器和时钟控制器为执行主体,执行如下实施例的基于实时通信的任务控制方法。具体地,该执行主体可以为任务控制器和时钟控制器的硬件装置,或者为任务控制器和时钟控制器中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图3示出了本申请一实施例提供的一种基于实时通信的任务控制方法的信令交互图。在图1和图2所示实施例的基础上,如图3所示,以任务控制器和时钟控制器为执行主体,本实施例的方法可以包括如下步骤:
S101、时钟控制器根据时钟控制器中的全局调度信息,确定时钟控制器中时间同步任务的执行周期。
本实施例中,时钟控制器中可以包括全局调度信息。该全局调度信息中可以包括时钟控制器中各个任务的执行周期或者触发条件。该时钟控制器中至少包括时间同步任务。时钟控制器可以从该全局调度信息中获取该时间同步任务的执行周期。
一种示例中,在根据时钟控制器中的全局调度信息,确定时钟控制器中时间同步任务的执行周期之前,该时钟控制器还可以在第一次启动时获取存储于该时钟控制器内部的调度表文件。该时钟控制器可以解析该调度表文件,确定该时钟控制器需要执行的任务、每一任务的执行周期、任务优先级等信息。该时钟控制器可以解析该调度表文件该时钟控制器可以根据该调度表文件中的信息,为每一个任务建立一个定时器。一个定时器将被用于一个任务的周期性触发。
S102、时钟控制器根据时间同步任务的执行周期,周期性执行时间同步任务,时间同步任务用于将包括时间基准的时间同步请求发送到车辆的各个控制器中。
本实施例中,时钟控制器可以根据该时间同步任务的执行周期,周期性的执行该时间同步任务。该时间同步任务可以通过时间同步线程完成执行。该时间同步线程可以用于向该车辆中的其他控制器发送时间同步请求。该时间同步请求中可以包括时间基准。该时间基准可以根据该时钟控制器中的时间确定。当该车辆中的其他控制器获取该时间同步请求后,将根据该时间同步请求中的时间基准,更新其时钟,实现全局时间的获取。该全局时间实际为该时钟控制器中的时间。当该时钟控制器的时间出现异常时,该车辆中的各个控制器仍将保持统一。
一种示例中,该时间同步任务的执行过程具体可以包括如下步骤:
步骤1、时钟控制器可以根据时间同步任务的执行周期,确定每一时间同步任务的执行时刻。时钟控制器可以在每一执行时刻唤醒时间同步线程。或者,时钟控制器可以在每一执行时刻创建时间同步线程。
一种实现方式中,该时钟控制器可以在第一次启动时生成该时间同步线程。该时钟控制器可以在每一次完成该时间同步线程的执行后,控制该时间同步线程进入休眠状态。该时钟控制器可以在该时间同步任务被执行时,唤醒该时间同步线程,实现该时间同步任务的执行。
另一种实现方式中,该时钟控制器可以在每一次完成该时间同步线程的执行后,关闭该时间同步线程。该钟控制器可以在每一次执行该时间同步任务时,开启新的时间同步线程。
步骤2、时钟控制器可以使用时间同步线程,向车辆的各个控制器发送时间同步请求。该车辆中的各个控制器将根据该时间同步请求中的时间基准更新时间,并获取全局时间。
一种实现方式中,该时间同步线程可以以广播的方式向该车辆中的其他控制器发送该时间同步请求。
另一种实现方式中,该时钟控制器中可以包括该车辆中各个控制器的控制器信息。该时钟控制器可以根据每一控制器的控制器信息生成其对应的时间同步任务和时间同步请求。该时钟控制器将根据每一控制器的时间同步任务,创建或唤醒其对应的时间同步线程。该时钟控制器可以使用各个时间同步线程向其对应的控制器发送其对应的时间同步请求。
一种示例中,该时钟控制器的时间同步线程可以通过实时通信网络,以预设时延,向其他任务控制器发送该时间同步请求。该时间同步请求可以以报文的形式在该实时通信网络中进行传输。该预设时延具体可以包括三个时间段。其中,第一个时间段为等待该时间同步请求的报文进入该实时通信网络的第一缓冲时长。该时钟控制器可以在该第一缓冲时长内的任一时刻,将该时间同步请求发送到该实时通信网络中。该实时通信网络可以在第一缓冲时长之后,实现该报文的延时发送。该第一缓冲时长的设置充分考虑了该时钟控制器在将该报文发送到该实时通信网络可能出现的延迟。其中,第二个时间段为报文在实时通信网络中完成数据传输的时长。该时长可以根据报文长度和该实时通信网络的数据传输效率确定。在该车辆中,该报文具有固定的报文长度。该数据传输的时长包括该报文的第一个字节进入该实时通信网络,以及该报文的最后一个字节离开该实时通信网络。其中,第三个时间段用于在该报文完成发送后,保持该实时通信网络的静默。该第二缓冲时长的设置,可以确保接收该时间同步请求的任务控制器在该第二缓冲时长内不会接收到其他报文。该第二缓冲时长的设置,可以避免任务控制器在使用该时间同步请求执行该时间同步任务之前,其他干扰报文覆盖该时间同步请求,导致该时间同步任务执行失败。
S103、任务控制器获取时间同步请求,时间同步请求由车辆中的时钟控制器发送到任务控制器中。
本实施例中,该任务控制器可以为该车辆中除了时钟控制器以外的任一控制器。该任务控制器可以为物理上独立的控制器。或者,该任务控制器可以为软件上独立的控制器。当该任务控制器为软件上独立的控制器时,该任务控制器可以与时钟控制器位于一个物理控制器上。或者,当该任务控制器为软件上独立的控制器时,该任务控制器可以与时钟控制器位于不同的物理控制器上。该任务控制器可以接受到时钟控制器发送的时间同步请求。该时间同步请求中可以包括时间基准。
S104、任务控制器根据任务控制器中的全局调度信息,确定任务控制器中时间同步任务的执行周期。
本实施例中,该任务控制器中可以包括全局调度信息。该全局调度信息中可以包括任务控制器中各个任务的执行周期或者触发条件。该任务控制器中可以包括多个任务。任务控制器可以从该全局调度信息中获取每一任务的执行周期。该多个任务中可以存在一个时间同步任务。该任务控制器可以从该全局调度信息中获取该时间同步任务的执行周期。
一种示例中,在根据任务控制器中的全局调度信息,确定任务控制器中时间同步任务的执行周期之前,该任务控制器还可以在第一次启动时获取存储于该任务控制器内部的调度表文件。该任务控制器可以解析该调度表文件,确定该任务控制器需要执行的任务、每一任务的执行周期、任务优先级等信息。该任务控制器可以解析该调度表文件该任务控制器可以根据该调度表文件中的信息,为每一个任务建立一个定时器。一个定时器将被用于一个任务的周期性触发。
S105、任务控制器根据时间同步任务的执行周期,周期性执行时间同步任务,时间同步任务用于根据时间同步请求中的时间基准更新任务控制器中的时钟,以获取全局时间。
本实施例中,该任务控制器还可以根据该时间同步任务的执行周期周期性的执行该时间同步任务。该时间同步任务的执行可以通过该时间同步线程完成。该时间同步任务用于根据步骤S103中获取的时间同步请求,更新该任务控制器中的时钟,以获取全局时间。该时钟的更新可以以该时间同步请求中的时间基准作为基准进行校对,从而实现该时钟的更新。该更新后的时钟所对应的时间即为全局时间。
当进入该时间同步任务的执行周期时,该时间同步线程被唤醒或者重新启动。该时间同步线程的启动方式与步骤S101中时钟控制器中的时间同步线程启动方式相同,此处不再赘述。
当任务控制器在第一时刻获取该时间同步请求后,该任务控制器将在第二时刻触发的时间同步任务中完成该时间同步任务的执行。其中,否则,当任务控制器没有获取该时间同步请求时,该时间同步线程将在启动后关闭。
一种示例中,该时间同步任务的执行过程具体可以包括如下步骤:
步骤1、任务控制器可以根据时间同步任务的执行周期和全局时间,确定每一时间同步任务的执行时刻。任务控制器可以在每一执行时刻唤醒时间同步线程。或者,任务控制器可以在每一执行时刻创建时间同步线程。
一种实现方式中,该任务控制器可以在第一次启动时生成该时间同步线程。该任务控制器可以在每一次完成该时间同步线程的执行后,控制该时间同步线程进入休眠状态。该任务控制器可以在该时间同步任务被执行时,唤醒该时间同步线程,实现该时间同步任务的执行。
另一种实现方式中,该任务控制器可以在每一次完成该时间同步线程的执行后,关闭该时间同步线程。该钟控制器可以在每一次执行该时间同步任务时,开启新的时间同步线程。
步骤2、任务控制器可以使用时间同步线程对时间同步请求进行处理,以更新任务控制器中的时钟,使任务控制器具有全局时间。
本步骤中,任务控制器可以在时间同步线程被启动后,对该任务控制器中的时钟进行校对处理。校对完成后的时钟将拥有全局时间。该全局时间的时间基准为时钟控制器的时间。当该车辆的全部任务控制器完成该时间同步任务后,该车辆中的全部任务控制器将具有相同的全局时间。使用本申请的方式进行时间同步时,即便时钟处理器中的时间发生偏差,该车辆中各个任务控制器的时间将与该时钟处理器保持一致。该保持一致的时间仍然可以避免不同控制器的不同时间偏差导致的时延稳定的问题。需要注意的是,当步骤S103的执行时间可以为第一时刻,该步骤S105的执行时刻为第二时刻时,第二时刻为第一时刻之后最近的时间同步任务的触发时刻。当该时间同步线程启动后,如果该时间同步线程没有检测到该时间同步请求,则该时间同步线程将确定该时间同步任务执行完成。
步骤3、任务控制器可以在时间同步任务执行完成时,控制任务控制器中时间同步线程进入休眠状态;或者,任务控制器可以在时间同步任务执行完成时,释放任务控制器中时间同步线程。
本申请提供的基于实时通信的任务控制方法,时钟控制器可以根据时钟控制器中的全局调度信息,确定时钟控制器中时间同步任务的执行周期。时钟控制器可以根据该时间同步任务的执行周期,周期性的执行该时间同步任务。该时间同步任务可以通过时间同步线程完成执行。该时间同步线程可以用于向该车辆中的各个控制器发送时间同步请求。该时间同步请求中可以包括时间基准。任务控制器可以获取时间同步请求。任务控制器可以根据任务控制器中的全局调度信息,确定任务控制器中时间同步任务的执行周期。任务控制器根据时间同步任务的执行周期,周期性执行时间同步任务。该时间同步任务将用于根据该时间同步请求中的时间基准,更新该任务控制器中的时钟,以获取全局时间。本申请中,该车辆中的各个控制器通过获取时钟控制器发送的时间同步请求,实现全局时间的获取,确保了该车辆中逻辑链上的各个控制器具有相同的全局时间,提高逻辑链中各个任务执行的衔接精密度,减少不必要的时延,提高该车辆中各个控制逻辑的执行效率。
在上述实施例的基础上,车辆中可以包括一个时钟控制器和多个任务控制器。该时钟控制器和每一任务控制器中均配置有基于全局时间的调度表文件。该调度表文件中包括全局调度信息。该时钟控制器和每一任务控制器可以在第一次启动时获取并解析存储于该时钟控制器内部的调度表文件,得到全局调度信息。不同控制器中的全局调度信息中可以包括其对应的控制器中的各个任务的任务执行时间。时钟控制器和每一任务控制器可以根据全局调度信息配置的任务执行时间执行目标任务,在全局时间确定后,任务执行时间是基于时钟控制器的全局时间确定的,例如,全局时间为一个时间基准0,任务执行时间为0时刻后的某一时刻。
在上述实施例的基础上,本实施例中,处于逻辑链上的相邻任务控制器之间还能够通过实时通信网络,以预设时延,实现待处理报文的传输。相邻的任务控制器是为了实现目标功能,顺序执行各自多任务的控制器。在多个任务控制器中两个处于逻辑链上的相邻任务控制器可以为执行第一任务的第一控制器和执行第二任务的第二控制器,其中,第一任务在第二任务之前执行。则该第一控制器可以通过实时通信网络,将第一任务的任务执行结果相关的待处理报文发送到第二控制器。第二控制器可以在接收到待处理报文后利用该待处理报文执行第二任务。其中,该预设时延可以设置于全局调度信息中。
在一实施例中,该全局调度信息的任务执行时间中包括任务发送时间和任务接收时间。在该待处理报文的传输过程中,第一控制器在第一控制器的任务发送时间将待处理报文发送到实时通信网络。第二控制器在第二控制器的任务接收时间从实时通信网络获取待处理报文。其中,第一控制器的任务发送时间和第二控制器的任务接收时间之间的时间差形成预设时延。该预设时延至少可以包括三个时间段,即第一缓冲时长、报文传输时长以及第二缓冲时长,其中,预设时延至少为第一缓冲时长、报文传输时长以及第二缓冲时长之和。具体来说,第一个时间段为待处理报文进入该实时通信网络进行传输前的第一缓冲时长,第一缓冲时长后待处理报文在实时通信网络上进行传输,如图11中buffer1。该第一缓冲时长可以实现该报文的延时发送,第一缓冲时长的设置充分考虑了该第一控制器在将该报文发送到该实时通信网络可能出现的延迟。第二个时间段为报文在实时通信网络中完成数据传输的时长,即报文传输时长,如图11中f1。该时长可以根据报文长度和该实时通信网络的数据传输效率确定。在具体实施例中,该待处理报文具有固定的报文长度。该数据传输的时长包括该报文的第一个字节进入该实时通信网络,以及该报文的最后一个字节离开该实时通信网络。第三个时间段为该待处理报文在实时通信网络上传输后,第二控制器从实时通信网络获取该待处理报文执行第二任务前的第二缓冲时长,如图11中buffer2。该第二缓冲时长的设置,可以确保接收第二控制器在该第二缓冲时长后,执行第二任务前不会接收到其他报文进行处理。
当第一控制器为摄像头控制器,第一任务为曝光控制任务,第二控制器为刹车控制器,第二任务为刹车决策任务时,该待处理报文的发送时序图可以每一控制器的相邻两个任务发送时间之间为任务的执行周期,如图4和图5所示。其中,di用于表示第一任务的执行周期,实施例中,用于表示曝光控制任务的执行周期。其中,d1用于表示第一任务的执行时长,实施例中用于表示该曝光控制任务的执行时长。d2用于表示第二任务的执行时长,实施例中用于表示该刹车决策任务的执行时长。例如,该曝光控制任务的执行周期可以为200ms,该任务的执行时长可以为20ms。fi用于表示现有技术中第一控制器向第二控制器发送报文的以太网报文发送周期。f1用于表示第一控制器向第二控制器发送的报文在网络中的报文传输时长。该报文传输时长是指一帧报文的第一个字节进入一个网段到最后一个字节离开这个网段的时间。通常在百兆网络下,长度为1500byte的报文耗时120us,在千兆网络下长度为1500byte的报文耗时12us。
现有技术中,该报文发送任务可以如图4所示,车辆使用的为非全局调度系统。该车辆中各个任务控制器按照其固定的执行周期执行。在该情况下,端到端最坏情况下的时延可以包括:
在最坏的情况下,在摄像头控制器的曝光控制任务开始第1次执行后,该道路路面出现了障碍物,即图中外部事件出现。此时,由于该曝光控制器任务的第1次执行已经开始,因此,该摄像头控制器需要在第2次执行曝光控制任务时,该障碍物才会被捕捉到。摄像头控制器将在第2次曝光控制任务执行结束后,将拍摄到的照片转换为待处理报文并发送到网络中。该待处理报文中可以包括拍摄到的照片信息或者照片处理后的数据信息。在最坏的情况下,该待处理报文进入网络时,刚好错过网络报文的第2次发送时机。该网络报文需要在该网络中等待第3次网络报文的发送时机。因此,该待处理报文可以在第3次网络报文的发送时机时,完成该网络报文的发送。在最坏的情况下,该待处理报文被刹车控制器接收到时,该刹车控制器的第3次刹车决策任务已经开始执行。因此,该刹车控制器只能在第4次执行该刹车决策任务时对该待处理报文进行处理。由于路面出现了障碍,因此,在第4次执行该刹车决策任务后,该刹车控制器将生成刹车指令,并使用该刹车指令控制刹车执行器执行刹车操作。
即,在上述最坏的情况下,第一最坏时延D1的计算公式可以为:
D1=di+d1+fi+f1+di+d2
当执行周期di和fi均为200ms时,该最坏总时延D1将大于600ms。在自动驾驶过程中,该时延长度将容易导致交通事故的问题。
而本申请中,在通过TSN技术,实现预设时延的设定后,在与图4相同的应用场景中,其端到端最坏情况下的时延可以如图5所示:
在最坏的情况下,在摄像头控制器的曝光控制任务开始第1次执行后,该道路路面出现了障碍物,即图中外部事件出现。此时,由于该曝光控制器任务的第1次执行已经开始,因此,该摄像头控制器需要在第2次执行曝光控制任务时,该障碍物才会被捕捉到。摄像头控制器将在第2次曝光控制任务执行结束后,将拍摄到的照片转换为待处理报文并发送到网络中。该待处理报文中可以包括拍摄到的照片信息或者照片处理后的数据信息。由于网络中的预设时延中包括第一缓冲时长。因此,摄像头控制器可以在第一缓冲时长中的任意时刻将该待处理报文发送到该网络中。该第一缓冲时长即为图5中的buffer1。当完成第一缓冲时长的时延后,该网络可以将待处理报文发送到刹车控制器。由于该第一缓冲时长的设置,保证了在第2次网络报文发送时,该待处理报文已经被发送到网络中。该预设时延中还可以包括第二缓冲时长。该第二缓冲时长即为图5中的buffer2。当该网络完成该待处理报文的发送后,该网络可以通过时延的方式延迟该待处理报文的处理时长。在该待处理报文的处理时长内,该网络将无法发送其他报文。因此,该第二缓冲时长的设置,可以有效避免在该第二缓冲时长内,干扰报文被发送到刹车控制器中,从而影响刹车决策任务的执行。同时,该第二缓冲时长的设置,可以保证该第2次刹车决策任务执行时,该待处理报文已经被刹车控制器接收。因此,该预设时延的使用不仅实现了待处理报文的发送,而且保证了逻辑链上两个任务控制器的任务执行的前后时序稳定性。
在该情况下,第二最坏时延D2的计算公式可以为:
D2=di+d1+f1+d2+buffer1+buffer2
根据上述公式可以确定,第一最坏时延与第二最坏时延的差为:
D1-D2=di+fi-buffer1-buffer2
其中,buffer1和buffer的时长通常在微秒级,远小于在毫秒级的di和fi。
可见,本申请产生的最坏时延优于现有技术可能产生的最坏时延,且优化效果显著。并且,本申请通过网络的预设时延中的第一缓冲时长和第二缓冲时长,保证了该生成该待处理报文的任务与处理该待处理报文的任务的前后时序稳定性,提高了该车辆中逻辑链的目标功能的执行效率,降低了逻辑链中目标功能的执行时延。
图6示出了本申请一实施例提供的一种基于实时通信的任务控制装置的结构示意图,如图6所示,本实施例的基于实时通信的任务控制装置10应用于该车辆的任务控制器,该基于实时通信的任务控制装置10用于实现上述任一方法实施例中对应于任务控制器的操作,本实施例的基于实时通信的任务控制装置10包括:
获取模块11,用于获取时间同步请求,时间同步请求由车辆中的时钟控制器发送到任务控制器中;
处理模块12,用于根据任务控制器中的全局调度信息,确定任务控制器中时间同步任务的执行周期;根据时间同步任务的执行周期,周期性执行时间同步任务,时间同步任务用于根据时间同步请求中的时间基准更新任务控制器中的时钟,以获取全局时间。
一种示例中,处理模块12,具体用于:
根据时间同步任务的执行周期和全局时间,周期性唤醒任务控制器中时间同步任务的时间同步线程;或者,根据时间同步任务的执行周期和全局时间,周期性在任务控制器中创建时间同步任务的时间同步线程;
使用时间同步线程对时间同步请求进行处理,以更新任务控制器中的时钟,使任务控制器具有全局时间;
当时间同步任务执行完成时,控制任务控制器中时间同步线程进入休眠状态;或者,释放任务控制器中时间同步线程。
一种示例中,车辆包括多个任务控制器,每一任务控制器中均配置有基于全局时间的全局调度信息,每一任务控制器根据全局调度信息配置的任务执行时间执行目标任务。
一种示例中,多个任务控制器包括执行第一任务的第一控制器和执行第二任务的第二控制器,其中,第一任务在第二任务之前执行;处理模块12,还用于:
第一控制器通过实时通信网络,以全局调度信息中的预设时延,将第一任务的任务执行结果相关的待处理报文发送到第二控制器,以使第二控制器利用待处理报文执行第二任务。
一种示例中,全局调度信息的任务执行时间中至少包括任务发送时间和任务接收时间;处理模块12,用于:
第一控制器在第一控制器的任务发送时间将待处理报文发送到实时通信网络;
第二控制器在第二控制器的任务接收时间从实时通信网络获取待处理报文;
其中,第一控制器的任务发送时间和第二控制器的任务接收时间之间的时间差形成预设时延。
一种示例中,预设时延包括等待待处理报文进入实时通信网络进行传输前的第一缓冲时长、待处理报文在实时通信网络中完成数据传输的报文传输时长和第二控制器从实时通信网络获取待处理报文执行第二任务前的第二缓冲时长。
一种示例中,获取模块11,还用于:
获取并解析存储于任务控制器中的调度表文件,得到任务控制器的全局调度信息,全局调度信息中包括任务控制器中各个任务的执行周期。
本申请实施例提供的基于实时通信的任务控制装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图7示出了本申请一实施例提供的一种基于实时通信的任务控制装置的结构示意图,如图7所示,本实施例的基于实时通信的任务控制装置20应用于该车辆的时钟控制器,该基于实时通信的任务控制装置20用于实现上述任一方法实施例中对应于时钟控制器的操作,本实施例的基于实时通信的任务控制装置20包括:
处理模块22,用于根据时钟控制器中的全局调度信息,确定时钟控制器中时间同步任务的执行周期;
处理模块22,还用于根据时间同步任务的执行周期,周期性执行时间同步任务,时间同步任务用于将包括时间基准的时间同步请求发送到车辆的各个控制器中,以使各个控制器获取全局时间。
一种示例中,处理模块22,具体用于:
根据时间同步任务的执行周期,周期性唤醒时间同步线程;或者,根据时间同步任务的执行周期,周期性创建时间同步线程;
使用时间同步线程,向车辆的各个控制器发送时间同步请求,以使车辆的各个控制器根据时间同步请求中的时间基准获取全局时间。
一种示例中,时间基准根据时钟控制器中的时间确定。
一种示例中,装置,还包括:
获取模块21,用于获取并解析存储于时钟控制器中的调度表文件,得到时钟控制器的全局调度信息,全局调度信息中用于时钟控制器中各个任务的执行周期。
本申请实施例提供的基于实时通信的任务控制装置20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图8示出了本申请实施例提供的一种任务控制器的硬件结构示意图。如图8所示,该任务控制器30,用于实现上述任一方法实施例中对应于任务控制器的操作,本实施例的任务控制器30可以包括:存储器31,处理器32和通信接口34。
存储器31,用于存储计算机程序。该存储器31可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器32,用于执行存储器存储的计算机程序,以实现上述实施例中的基于实时通信的任务控制方法。具体可以参见前述方法实施例中的相关描述。该处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器31既可以是独立的,也可以跟处理器32集成在一起。
当存储器31是独立于处理器32之外的器件时,任务控制器30还可以包括总线33。该总线33用于连接存储器31和处理器32。该总线33可以是工业标准体系结构(IndustryStandard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
通信接口34,可以通过总线33与处理器31连接。处理器32可以控制通信接口34来实现与其他控制器之间的交互。
本实施例提供的任务控制器可用于执行上述的基于实时通信的任务控制方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图9示出了本申请实施例提供的一种时钟控制器的硬件结构示意图。如图9所示,该时钟控制器40,用于实现上述任一方法实施例中对应于时钟控制器的操作,本实施例的时钟控制器40可以包括:存储器41,处理器42和通信接口44。
存储器41,用于存储计算机程序。该存储器41可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器42,用于执行存储器存储的计算机程序,以实现上述实施例中的基于实时通信的任务控制方法。具体可以参见前述方法实施例中的相关描述。该处理器42可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器41既可以是独立的,也可以跟处理器42集成在一起。
当存储器41是独立于处理器42之外的器件时,时钟控制器40还可以包括总线43。该总线43用于连接存储器41和处理器42。该总线43可以是工业标准体系结构(IndustryStandard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
通信接口44,可以通过总线43与处理器41连接。处理器42可以控制通信接口44来实现与其他控制器之间的交互。
本实施例提供的时钟控制器可用于执行上述的基于实时通信的任务控制方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图10示出了本申请实施例提供的一种车辆控制系统的结构示意图。如图10所示,该车辆控制系统50中包括多个设置于车辆内部的控制器。该控制器中可以包括时钟控制器51和任务控制器52。其中,任务控制器中至少包括第一控制器和第二控制器。本实施例提供的车辆控制系统可用于执行上述的基于实时通信的任务控制方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被任务控制器中或者时钟控制器的处理器执行时用于实现上述的各种实施方式提供的方法。
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本申请可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一种基于实时通信的任务控制方法,其特征在于,应用于车辆的任务控制器,所述方法,包括:
获取时间同步请求,所述时间同步请求由所述车辆中的时钟控制器发送到所述任务控制器中;
根据所述任务控制器中的全局调度信息,确定所述任务控制器中时间同步任务的执行周期;
根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于根据所述时间同步请求中的时间基准更新所述任务控制器中的时钟,以获取全局时间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,具体包括:
根据所述时间同步任务的执行周期和所述全局时间,周期性唤醒所述任务控制器中所述时间同步任务的时间同步线程;或者,根据所述时间同步任务的执行周期和所述全局时间,周期性在所述任务控制器中创建所述时间同步任务的时间同步线程;
使用所述时间同步线程对所述时间同步请求进行处理,以更新所述任务控制器中的时钟,使所述任务控制器具有全局时间;
当所述时间同步任务执行完成时,控制所述任务控制器中所述时间同步线程进入休眠状态;或者,释放所述任务控制器中所述时间同步线程。
3.根据权利要求1或2所述的方法,其特征在于,所述车辆包括多个任务控制器,每一所述任务控制器中均配置有基于所述全局时间的全局调度信息,每一所述任务控制器根据所述全局调度信息配置的任务执行时间执行目标任务。
4.根据权利要求1或2所述的方法,其特征在于,多个任务控制器包括执行第一任务的第一控制器和执行第二任务的第二控制器,其中,所述第一任务在所述第二任务之前执行;所述方法,还包括:
所述第一控制器通过实时通信网络,以全局调度信息中的预设时延,将所述第一任务的任务执行结果相关的待处理报文发送到所述第二控制器,以使所述第二控制器利用所述待处理报文执行所述第二任务。
5.根据权利要求4所述的方法,其特征在于,所述全局调度信息的任务执行时间中至少包括任务发送时间和任务接收时间;所述方法,包括:
所述第一控制器在所述第一控制器的所述任务发送时间将所述待处理报文发送到所述实时通信网络;
所述第二控制器在所述第二控制器的所述任务接收时间从所述实时通信网络获取所述待处理报文;
其中,所述第一控制器的所述任务发送时间和所述第二控制器的所述任务接收时间之间的时间差形成所述预设时延。
6.根据权利要求5所述的方法,其特征在于,所述预设时延包括等待所述待处理报文进入所述实时通信网络进行传输前的第一缓冲时长、所述待处理报文在所述实时通信网络中完成数据传输的报文传输时长和第二控制器从所述实时通信网络获取待处理报文执行第二任务前的第二缓冲时长。
7.根据权利要求1或2所述的方法,其特征在于,所述方法,还包括:
获取并解析存储于所述任务控制器中的调度表文件,得到所述任务控制器的所述全局调度信息,所述全局调度信息中包括所述任务控制器中各个任务的执行周期。
8.一种基于实时通信的任务控制方法,其特征在于,应用于车辆的时钟控制器,所述方法,包括:
根据所述时钟控制器中的全局调度信息,确定所述时钟控制器中时间同步任务的执行周期;
根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,所述时间同步任务用于将包括时间基准的时间同步请求发送到所述车辆的各个控制器中,以使各个所述控制器获取全局时间。
9.根据权利要求8所述的方法,其特征在于,所述根据所述时间同步任务的执行周期,周期性执行所述时间同步任务,具体包括:
根据所述时间同步任务的执行周期,周期性唤醒时间同步线程;或者,根据所述时间同步任务的执行周期,周期性创建时间同步线程;
使用所述时间同步线程,向所述车辆的各个控制器发送时间同步请求,以使所述车辆的各个所述控制器根据所述时间同步请求中的时间基准获取全局时间。
10.根据权利要求8或9所述的方法,其特征在于,所述时间基准根据所述时钟控制器中的时间确定。
11.一种任务控制器,其特征在于,所述任务控制器,包括:存储器,处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求1-7中任一项所述的基于实时通信的任务控制方法。
12.一种时钟控制器,其特征在于,所述时钟控制器,包括:存储器,处理器;
所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求8-10中任一项所述的基于实时通信的任务控制方法。
13.一种车辆控制系统,其特征在于,所述车辆控制系统中包括多个设置于车辆内部的控制器,所述控制器之间通过实时通信网络通信连接;其中,所述控制器中包括至少一个如权利要求11所示的任务控制器和一个如权利要求12所示的时钟控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210665962.3A CN115047937B (zh) | 2022-06-14 | 2022-06-14 | 基于实时通信的任务控制方法、装置和车辆控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210665962.3A CN115047937B (zh) | 2022-06-14 | 2022-06-14 | 基于实时通信的任务控制方法、装置和车辆控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115047937A CN115047937A (zh) | 2022-09-13 |
CN115047937B true CN115047937B (zh) | 2023-09-12 |
Family
ID=83160841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210665962.3A Active CN115047937B (zh) | 2022-06-14 | 2022-06-14 | 基于实时通信的任务控制方法、装置和车辆控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115047937B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298920A (zh) * | 2018-08-28 | 2019-02-01 | 西安工业大学 | 基于准划分思想的混合关键任务调度方法 |
CN110502310A (zh) * | 2018-05-18 | 2019-11-26 | 北京东土科技股份有限公司 | 一种虚拟机的时间同步方法及装置 |
CN113411153A (zh) * | 2021-06-07 | 2021-09-17 | 中国人民解放军国防科技大学 | 一种用于时间敏感网络的集中式控制时间同步方法 |
CN113542320A (zh) * | 2020-04-15 | 2021-10-22 | 珠海格力电器股份有限公司 | 任务处理的控制优化方法、装置、设备及计算机可读介质 |
CN114265679A (zh) * | 2021-12-24 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置和服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020018629A1 (en) * | 2018-07-18 | 2020-01-23 | Emergency Technology, Inc. | Multiple vehicle signaling synchronization from adaptive timing sources |
-
2022
- 2022-06-14 CN CN202210665962.3A patent/CN115047937B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502310A (zh) * | 2018-05-18 | 2019-11-26 | 北京东土科技股份有限公司 | 一种虚拟机的时间同步方法及装置 |
CN109298920A (zh) * | 2018-08-28 | 2019-02-01 | 西安工业大学 | 基于准划分思想的混合关键任务调度方法 |
CN113542320A (zh) * | 2020-04-15 | 2021-10-22 | 珠海格力电器股份有限公司 | 任务处理的控制优化方法、装置、设备及计算机可读介质 |
CN113411153A (zh) * | 2021-06-07 | 2021-09-17 | 中国人民解放军国防科技大学 | 一种用于时间敏感网络的集中式控制时间同步方法 |
CN114265679A (zh) * | 2021-12-24 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN115047937A (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8543263B2 (en) | Distributed avionics | |
US10994675B2 (en) | Vehicle control device and vehicle system | |
US11817944B2 (en) | Time synchronization method and apparatus for domain controller, domain controller and storage medium | |
US7801131B2 (en) | Method for transmitting data in messages via a communication link of a communication system, as well as a communication module, user of a communication system, and communication system for implementing this method | |
US20070050774A1 (en) | Time-aware systems | |
US8190941B2 (en) | Field control system | |
US9047262B2 (en) | Semiconductor data processing device, time-triggered communication system, and communication system | |
US10153825B2 (en) | Vehicle-mounted control device | |
KR102148943B1 (ko) | 프로그래머블 컨트롤러 시스템, 그 컨트롤러 | |
JP6359098B2 (ja) | 分散リアルタイムシステムにおいて周期的なタスクの間で適時にデータを引き渡す方法 | |
US11115235B2 (en) | Semiconductor device, communication systems and method for controlling the communication system | |
JP7394986B2 (ja) | データパケットを送信する方法、及びこの方法を実施する装置 | |
CN115047937B (zh) | 基于实时通信的任务控制方法、装置和车辆控制系统 | |
US20110188520A1 (en) | Method for operating a time-controlled bus system | |
AU2002340733B2 (en) | Method and device for producing program interruptions in subscribers to a bus system, and corresponding bus system | |
CN111596640A (zh) | 电子装置及其控制方法 | |
CN114268670A (zh) | 基于时间触发的以太网异步消息处理系统及方法 | |
WO2024004414A1 (ja) | 情報処理装置 | |
CN110959152A (zh) | 访问控制装置 | |
CN117270630A (zh) | 片上系统及其时间戳捕获方法、装置及存储介质 | |
CN116729285A (zh) | 用于实时通信网络的任务执行方法、装置及可移动设备 | |
CN116527185A (zh) | 传感器时间戳校准方法、装置、智能终端及存储介质 | |
CN117290068A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN107621974B (zh) | 中断请求分配装置和对此的运行方法 | |
CN115883482A (zh) | 一种增强tsn设备门控列表的实现方法及相关设备 |
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 |