电子控制装置及其数据保护方法与流程

文档序号:18190649发布日期:2019-07-17 05:34阅读:146来源:国知局
电子控制装置及其数据保护方法与流程

本发明涉及具有作为作业区域使用的ram和数据保存用的非易失性存储器的电子控制装置及其数据保护方法。



背景技术:

在专利文献1中记载了使在ram上被更新的继续保存对象数据始终存储在电池备用的sram中,同时也使其存储在非易失性存储器中,在操作开始时判定为sram内的数据异常的情况下,从非易失性存储器还原数据的汽车用的电子控制装置。在该专利文献1中,在从外部装置接受了输出请求时在对非易失性存储器的继续保存对象数据的存储结束后进行输出,以便不因电源的瞬时中断等而丢失最新的数据。

现有技术文献

专利文献

【专利文献1】日本专利特开2004-178067号公报



技术实现要素:

发明要解决的课题

但是,在这种电子控制装置中,若不能确保足够的电池容量,则担心在起动机的动作时等流过大电流,发生电源的瞬时中断。若电源瞬时中断,则即使是电池备用的ram也有存储数据被破坏的可能性。而且,若有缘电源瞬时中断微计算机被重置,则不执行将继续保存对象数据写入非易失性存储器的关闭处理,也存在应更新的继续保存对象数据消失的可能性。因此,存在不能保持操作中产生的数据,例如不能进行故障警告灯的点亮/熄灭控制,不能将学习值更新为最新的状态的课题。

本发明鉴于上述那样的情况而完成,其目的是提供即使发生电源的瞬时中断,也可以保持在操作中产生的数据,提高商品性或故障的分析能力的电子控制装置。

而且,本发明的其它目的是提供即使发生电源的瞬时中断,也可以保护在操作中发生的数据的电子控制装置的数据保护方法。

用于解决课题的手段

本发明的电子控制装置的特征在于,包括:作为作业区域使用的ram;数据保存用的非易失性存储器;以及控制单元,控制对所述ram以及所述非易失性存储器的数据的写入以及读出,使操作中产生的数据存储在所述ram中,在停止操作时使所述数据写入所述非易失性存储器的存储区域,在开始起动时将所述数据从所述非易失性存储器读出到所述ram,对控制对象进行控制的控制单元,在预测到不正当的重置的情况下,将操作中产生的至少一部分数据从所述ram写入到与所述非易失性存储器中的所述数据的存储区域不同的避让区域内,在从不正当的重置再次开始操作时,将写入到所述存储区域和所述避让区域内的数据读出到所述ram中。

而且,本发明的电子控制装置的数据保护方法的特征在于,包括:将控制单元的操作中产生的数据存储在ram中;在停止操作时使所述数据写入到非易失性存储器中;在开始起动时将所述数据从所述非易失性存储器读出到所述ram中,对控制对象进行控制;在预测到所述控制单元的不正当的重置的情况下,将所述操作中产生的至少一部分数据从所述ram写入到与所述非易失性存储器中的所述数据的存储区域不同的避让区域内;在从不正当的重置再次开始操作时,将写入到所述存储区域和所述避让区域内的数据读出到所述ram中。

发明效果

在本发明中,在预测到控制单元的不正当的重置的情况下,将操作中产生的至少一部分数据写入到与非易失性存储器中的数据的存储区域不同的避让区域内而进行避让,在从不正当的重置再次开始操作时,将写入到数据的存储区域和避让区域中的数据读出到ram中用于控制。由此,即使发生电源的瞬时中断,数据从ram消失,也可以用保持在非易失性存储器的存储区域和避让区域中的数据再现操作中产生的数据。因此,即使发生电源的瞬时中断,也可以保护在控制单元的操作中产生的数据,提高电子控制装置的商品性和故障的分析能力。

附图说明

图1是表示本发明的实施方式的电子控制装置的概略结构例的方框图。

图2是用于说明图1中表示的电子控制装置的操作的流程图。

图3a是用于说明电源瞬时中断时的操作的定时图。

图3b是用于说明电源瞬时中断时的操作的示意图。

图4a是用于说明通常的关闭时的操作的定时图。

图4b是用于说明通常的关闭时的操作的示意图。

具体实施方式

以下,参照附图说明本发明的实施方式。

图1表示本发明的实施方式的电子控制装置(ecu)10的概略结构。该ecu10为控制汽车的点火装置、燃料泵、自动变速器等的车辆用装置。ecu10包括:例如cpu(centralprocessingunit,中央处理器)那样的处理器(控制单元)1、作为作业区域使用的ram(randomaccessmemory,随机存取存储器)2、eeprom(electricallyerasableandprogrammablereadonlymemory,电可擦可编程只读存储器)3那样的即使切断电源供给也可以保持数据的数据保存用的非易失性存储器。这里,eeprom3被内置于ecu10,但是也可以通过外挂方式安装在ecu10上。

