用于响应控制模块故障的方法技术

技术编号:2850390 阅读:194 留言:0更新日期:2012-04-11 18:40
提供了一种方法,用来在硬件或软件出现故障使得处理器复位之后,立刻保存系统信息。在故障逼近之后且在处理器允许复位发生之前,该处理器被指示把除了能够用来确定复位原因的任何处理器寄存器以外的固定数量的系统堆栈SRAM拷贝到SRAM的保存区中。在初始化序列期间,SRAM的保存区被检测,但是不被重写。这使得可以利用所有保存的SRAM数据进行分析,该所保存的SRAM数据包括故障发生时的先前的堆栈内容和寄存器设置。

【技术实现步骤摘要】

本专利技术涉及到一种用于诊断和分析控制模块故障的方法。
技术介绍
当软件或硬件故障使得控制模块处理器复位时,除非连接外部逻辑分析或调试设备来预测这些故障,否则与复位原因有关的数据在复位的过程中通常会丢失。而对大多数问题来说,由于设备的成本和复杂性原因,连接到外部逻辑分析和调试设备是不可行的。此外,外部逻辑分析和调试设备经常减慢控制模块的处理速度,并产生不必要的电子干扰。最后,对每个车辆来说,都连接外部逻辑分析或调试设备将是不实际的。
技术实现思路
根据本专利技术的一个优选实施例,提供了一种方法,用于在硬件或软件出现故障使得处理器复位之后,立刻保存系统信息。在故障逼近之后且在处理器允许复位发生之前,该处理器被指示把固定数量的系统堆栈SRAM(除了能够被用来确定复位原因的任何处理器寄存器以外)拷贝到SRAM的保存区。在初始化序列期间,SRAM的保存区被检测,但是不被重写。这使得应用程序可以利用所有保存的SRAM数据,该所保存的SRAM数据包括故障发生时的先前的堆栈内容和寄存器设置。该应用程序然后在初始化期间把这些内容存储到非易失性存储器中。用于诊断故障原因的外部工具也可以利用这个区。外部工具能够读取所保存的SRAM数据的内容,并重构故障之前被执行的命令的序列。因此,用于诊断、分析和响应控制模块故障的方法包括初始化控制模块;确定控制模块的复位是否由意外的事件导致;如果复位是由意外的事件导致,那么从第一存储器中把在控制模块复位之前所记录的数据拷贝到第二非易失性存储器中;并把在控制模块复位之前所记录的数据传送到一个外部工具中用来分析。附图说明从下面为实现本专利技术的最佳模式的详细描述中,并结合附图,本专利技术的上述特征和优点以及其他特征和优点将是显而易见的。图1是根据本专利技术的一个方面的一个维修系统的示意图;图2是一个方框图,描述了根据本专利技术的一个优选实施例的方法;图3是一个方框图,描述了图2中方法的一个步骤;图4是一个方框图,描述了图2中方法的一个步骤;和图5是一个方框图,描述了图4中方法的一个步骤。具体实施例方式参照图,其中同样的参考数字指的是同样的元件。图1示出控制模块10,其具有微处理器12、存储器14、存储器16和一个或多个输入/输出端口18。该控制模块10在下文中将被描述为控制一个车辆系统(未示出)。这样的系统可以包括(但不限于)制动系统;燃料存储系统;发动机;加热,通风和空气调节系统;传动系统等。存储器14和16在下文中将分别被描述为SRAM 14和ROM 16。不过,应该意识到任何数量的可替代的存储器是可以想象到的。图2-5描述了本专利技术的方法。更准确的说,图2-5示出了一系列表示微处理器12执行的步骤的方框图。参照图2,示出了用于诊断和分析控制模块故障的方法50(这里也指算法50)。在步骤52,算法50检测车辆的点火装置(未示出)是否已经点着,这一点优选地由车辆点火信号的接收来指示。如果点火装置没有点着,那么步骤52被重复。如果点火装置已经点着,那么算法50进行到步骤54。在步骤54,资源被初始化,这一点将在下文中详细描述。在步骤56,运行应用软件,这一点也将在下文中详细描述。参照图3,其中资源被初始化的步骤54被详细示出。在步骤58,硬件设备、诸如微处理器12、RAM 14和ROM 16被初始化。在步骤60,算法50确定最后的复位是否由意外事件导致。对本公开的专利技术来说,“意外事件”包括不在预料事件的预定列表中的任何事件,例如关闭车辆。如果最后的复位是由意外事件导致的,那么算法50进行到步骤62。在步骤62,把在最近复位之前所记录的来自SRAM 14的保存区的数据拷贝到非易失性存储器、诸ROM 16中,并且随后算法50进行到步骤62。SRAM 14的保存区是预定的存储器位置,这一点将在下文中详细描述。当车辆的点火装置被关闭时,拷贝到非易失性存储器的数据不会丢失,并且可以由外部工具、诸如维修工具、计算机、诊断设备等利用来进行分析。参照图4,其中运行应用软件的步骤56被更详细地示出。在步骤64,运行周期性的任务过程。周期性的任务过程特指每一种控制模块,但是例如可以包括控制换档、保持发动机输出速度、监控节流阀的位置等。当运行周期性的任务过程时,在意外事件之前所记录的数据能够从非易失性存储器、诸如ROM 16传送到外部工具。该外部工具然后读取所记录的数据并且重构意外事件之前被执行的命令的序列。在步骤66,运行事件处理。“事件处理”包括分析每次复位,以确定它是否由意外事件导致。在步骤68,算法50确定,是否已命令停止运行。如果没有命令停止运行,那么算法50返回到步骤64。参照图5,运行事件处理的步骤66被更详细地示出。在步骤70,算法50确定,是否最近的复位是由意外事件导致。如果最近的复位不是由意外事件导致的,那么算法50进行到步骤72,其中运行定义的逻辑程序。当运行定义的逻辑时,停止处理,从而算法50可以响应于导致复位的预料事件。定义的逻辑可以例如包括仅在复位之前传送的接收和处理发动机指令。如果最后的复位是由意外事件导致的,那么算法50进行到步骤74。在步骤74,把在复位之前所记录的堆栈数据从第一SRAM 14存储器位置拷贝到SRAM 14的保存区,并把最近复位之前所记录的寄存器数据从微处理器12拷贝到SRAM 14的保存区。SRAM 14的保存区是预定的存储器位置,该存储器位置可以被检测但是不会被重写。因此,在最近复位之前所记录的且在SRAM 14的保存区中保存的数据临时是安全的,并可以在后来被拷贝到非易失性存储器、诸如ROM 16中或者由外部工具分析。在步骤76,控制模块10被复位。图1-5所示中的且其中所描述的步骤不必按所示的顺序执行,除非其中另外所指示的。虽然用来实现本专利技术的最好模式已经被详细地描述了,但是那些熟悉本专利技术相关领域的人将意识到用于实践本专利技术的各种各样的替代设计和实施例都在所附权利要求的范围内。本文档来自技高网...

