用于检验存储器的方法

文档序号:6772988阅读:117来源:国知局
专利名称:用于检验存储器的方法
技术领域
本发明涉及存储器检验领域。
背景技术
为了检验复杂系统例如车辆控制装置的功能,通常进行功能测试,以便在功能故障的情况下快速地识别这一点并且随后采取安全性相关的行动、例如关断车辆的电驱动装 置。为此,例如在具有电子马达填充控制系统(所谓的E气体系统)的车辆中通常在马达 控制设备中实施3层面(Ebenen)监视方案。3层面监视方案的核心思想是在马达控制设备 中使用的功能计算机和用作所谓的看门狗的例如独立模块之间相互的监视。在此,例如功 能计算机和监视模块通过询问-应答通信协议来通信,并且优选具有分离的关断路径,通 过这些关断路径可以在故障的情况下关断功率终端级,以便保证车辆安全。层面1表示实际的功能软件,其用于马达驱动并且例如在马达控制设备的功能计 算机上实施。在同样在功能计算机上实施的第二层面中,通常将借助必要时被简化的马达 模型导出的、允许的扭矩与实际扭矩相比较。层面2在通过层面3保护的硬件区域中实施, 其中层面3包括指令测试、程序流程控制、模数转换器测试以及例如循环的和完全的存储 器测试。在ECE-R100标准中,此外确定了,车辆不允许无意地从静止状态移动超过10cm。 该要求尤其是适用于带有混合驱动装置或者电驱动装置的新型车辆。电驱动装置会由于较短的延迟时间而比内燃机更快地建立高的扭矩,这此外会是 不利的,使得电动车辆已经可以从静止状态以最大的加速度向前以及向后行驶。这在无意 地产生的扭矩的情况下会导致有严重安全性的情况,因为电动车辆中通常没有具有例如可 变传动比的变速器和离合器。电驱动装置的轴而是通过刚性的连接与驱动装置支路以及 由此与激励器相连。在混合车辆或者电动车辆的情况下,监视机构因此必须能够更快得多 地识别可能的功能故障,并且在识别出的功能故障的情况下迅速地反应,以便满足标准要 求。在具有内燃机的车辆情况下500ms的故障反应时间是足够的,然而在电动车辆中需要 的是,实现短于70ms的故障反应时间。