处理器1从各种传感器获取车辆各部分的信息,根据来自这些传感器的信息计算控制对象的点火装置、燃料泵、自动变速器等的操作量,例如与点火时期、燃料喷射量、车速或发动机的转速相应的变速比等,对点火装置、燃料泵、自动变速器等输出控制信息。这些处理器1、ram2以及eeprom3经由总线4相互连接,根据处理器1的控制进行数据的写入和读出。

ram2具有从电池施加数据保持用的电压的备用区域(b/uram)和作业用的通常区域。在该ram2中,也可以使用无电池备用(backup)的通常的ram。在eeprom3中,例如预先存储与控制对象对应的各种控制程序。然后,在点火开关ign接通,初始化ecu10时,将这些控制程序从eeprom3读出到ram2的通常区域内,用于对控制对象的控制。而且,在关闭处理时,将行驶周期(驾驶周期dc)中发生并存储在ram2的备用区域中的学习值写入eeprom3中进行更新,同时将基于obd(on-boarddiagnostics,车载诊断系统)功能的故障信息等存储在eeprom3中。

图2表示图1所示的电子控制装置的操作。在该图2的流程图中,示出在电源的瞬时中断发生后和关闭处理后执行避让数据的删除的例子。首先,判定点火开关ign是否接通(步骤s1),在判定为接通时进行ecu10的初始化(步骤s2)。在判定为关断时,反复判定操作并等待,直至判定为接通。在初始化中,通过处理器1的控制从eeprom3读出控制程序,写入到ram2的通常区域内。

接着,通过处理器1使用控制程序对控制对象进行通常处理(步骤s3)。在通常处理中,例如根据来自各种传感器的信息,在处理器1中计算点火时期、燃料喷射量、变速比等的操作量,提供给作为控制对象的点火装置、燃料泵、自动变速器等而进行控制。在该通常处理的操作中发生的行驶周期中的数据存储在ram2中。

在下一个步骤s4中,判定存在发生电源的瞬时中断的可能性的规定的条件是否已成立。在判定为条件已成立时,通过处理器1的控制,将ram2中存储的数据的至少一部分写入到eeprom3的避让区域内,同时在计数器区域中写入计数值(步骤s5)。然后,判定是否已发生了电源的瞬时中断(步骤s6),在发生了瞬时中断的情况下在电源电压的恢复时进行ecu10的初始化(步骤s7)。接着,判定是否通过处理器1的控制将eeprom3的避让区域的数据回写(步骤s8),判定为回写时读出避让区域的数据后回写到ram2中,返回步骤s3的通常处理(步骤s9)。由此,可以在电源的瞬时中断发生之前,还原跨行驶周期使用的数据。

在步骤s8中判定为不回写eeprom3的避让区域的数据的情况下,判定是否删除避让区域的数据(步骤s10)。然后,在判定为删除时删除eeprom3的避让区域的数据,返回到步骤s3的通常操作(步骤s11),在判定为不删除时不删除避让区域的数据,返回到步骤s3的通常操作。

而且,在步骤s6中,在判定为未发生电源的瞬时中断的情况下,返回到步骤s3,执行通常处理。

另一方面,在步骤s4中判定为规定的条件不成立的情况下,判定点火开关ign是否已关闭(步骤s12),在判定为已关闭时执行关闭处理(步骤s13),删除eeprom3的避让区域的数据并结束(步骤s14)。在关闭处理中,通过处理器1的控制将ram2中存储的数据写入到eeprom3的存储区域内,同时将“计数值n+1”写入到对应的计数器区域中。

而且,在步骤s12中判定为点火开关ign接通的情况下,返回到步骤s3,通过处理器1使用控制程序对控制对象执行通常处理。

上述的步骤s11中的避让数据的删除由于在步骤s7中初始化了ecu10之后,即从eeprom3以及ram2的备用区域正常地进行了读出之后执行,所以数据的可靠性高。但是,因为在从点火接通开始至车辆操作开始为止的期间进行删除,若在起动等定时处理器1停止,则存在未完成删除的可能性。

另一方面,步骤s14中的避让数据的删除在对ram2的备用区域和处理器1的电源供给停止前执行,所以基本上能够在电源系统已稳定的状态下进行删除操作。但是,即使点火关断时的备用成功,也存在点火接通时若ecu10的初始化时读出失败则数据消失的可能性。

相对于此,若在步骤s11和步骤s14的两者中进行避让数据的删除,则可以更可靠地执行数据删除。这是因为,在处理器1停止前删除不正常时,在点火接通时也可以执行删除。但是,需要2次删除判定操作,所以处理变得冗长,处理时间稍长。