【技术保护点】
用于响应控制模块故障的方法,其包括:    初始化控制模块;    确定控制模块的复位是否由意外事件导致;和    如果所述复位是由意外事件导致,那么把在控制模块的所述复位之前所记录的数据从第一存储器的第一存储器位置拷贝到第一存储器的第二存储器位置。

【技术特征摘要】
US 2005-2-15 11/0585031.用于响应控制模块故障的方法,其包括初始化控制模块;确定控制模块的复位是否由意外事件导致;和如果所述复位是由意外事件导致,那么把在控制模块的所述复位之前所记录的数据从第一存储器的第一存储器位置拷贝到第一存储器的第二存储器位置。2.权利要求1的方法,还包括把在控制模块的所述复位之前所记录的数据传送到外部工具中用来分析。3.权利要求1的方法,还包括运行控制模块的周期性的任务过程。4.权利要求1的方法,还包括,如果所述复位是由意外事件导致,那么把在控制模块的所述复位之前所记录的数据从第一存储器拷贝到第二非易失性存储器。5.权利要求4的方法,其中所述把数据从第一存储器拷贝到第二非易失性存储器包括把数据从SRAM设备拷贝到ROM设备。6.权利要求1的方法,还包括,如果所述复位是由意外事件导致,那么把数据从微处理器拷贝到第一存储器。7.权利要求1的方法,还包括在把数据从第一存储器的第一存储器位置拷贝到第一存储器的第二存储器位置的所述步骤之后,复位控制模块。8.权利要求1的方法,还包括,如果所述复位不是由意外事件导致,那么在所述确定步骤之后运行定义的逻辑程序。9.权利要求1的方法,还包括接收到车辆点火信号。10.用于响应控制模块故障的方法,其包括初始化控制模块;确定控制模块的复位是否由意外事件导致;在所述确定步骤之后,如果该复位是由意外事件导致,那么把在控制模块的所述复位之前所记录的数据从第一存储器拷贝到第二非易失性存储器;把在控制模块的所述复位...

【专利技术属性】
技术研发人员:TA罗宾逊JH斯图尔特
申请(专利权)人:通用汽车公司
类型:发明
国别省市:US[美国]

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

1