发明内容
本发明基于的认识是,基于对数字存储器的监视可以实现迅速的并且有效的功能 监视,其中这些数字存储器例如用于存储功能测试。于是,例如在上述的3层面方案的情况下使用RAM (随机存取存储器)以及ROM (只 读存储器)存储器单元,以便存储或者缓存相应的层面中获得的监视结果。为此,存储器可 以确定性地在预先确定的时间间隔内被检验,使得可能保证系统的实时特性。通过在预先确定的时间窗内的这种存储器监视,此外实现了不会不必要地延迟例 如可以被可协同操作地实施的其他任务。通过确定性的存储器监视,此外尤其是在循环存 储器监视的情况下实现了对故障反应时间的更好的可预见性以及更好的可再现性。此外, 根据本发明的存储器监视方案能够尤其是根据层面2和3的功能的实际的存储器需求实现关于存储器测试的故障反应时间的舒适的配置可能性。存储器监视方案可以被灵活地使 用,并且例如也适于监视在任意的实时通信系统中或者实时控制系统中的对于功能关系重 大的结果。根据一个方面,本发明涉及一种用于检验存储器的方法,例如用于检验功能检验 系统的功能监视存储器的方法,该功能检验系统可以是实时系统,该方法具有执行存储器 检验例程的步骤,其中η次检验所述至少一个存储器,其中η是检验的预先确定的数目,以 及在经过预先确定的时间间隔之后重新执行存储器检验例程的步骤。由此,所述至少一个 存储器在经过存储器检验例程的情况下被多次执行,其中存储器检验例程本身可以被多次 执行。由此,不仅存储器检验例程的执行、而且在执行存储器检验例程时存储器的检验都被 确定地而不是例如随机地重复。由此,有利的是能够实现快速地并且可靠地检测错误反应 时间。根据一个实施形式,在预先确定的例程时间间隔内执行存储器检验例程,其中该 例程时间间隔可以是可变的。由此,有利地规定了用于执行存储器检验例程的确定的时间 窗,使得可以执行另外的、例如协作的任务或者使命。根据一个实施形式,存储器检验例程周期性地在预先确定的周期持续时间内或者 循环地在预先确定的循环持续时间内执行。通过重复地执行上级的存储器检验例程,执行 了确定的存储器检验,该确定的存储器检验能够实现迅速地检测故障反应时间或者故障。根据一个实施形式,在执行存储器检验例程时,即在例程时间间隔内周期性地或 者循环地、例如直接彼此相继地执行至少一个存储器的检验,由此能够有利地实现在例程 时间间隔内快速检测故障反应时间。根据一个实施形式,在执行存储器检验例程时预先确定所述至少一个存储器的η 个检验之一或者每个检验的持续时间。由此,有利地实现了可以根据例如检验的数目或者 要检验的存储器的数目而较长或者较短地可变地设计每次检验。根据一个实施形式,所述至少一个存储器在η次检验之后直至重新执行存储器检 验例程不再被检验。由此有利地实现了在执行相应的存储器检验例程之间的、没有检验的 时间可以用于执行其他的任务。根据一个实施形式,在可预先确定的检验时间间隔内执行所述至少一个存储器的 检验或者每次检验。由此可以有利地确定在存储器检验例程中执行的检验的总时间。根据一个实施形式,预先确定用于执行存储器检验例程的预定时间间隔的持续时 间。由此有利地保证了存储器检验例程不会不必要地妨碍执行另外的例程。根据一个实施形式,在执行两个彼此相继的存储器检验例程之间的时间间隔是预 先确定的或者取决于可以存储在所述至少一个存储器中的数据的类型。如果所述至少一个 存储器例如用于在上述层面2和3中进行存储,则其例如可以被循环地检验,其中循环持续 时间通过该时间间隔来预先给定。相反,如果所述至少一个存储器例如被层面1的功能使 用,则其例如可以仅仅每个运行循环被检验一次。在最后提及的情况中,在执行两个彼此相 继的存储器检验例程之间的时间间隔例如通过运行循环间隔来确定。根据一个实施形式,在所述至少一个存储器的每次检验中都检验多个存储器。由 此有利地实现了,在经过了存储器检验例程的情况下可以检验具有多个存储器的存储器 块。
5
根据一个实施形式,用于检验所述至少一个存储器的检验时间间隔取决于在该检 验时间间隔中同样要检验的存储器的数目。由此有利地保证了在同一检验时间间隔内可以 检验多个存储器。根据一个实施形式,存储器是RAM存储器或者ROM存储器。根据一个实施形式,在所述至少一个存储器的一次或者每次检验时(该存储器例 如可以是RAM存储器),执行将所述至少一个存储器的存储器内容传输到中间存储器中的 步骤、以预先确定的数字模式改写所述至少一个存储器中的存储器内容以便产生格式存储 器内容的步骤、从所述至少一个存储器读取格式存储器内容以及将数字格式与格式存储器 内容比较以便检验存储器的步骤。由此有利地实现了,用于存储存储器内容的相关的存储 器区域被明确地检验。根据一个实施形式,在所述至少一个存储器的一次或者每次检验时(该存储器可 以是ROM存储器),执行将所述至少一个存储器的存储器内容与至少一个另外的存储器的 存储器内容逻辑运算(verknu印fen)(例如相加)以便得到逻辑运算结果的步骤,以及将逻 辑运算结果与参考逻辑运算结果比较(该参考逻辑运算结果例如可以被预先确定)以便检 验所述至少一个存储器(例如功能存储器)以及所述至少一个另外的存储器(例如功能存 储器)的步骤。由此有利地基于逻辑运算结果(该逻辑运算结果例如可以是校验和)简单 地进行检验。根据另一方面,本发明涉及一种车辆驱动装置的控制设备,尤其是电动车辆驱动 装置的控制设备,该车辆驱动装置以编程技术来设计,其执行根据本发明的用于检验至少 一个存储器的方法。控制设备例如可以被构建为执行上述三个功能层面,以便检验车辆驱
动装置。根据另一个方面,本发明涉及一种带有程序代码的计算机程序,用于当该计算机 程序在电子计算机上执行时执行用于检验所述至少一个存储器的方法。