因此,考虑上述那样的长处和短处,避让数据的删除根据需要选择步骤s11和步骤s14中的一者,或者也可以选择两者。

图3a以及图3b是分别用于说明图1所示的电子控制装置中的电源瞬时中断时的操作的图。图3a示出对于点火开关ign的状态和电池电压vb的ecu10的操作定时。而且,图3b示意地示出将对于ram2和eeprom3的数据的写入操作和读出操作与图3a中的ecu10的操作相关联。

如图3a所示,在点火开关ign接通(“h”电平)的定时(时刻t0),进行ecu10的初始化。如图3b所示,ecu10的初始化通过处理器1的控制,将从eeprom3读出的数据写入ram2。这里,eeprom3的存储区域包括:存储单元(bank)0、存储单元1以及避让区域。这些存储单元0、存储单元1以及避让区域中分别包含数据的存储区域存储计数值的计数器区域。另一方面,虽然示出ram2中包含备用区域和通常区域的例子,但是也可以使用不电池备用的通常的ram。

在本例中,与计数值n对应的存储区域的数据(包含控制程序)最新,在存储单元0中存储最新的数据。读出该eeprom3中的存储单元0的最新数据,写入到ram2的备用区域。

在时刻t1初始化结束时,接着执行通常处理。在时刻t1-t2之间的通常处理中,处理器1使用ram2的通常区域进行作业。该作业(操作)中发生的跨车辆的行驶周期使用的数据写入备用区域。所谓跨行驶周期使用的数据是故障信息(每个设备的诊断信息或故障警告灯mil的接通/关断等)、学习值、诊断工具的显示用数据、以及故障发生时的存储信息等。例如在检测出任何故障(异常)时,将其故障信息等写入ram2的备用区域。

然后,若在进行通常处理的时刻t1-t2期间规定的条件成立,点划线5包围表示的那样,将ram2的备用区域中存储的数据的一部分写入eeprom3中的避让区域的数据区域,同时在计数器区域写入计数值n。

这里,所谓规定的条件是预想电池电压vb(电源电压)降低至作为控制单元的处理器1的操作停止的电平为止的情况,在处理器1进行的车辆的控制下流过了大于规定值的电流时预测电池电压vb的降低而实施、或者测量电池电压vb,检测其降低而实施。

具体地说,是起动机动作时、在基于处理器1的自我诊断的重置的刚刚之前、随时间变化等造成的电池的劣化时、空调等功耗大的设备动作时、电动车窗或大灯等设备同时动作时、或者这些多个条件的组合等。关于电池的劣化,可以从基于有无负载造成的电池电压vb的变动或电压的恢复时间进行预测。

而且,写入eeprom3的避让区域的数据是在ecu10的操作中产生的、跨行驶周期使用的数据,例如从点火开关ign接通开始至电池电压vb降低为止存储的数据。具体地说,包含上述的故障信息、学习值、诊断工具的显示用数据、以及故障发生时的存储信息等,这里使用表示故障警告灯mil是否已点亮的故障信息等。而且,也可以包含故障发生时的快照(snapshot)或行车记录仪的数据等。然后,将在本次的行驶周期中从eeprom3读出的、存储了最新的数据的存储单元(bank)的计数值写入到避让区域的计数器区域内。

在上述通常处理中,在为了发动机的始动或从停止开始的起动起动机工作,或者由于某些原因等流过大电流时,有电池电压vb低于处理器1的操作电压的情况。然后,在经过规定时间后的时刻t3发动机起动时,通过处理器1的加电重置进行ecu10的初始化。

在该加电重置时,判定处理器1前次是否正常地结束,换言之判定是否为不正当的重置。所谓不正当的重置,是在成为控制对象的车辆的点火开关ign接通的状态下,电池电压vb暂时降低到处理器1的操作停止的电平为止,起动(再次开始操作)发动机时进行处理器1的重置的操作。然后,在判定为不正当的重置时,进行将在初始化时写入在eeprom3的避让区域中的数据回写到ram2中的操作。

即,首先从eeprom3的存储单元0的数据的存储区域读出最新的数据(计数值n),写入到ram2的备用(backup)区域。之后,在避让区域的计数值和eeprom3的存储单元0的计数值相同的(n)情况下,如用点划线6包围所示的那样,读出写入到eeprom3正当避让区域的故障信息、学习值、诊断工具的显示用数据、以及故障发生时的存储信息等(例如,表示是否故障警告灯mil已点亮的信息),覆写到ram2的备用区域。

