集成控制芯片及其控制方法,存储介质,车辆与流程
本公开涉及车辆领域,具体地,涉及一种集成控制芯片及其控制方法,存储介质,车辆。
背景技术:
汽车电子产品技术的发展衍生出了各式各样的车载部件,将不同的车载部件装载在车辆中能够为驾驶者提供丰富的功能服务,从而提升其驾驶体验。
然而,车辆搭载的车载部件的种类和数量不断增多也对车辆的成本以及控制系统开发设计造成了一定程度的影响。并且,相关技术中所使用的车载部件的配置方式使得各类车载部件的交互质量较低,导致整体功能性大打折扣。
技术实现要素:
本公开的目的是提供一种集成控制芯片及其控制方法,存储介质,车辆,用以解决相关技术中,车辆搭载的车载部件的种类和数量较多,导致车辆的控制开发成本较高且各车载部件的交互质量较低的问题。
为了实现上述目的,第一方面,本公开提供一种集成控制芯片,所述集成控制芯片中集成有与多个车载部件一一对应的多个控制模块,以及主控模块,其中,所述控制模块用于被所述主控模块调用以实现与所对应的车载部件相关联的多个操作;
所述集成控制芯片中形成有与所述多个控制模块一一对应的多条节点流,每一所述节点流由所对应的控制模块执行的操作串联形成,每一所述操作分别作为所述节点流中的一个操作节点;
所述集成控制芯片中还形成有与至少一个事件一一对应的至少一条数据流,每一所述数据流由多个操作节点串联形成,每一所述数据流包括不同所述节点流中的操作节点;
所述主控模块用于,分配每一所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长;
所述主控模块还用于,循环依次调用每一所述控制模块,并针对每次调用的目标控制模块,在该目标控制模块的所述占用时长内遍历该目标控制模块对应的节点流中的每一操作节点,并在遍历过程中,对于遍历到的每一操作节点,判断该操作节点是否处于数据流中,若该操作节点处于数据流中,且该数据流中该操作节点的前一操作节点处于已完成状态,则执行该操作节点对应的操作;若该操作节点不处于数据流中,或者该操作节点处于数据流中而该数据流中该操作节点的前一操作节点处于未完成状态,则遍历该目标控制模块对应的节点流中该操作节点的后一操作节点。
可选的,所述主控模块用于:
生成n组资源分配信息,所述资源分配信息用于表征每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长;
在每一组所述资源分配信息表征的资源分配情况下,根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数,所述等待次数是指在所述数据流中的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数;
根据n个所述运行优良系数选择目标资源分配信息;
根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配。
可选的,所述主控模块用于:
判断n个运行优良系数中是否存在处于预设范围内的运行优良系数;
若所述n个运行优良系数中不存在处于预设范围内的运行优良系数,则确定最接近所述预设范围的m个运行优良系数对应的目标资源分配信息,m小于n;
根据所述目标资源分配信息通过遗传算法中的交配和/或变异操作中生成新的l组资源分配信息,m+l=n;
计算所述l组资源分配信息中,每一组资源分配信息对应的运行优良系数;
根据所述m个运行优良系数和所述l组资源分配信息,返回执行判断n个运行优良系数中是否存在处于预设范围内的运行优良系数的步骤,直到存在处于所述预设范围内的运行优良系数,则将处于所述预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
可选的,所述根据n个所述运行优良系数选择目标资源分配信息,包括:
若所述n个运行优良系数中存在处于预设范围内的运行优良系数,则将处于预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
可选的,所述主控模块用于:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,所述运行优良系数包括每一所述控制优良系数。
可选的,所述主控模块用于:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数;
将每一所述控制优良系数的平均值作为系统优良系数,所述运行优良系数包括所述系统优良系数。
可选的,所述运行优良系数包括系统优良系数以及对应于每一所述控制模块的控制优良系数,所述主控模块用于:
判断每一所述控制优良系数是否均处于第一合理系数范围,以及所述系统优良系数是否处于第二合理系数范围;
将使得每一所述控制优良系数均处于所述第一合理系数范围,且所述系统优良系数处于所述第二合理系数范围的资源分配信息作为所述目标资源分配信息;
其中,将每一所述节点流中的每一操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,将每一所述控制优良系数的平均值作为系统优良系数。
可选的,所述主控模块还用于:
针对所述数据流中的操作节点,记录该操作节点等待该数据流中的前一操作节点被执行完成所花费的时长,并在该时长大于或等于时长阈值时,中止该数据流,并将该数据流标记为失效;或者,
针对所述数据流中的操作节点,记录在所述数据流的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数,若该次数大于或等于次数阈值,则中止该数据流,并将该数据流标记为失效。
可选的,所述主控模块还用于:
在根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数之前,确定在所述资源分配信息表征的资源分配情况下,通过每一所述数据流的失效标记位判断该数据流是否失效;
若不存在失效的数据流,则根据每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数;
若存在失效的数据流,则删除该组资源分配信息。
可选地,还包括存储模块,用于存储计算机程序,其中,所述主控模块通过执行所述存储模块中的所述计算机程序,实现所述主控模块在所述集成控制芯片中的操作。
本公开实施例的第二方面,提供一种集成控制芯片的控制方法,所述方法包括:分配所述集成控制芯片中每一控制模块每次被调用执行时对所述集成控制芯片中主控模块计算资源的占用时长;
循环依次调用每一所述控制模块,并针对每次调用的目标控制模块,在该目标控制模块的所述占用时长内遍历该目标控制模块对应的节点流中的每一操作节点,其中,每一控制模块对应的节点流由该控制模块能执行的操作串联形成,每一所述操作分别作为所述节点流中的一个操作节点;
对于遍历到的每一操作节点,判断该操作节点是否处于数据流中,其中,所述集成控制芯片中的一条数据流对应一个事件,每一所述数据流由多个操作节点串联形成;
若该操作节点处于数据流中,且该数据流中该操作节点的前一操作节点处于已完成状态,则执行该操作节点对应的操作;
若该操作节点不处于数据流中,或者该操作节点处于数据流中而该数据流中该操作节点的前一操作节点处于未完成状态,则遍历该目标控制模块对应的节点流中该操作节点的后一操作节点。
可选的,所述分配所述集成控制芯片中每一控制模块每次被调用执行时对所述集成控制芯片中主控模块计算资源的占用时长包括:
生成n组资源分配信息,所述资源分配信息用于表征每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长;
在每一组所述资源分配信息表征的资源分配情况下,根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数,所述等待次数是指在所述数据流中的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数;
根据n个所述运行优良系数选择目标资源分配信息;
根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配。
可选的,所述根据n个所述运行优良系数选择目标资源分配信息还包括:
判断n个运行优良系数中是否存在处于预设范围内的运行优良系数;
若所述n个运行优良系数中不存在处于预设范围内的运行优良系数,则确定最接近所述预设范围的m个运行优良系数对应的目标资源分配信息,m小于n;
根据所述目标资源分配信息通过遗传算法中的交配和/或变异操作中生成新的l组资源分配信息,m+l=n;
计算所述l组资源分配信息中,每一组资源分配信息对应的运行优良系数;
根据所述m个运行优良系数和所述l组资源分配信息,返回执行判断n个运行优良系数中是否存在处于预设范围内的运行优良系数的步骤,直到存在处于所述预设范围内的运行优良系数,则将处于所述预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
可选的,所述根据n个所述运行优良系数选择目标资源分配信息,包括:
若所述n个运行优良系数中存在处于预设范围内的运行优良系数,则将处于预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
可选的,所述方法还包括:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,所述运行优良系数包括每一所述控制优良系数。
可选的,所述方法还包括:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数;
将每一所述控制优良系数的平均值作为系统优良系数,所述运行优良系数包括所述系统优良系数。
可选的,所述运行优良系数包括系统优良系数以及对应于每一所述控制模块的控制优良系数,所述根据n个所述运行优良系数选择目标资源分配信息包括:
判断每一所述控制优良系数是否均处于第一合理系数范围,以及所述系统优良系数是否处于第二合理系数范围;
将使得每一所述控制优良系数均处于所述第一合理系数范围,且所述系统优良系数处于所述第二合理系数范围的资源分配信息作为所述目标资源分配信息;
其中,将每一所述节点流中的每一操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,将每一所述控制优良系数的平均值作为系统优良系数。
可选的,所述方法还包括:
针对所述数据流中的操作节点,记录该操作节点等待该数据流中的前一操作节点被执行完成所花费的时长,并在该时长大于或等于时长阈值时,中止该数据流,并将该数据流标记为失效;或者,
针对所述数据流中的操作节点,记录在所述数据流的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数,若该次数大于或等于次数阈值,则中止该数据流,并将该数据流标记为失效。
可选的,所述方法还包括:
在根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数之前,确定在所述资源分配信息表征的资源分配情况下,通过每一所述数据流的失效标记位判断该数据流是否失效;
若不存在失效的数据流,则根据每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数;
若存在失效的数据流,则删除该组资源分配信息。
本公开第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被集成控制芯片中的主控模块执行时实现第二方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种车辆,所述车辆包括上述第一方面中任一项所述的集成控制芯片。
采用上述技术方案至少可以包括如下技术效果:
通过在集成控制芯片中集成与各车载部件一一对应的控制模块,并将所述控制模块执行的操作作为操作节点,再将每一所述控制模块的每一操作节点串联形成节点流的方式,在车辆事件发生时,所述车辆事件能够体现为由多个操作节点串联而成的一条或多条数据流。这样,在主控模块依次循环调用每一控制模块时,能够通过遍历的方式对所述控制模块所对应的节点流中的操作节点在本次遍历中是否执行进行判断。在确定执行该操作节点时,则与所述操作节点所对应的车载部件的功能被实现。也就是说,通过将车辆事件转化为由不同操作节点连接形成的数据流,由主控模块循环调用控制模块并遍历判断所述控制模块对应的操作节点是否执行的方式,无需为车辆上的每一车载部件单独配置一控制器就能实现不同车载部件的功能,从而使得车载部件的控制更加灵活,减小了车辆的开发成本。此外,所述主控模块还能够根据车辆事件的执行要求来调整不同控制模块对主控模块计算资源的占用时长,从而对各控制模块进行协调,使得各车辆事件能够被良好响应。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种集成控制芯片的框图。
图2是根据一示例性实施例示出的一种集成控制芯片中的数据流和节点流的示意图。
图3是示例性示出的一种集成控制芯片的控制方法的流程示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种集成控制芯片的框图。如图1所示,所述集成控制芯片100中集成有与多个车载部件一一对应的多个控制模块121~126,以及主控模块110,其中,所述控制模块121~126用于被所述主控模块110调用以实现与所对应的车载部件相关联的多个操作。
所述集成控制芯片100中形成有与所述多个控制模块一一对应的多条节点流,每一所述节点流由所对应的控制模块执行的操作串联形成,每一所述操作分别作为所述节点流中的一个操作节点。
所述集成控制芯片100中还形成有与至少一个事件一一对应的至少一条数据流,每一所述数据流由多个操作节点串联形成,每一所述数据流包括不同所述节点流中的操作节点。
所述主控模块110用于,分配每一所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长。
所述主控模块110还用于,循环依次调用每一所述控制模块,并针对每次调用的目标控制模块,在该目标控制模块的所述占用时长内遍历该目标控制模块对应的节点流中的每一操作节点,在遍历过程中,对于遍历到的每一操作节点,判断该操作节点是否处于数据流中,若该操作节点处于数据流中,且该数据流中该操作节点的前一操作节点处于已完成状态,则执行该操作节点对应的操作;若该操作节点不处于数据流中,或者该操作节点处于数据流中而该数据流中该操作节点的前一操作节点处于未完成状态,则遍历该目标控制模块对应的节点流中该操作节点的后一操作节点。
在一示例性实施例中,主控模块110可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现。在另一示例性实施例中,控制模块121~126既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。软件功能单元存储在一个存储介质中,包括若干功能函数用以主控模块110调用该控制模块时执行该功能函数。前述的存储介质可以包括只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)等各种可以存储程序代码的介质。
对于控制模块与车载部件的关系,具体地,单个车载部件对应于集成控制芯片中多个控制模块中的一者,在需要使用某些车载部件时,可以通过主控模块调用与这些车载部件对应的控制模块,并通过控制模块实现与该控制模块对应的车载部件的相关操作,单个操作可以为车载部件执行的一个具体动作,例如雷达对应的单个操作可以为发送用于检测障碍物的雷达波的动作,接收被障碍物反射的雷达波的动作,解析接收到的雷达波的动作中的一者。
示例地,单个车载部件可以为雷达、蜂鸣器、仪表、车载空调、车灯系统和智能钥匙中的任意一者,在一种可能的实施方式中,如图1所示,控制模块121为对应于雷达的控制模块,则在需要使用雷达完成某些操作例如发射用于检测障碍物的雷达波时,主控模块110调用控制模块121进而控制雷达发送雷达波。
对于节点流,示例地,参照图2所示出的一种集成控制芯片中的数据流和节点流的示意图。如图2所示,控制模块121为对应于雷达的控制模块,操作节点1211对应的操作为发送用于检测障碍物的雷达波,操作节点1212对应的操作为接收已发送的雷达波,操作节点1213对应的操作为解析已接收的雷达波,则操作节点1211,操作节点1212和操作节点1213形成对应于控制模块121的节点流,且在该节点流中,按照先执行操作节点1211,然后执行操作节点1212,最后执行操作节点1213的顺序配置操作节点1211~1213。同理,参照图2,操作节点1221~1223形成的节点流对应于控制模块122,操作节点1231~1233形成的节点流对应于控制模块123。
仍以图2进行示例,对于数据流,控制模块121为对应于雷达的控制模块,控制模块122为对应于蜂鸣器的控制模块,控制模块123为对应于仪表的控制模块,控制模块121的操作节点1211对应的操作为获取数据信息,例如雷达监测到的障碍物可能位于0~0.5m,0.5m~1m,1m~1.5m,1.5m~2m,2m~6m,共5个距离范围中的一者中,进而获取的数据信息为表明障碍物位于上述5个距离范围中的一者的数据信息。控制模块122的操作节点1222对应的操作为基于操作节点1211获取的数据信息,控制蜂鸣器以与上述距离范围对应的频率进行蜂鸣,例如蜂鸣器可以分别以2khz,1khz,500hz,250hz,125hz的频率进行蜂鸣,且2khz对应于0~0.5m,1khz对应于0.5m~1m,500hz对应于1m~1.5m,250hz对应于1.5m~2m,125hz对应于2m~6m,即获取的数据信息表明障碍物位于0~0.5m时,蜂鸣器以2khz的频率蜂鸣,其余同理。控制模块123的操作节点1233对应的操作为基于获取的数据信息,在仪表上显示障碍物相对于车辆的距离。
参见上述对于操作节点对应的操作的说明,事件由数据流完成,数据流由多个操作节点串联形成,每一所述数据流包括不同所述节点流中的操作节点。具体的,事件可以由多个操作按照一定顺序组成,通过配置与该多个操作一一对应的多个操作节点形成数据流实现,用于完成一具体事件。例如,对于通过雷达监测障碍物距离,根据关于该距离的信息控制蜂鸣器蜂鸣,将关于该距离的信息显示在仪表上的事件,可以通过配置操作节点1211,操作节点1222,操作节点1233,按照该顺序串联形成数据流。
在一种可能的实施方式中,主控模块110先调用控制模块121执行对应于操作节点1211的操作,雷达获取的数据信息表明障碍物位于0.5m~1m的范围,然后主控模块110调用控制模块122执行对应于操作节点1222的操作,控制蜂鸣器以1khz的频率进行蜂鸣,最后主控模块110调用控制模块123执行对应于操作节点1233的操作,在仪表上显示障碍物相对于车辆的距离位于0.5m~1m的范围。当然,雷达获取的数据信息还可以包括障碍物相对于车辆的方向,例如左前方,进而可以控制车辆上位于左前方的蜂鸣器进行蜂鸣,并在仪表上显示障碍物位于车辆左前方。
关于分配每一所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长,应当理解的是,不同的控制模块在被主控模块调用时,其占用主控模块的计算资源时长可以是不同的,在不同的运行环境下,同一控制模块占用主控模块的计算资源时长也可以是不同的。而对于一个车辆事件,通常需要系统在该事件被触发后的某一时间范围内进行响应,这就使得与所述车辆事件相对应的数据流具有执行时长限制。而数据流的运行依赖于节点流的循环遍历,因此,控制模块每次被调用执行时对所述主控模块计算资源的占用时长直接影响到相应车辆事件能否被正常响应。也就是说,主控模块可以根据车辆事件的要求来动态协调和分配各控制模块的计算资源,从而使得各车辆事件被正常响应。
示例地,在路面可见度降低时,驾驶者可能需要对雷达、仪表等功能提出更高的需求,进而出现相应的车辆事件。在这种情况下,可以为与对应车辆事件相关联的控制模块分配更多的计算资源,例如可以增加主控模块对相应控制模块的调用频率,从而提升相应节点流的遍历速度,进而提升相应车辆事件的响应效果。
对于主控模块对控制模块的调用,示例地,对于图1中的控制模块121~126,可以按照控制模块121,控制模块122,控制模块123,控制模块124,控制模块125,控制模块126的顺序依次调用,在调用到控制模块121时,如图2所示,按照操作节点1211,操作节点1212,操作节点1213的顺序依次遍历每个操作节点,在调用到控制模块122时,按照操作节点1221,操作节点1222,操作节点1223的顺序依次遍历每个操作节点。
沿用上述例子,如图2所示,对于控制模块122中的操作节点1221~1223,在遍历至操作节点1221时,由于该操作节点1221不位于任何数据流中,故不执行操作节点1221对应的操作,转至遍历操作节点1222,由于该操作节点1222处于操作节点1211,操作节点1222,操作节点1233构成的数据流中,故可以检测该数据流中操作节点1222的前一操作节点即操作节点1211是否处于完成状态,如果操作节点1211处于完成状态,则执行操作节点1222对应的操作,若操作节点1211处于未完成状态,则不执行操作节点1222对应的操作。需要说明的是,在遍历至一操作节点时,无论该操作节点对应的操作是否执行,均在遍历完该操作节点后,进行该操作节点所在节点流中下一操作节点的遍历。此外,如果该操作节点位于数据流中,且该操作节点为其所在数据流中的首节点,则无需检测其所在数据流中前一操作节点是否处于已完成状态,而直接执行该操作节点对应的操作。
也就是说,主控模块可以按照一定顺序依次调用各控制模块,且该调用过程可以循环进行,所述循环过程可以在车辆启动时开始。对于正在被调用的控制模块即目标控制模块,主控模块可以按照与该控制模块对应的节点流中的操作节点的串联顺序,遍历该控制模块对应的节点流中的每一个操作节点,并判断本次是否执行该操作节点所对应的操作。
值得注意的是,在具体实施时,可能存在某一控制模块,其自身能够不依赖于其他控制模块的数据,独立的完成某些事件。在这种情况下,主控模块遍历到所述控制模块所对应的节点流中的操作节点时,即便所述操作节点不属于数据流中,依然执行该操作节点对应的操作。
采用所述集成控制芯片可以包括如下技术效果:
通过在集成控制芯片中集成与各车载部件一一对应的控制模块,并将所述控制模块执行的操作作为操作节点,再将每一所述控制模块的每一操作节点串联形成节点流的方式,在车辆事件发生时,所述车辆事件能够体现为由多个操作节点串联而成的一条或多条数据流。这样,在主控模块依次循环调用每一控制模块时,能够通过遍历的方式对所述控制模块所对应的节点流中的操作节点在本次遍历中是否执行进行判断。在确定执行该操作节点时,则与所述操作节点所对应的车载部件的功能被实现。也就是说,通过将车辆事件转化为由不同操作节点连接形成的数据流,由主控模块循环调用控制模块并遍历判断所述控制模块对应的操作节点是否执行的方式,无需为车辆上的每一车载部件单独配置一控制器就能实现不同车载部件的功能,从而使得车载部件的控制更加灵活,减小了车辆的开发成本。此外,所述主控模块还能够根据车辆事件的执行要求来调整不同控制模块对主控模块计算资源的占用时长,从而对各控制模块进行协调,使得各车辆事件能够被良好响应。
可选的,所述主控模块用于:
生成n组资源分配信息,所述资源分配信息用于表征每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长。
示例地,以图2进行说明,图2包括了控制模块121~126,每一控制模块有与其相对应的节点流。假定控制模块121~126分别对应于车载空调、车灯系统、仪表、雷达、智能钥匙、网关,在生成资源分配信息时可以根据每一所述节点流的执行时长生成30组随机的资源分配信息,所述执行时长是指主控模块调用与所述节点流相对应的控制模块的时长。需要说明的是,由于大多节点的执行周期都处于1~100ms之间,为了简化数值运算量,可以将执行周期的数值缩小十倍来组成资源分配信息,也就是说,在生成资源分配信息时,每一所述执行时长的数值范围可以为0.1~10。
这里以两个资源分配信息作为示例,资源分配信息1为[0.3,0.5,3,2,5,0.6],资源分配信息2为[0.4,0.3,7,4,1,0.7],以资源分配信息1为例,资源分配信息1表示车载空调对应节点流的执行时长为3ms,车灯系统对应节点流的执行时长为5ms,仪表对应节点流的执行时长为30ms,雷达对应节点流的执行时长为20ms,智能钥匙对应节点流的执行时长为50ms,网关对应节点流的执行时长为6ms。
在每一组所述资源分配信息表征的资源分配情况下,根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数,所述等待次数是指在所述数据流中的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数。
其中,可以为每一操作节点设置如下节点参数:
是否需要数据信息标志位drf,用于表征该操作节点的执行是否需要等待上一数据流节点的数据信息。若drf=1,则表示该操作节点需要等待上一数据流节点的数据信息,在缺少所述数据信息时,该操作节点无法执行。drf=0表示该操作节点不需要等待数据信息。
等待次数dwt,用来记录操作节点已经等待数据信息的次数,所述等待次数是指在所述数据流中的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数。
根据n个所述运行优良系数选择目标资源分配信息。
根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配。
示例地,在具体实施时,可以为每一操作节点设置是否需要数据信息标志位drf以及等待次数dwt。同时,还可以为每一操作节点设置等待次数的区间范围,通过在计算每一资源分配信息下每一操作节点的实际等待次数所处于的区间,来确定集成控制芯片的运行优良系数。最终根据每一资源分配信息的运行优良系数,确定目标资源分配信息,再根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配。
这样,通过对每一操作节点设置等待次数这一运行指标,所述主控模块能够通过所述运行指标来确定所述集成控制芯片的运行优良系数,进而根据所述运行优良系数判断当前的资源分配信息是否符合预期,起到对资源分配信息进行筛选的效果,有助于寻找满足当前所有事件响应要求的主控模块计算资源的占用时长分配结果。
在一种可能的实施方式中,所述根据n个所述运行优良系数选择目标资源分配信息,包括:
若所述n个运行优良系数中存在处于预设范围内的运行优良系数,则将处于预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。这样,根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配,能够对各控制模块进行协调,使得相应的车辆事件发生时,所述集成控制模块能够良好响应所述车辆事件。
在另一种可能的实施方式中,所述主控模块用于:
判断n个运行优良系数中是否存在处于预设范围内的运行优良系数;
若所述n个运行优良系数中不存在处于预设范围内的运行优良系数,则确定最接近所述预设范围的m个运行优良系数对应的目标资源分配信息,m小于n;
根据所述目标资源分配信息通过遗传算法中的交配和/或变异操作中生成新的l组资源分配信息,m+l=n;
计算所述l组资源分配信息中,每一组资源分配信息对应的运行优良系数;
根据所述m个运行优良系数和所述l组资源分配信息,返回执行判断n个运行优良系数中是否存在处于预设范围内的运行优良系数的步骤,直到存在处于所述预设范围内的运行优良系数,则将处于所述预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
也就是说,在生成的n组资源分配信息无法满足当前事件的响应要求时,所述主控芯片还能够通过对所述n组资源分配信息的运行优良系数进行排序,选择出更能满足当前事件的响应要求的m组资源分配信息,并通过遗传算法对选出的m组资源分配信息进行交配和/或变异操作,最终通过遗传算法不断的求解优化,找到能够满足当前事件的响应要求的主控模块计算资源的占用时长。
可选地,所述主控模块用于:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,所述运行优良系数包括每一所述控制优良系数。
其中,在为每一操作节点设置是否需要数据信息标志位drf以及等待次数dwt的基础上,还可以为所述操作节点设置如下参数:
最大等待次数dwtmax,用于表示操作节点的最大等待次数,如果操作节点的等待次数大于该最大等待次数,该操作节点的功能失效。
合理等待次数dwtopt,用于表示该操作节点的合理等待次数,在合理等待次数下,认为该操作节点的功能实现状态良好。
示例地,针对每一操作节点,可以将每一所述合理的等待次数dwtopt作为该操作节点的预设次数阈值。以空调控制模块为例,若空调控制模块所对应的节点流中,存在5个需要等待数据信息的操作节点,则空调控制模块的控制优良系数
这样,对每一操作节点设置等待次数这一运行指标,并通过对每一操作节点设置预设次数阈值的方式,主控模块能够通过对比所述等待次数以及与其对应的预设次数阈值来确定每一控制模块的运行状态。进而根据每一控制模块的运行状态确定集成控制芯片的运行优良系数,最终能够根据所述运行优良系数判断当前的资源分配信息是否符合预期,有助于寻找满足当前所有事件的响应要求的主控模块计算资源的占用时长分配结果。
可选地,所述主控模块用于:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数;
将每一所述控制优良系数的平均值作为系统优良系数,所述运行优良系数包括所述系统优良系数。
也就是说,控制优良系数还可以以每一控制优良系数的平均值,即系统优良系数来表示,从而进一步的提升了资源分配信息的筛选效率,有助于寻找满足当前所有事件的响应要求的主控模块计算资源的占用时长分配结果。
需要说明的是,以上实施例仅为示例,本领域技术人员应当知晓,为了更准确地判断系统各节点的运行状态,在具体实施,所述运行优良系数也可以同时包括所述系统优良系数以及控制优良系数,本公开对此不作限定。
在一种可能的实施方式中,所述运行优良系数包括系统优良系数以及对应于每一所述控制模块的控制优良系数,所述主控模块用于:
判断每一所述控制优良系数是否均处于第一合理系数范围,以及所述系统优良系数是否处于第二合理系数范围;
将使得每一所述控制优良系数均处于所述第一合理系数范围,且所述系统优良系数处于所述第二合理系数范围的资源分配信息作为所述目标资源分配信息;
其中,将每一所述节点流中的每一操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,将每一所述控制优良系数的平均值作为系统优良系数。
示例地,将每一所述节点流中的每一操作节点的所述等待次数的和值与每一所述操作节点的合理等待次数dwtopt的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数:
此外,还可以将每一所述控制优良系数的平均值作为系统优良系数:
这样,采用所述集成控制芯片,通过设置控制优良系数以及系统优良系数两个指标,以及对控制优良系数和系统优良系数分别设置区间的方式,主控模块能够实时的监测各控制模块以及各控制模块所对应的操作节点的运行状态。当事件的响应要求发生变化时,主控模块能够调整各控制优良系数以及系统优良系数,并通过遗传算法来寻求新的计算资源分配方式,使得各事件能够被良好响应。
可选地,所述主控模块还用于:
针对所述数据流中的操作节点,记录该操作节点等待该数据流中的前一操作节点被执行完成所花费的时长,并在该时长大于或等于时长阈值时,中止该数据流,并将该数据流标记为失效;或者,
针对所述数据流中的操作节点,记录在所述数据流的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数,若该次数大于或等于次数阈值,则中止该数据流,并将该数据流标记为失效。
示例地,如图2所示,对于位于操作节点1211,操作节点1222,操作节点1233组成的数据流中的操纵节点1233,记录操作节点1222执行的时长,例如在检测到操作节点1211的上述标记位为1时,表示操作节点1211被执行完成,操作节点1222对应的操作开始执行,此时开始计时,若计时的时长超过时长阈值,说明数据流对应事件的实现可能出现异常,进而中止该数据流,避免在出现异常状况时,数据流中的操作节点长时间处于等待状态,导致数据流对应的事件长时间不能被实现,中止该数据流后可以开始下一轮对于该数据流中每一操作节点的遍历。
另一方面,对于操作节点1233,当其所在的数据流中的首节点即操作节点1211被标记为已完成状态后,开始记录操作节点1233所在的节点流被遍历的次数,在该节点流被遍历的次数小于次数阈值时,若该操作节点1233对应的操作被执行,表示该操作节点1233的执行状态良好,可以将操作次数置零,便于下次遍历该数据流中的操作节点时,记录该操作节点1233所属的节点流被遍历的次数。若该操作节点1233所属的节点流被遍历的次数达到次数阈值时,该操作节点1233对应的操作仍然未被执行,说明可能出现异常,继而中止数据流,可以开始下一轮对于该数据流中每一操作节点的遍历。
也就是说,在数据流中的操作节点等待时间超时或等待次数大于预设阈值,即所述数据流可能出现异常时,可以中止该数据流,并向系统或用户反馈所述异常状态。避免在出现异常状况时,数据流中的操作节点长时间处于等待状态,导致数据流对应的事件长时间不能被实现,且持续占用计算资源的问题。
在一种可能的实施方式中,所述主控模块还用于:
在根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数之前,确定在所述资源分配信息表征的资源分配情况下,通过每一所述数据流的失效标记位判断该数据流是否失效;
若不存在失效的数据流,则根据每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数;
若存在失效的数据流,则删除该组资源分配信息。
应当理解的是,每一数据流对应着系统中的某一项事件,当数据流失效时,例如所述数据流的任一操作节点出现超时或者无效之后,所述数据流所对应的事件也无法完成。
也就是说,在每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数之前,可以先对该组资源分配信息下的数据流状态进行检测。若出现失效的数据流,则表明该组资源分配信息下难以完成系统中的某些事件,此时可以直接删除该组资源分配信息,从而节省计算资源。
可选地,所述集成控制芯片还包括存储模块,用于存储计算机程序,其中,所述主控模块通过执行所述存储模块中的所述计算机程序,实现所述主控模块在所述集成控制芯片中的操作。
其中,所述存储模块可以是只读存储器、随机存取存储器等各种可以存储程序代码的介质。如图2所示的控制模块121~126也可以采用软件功能单元的形式实现,例如每一控制模块可以以若干功能函数的形式存储在所述存储模块中,使得主控模块可以通过执行所述存储模块中的所述功能函数,实现所述主控模块在所述集成控制芯片中的对应操作。
图3是示例性示出的一种集成控制芯片的控制方法的流程示意图,所述方法包括:
s31,分配所述集成控制芯片中每一控制模块每次被调用执行时对所述集成控制芯片中主控模块计算资源的占用时长;
s32,循环依次调用每一所述控制模块,并针对每次调用的目标控制模块,在该目标控制模块的所述占用时长内遍历该目标控制模块对应的节点流中的每一操作节点,其中,每一控制模块对应的节点流由该控制模块执行的操作串联形成,每一所述操作分别作为所述节点流中的一个操作节点;
s33,对于遍历到的每一操作节点,判断该操作节点是否处于数据流中,其中,所述集成控制芯片中的一条数据流对应一个事件,每一所述数据流由多个操作节点串联形成;
s34,若该操作节点处于数据流中,且该数据流中该操作节点的前一操作节点处于已完成状态,则执行该操作节点对应的操作;
s35,若该操作节点不处于数据流中,或者该操作节点处于数据流中而该数据流中该操作节点的前一操作节点处于未完成状态,则遍历该目标控制模块对应的节点流中该操作节点的后一操作节点。
采用所述集成控制芯片的控制方法可以包括如下技术效果:
通过在集成控制芯片中集成与各车载部件一一对应的控制模块,并将所述控制模块执行的操作作为操作节点,再将每一所述控制模块的每一操作节点串联形成节点流的方式,在车辆事件发生时,所述车辆事件能够体现为由多个操作节点串联而成的一条或多条数据流。这样,在主控模块依次循环调用每一控制模块时,能够通过遍历的方式对所述控制模块所对应的节点流中的操作节点在本次遍历中是否执行进行判断。在确定执行该操作节点时,则与所述操作节点所对应的车载部件的功能被实现。也就是说,通过将车辆事件转化为由不同操作节点连接形成的数据流,由主控模块循环调用控制模块并遍历判断所述控制模块对应的操作节点是否执行的方式,无需为车辆上的每一车载部件单独配置一控制器就能实现不同车载部件的功能,从而使得车载部件的控制更加灵活,减小了车辆的开发成本。此外,所述主控模块还能够根据车辆事件的执行要求来调整不同控制模块对主控模块计算资源的占用时长,从而对各控制模块进行协调,使得各车辆事件能够被良好响应。
可选地,所述分配所述集成控制芯片中每一控制模块每次被调用执行时对所述集成控制芯片中主控模块计算资源的占用时长包括:
生成n组资源分配信息,所述资源分配信息用于表征每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长;
在每一组所述资源分配信息表征的资源分配情况下,根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数,所述等待次数是指在所述数据流中的首节点被标记为已完成状态后,该操作节点对应的操作被执行之前,该操作节点所属的节点流被遍历的次数;
根据n个所述运行优良系数选择目标资源分配信息;
根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配。
这样,通过对每一操作节点设置等待次数这一运行指标,所述主控模块能够通过所述运行指标来确定所述集成控制芯片的运行优良系数,进而根据所述运行优良系数判断当前的资源分配信息是否符合预期,起到对资源分配信息进行筛选的效果,有助于寻找满足当前所有事件响应要求的主控模块计算资源的占用时长分配结果。
在一种可能的实施方式中,所述根据n个所述运行优良系数选择目标资源分配信息,包括:
若所述n个运行优良系数中存在处于预设范围内的运行优良系数,则将处于预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。这样,根据所述目标资源分配信息对每一个所述控制模块每次被调用执行时对所述主控模块计算资源的占用时长进行分配,能够对各控制模块进行协调,使得相应的车辆事件发生时能够被良好响应。
在另一种可能的实施方式中,所述根据n个所述运行优良系数选择目标资源分配信息还包括:
判断n个运行优良系数中是否存在处于预设范围内的运行优良系数;
若所述n个运行优良系数中不存在处于预设范围内的运行优良系数,则确定最接近所述预设范围的m个运行优良系数对应的目标资源分配信息,m小于n;
根据所述目标资源分配信息通过遗传算法中的交配和/或变异操作中生成新的l组资源分配信息,m+l=n;
计算所述l组资源分配信息中,每一组资源分配信息对应的运行优良系数;
根据所述m个运行优良系数和所述l组资源分配信息,返回执行判断n个运行优良系数中是否存在处于预设范围内的运行优良系数的步骤,直到存在处于所述预设范围内的运行优良系数,则将处于所述预设范围内的运行优良系数对应的资源分配信息作为所述目标资源分配信息。
也就是说,在生成的n组资源分配信息无法满足当前事件的响应要求时,所述主控芯片还能够通过对所述n组资源分配信息的运行优良系数进行排序,选择出更能满足当前事件的响应要求的m组资源分配信息,并通过遗传算法对选出的m组资源分配信息进行交配和/或变异操作,最终通过遗传算法不断的求解优化,找到能够满足当前事件的响应要求的主控模块计算资源的占用时长。
可选地,所述方法还包括:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,所述运行优良系数包括每一所述控制优良系数。
这样,对每一操作节点设置等待次数这一运行指标,并通过对每一操作节点设置预设次数阈值的方式,主控模块能够通过对比所述等待次数以及与其对应的预设次数阈值来确定每一控制模块的运行状态。进而根据每一控制模块的运行状态确定集成控制芯片的运行优良系数,最终能够根据所述运行优良系数判断当前的资源分配信息是否符合预期,有助于寻找满足当前所有事件的响应要求的主控模块计算资源的占用时长分配结果。
可选地,所述方法还包括:
对于每一所述节点流中的每一操作节点,将每一所述操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数;
将每一所述控制优良系数的平均值作为系统优良系数,所述运行优良系数包括所述系统优良系数。
也就是说,控制优良系数还可以以每一控制优良系数的平均值,即系统优良系数来表示,从而进一步的提升了资源分配信息的筛选效率,有助于寻找满足当前所有事件的响应要求的主控模块计算资源的占用时长分配结果。
可选地,所述运行优良系数包括系统优良系数以及对应于每一所述控制模块的控制优良系数,所述根据n个所述运行优良系数选择目标资源分配信息包括:
判断每一所述控制优良系数是否均处于第一合理系数范围,以及所述系统优良系数是否处于第二合理系数范围;
将使得每一所述控制优良系数均处于所述第一合理系数范围,且所述系统优良系数处于所述第二合理系数范围的资源分配信息作为所述目标资源分配信息;
其中,将每一所述节点流中的每一操作节点的所述等待次数的和值与每一所述操作节点的预设次数阈值的和值之间的比值作为与所述节点流对应的控制模块的控制优良系数,将每一所述控制优良系数的平均值作为系统优良系数。
这样,采用所述集成控制芯片,通过设置控制优良系数以及系统优良系数两个指标,以及对控制优良系数和系统优良系数分别设置区间的方式,主控模块能够实时的监测各控制模块以及各控制模块所对应的操作节点的运行状态。当事件的响应要求要求发生变化时,主控模块能够调整各控制优良系数以及系统优良系数,并通过遗传算法来寻求新的计算资源分配方式,使得各事件能够被良好响应。
可选地,所述方法还包括:
针对所述数据流中的操作节点,记录该操作节点等待该数据流中的前一操作节点被执行完成所花费的时长,并在该时长大于或等于时长阈值时,中止该数据流,并将该数据流标记为失效;或者,
针对所述数据流中的操作节点,记录在所述数据流的首节点被标记为已完成状态后,该操作节点所属的节点流被遍历的次数,若该次数大于或等于次数阈值,则中止该数据流,并将该数据流标记为失效。
也就是说,在数据流中的操作节点等待时间超时或等待次数大于预设阈值,即所述数据流可能出现异常时,可以中止该数据流,并向系统或用户反馈所述异常状态。避免在出现异常状况时,数据流中的操作节点长时间处于等待状态,导致数据流对应的事件长时间不能被实现,且持续占用计算资源的问题。
可选地,所述方法还包括:
在根据每一所述数据流中的操作节点的等待次数,确定所述集成控制芯片的运行优良系数之前,确定在所述资源分配信息表征的资源分配情况下,通过每一所述数据流的失效标记位判断该数据流是否失效;
若不存在失效的数据流,则根据每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数;
若存在失效的数据流,则删除该组资源分配信息。
也就是说,在每一所述数据流中的操作节点的等待次数,确定该组资源分配信息对应的所述运行优良系数之前,可以先对该组资源分配信息下的数据流状态进行检测。若出现失效的数据流,则表明该组资源分配信息下难以完成系统中的某些事件,此时可以直接删除该组资源分配信息,从而节省计算资源。
本公开实施例的另一方面,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被集成控制芯片中的主控模块执行时实现上述方法实施例提供的任一集成控制芯片的控制方法的步骤。
本公开实施例的另一方面,还提供一种车辆,所述车辆包括上述集成控制芯片,该集成控制芯片具体可参照以上对图1所述的集成控制芯片进行的说明,此处不再赘述。
该车辆通过在集成控制芯片中集成与各车载部件一一对应的控制模块,并将所述控制模块执行的操作作为操作节点,再将每一所述控制模块的每一操作节点串联形成节点流的方式,在车辆事件发生时,所述车辆事件能够体现为由多个操作节点串联而成的一条或多条数据流。这样,在主控模块依次循环调用每一控制模块时,能够通过遍历的方式对所述控制模块所对应的节点流中的操作节点在本次遍历中是否执行进行判断。在确定执行该操作节点时,则与所述操作节点所对应的车载部件的功能被实现。也就是说,通过将车辆事件转化为由不同操作节点连接形成的数据流,由主控模块循环调用控制模块并遍历判断所述控制模块对应的操作节点是否执行的方式,无需为车辆上的每一车载部件单独配置一控制器就能实现不同车载部件的功能,从而使得车载部件的控制更加灵活,减小了车辆的开发成本。此外,所述主控模块还能够根据车辆事件的执行要求来调整不同控制模块对主控模块计算资源的占用时长,从而对各控制模块进行协调,使得各车辆事件能够被良好响应。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除