其他的实施例参照附图来阐述。其中图1示出了根据一个实施形式的用于检验存储器的方法的流程图;并且图2示出了根据另一实施形式的用于检验存储器的方法的流程图。
具体实施例方式图1示出了用于检验至少一个存储器、例如检验功能监视系统的功能监视存储器 的方法的原理性流程图。该方法包括在图Ia中示出的执行存储器检验例程的步骤101,在 其执行期间例如多次执行检验所述至少一个存储器的步骤103。在经过预先确定的时间间 隔之后或者直接紧接着地重新执行步骤105中的存储器检验例程。执行存储器检验例程101例如可以通过上级的控制装置、例如通过上级的软件任 务来周期性地、例如每IOms地执行。为了确定检验所述至少一个存储器的步骤103的重复 的数目n,此外可以在步骤107中增大或者减小计数器读数。在η次执行检测所述至少一个 存储器的步骤103之后,计数器读数107重新复位。然而步骤107可以在步骤103中执行。图IB表明了循环地执行监视所述至少一个存储器的步骤103,其中循环的数目例如借助例程109来保证。以起始状态111开始,在此在步骤113中首先检查是否计数器读 数小于预先给定的边界计数器读数。如果计数器读数大于或者等于边界计数器读数,则转 到最终状态115,其中不再执行步骤103。否则在步骤117中将计数器读数增加1。接着, 例如可以在步骤119中执行对第一存储器或者第一存储器组的检验,例如针对X RAM单元 的RAM测试。接着或者与此并行地,可以在步骤121中执行对另外的存储器或者另外的存 储器组的另外的检验,例如针对Y ROM单元的ROM测试。接着,在步骤123中重新执行所述 至少一个存储器的检验的步骤103。在图1中所示的方法步骤例如可以借助在电子计算机上执行的或者可执行的软 件程序作为软件任务来实施。在该情况中,软件任务103调用函数109。在该函数中首先检查是否计数器读数 ("Counter")小于边界计数器读数(“C0imter_Limit”)。如果是,则增大计数器读数;对 于X RAM单元,于是执行RAM测试并且对于Y ROM单元于是执行ROM测试。接着,又开始软 件任务103。如果“Counter”已经等于或大于“C0unter_Limit”,则不再开始软件任务103。 在下一个循环中,例如在IOms循环中,才又由函数101开始软件任务103。图2表明了图2中所示的方法步骤的时间流程。在此,例如步骤101可以分别在 经过时间间隔201之后、例如在经过IOms之后重新执行。此外,相应的检验步骤103的运 行时间203可以是可参数化的。此外,检验步骤103的重复的数目205可以是可参数化的。通过参数或者定标变量X和Y现在可以改变每次调用函数109的运行时间。通过 试验可以确定X和Y,使得每次调用函数109持续时间不长于“边界运行时间(Laufzeit_ Limit) ”,例如不长于150 μ s,目的是不会劣化整个系统的实时特性,使得Laufzeit (X, Y) ^ Laufzeit_Limit在此优选的是“Laufzeit (运行时间)”与“X”和“Y”成比例,即检验越多RAM/ROM 单元,则运行时间越长。于是,可以确定例如被层面2功能和层面3功能所使用的RAM单元和ROM单元(N_ RAM或者N_R0M)的数目。在此,RAM/ROM区域的边界在构建软件(SW-Build)之后通过分析 MAP文件来确定。接着,参数“C0unter_Limit”可以选择为使得所有这些RAM单元和ROM单 元都可以在所希望的时间内被检查
V 门Γ· · ζ N RAMX · Counter _ Limit < —--=--
-Debouncing _ Limit
,,广. ^N ROMY ■ Counter _Limit < ——=-
一Debouncing _ Limit“Deb0UnCing_Limit(消除抖动边界)”用于在偶尔的错误情况下保证去抖动,使 得可以容忍短暂的错误,以便提高系统的可用性。这意味着,当多次相继地检测到RAM错误 或者ROM错误时,才触发错误反应。在3层面方案中,RAM存储器单元和ROM存储器单元、即被层面2功能和层面3功 能所使用的监视存储器被循环地检验。相反,被层面1功能所使用的RAM存储器单元和ROM 存储器单元可以每个运行循环仅仅检查一次。监视存储器可以有利地被循环检查,因为其 被层面2功能和层面3功能所使用并且因为在监视存储器中的错误会导致层面2功能和层 面3功能不正确地反应,使得错误会导致危险。
7
为了检查RAM存储器单元,首先将实际的内容拷贝到另一存储器区域中;随后将 确定的模式、例如0x5A5A5A5A写入到正检查的单元中;随后检查该模式是否如所希望的那 样被写入到单元中了,其方式是读取内容。最后,当没有错误时,又将原始内容拷贝回去。为了检查ROM存储器单元,将ROM区域的内容彼此进行逻辑运算例如相加,并且最 后与事先离线计算的校验和比较。如果在运行时间中计算的校验和与事先离线计算的校验 和不一致,则触发错误反应,例如控制设备复位。该检查流程需要运行时间,尤其是因为存储器访问花费运行时间。因此,这些循环 的RAM/ROM测试的错误反应时间取决于层面2和3的存储器消耗。检验越多RAM/ROM单元, 则其中可以一次检查所有这些单元的时间越长。错误反应时间此外也取决于CPU时钟和其 他因素。在一些项目中,需要多个层面2和层面3的RAM/ROM单元,使得当CPU运行时间的 直到30 %被用于循环的RAM/ROM测试时,错误反应时间会达到大约70ms。循环的RAM/ROM 测试通常在IOms-任务中运行。CPU运行时间的30%意味着,对于每个IOms循环,单单RAM/ ROM测试需要3ms的运行时间。原则上可能的是,例如让循环的RAM/ROM测试补充地或者在循环的检验之间地在 所谓的后台任务中运行。这意味着,当无需调用其他任务时,即当操作系统“空闲”时,该任 务才被操作系统调用。然而这种后台任务不能完全替代根据本发明的确定性的存储器检 验,因为难以预言循环的RAM/ROM测试的反应时间。因为在开发嵌入式控制项目期间通常 软件模块直到批量启动(S0P,开始投产)时被改变。这导致对于后台任务可用的计算容量 不是固定的、并且在SOP不久之前才得知。此外,不能给出关于错误反应时间的说明,因为 后台任务具有操作系统中的最低的优先级并且并不保证其在确定的时间内足够频繁地被 调用。当确定计算容量不足以保证所要求的错误反应时间时,已经太迟来在其他地方进行 优化。因此,带有后台任务的解决方案不能被考虑或者不能仅仅被考虑,使得优选确定 性地循环地调用根据本发明的RAM/ROM测试,以便能够可靠地保证所需要的错误反应时 间。优选的是,为此在开发的早期阶段已经估计层面2功能和层面3功能的RAM/ROM消耗, 使得可以为循环的RAM/ROM测试保留足够的计算容量,其方式是循环的RAM/ROM测试已经 在开发的早期阶段中消耗几乎恰好与批量应用(Serienanwendimgen)中相同的计算容量 或者运行时间,使得当其他软件模块要消耗更多的运行时间(这导致处理器过载)时,该问 题能够实时地被识别并且引入优化措施。循环的存储器检验、例如RAM/ROM测试可以在所谓的“协作任务 (Cooperative-Task) ”中被调用。当循环的RAM/ROM测试(其例如在IOms循环中会消耗 3ms运行时间)整体地(an einem Stueck)执行时,优选的是只要循环的RAM/ROM测试还在 执行时,就不调用其他协作任务。
权利要求
1.一种用于检验至少一个存储器的方法,尤其是用于检验功能检验系统的功能监视存 储器的方法,包括执行(101)存储器检验例程,在其中η次检验所述至少一个存储器,其中η是检验 (103)的预先确定的数目;以及在经过预先确定的时间间隔之后重新执行(105)所述存储器检验例程。
2.根据权利要求1所述的方法,其中在预先确定的例程时间间隔内执行所述存储器检 验例程。
3.根据权利要求1或2所述的方法,其中所述存储器检验例程周期性地在预先确定的 周期持续时间内或者循环地在预先确定的循环持续时间内执行。
4.根据上述权利要求中的任一项所述的方法,其中在执行所述存储器检验例程时,周 期性地或者循环地、尤其是直接彼此相继地执行所述至少一个存储器的检验(103)。
5.根据上述权利要求中的任一项所述的方法,其中所述至少一个存储器在η次检验之 后直至重新执行存储器检验例程不再被检验。
6.根据上述权利要求中的任一项所述的方法,其中在能够预先确定的检验时间间隔内 执行所述至少一个存储器的检验(103)、尤其是恰好一次检验(103)。
7.根据上述权利要求中的任一项所述的方法,其中该预先确定的时间间隔的持续时间 是预先确定的,或者取决于能够存储在所述至少一个存储器中的数据的类型。
8.根据上述权利要求中的任一项所述的方法,其中在执行(101,105)两个彼此相继的 存储器检验例程之间的时间间隔是预先确定的,或者取决于能够存储在所述至少一个存储 器中的数据的类型。
9.根据上述权利要求中的任一项所述的方法,其中在所述至少一个存储器的每次检验 (103)中都检验多个存储器。
10.根据上述权利要求中的任一项所述的方法,其中可供检验(103)所述至少一个存 储器所用的检验时间间隔取决于在该检验时间间隔中同样要检验的存储器的数目。
11.根据上述权利要求中的任一项所述的方法,其中所述存储器是RAM存储器或者ROM 存储器。
12.根据上述权利要求中的任一项所述的方法,其中在所述至少一个存储器、尤其是 RAM存储器的检验(103)、尤其是每次检验时,执行以下步骤将所述至少一个存储器的存储器内容传输到中间存储器中;以预先确定的数字格式改写所述至少一个存储器中的存储器内容,以便产生格式存储 器内容;从所述至少一个存储器读取格式存储器内容;以及将该数字格式与格式存储器内容比较,以便检验存储器。
13.根据上述权利要求中的任一项所述的方法,其中在所述至少一个存储器、尤其是 ROM存储器的检验(103)、尤其是每次检验时,执行以下步骤将所述至少一个存储器的存储器内容与至少一个另外的存储器的存储器内容进行逻 辑运算,以便得到逻辑运算结果;以及将逻辑运算结果与参考逻辑运算结果比较,以便检验至少一个功能存储器以及至少一 个另外的功能存储器。
14.一种车辆驱动装置的控制设备,尤其是电动车辆驱动装置的控制设备,该电动车辆 驱动装置以编程技术被设计用于执行根据权利要求1至13中的任一项所述的方法。
15.一种带有程序代码的计算机程序,用于当该计算机程序在电子计算机上执行时执 行根据权利要求1至13中的任一项所述的方法。
全文摘要
本发明涉及一种用于检验存储器的方法,尤其是用于检验功能检验系统的功能监视存储器的方法,包括执行(101)存储器检验例程,其中n次检验所述至少一个存储器,其中n是检验(103)的预先确定的数目;以及在经过预先确定的时间间隔之后重新执行(105)存储器检验例程。
文档编号G11C29/52GK102005251SQ20101026391
公开日2011年4月6日 申请日期2010年8月25日 优先权日2009年8月26日
发明者傅承煊 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1