System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于AUTOSAR的初始化时序管理方法和系统技术方案_技高网

一种基于AUTOSAR的初始化时序管理方法和系统技术方案

技术编号:39938246 阅读:7 留言:0更新日期:2024-01-08 22:21
本发明专利技术公开了一种基于AUTOSAR的初始化时序管理方法和系统,包括初始化任务运行时长获取单元、模块初始化时长获取单元、初始化任务调用模块构建单元、模块分配单元、模块初始化单元;本发明专利技术利用AUTOSAR架构已有的函数功能,通过调用对应的功能函数进行任务的负载率测试,避免了人为计算带来的误差,提高了计算精度和效率;本发明专利技术可以缩短上电初始化时长,提高控制器运行效率。同时避免因各核负载率不同,各模块开始正常运行时间不统一而带来的故障误报现象。

【技术实现步骤摘要】

本专利技术属于电动汽车电机控制,具体涉及一种基于autosar的初始化时序管理方法和系统。


技术介绍

1、如今,电动汽车的不断发展,使得汽车开放系统架构(automotive open systemarchitecture,autosar)得以更广泛的使用。autosar架构给软件开发提供了一个成熟的框架,软件开发者根据该架构进行对应的软件模块开发。软件初始化是软件架构中必不可少的一环,初始化时序对各子模块的正常运行有着显著影响。现阶段很多电机控制器的主控芯片都是多核同步运行,软件初始化时需要周全考虑每个核间的内存分配和任务优先级。不恰当的初始化任务调度会导致控制器初始化时间长、负载率高,降低控制器整体运行效率。因此,需要对控制器初始化时序进行有效管理,规避因初始化任务调度不当而降低控制器运行效率的问题。

2、现有的电机控制器初始化主要存在以下问题:1、整个上电周期内初始化任务多,不同任务的负载率也不同,因此可能会导致控制器整体运行效率低,且当前对任务优先级的设置难度较大;2、多核运行时,各核之间的任务分配不同,导致不同任务下的模块开始正常运行时间不一致,由于有些任务有前后关联关系,可能会因为任务初始化的完成时间不同从而造成上电时故障误报,例如有些采样类任务若滞后运行,则相关模块读取不到采样值,此时就会误报故障。


技术实现思路

1、为了解决上述问题,本专利技术提出一种基于autosar的初始化时序管理方法和系统。

2、一种基于autosar的初始化时序管理方法,包括如下步骤:

3、s1、获取运行在不同核中的所有初始化任务的运行时长;

4、根据获取的每个初始化任务的运行时长分别计算autosar框架中asw(application software)模块包含的每个功能模块的模块初始化时长和bsw(basicsoftware)模块包含的每个基础模块的模块初始化时长;一个功能模块对应一个或多个初始化任务;同样,一个基础模块对应一个或多个初始化任务;

5、建立初始化任务调用模块:根据多核芯片的数量n新建n个对应于asw模块的功能模块初始化任务调用模块asw_init_core1、asw_init_core2,……,asw_init_coren以及新建n个对应于bsw模块的基础模块初始化任务调用模块bsw_init_core1、bsw_init_core2,……,bsw_init_coren;其中,asw_init_core1和bsw_init_core1在核1中运行,asw_init_core2和bsw_init_core2在核2中运行,依次类推;

6、s2、将asw模块中的所有功能模块按功能模块的模块初始化时长均分为n个队列,使得每个队列所包含的多个功能模块的模块初始化时长的总时长相同或相近;将所述n个队列所包含的功能模块的初始化任务加入到所述n个功能模块初始化任务调用模块asw_init_core1、asw_init_core2,……,asw_init_coren中;即一个功能模块初始化任务调用模块用于调用一个队列所包含的功能模块的初始化任务;

7、将bsw模块中的所有基础模块按基础模块的模块初始化时长均分为n个队列,使得每个队列所包含的基础模块的模块初始化时长的总时长相同或相近;将所述n个队列所包含的功能模块的初始化任务加入到所述n个基础模块初始化任务调用模块bsw_init_core1、bsw_init_core2,……,bsw_init_coren中;

8、所述相近即:获取asw或bsw模块中的所有功能模块或基础模块的模块初始化时长的总时长;将所述总时长除以n得到平均时长t;当每个队列所包含的功能模块或基础模块的模块初始化时长的总时长与所述平均时长t的差值小于设定值时则为相近。

9、s3、在内核中运行所述n个功能模块初始化任务调用模块asw_init_core1、asw_init_core2,……,asw_init_coren和所述n个基础模块初始化任务调用模块bsw_init_core1、bsw_init_core2,……,bsw_init_coren,完成asw模块和bsw模块的初始化任务。

10、上述技术方案中,所述步骤s2后还包括:根据asw模块所包含的功能模块的功能属性调整asw_init_core1、asw_init_core2,……,asw_init_coren中功能模块的任务优先级,以减少autosar框架的误告警。

11、更进一步地,设置采样功能的功能模块所包含的初始化任务的任务优先级最高,以减少因为采集到无效数据或者采集不到数据而产生的一系列告警。