由此,即使从点火开关ign的接通至电源瞬时中断为止存储的信息从备用区域消失,也可以通过在加电重置时回写避让到eeprom3的数据而恢复。因此,即使发生电源的瞬时中断,跨行驶周期的数据(例如,表示故障警告灯mil是否已点亮的信息)从ram2消失,也可以保持在eeprom3的避让区域中,在电源的瞬时中断后的初始化中还原,所以可以提高商品性和故障的分析能力。

然后,在初始化结束时,ecu10使用ram2的备用区域和通常区域进行通常处理的作业(时刻t4)。时刻t4以后,反复进行上述的操作。

图4a以及图4b是用于分别对通常的关闭时的操作进行说明的图。图4a示出对于点火开关ign的状态和电池电压vb的ecu10的操作定时。而且,图4b示意地示出将对ram2和eeprom3的数据的写入操作和读出操作与图4a中的ecu10的操作相关联。

如图4a所示,在点火开关ign接通(“h”电平)的定时(时刻t10),进行ecu10的初始化。如图4b所示,ecu10的初始化通过处理器1的控制,将从eeprom3读出的数据写入到ram2中。

在本例中,与计数值n对应的存储区域的数据(包含控制程序)最新,在存储单元0中存储最新的数据。读出eeprom3的存储单元0的最新数据,写入到ram2的备用区域内。

在时刻t11初始化结束时,接着执行通常处理。在时刻t11-t12之间的通常处理中,处理器1使用ram2的通常区域进行作业。在该作业(操作)中发生的跨车辆的行驶周期使用的数据写入到备用区域内。

在进行该通常处理的时刻t11-t12期间,若规定的条件成立,则如用点划线5包围表示的那样,将ram2的备用区域中存储的数据的一部分写入到eeprom3中的避让区域的数据区域内,同时在计数器区域中写入计数值n。

在下一个时刻t12,在点火开关ign关断时进行关闭处理。在关闭处理中将ram2的备用区域的数据写入到eeprom3中的存储单元1的数据的存储区域内。而且,在存储单元1的计数器区域中写入“计数值n+1”。这时,电池电压vb是正常值,所以处理器1正常结束。

在经过规定时间后的时刻t13点火开关ign接通时,通过处理器1的加电重置进行ecu10的初始化。在加电重置时,从eeprom3的存储单元1的数据的存储区域读出最新数据,写入到ram2的备用区域内。这时,因为避让区域的计数值(n)与存储了eeprom3的最新的数据的存储单元1的计数值(n+1)不同,所以不在ram2的备用区域中覆写,而如用点划线7包围表示的那样,删除eeprom3中的避让区域(数据的存储区域和计数器区域)。或者,在关闭处理结束后,删除eeprom3中的避让区域。这样,通过删除写入在避让区域内的数据和计数值,可以抑制被误读出。

而且,在重新编程时测试清除时等,删除ram2的备用区域的数据的情况下,也需要删除eeprom3的避让区域的数据。

在初始化结束时,ecu10使用ram2的备用区域和通常区域进行通常处理的作业(时刻t14)。在时刻t14以后,反复进行上述的操作。

因此,在通常的关闭时,使用ram2的备用区域更新跨行驶周期使用的数据,同时通过写入eeprom3的避让区域而保持,可以与以往和通常写入处理同样地进行初始化,执行通常处理以及关闭处理。

如以上说明的那样,在本发明中,将跨行驶周期使用的数据的至少一部分写入到eeprom3的避让区域内,在从不正当的重置再次开始操作时,将写入到避让区域内的数据回写到ram而还原。由此,即使在跨行驶周期数据因电源瞬时中断而从ram2消失,也可以将其保持在eeprom3的避让区域中。因此,在电源的瞬时中断等处理器1的不正当的重置后再次开始操作时,例如可以使故障警告灯熄灯,或者将学习值更新为最新的状态,所以可以提高商品性和故障的分析能力。

而且,在上述的实施方式中,将ram2的备用区域中存储的一部分数据写入到避让区域的数据的存储区域内。但是,也可以写入在备用区域中存储的全部数据。

但是,因为在数据量增大时写入所需要的时间变长,所以产生在写入开始时和完成时不能获取数据的匹配性、或者在写入中发生电源的瞬时中断,数据被破坏的可能性。因此,考虑写入的长时间化造成的上述的危险和要保持的信息和其重要性、适用的装置等后决定避让的数据即可。

此外,说明了在eeprom3中设置两个存储单元,交替地写入数据而读出最新的数据的例子,但是也可以设置3个以上的存储单元,依次写入数据而读出最新的数据。

进而,以车辆用的电子控制装置为例进行了说明,但是当然可以适用于其它的各种电子控制装置。

标号说明

1…处理器(控制单元),2…ram,3…eeprom(非易失性存储器),4…总线,10…电子控制装置(ecu)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1