CN116225666B - 一种操作系统任务调度方法、装置、电子设备及存储介质 - Google Patents
一种操作系统任务调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116225666B CN116225666B CN202310498971.2A CN202310498971A CN116225666B CN 116225666 B CN116225666 B CN 116225666B CN 202310498971 A CN202310498971 A CN 202310498971A CN 116225666 B CN116225666 B CN 116225666B
- Authority
- CN
- China
- Prior art keywords
- task
- daisy chain
- operating system
- independent
- executing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000006870 function Effects 0.000 claims description 89
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008054 signal transmission Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L58/00—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
- B60L58/10—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L2240/00—Control parameters of input or output; Target parameters
- B60L2240/40—Drive Train control parameters
- B60L2240/54—Drive Train control parameters related to batteries
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/60—Other road transportation technologies with climate change mitigation effect
- Y02T10/70—Energy storage systems for electromobility, e.g. batteries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Sustainable Development (AREA)
- Sustainable Energy (AREA)
- Power Engineering (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种操作系统任务调度方法、装置、电子设备及存储介质。该操作系统任务调度方法包括:在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。本发明实现有效减少电池管理系统主控执行任务的等待时间,降低主控负载,同时不额外增加主控硬件成本。
Description
技术领域
本发明涉及电池管理系统任务调度技术领域,尤其涉及一种操作系统任务调度方法、装置、电子设备及存储介质。
背景技术
新能源汽车动力电池由多个模组组成,每个模组内由多个电芯组成。在动力电池生命周期内,电池管理系统(BMS)需要对每个电芯电压、电流、温度等参数做采样。由于整车续航能力要求,部分动力电池具有超过120个电芯,且由于控制器硬件结构限制(主控制器采样、通信能力有限),无法由主控制器直接对所有电芯进行采样与控制,故目前主要采用主控制器+从控制器的结构设计。主控制器负责充放电管理、温度监控、故障处理等运算;每个模组内,从控制器负责电芯数据采集、故障检测及上报等,这种拓扑被称为菊花链,具体如图1所示,电池管理系统执行的电芯采样、回读结果等任务,称为菊花链任务。
继续参见图1,在菊花链任务下,主控制器每发出一条指令后,在信号沿UART总线传递时,主控制器都需要等待信号返回后,才能执行下一动作;从控制器1至从控制器n在进行部分数据采样时,速度较慢,有时需要等待超过5ms才能完成。而电池管理系统BMS在执行电芯采样或诊断功能时,往往需要依次发送十几条指令,才能完成从控制器1至从控制器n的配置,并获取相应结果。主控制器在执行采样任务时由于等待UART信号传输或从控制器1至从控制器n进行数据采样,无法进行其他任务运算功能,进而导致主控制器负载率较高。
发明内容
本发明提供了一种操作系统任务调度方法、装置、电子设备及存储介质,以解决目前菊花链任务执行时,电池管理系统主控制器负载高,执行任务等待时间长的问题。
根据本发明的一方面,提供了一种操作系统任务调度方法,所述操作系统任务调度方法包括:
在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;
依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;
其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。
可选的,所述在完成所述独立菊花链任务后执行操作系统目标任务,包括:
在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
相应的,依次重复执行所述独立菊花链任务和所述操作系统目标任务,包括:
在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务。
可选的,在完成所述独立菊花链任务后执行操作系统目标任务之后,还包括:
当所述主控制器检测出所述独立菊花链任务的信号传输完成后,则中断所述操作系统目标任务,再次通过所述主控制器进入所述独立菊花链任务。
可选的,所述独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引;
所述主控制器执行独立菊花链任务,包括:
所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;
根据所述功能指令执行独立菊花链任务。
可选的,所述根据所述功能指令执行独立菊花链任务,包括:
若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;
若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令。
可选的,所述操作系统任务调度方法还包括:
在每次执行所述独立菊花链任务时,所述主控制器控制操作系统执行任务停止执行,其中,所述操作系统执行任务的执行优先级低于所述独立菊花链任务。
根据本发明的另一方面,提供了一种操作系统任务调度装置,所述操作系统任务调度装置包括:
独立菊花链任务执行模块,用于执行在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;
操作系统目标任务调度模块,用于执行依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;
其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的操作系统任务调度方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的操作系统任务调度方法。
本发明实施例的技术方案,在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。本发明解决了目前菊花链任务执行时,电池管理系统主控制器负载高,执行任务等待时间长的问题,实现有效减少电池管理系统主控制器执行任务的等待时间,降低主控负载,同时不额外增加主控制器硬件成本。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是目前菊花链硬件拓扑图;
图2是目前菊花链任务与其他任务串行执行的流程示意图;
图3是根据本发明实施例一提供的一种操作系统任务调度方法的流程图;
图4是根据本发明实施例二提供的一种操作系统任务调度方法的流程图;
图5是根据本发明实施例二提供的菊花链任务与其他任务串行执行的流程示意图;
图6是根据本发明实施例三提供的一种操作系统任务调度装置的结构示意图;
图7是实现本发明实施例的操作系统任务调度方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以菊花链任务与操作系统其他任务串行执行为例,如图2示意,操作系统其他任务为100ms周期任务,在进入100ms周期任务后,首先执行菊花链任务,完成后再依次执行系统任务1、系统任务2。在执行菊花链任务期间,主控制器由于等待菊花链UART总线信号传递以及从控制器进行采样,期间有约10ms时间,主控制器处于等待状态,则造成了10%的无效负载(10ms/100ms)。
基于上述问题,本申请提供了一种操作系统任务调度方法、装置、电子设备及存储介质进行解决。
实施例一
图3为本发明实施例一提供了一种操作系统任务调度方法的流程图,本实施例可适用于针对单核控制器操作系统进行任务调度优化的情况,该操作系统任务调度方法可以由操作系统任务调度装置来执行,该操作系统任务调度装置可以采用硬件和/或软件的形式实现,该操作系统任务调度装置可配置于电池管理系统或电池管理系统包含的某个电子设备中。如图3所示,该操作系统任务调度方法包括:
S110、在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务。
在菊花链任务拓扑下,由电池管理系统主控制器发出从控制器控制指令,信号沿总线传递至所有从控制器,在本实施例中,同时主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后,再执行操作系统目标任务并返回主控制器,进一步,由主控制器确认指令发送成功,主控制器查询从控制器采集是否完成,主控制器回读所有数据。
其中,独立菊花链任务为完整的菊花链任务中的一个小任务,可选的,独立菊花链任务可以为第一配置命令、第二配置命令、读取命令或获取结果命令中的一个,完整的菊花链任务也可以采用其他分割方式,本实施例对此不作任何限制。
操作系统目标任务为其他系统任务中的某一个任务,本实施例对此不作特别限制,可以理解的是,菊花链任务被拆解成多个独立菊花链任务依次执行,同时其他系统任务也被拆解成多个操作系统目标任务依次执行,独立菊花链任务与操作系统目标任务交替执行,直至菊花链任务和操作系统目标任务均完成,从而节约了原来菊花链任务和操作系统目标任务之间串行执行时的等待时间。
具体的,菊花链任务可以细分为多组任务,即得到独立菊花链任务,每组独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引。
其中,功能指令信息用于完成基础功能设置,功能指令信息可以但不限于为菊花链唤醒、运行模式配置等指令信息,本实施例对此不作任何限制。
每条功能指令信息可以包括四部分,分别为功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引,用于控制该功能指令信息是否执行、执行开始时间或执行结束时间等功能的实现。
在本实施例中,所述主控制器执行独立菊花链任务,具体用于:所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;根据所述功能指令执行独立菊花链任务。
具体的,若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令。
进一步的,在上述基础上,在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
S120、依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;
其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。
菊花链任务包括多个所述独立菊花链任务,即菊花链任务被拆解为连续的多个独立的任务,得到多个独立菊花链任务。
具体的,在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务,直至整个的菊花链任务被完全执行完成。
可以理解的是,在完成所述独立菊花链任务后执行操作系统目标任务之后,当所述主控制器检测出所述独立菊花链任务的信号传输完成后,则中断所述操作系统目标任务,再次通过所述主控制器进入所述独立菊花链任务。
需要说明的是,主控制器每次进入独立菊花链任务后,仅进行一条指令的发送/读取任务,完成后不等待信号传输完成,从而节约电池管理系统主控制器执行操作系统目标任务的等待时间,降低主控制器的负载。
在上述基础上,菊花链任务可以设置有保护功能,具体可通过操作系统设置,从而保证每次进入菊花链任务后,不再有低优先级任务打断菊花链任务(此处菊花链任务在本申请中指独立菊花链任务),避免当前操作系统工作被异常打断,进而导致任务状态机错误,具体的,在每次执行所述独立菊花链任务时,所述主控制器控制操作系统执行任务停止执行,其中,所述操作系统执行任务的执行优先级低于所述独立菊花链任务。
本发明实施例的技术方案,在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。本发明解决了目前菊花链任务执行时,电池管理系统主控制器负载高,执行任务等待时间长的问题,实现有效减少电池管理系统主控执行任务的等待时间,降低主控制器负载,同时不额外增加主控制器硬件成本。
实施例二
图4为本发明实施例二提供的一种操作系统任务调度方法的流程图,图5是根据本发明实施例二提供的菊花链任务与其他任务串行执行的流程示意图,本实施例在上述实施例的基础上,提供具体菊花链任务与其他任务串行执行的流程。如图4和5所示,该操作系统任务调度方法包括:
S210、在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务。
其中,所述独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引;具体的,所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;根据所述功能指令执行独立菊花链任务。
若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令。
可以理解的是,每个独立菊花链任务均有单独的使能开关,即通过功能指令信息进行实现,本领域技术人员可通过该功能指令信息使用独立菊花链任务的多种功能,例如在不同任务周期中对电芯的不同参数进行检测。
示例性的,通过一个全局变量WorkStep作为状态机,用于指示菊花链任务当前工作步骤。
每次进入独立菊花链任务,根据电池管理系统的列表查询本次应执行的独立菊花链任务。若当前独立菊花链任务使能开启,则进入该独立菊花链任务,发送一条指令,WorkStep自动加1。在下次进入独立菊花链任务时,根据当前状态机WorkStep,查询应该发送的下一条指令。若某独立菊花链任务未开启使能,则自动跳过,状态机WorkStep将修改为下一组功能的起始指引值。
进一步的,在独立菊花链任务出现故障时,可通过查询总状态结构体电池管理系统的列表以及当前步骤状态机WorkStep便捷获取出现故障的步骤,便于开发人员排查控制器故障。
S220、在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务。
可以理解的是,继续参见图5,在原菊花链任务流程中,主控制器在发送前三条指令(独立菊花链任务的Step1、Step2、Step 3)后,分别等待了2ms、2ms、6ms,在本申请提出的操作系统任务调度方法中,主控制器完成第一条菊花链指令(独立菊花链任务Step1)发送后,退出独立菊花链任务,返回操作系统目标任务。
示例性的,继续参见图5,执行独立菊花链任务Step1,独立菊花链任务Step1可以为发送配置指令1(1ms),在完成独立菊花链任务Step1后,返回100ms周期任务,执行操作系统目标任务1 Part1(2ms)。
S230、当所述主控制器检测出所述独立菊花链任务的信号传输完成后,则中断所述操作系统目标任务,再次通过所述主控制器进入所述独立菊花链任务。
具体的,继续参见图5,当菊花链信号传输完成时,产生中断通知主控制器,主控制器暂停当前执行的操作系统目标任务1,再次进入独立菊花链任务,进行独立菊花链任务Step2。当完成独立菊花链任务step2发送后,再次回到100ms周期任务,从之前暂停的系统任务处继续执行,即执行操作系统目标任务1 Part2。
示例性的,继续参见图5,执行独立菊花链任务Step2,独立菊花链任务Step2可以为发送配置指令2(1ms),在完成独立菊花链任务Step2后,返回100ms周期任务,执行操作系统目标任务1 Part2(2ms)。
可以理解的是,在每次执行所述独立菊花链任务时,所述主控制器控制操作系统执行任务停止执行,其中,所述操作系统执行任务的执行优先级低于所述独立菊花链任务。
S240、依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;
其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。
可以理解的是,依次重复执行所述独立菊花链任务和所述操作系统目标任务,与前续步骤同理,直至整个菊花链任务执行完毕后,不在产生中断,其他系统任务正常执行,则在这种操作系统任务调度模式下,原先等待的时间中,主控制器可用于执行系统任务,从而可有效降低操作系统的负载率。
示例性的,继续参见图5,执行独立菊花链任务Step3,独立菊花链任务Step3可以为发送读取指令(1ms),在完成独立菊花链任务Step3后,返回100ms周期任务,执行操作系统目标任务1 Part3(6ms)。进一步的,执行独立菊花链任务Step4,独立菊花链任务Step4可以为发送获取结果(1ms),在完成独立菊花链任务Step4后,返回100ms周期任务,执行操作系统目标任务1 Part4(2ms)。至此,完整整个菊花链任务,同时完成操作系统目标任务1,进一步可以执行操作系统目标任务2。在上述操作系统任务调度的过程中,可知有效减少了电池管理系统主控制器执行采样任务时的等待时间。
另外需要说明的是,通过菊花链任务总状态结构体中,可通过宏定义替代,可提前定义好每个独立菊花链任务中指令数量。进一步的,可以根据项目需求变更,可随意增加、修改独立菊花链任务数量以及独立菊花链任务内部发送指令的数量,不必修改软件总体调度逻辑框架,即可增减独立菊花链任务中的指令数量。
本发明实施例提供的技术方案,仅通过修改软件实现操作系统任务调度方法,不需要使用多核芯片,成本较低,也不需要修改主控制器硬件电路设计,且不需要修改菊花链硬件拓扑设计,不增加桥接芯片,不需要修改电池模组硬件设计,不需要修改其他模块(如SPI或硬件驱动等模块),也不需要修改硬件拓扑,从而降低成本,同时,有效减少了电池管理系统主控制器执行采样任务时的等待时间,降低主控制器的负载率。
实施例三
图6为本发明实施例三提供的一种操作系统任务调度装置的结构示意图。如图6所示,该操作系统任务调度装置包括:
独立菊花链任务执行模块610,用于执行在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;
操作系统目标任务调度模块620,用于执行依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务;
其中,所述菊花链任务包括多个所述独立菊花链任务,所述菊花链任务与所述操作系统目标任务串行执行。
可选的,所述在完成所述独立菊花链任务后执行操作系统目标任务,具体用于:
在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
相应的,依次重复执行所述独立菊花链任务和所述操作系统目标任务,具体用于:
在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务。
可选的,所述操作系统任务调度装置还包括:
独立菊花链任务再执行模块,用于执行当所述主控制器检测出所述独立菊花链任务的信号传输完成后,则中断所述操作系统目标任务,再次通过所述主控制器进入所述独立菊花链任务。
可选的,所述独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引;
所述主控制器执行独立菊花链任务,具体用于:
所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;
根据所述功能指令执行独立菊花链任务。
可选的,所述根据所述功能指令执行独立菊花链任务,具体用于:
若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;
若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令。
可选的,所述操作系统任务调度装置还包括:
操作系统执行任务停止执行模块,用于执行在每次执行所述独立菊花链任务时,所述主控制器控制操作系统执行任务停止执行,其中,所述操作系统执行任务的执行优先级低于所述独立菊花链任务。
本发明实施例所提供的操作系统任务调度装置可执行本发明任意实施例所提供的操作系统任务调度方法,具备执行操作系统任务调度方法相应的功能模块和有益效果。
实施例四
图7示出了可以用来实施本发明的实施例的电子设备710的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备710包括至少一个处理器711,以及与至少一个处理器711通信连接的存储器,如只读存储器(ROM)712、随机访问存储器(RAM)713等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器711可以根据存储在只读存储器(ROM)712中的计算机程序或者从存储单元718加载到随机访问存储器(RAM)713中的计算机程序,来执行各种适当的动作和处理。在RAM 713中,还可存储电子设备710操作所需的各种程序和数据。处理器711、ROM 712以及RAM 713通过总线714彼此相连。输入/输出(I/O)接口715也连接至总线714。
电子设备710中的多个部件连接至I/O接口715,包括:输入单元716,例如键盘、鼠标等;输出单元717,例如各种类型的显示器、扬声器等;存储单元718,例如磁盘、光盘等;以及通信单元719,例如网卡、调制解调器、无线通信收发机等。通信单元719允许电子设备710通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器711可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器711的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器711执行上文所描述的各个方法和处理,例如操作系统任务调度方法。
在一些实施例中,操作系统任务调度方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元718。在一些实施例中,计算机程序的部分或者全部可以经由ROM 712和/或通信单元719而被载入和/或安装到电子设备710上。当计算机程序加载到RAM 713并由处理器711执行时,可以执行上文描述的操作系统任务调度方法的一个或多个步骤。备选地,在其他实施例中,处理器711可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行操作系统任务调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种操作系统任务调度方法,应用于新能源汽车动力电池中,其特征在于,包括:
在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;
其中,所述独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引;
主控制器执行独立菊花链任务,包括:所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;根据所述功能指令执行独立菊花链任务;
根据所述功能指令执行独立菊花链任务,包括:若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令;
依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务,其中,当主控制器检测出独立菊花链任务完成后,则中断操作系统目标任务,再次通过主控制器进入独立菊花链任务;
其中,所述菊花链任务包括多个连续的独立的所述独立菊花链任务,操作系统目标任务为操作系统其他任务中的一个,所述菊花链任务与操作系统其他任务串行执行,所述菊花链任务与所述操作系统目标任务串行执行;
其中,在完成所述独立菊花链任务后执行操作系统目标任务,包括:在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
相应的,依次重复执行所述独立菊花链任务和所述操作系统目标任务,包括:在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务。
2.根据权利要求1所述的操作系统任务调度方法,其特征在于,在完成所述独立菊花链任务后执行操作系统目标任务之后,还包括:
当所述主控制器检测出所述独立菊花链任务的信号传输完成后,则中断所述操作系统目标任务,再次通过所述主控制器进入所述独立菊花链任务。
3.根据权利要求1所述的操作系统任务调度方法,其特征在于,所述操作系统任务调度方法还包括:
在每次执行所述独立菊花链任务时,所述主控制器控制操作系统执行任务停止执行,其中,所述操作系统执行任务的执行优先级低于所述独立菊花链任务。
4.一种操作系统任务调度装置,应用于新能源汽车动力电池中,其特征在于,包括:
独立菊花链任务执行模块,用于执行在电池管理系统主控制器发出从控制器控制指令后,所述主控制器执行独立菊花链任务,并在完成所述独立菊花链任务后执行操作系统目标任务;
其中,所述独立菊花链任务包括多条功能指令信息,所述功能指令信息包括功能指令序号、功能指令使能开关、功能指令起始指引和功能指令结束指引;
主控制器执行独立菊花链任务,具体用于:所述主控制器根据所述独立菊花链任务包括的多条功能指令信息,生成相应的功能指令;根据所述功能指令执行独立菊花链任务;
根据所述功能指令执行独立菊花链任务,具体用于:若所述功能指令使能开关开启,则所述主控制器在执行独立菊花链任务时,执行与所述功能指令信息对应的功能指令;若所述功能指令使能开关关闭,则所述主控制器在执行独立菊花链任务时,不执行与所述功能指令信息对应的功能指令;
操作系统目标任务调度模块,用于执行依次重复执行所述独立菊花链任务和所述操作系统目标任务,直至执行菊花链任务完成后,继续执行操作系统目标任务,其中,当主控制器检测出独立菊花链任务完成后,则中断操作系统目标任务,再次通过主控制器进入独立菊花链任务;
其中,所述菊花链任务包括多个连续的独立的所述独立菊花链任务,操作系统目标任务为操作系统其他任务中的一个,所述菊花链任务与操作系统其他任务串行执行,所述菊花链任务与所述操作系统目标任务串行执行;
其中,在完成所述独立菊花链任务后执行操作系统目标任务,具体用于:在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
相应的,依次重复执行所述独立菊花链任务和所述操作系统目标任务,具体用于:在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务。
5.根据权利要求4所述的操作系统任务调度装置,其特征在于,所述在完成所述独立菊花链任务后执行操作系统目标任务,具体用于:
在完成所述独立菊花链任务后,退出所述独立菊花链任务,执行操作系统目标任务;
相应的,依次重复执行所述独立菊花链任务和所述操作系统目标任务,具体用于:
在每次完成所述独立菊花链任务后,退出相应的所述独立菊花链任务后,继续执行操作系统目标任务。
6. 一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的操作系统任务调度方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-3中任一项所述的操作系统任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498971.2A CN116225666B (zh) | 2023-05-06 | 2023-05-06 | 一种操作系统任务调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310498971.2A CN116225666B (zh) | 2023-05-06 | 2023-05-06 | 一种操作系统任务调度方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116225666A CN116225666A (zh) | 2023-06-06 |
CN116225666B true CN116225666B (zh) | 2023-08-15 |
Family
ID=86569782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310498971.2A Active CN116225666B (zh) | 2023-05-06 | 2023-05-06 | 一种操作系统任务调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225666B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888135A (zh) * | 2015-12-15 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种任务状态的查询方法和装置 |
CN109710390A (zh) * | 2018-12-19 | 2019-05-03 | 沈阳天眼智云信息科技有限公司 | 单线程处理器的多任务处理方法及处理系统 |
CN110231993A (zh) * | 2019-06-19 | 2019-09-13 | 爱驰汽车有限公司 | 电池管理方法、装置、电子设备、存储介质 |
CN112219197A (zh) * | 2019-03-08 | 2021-01-12 | 御眼视觉技术有限公司 | 基于优先级的共享资源访问管理 |
CN114416315A (zh) * | 2022-01-18 | 2022-04-29 | 上海金融期货信息技术有限公司 | 持续集成系统中的任务动态调度方法和系统 |
CN115033356A (zh) * | 2022-05-06 | 2022-09-09 | 西安电子科技大学 | 一种基于异构可重构的动态资源调度方法及系统 |
CN115801548A (zh) * | 2022-11-29 | 2023-03-14 | 湖北亿纬动力有限公司 | 一种菊花链的通信控制方法、装置、设备及存储介质 |
-
2023
- 2023-05-06 CN CN202310498971.2A patent/CN116225666B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888135A (zh) * | 2015-12-15 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种任务状态的查询方法和装置 |
CN109710390A (zh) * | 2018-12-19 | 2019-05-03 | 沈阳天眼智云信息科技有限公司 | 单线程处理器的多任务处理方法及处理系统 |
CN112219197A (zh) * | 2019-03-08 | 2021-01-12 | 御眼视觉技术有限公司 | 基于优先级的共享资源访问管理 |
CN110231993A (zh) * | 2019-06-19 | 2019-09-13 | 爱驰汽车有限公司 | 电池管理方法、装置、电子设备、存储介质 |
CN114416315A (zh) * | 2022-01-18 | 2022-04-29 | 上海金融期货信息技术有限公司 | 持续集成系统中的任务动态调度方法和系统 |
CN115033356A (zh) * | 2022-05-06 | 2022-09-09 | 西安电子科技大学 | 一种基于异构可重构的动态资源调度方法及系统 |
CN115801548A (zh) * | 2022-11-29 | 2023-03-14 | 湖北亿纬动力有限公司 | 一种菊花链的通信控制方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116225666A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3893112A2 (en) | Method and apparatus for scheduling deep learning reasoning engines, device, and medium | |
CN110659130A (zh) | Cpu使用率自适应调整方法、装置、终端及存储介质 | |
CN116225666B (zh) | 一种操作系统任务调度方法、装置、电子设备及存储介质 | |
CN111628686B (zh) | 永磁同步电机时序任务调度和空间状态调度协同控制系统 | |
CN103440018A (zh) | 一种功率控制方法、功率控制电路和节能系统 | |
CN115742781A (zh) | 一种电池充电方法、装置、电子设备及其存储介质 | |
CN115692885A (zh) | 一种电池析锂保护方法、装置、电子设备和存储介质 | |
CN115890684A (zh) | 一种机器人调度方法、装置、设备及介质 | |
CN115756322A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN113608604A (zh) | 基于龙芯处理器的计算机电源管理系统、方法、介质及设备 | |
CN112667643A (zh) | 基于双芯智能电表的掉电数据保存方法和装置 | |
CN217575167U (zh) | 自动驾驶车辆 | |
KR20230064967A (ko) | Bms 데이터 처리 장치 및 방법 | |
CN116552330A (zh) | 信息管理方法、装置、电子设备及存储介质 | |
CN115257385A (zh) | 车辆供电控制方法、装置、电子设备和存储介质 | |
CN116901787A (zh) | 一种动力电池切换方法、装置、设备及介质 | |
CN116909204A (zh) | 一种设备运行控制方法、装置、电子设备及存储介质 | |
CN115755859A (zh) | 一种基于局部网络的网络故障诊断方法、装置及介质 | |
US20240039059A1 (en) | Device for managing battery and method for controlling battery | |
CN115963834A (zh) | 无人驾驶车辆的驾驶模式确定方法、装置、设备及系统 | |
CN115484668A (zh) | 一种节点同步系统、方法、装置、设备及存储介质 | |
CN117609031A (zh) | 多核片上程序调试方法、装置、设备及存储介质 | |
CN116737494A (zh) | 车辆的功能安全监控方法、装置、电子设备以及存储介质 | |
CN116736151A (zh) | 一种车辆蓄电池亏电原因确定方法、装置、设备及介质 | |
CN116256993A (zh) | 一种自动化设备的任务执行方法、装置、设备及介质 |
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 |