12、上述技术方案中,为了提高内核的运行效率及缩短上电初始化时长,避免因各核负载率不同,所述步骤s2后,还包括如下步骤:

13、获取asw_init_core1、asw_init_core2,……,asw_init_coren中模块初始化时长最长的功能模块mamax,将所述功能模块mamax单独放在一个初始化任务调用模块asw_init_corei中,将asw_init_corei中原本包含的所有功能模块的所有初始化任务根据每个功能模块的模块初始化时长均分到其它n-1个初始化任务调用模块中;即获取asw_init_corei中每个功能模块的模块初始化时长,将其划分n-1个队列,使得每个队列所包含的功能模块的模块初始化时长的总时长的差值小于设定值;将所述n-1个队列中所包含的功能模块的初始化任务加入至其它n-1个初始化任务调用模块中;

14、获取bsw_init_core1、bsw_init_core2,……,bsw_init_coren中模块初始化时长最长的基础模块mbmax,将所述基础模块mbmax单独放在一个初始化任务调用模块bsw_init_corej中,将bsw_init_corej中原本包含的所有基础模块的所有初始化任务按照每个基础模块的模块初始化时长均分到其它所有n-1个初始化任务调用模块中;即获取bsw_init_corej中每个基础模块的模块初始化时长,将其划分n-1个队列,使得每个队列所包含的基础模块的模块初始化时长的总时长的差值小于设定值;将所述n-1个队列中所包含的功能模块的初始化任务加入至其它n-1个初始化任务调用模块中。

15、上述技术方案中,为了快速且准确获取每个初始化任务的运行时长,所述步骤s1中,调用autosar框架中os模块提供的activated函数启动不同核中asw模块和bsw模块的所有初始化任务并记录每个初始化任务的启动时间,设定时长后调用stopwatch函数获取每个初始化任务的结束时间,根据所述启动时间和结束时间获取每个初始化任务的运行时长。

16、进一步地,根据所述启动时间和结束时间获取每个初始化任务的运行时长的方法包括如下步骤:

17、s101、读取asw模块中的所有功能模块的初始化任务的运行时长,并本文档来自技高网...

【技术保护点】

1.一种基于AUTOSAR的初始化时序管理方法,其特征在于,包括如下步骤:

2.如权利要求1所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述步骤S2后还包括:根据ASW模块所包含的功能模块的功能属性调整ASW_Init_Core1、ASW_Init_Core2,……,ASW_Init_CoreN中功能模块的任务优先级,以减少AUTOSAR框架的误告警。

3.如权利要求2所述的基于AUTOSAR的初始化时序管理方法,其特征在于,设置采样功能的功能模块所包含的初始化任务的任务优先级最高。

4.如权利要求1所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述步骤S2中,还包括如下步骤:

5.如权利要求1~4任一项所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述步骤S2后,还包括如下步骤:

6.如权利要求1所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述步骤S1中,调用AUTOSAR框架中OS模块提供的Activated函数启动不同核中ASW模块和BSW模块的所有初始化任务并记录每个初始化任务的启动时间,设定时长后调用Stopwatch函数以获取每个初始化任务的结束时间,根据启动时间和结束时间获取每个初始化任务的运行时长。

7.如权利要求6所述的基于AUTOSAR的初始化时序管理方法,其特征在于,根据所述启动时间和结束时间获取每个初始化任务的运行时长的方法包括如下步骤:

8.如权利要求1所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述步骤S1之前还包括如下步骤:在ETAS-OS软件中新建工程,使能第一功能和第二功能对每个初始化任务的运行时间进行监控,以获取每个初始化任务的启动时间和结束时间。

9.如权利要求8所述的基于AUTOSAR的初始化时序管理方法,其特征在于,所述第一功能为TIME_MONITORING功能,所述第二功能为Task Activated功能。

10.一种如权利要求1所述方法的基于AUTOSAR的初始化时序管理系统,其特征在于,包括初始化任务运行时长获取单元、模块初始化时长获取单元、初始化任务调用模块构建单元、模块分配单元、模块初始化单元;

...

【技术特征摘要】

1.一种基于autosar的初始化时序管理方法,其特征在于,包括如下步骤:

2.如权利要求1所述的基于autosar的初始化时序管理方法,其特征在于,所述步骤s2后还包括:根据asw模块所包含的功能模块的功能属性调整asw_init_core1、asw_init_core2,……,asw_init_coren中功能模块的任务优先级,以减少autosar框架的误告警。

3.如权利要求2所述的基于autosar的初始化时序管理方法,其特征在于,设置采样功能的功能模块所包含的初始化任务的任务优先级最高。

4.如权利要求1所述的基于autosar的初始化时序管理方法,其特征在于,所述步骤s2中,还包括如下步骤:

5.如权利要求1~4任一项所述的基于autosar的初始化时序管理方法,其特征在于,所述步骤s2后,还包括如下步骤:

6.如权利要求1所述的基于autosar的初始化时序管理方法,其特征在于,所述步骤s1中,调用autosar框架中os模块提供的activated函数启动不同核中asw模块和bsw模块的所...

【专利技术属性】
技术研发人员:肖菀莹杨钢李平王闻宇周琛
申请(专利权)人:智新科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1