一种车辆交流电机控制器的任务调度方法及装置的制造方法
【技术领域】
[0001]本发明属于汽车控制技术领域,尤其涉及一种车辆交流电机控制器的任务调度方法及装置。
【背景技术】
[0002]低速汽车的交流电机控制器具有外部设备多样,功能模块繁多,控制策略复杂的特点,需要一种有效的控制方法来统筹管理各个外部设备,对不同的工况实时做出控制策略。现有车辆交流电机控制器的任务调度方法是采用复杂多任务的实时操作系统来对任务进行调度,这个操作系统负责内存分配和任务优先级的划分,然后根据既定的任务调度机制对所有实时任务进行调度,由于这种处理方法下,控制器即需要处理高实时性的交流电机驱动算法任务,又需要处理有大量车载传感器的信号输入处理任务,还有整车控制策略任务需要处理,这样情况下,控制器需要额外的消耗一定的CPU和内存资源来实现其他工作,不能做到真正的实时处理各种调度任务,需要花费较大的精力设计任务的调度。
【发明内容】
[0003]本发明实施例提供了一种车辆交流电机控制器的任务调度方法及装置,旨在解决现有技术不能做到真正的实时处理各种调度任务,需要花费较大的精力设计任务的调度的问题。
[0004]—方面,提供一种车辆交流电机控制器的任务调度方法,所述方法包括:
[0005]根据各个调度任务的预设实时性高低,将各个调度任务按照预设调用顺序进行排序并分类为辅助调度任务和主调度任务;
[0006]启动看门狗定时器,判断AD转换是否完成,如果AD转换未完成,继续判断AD转换是否完成;
[0007]在AD转换完成之后,清除AD转换完成标志,运行所述辅助调度任务;
[0008]如果监控所述主调度任务可运行,运行所述主调度任务;
[0009]运行所述主调度任务结束,发送一个输入信号至所述门狗定时器,继续判断ADR换是否完成。
[0010]进一步地,所述辅助调度任务包括在预设第一运行周期内运行的第一调度任务和在预设第二运行周期内运行的第二调度任务,所述第一调度任务先于第二调度任务运行,所述运行所述辅助调度任务具体包括:
[0011]在预设第一运行周期内,按照第一预设调度顺序逐一判断所述第一调度任务是否运行,如果是,运行当前第一调度任务,否则,判断下一个第一调度任务是否运行;
[0012]所述预设第一运行周期结束,启动第二运行周期,按照第二预设调度顺序逐一判断所述第二调度任务是否运行,如果是,运行当前第二调度任务,否则,判断下一个第二调度任务是否运行;
[0013]所述预设第二运行周期结束,实时采集SCI通讯数据并进行管理。
[0014]进一步地,所述第一调度任务和第二调度任务包括若干个预留任务,所述预留任务的调度顺序在其他调度任务之后。
[0015]进一步地,所述主调度任务包括在预设第三运行周期内运行的第三调度任务和在预设第四运行周期内运行的第四调度任务,所述第三调度任务先于第四调度任务运行,所述运行所述主调度任务具体包括:
[0016]在预设第三运行周期内,按照第三预设调度顺序逐一判断所述第三调度任务是否运行,如果是,运行当前第三调度任务,否则,判断下一个第三调度任务是否运行;
[0017]所述预设第三运行周期结束,启动第四运行周期,按照第四预设调度顺序逐一判断所述第四调度任务是否运行,如果是,运行当前第四调度任务,否则,判断下一个第四调度任务是否运行,直至所述第四运行周期结束,等待下一次运行所述主调度任务。
[0018]进一步地,所述第三调度任务和第四调度任务包括若干个预留任务,所述预留任务的调度顺序在其他调度任务之后。
[0019]进一步地,所述清除AD转换完成标志,运行所述辅助调度任务之后,还包括:
[0020]实时监控所述主调度任务是否可运行,如果主调度任务不可运行,发送一个输入信号至所述门狗定时器,继续判断AD转换是否完成。
[0021]另一方面,提供一种车辆交流电机控制器的任务调度装置,所述装置包括:
[0022]任务管理单元,用于根据各个调度任务的预设实时性高低,将各个调度任务按照预设调用顺序进行排序并分类为辅助调度任务和主调度任务;
[0023]调度开始单元,用于启动看门狗定时器,判断AD转换是否完成,如果AD转换未完成,继续判断AD转换是否完成;
[0024]第一任务运行单元,用于在AD转换完成之后,清除AD转换完成标志,运行所述辅助调度任务;
[0025]第二任务运行单元,用于如果监控所述主调度任务可运行,运行所述主调度任务;
[0026]调度结束单元,用于运行所述主调度任务结束,发送一个输入信号至所述门狗定时器,继续判断AD转换是否完成。
[0027]进一步地,所述辅助调度任务包括在预设第一运行周期内运行的第一调度任务和在预设第二运行周期内运行的第二调度任务,所述第一调度任务先于第二调度任务运行,所述第一任务运行单元具体用于在预设第一运行周期内,按照第一预设调度顺序逐一判断所述第一调度任务是否运行,如果是,运行当前第一调度任务,否则,判断下一个第一调度任务是否运行;
[0028]所述预设第一运行周期结束,启动第二运行周期,按照第二预设调度顺序逐一判断所述第二调度任务是否运行,如果是,运行当前第二调度任务,否则,判断下一个第二调度任务是否运行;
[0029]所述预设第二运行周期结束,实时采集SCI通讯数据并进行管理。
[0030]进一步地,所述第一调度任务和第二调度任务包括若干个预留任务,所述预留任务的调度顺序在其他调度任务之后。
[0031]进一步地,所述主调度任务包括在预设第三运行周期内运行的第三调度任务和在预设第四运行周期内运行的第四调度任务,所述第三调度任务先于第四调度任务运行,所述第二任务运行单元具体用于在预设第三运行周期内,按照第三预设调度顺序逐一判断所述第三调度任务是否运行,如果是,运行当前第三调度任务,否则,判断下一个第三调度任务是否运行;
[0032]所述预设第三运行周期结束,启动第四运行周期,按照第四预设调度顺序逐一判断所述第四调度任务是否运行,如果是,运行当前第四调度任务,否则,判断下一个第四调度任务是否运行,直至所述第四运行周期结束,等待下一次运行所述主调度任务。
[0033]进一步地,所述第三调度任务和第四调度任务包括若干个预留任务,所述预留任务的调度顺序在其他调度任务之后。
[0034]进一步地,所述装置还包括:
[0035]任务监控单元,用于实时监控所述主调度任务是否可运行,如果主调度任务不可运行,发送一个输入信号至所述门狗定时器,继续判断AD转换是否完成。
[0036]本申请实施例包括以下优点:
[0037]根据不同调度任务的实时性要求进行分时调度,实现了多任务系统的功能要求,提高了任务调度效率,清晰地构建了任务调度架构,同时,满足后期任务的扩展性要求。
【附图说明】
[0038]图1是本发明实施例一提供的无晃动车辆交流电机控制器的任务调度方法的流程图;
[0039]图2是本发明实施例一提供的辅助调度任务运行流程图;
[0040]图3是本发明实施例一提供的主调度任务运行流程图;
[0041]图4是本发明实施例二提供的车辆交流电机控制器的任务调度装置的具体结构框图。
【具体实施方式】
[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0043]以下结合具体实施例对本发明的实现进行详细描述:
[0044]实施例一
[0045]图1示出了本发明实施例一提供的车辆交流电机控制器的任务调度方法的实现流程,详述如下:
[0046]在步骤S101中,根据各个调度任务的预设实时性高低,将各个调度任务按照预设调用顺序进行排序并分类为辅助调度任务和主调度任务。
[0047]在本实施例中,实时性的高低是根据任务的性质来确定的,具体的,温度管理任务的实时性就比电流控制的实时性低,原因是在控制过程中温度的变化是比较慢的,电流变化是比较快的,所以在确定任务的执行周期中,设置电流控制的周期要比温度控制要小,实时性要高。其中,所述辅助调度任务包括在预设第一运行周期内运行的第一调度任务和在预设第二运行周期内运行的第二调度任务,所述第一调度任务先于第二调度任务运行。所述第一调度任务和第二调度任务包括若干个预留任务,所述预留任务的调度顺序在其他调度任务之后,如图2所示,第一运行周期为lms,第二运行周期为10ms,第一调度任务包括按照第一预设调度顺序依次运行的CAN管理任务、EE