验证安全关键的交通工具控制系统的完整性的系统和方法相关申请的交叉引用本申请要求提交于2012年3月14日的美国临时申请No.61/610,696的权益。以上申请的公开内容全文以引用方式并入本文中。技术领域本发明涉及用于验证安全关键的交通工具控制系统(safety-criticalvehiclecontrolsystem)的完整性的系统和方法。
背景技术:在此提供的背景技术描述用于总体上介绍本发明的背景。目前署名的发明人的工作就其在该背景部分中描述的程度以及在其描述在提交时不会以其它方式被认为现有技术的方面,既不明确地也不隐含地认为是破坏本发明的现有技术。控制模块在多种系统中实现以处理数据和生成控制信号。控制模块越来越多地在轿车、卡车、飞行器和其它交通工具中使用数字处理器来控制诸如制动和发动机扭矩输出的安全关键功能。主处理器基于从各种传感器和监测诸如发动机速度、温度、压力和齿轮齿数比的操作特性的其它装置接收的信号而生成控制信号。主处理器使用算法逻辑单元(ALU)处理信号信息。如果控制信号由于ALU缺陷而被破坏,则主处理器会命令系统采取不正确的动作。被破环的控制信号可由与主处理器和/或控制模块的其它部件相关联的其它故障和/或错误引起。故障和/或错误可包括随机存取存储器(RAM)硬件故障、RAM数据存储崩溃、只读存储器(ROM)故障、编译器错误和/或程序计数器错误。常规系统常常使用包括在控制模块中的次处理器来检测主处理器中的故障。次处理器使用ALU来执行其故障检测,该检测独立于由主处理器使用的ALU。
技术实现要素:根据本发明原理的控制系统包括操作控制模块、故障检测模块、补救措施模块和重置模块。操作控制模块控制交通工具系统的操作。当操作控制模块未通过完整性测试时,故障检测模块检测操作控制模块中的故障。补救措施模块在检测到故障时采取补救措施。当检测到故障并且未采取补救措施时,重置模块重置操作控制模块。本发明提供下列技术方案。技术方案1:一种控制系统,包括:操作控制模块,其控制交通工具系统的操作;故障检测模块,其在所述操作控制模块未通过完整性测试时检测操作控制模块中的故障;补救措施模块,其在检测到所述故障时采取补救措施;以及重置模块,其在检测到所述故障并且未采取所述补救措施时重置所述操作控制模块。技术方案2:根据技术方案1所述的控制系统,还包括看门狗定时器模块,当所述操作控制模块在预定间隔时不维修所述看门狗定时器模块时,所述看门狗定时器模块重置所述操作控制模块。技术方案3:根据技术方案2所述的控制系统,其中所述操作控制模块、所述故障检测模块、所述补救措施模块、所述重置模块和看门狗定时器模块被集成到第一芯片中。技术方案4:根据技术方案3所述的控制系统,其中所述看门狗定时器模块包括第一看门狗定时器模块和第二看门狗定时器模块,所述第一看门狗定时器模块被集成到所述第一芯片中,并且所述第二看门狗定时器模块被集成到与所述第一芯片分开的第二芯片中。技术方案5:根据技术方案2所述的控制系统,其中所述重置模块通过指示所述操作控制模块停止维修所述看门狗定时器模块而重置所述操作控制模块。技术方案6:根据技术方案2所述的控制系统,其中所述重置模块通过执行内部重置而重置所述操作控制模块。技术方案7:根据技术方案1所述的控制系统,其中所述补救措施包括禁用所述交通工具系统。技术方案8:根据技术方案1所述的控制系统,其中所述补救措施包括致动维修指示器。技术方案9:根据技术方案1所述的控制系统,其中所述完整性测试包括程序序列观察测试、校验和测试、栈溢出测试、算术逻辑单元测试和配置寄存器测试。技术方案10:根据技术方案1所述的控制系统,其中所述操作控制模块通过执行第一例程而控制所述交通工具系统,并且所述故障检测模块通过并行于所述第一例程执行第二例程而执行所述完整性测试。技术方案11:根据技术方案10所述的控制系统,其中所述重置模块通过并行于所述第一例程执行第三例程而确定是否重置所述操作控制模块。技术方案12:一种方法,包括:使用操作控制模块控制交通工具系统的操作;当所述操作控制模块未通过完整性测试时检测所述操作控制模块中的故障;当检测到所述故障时采取补救措施;以及当检测到所述故障并且未采取所述补救措施时重置所述操作控制模块。技术方案13:根据技术方案12所述的方法,还包括当所述操作控制模块在预定间隔时不维修看门狗定时器模块时重置所述操作控制模块。技术方案14:根据技术方案12所述的方法,还包括通过指示所述操作控制模块停止维修看门狗定时器模块而重置所述操作控制模块。技术方案15:根据技术方案12所述的方法,还包括通过执行内部重置而重置所述操作控制模块。技术方案16:根据技术方案12所述的方法,其中所述补救措施包括禁用所述交通工具系统。技术方案17:根据技术方案12所述的方法,其中所述补救措施包括致动维修指示器。技术方案18:根据技术方案12所述的方法,其中所述完整性测试包括程序序列观察测试、校验和测试、栈溢出测试、算术逻辑单元测试和配置寄存器测试。技术方案19:根据技术方案12所述的方法,还包括通过执行第一例程而控制所述交通工具系统以及通过并行于所述第一例程执行第二例程而执行所述完整性测试。技术方案20:根据技术方案19所述的方法,还包括通过并行于所述第一例程执行第三例程而确定是否重置所述操作控制模块。本发明进一步的适用范围将通过下文提供的详细描述而变得显而易见。应当理解,详细描述和具体示例仅意图用于举例说明,而并非意图限制本方面的范围。附图说明通过详细描述和附图将会更全面地理解本发明,附图中:图1是根据本发明原理的示例性交通工具系统的功能框图;图2是根据本发明原理的示例性控制系统的功能框图;以及图3是示出根据本发明原理的示例性控制方法的流程图。具体实施方式控制诸如发动机或交通工具制动器的交通工具系统的控制系统可以被评级为汽车安全完整性等级(ASIL)D系统。ASILD控制系统可包括控制交通工具系统的主处理器和验证主处理器的完整性的次处理器。次处理器可以向主处理器发送信号,并且主处理器可以向次处理器发送对应的信号。如果主处理器由于故障而不向次处理器发送对应的信号,则次处理器可以采取补救措施,例如重置主处理器和/或将主处理器转变到安全状态。控制诸如电子限滑差速器或拖车制动器的交通工具系统的控制系统可以被评级为ASILB控制系统。ASILB控制系统可包括控制交通工具系统的处理器和看门狗定时器,该看门狗定时器通过验证某些过程在时间窗口内完成而验证处理器的完整性。使用看门狗定时器代替次处理器来验证处理器的完整性可以降低成本。处理器可以在预定间隔维修看门狗定时器。如果处理器由于诸如暂停的故障而在预定间隔不维修看门狗定时器,则看门狗定时器重置处理器。当处理器被重置时,交通工具系统处于安全状态。在某些情况下,处理器可以继续维修看门狗定时器,即使故障阻止系统转变至安全状态。例如,故障可能造成处理器跳过包含用于补救措施的指令的例程,并且因此处理器可能不采取补救措施。这个问题可以通过一旦确定故障就重置处理器来避免。然而,这可能造成处理器连续重置,这会阻止刷新处理器、从处理器检索故障码和/或调试处理器。根据本发明原理的系统和方法可以仅当检测到故障且未采取补救措施时重置处理器。可以检测故障,同时执行诸如程序序列观察测试、校验和测试、栈溢出测试、算术逻辑单元测试或配置寄存器测试的完整性测试。补救措施可包括转变到安全状态和/或致动维修指示器。在安全状态下,处理器可以限制交通工具系统的致动或禁用交通工具系统。可通过直接强制重置或指示处理器停止维修看门狗定时器而重置处理器。根据本发明原理的系统和方法可以使用看门狗定时器验证处理器的完整性,同时避免诸如以上讨论那些的通常与看门狗定时器相关联的问题。在检测到故障且未采取补救措施时重置处理器确保在故障阻止处理器转变到安全状态时将处理器转变到安全状态。允许处理器在重置处理器之前采取补救措施防止连续重置处理器。现在参看图1,交通工具系统100包括发动机102、变速器104、电子限滑差速器(eLSD)106和拖车制动器108。发动机控制模块110控制发动机102,变速器控制模块112控制变速器104,eLSD控制模块114控制eLSD106,并且拖车制动器控制模块116控制拖车制动器108。发动机控制模块110、变速器控制模块112、eLSD控制模块114和拖车制动器控制模块116使用诸如控制器局域网(CAN)总线的交通工具总线118彼此通信。发动机控制模块110、变速器控制模块112、eLSD控制模块114或拖车制动器控制模块116可以使用例如交通工具总线118致动维修指示器120。维修指示器120传送指示交通工具系统100需要维修的视觉消息(如文本)、听觉消息和/或触觉消息(如振动)。维修指示器120可以在交通工具系统100中检测到故障时致动。现在参看图2,进一步详细示出了拖车制动器控制模块116的示例。虽然图2示出了拖车制动器控制模块116,但拖车制动器控制模块116的特征可包括在图1的发动机控制模块110、变速器控制模块112和/或eLSD控制模块114中。此外,图1的交通工具系统100可包括控制诸如转向器、悬挂或燃料系统的其它交通工具子系统的控制模块,并且这些控制模块可包括拖车制动器控制模块116的特征。如图2所示,拖车制动器控制模块116包括操作控制模块202、故障检测模块204、补救措施模块206、重置模块208和看门狗定时器系统210。看门狗定时器系统210包括看门狗定时器模块212和看门狗定时器模块214,它们中的一者或两者可以执行由看门狗定时器系统210执行的任务。看门狗定时器模块212与操作控制模块202、故障检测模块204、补救措施模块206和重置模块208集成到第一芯片216中。看门狗定时器模块214被集成到第二芯片218中,第二芯片218与第一芯片216分开,以使得芯片216、218之一中的故障不影响看门狗定时器模块212、214两者。操作控制模块202存储、检索和执行指令,以执行在控制拖车制动器108过程中所涉及的基本算术、逻辑和输入/输出操作。故障检测模块204执行多个完整性测试以验证操作控制模块202的完整性。完整性测试可包括程序序列观察测试、校验和测试、栈溢出测试、算术逻辑单元(ALU)测试和/或配置寄存器测试。故障检测模块204在操作控制模块202未通过完整性测试中的一个时检测故障。另外,故障检测模块204可以在看门狗定时器系统210连续重置操作控制模块202时检测故障。故障检测模块204输出指示是否检测到故障的信号。程序序列观察测试确保某些操作以某种顺序执行。校验和测试使用校验和来确保存储在存储器中的数据未改变。栈溢出测试确定在调用栈中使用的存储器的量是否大于预期,从而造成栈溢出。ALU测试检测操作控制模块202中破坏算术和逻辑操作的故障。配置寄存器测试评价操作控制模块202内的输入/输出(I/O)配置寄存器。补救措施模块206在故障检测模块204检测到故障时采取补救措施。补救措施可包括将操作控制模块202转变到安全状态和/或致动维修指示器120。在安全状态下,操作控制模块202可以限制拖车制动器108的致动或禁用拖车制动器108。其它控制模块在处于安全状态时可以限制或禁用其它交通工具系统。例如,当发动机控制模块110处于安全状态时,发动机控制模块110可以限制火花生成、节流面积和/或加燃料速率。补救措施模块206输出指示是否采取了补救措施的信号。当故障检测模块204检测到处理器完整性故障并且补救措施模块206不采取补救措施时,重置模块208重置操作控制模块202。当未采取补救措施并且在检测到处理器完整性故障之后经过预定时间时,重置模块208可以重置操作控制模块202。重置模块208可执行运行重置以在存储器中保存重置之前采取的措施。重置模块208可通过向操作控制模块202发送重置信号或切换内部复位线而主动重置操作控制模块202。备选地,重置模块208可通过指示操作控制模块202停止维修看门狗定时器系统210而被动地重置操作控制模块202。操作控制模块202在预定间隔时维修看门狗定时器系统210(例如,看门狗定时器模块212和/或看门狗定时器模块214)。如果操作控制模块202在预定间隔时不维修看门狗定时器系统210,则看门狗定时器系统210通过例如切换复位线而重置操作控制模块202。因此,如果重置模块208指示操作控制模块202停止维修看门狗定时器系统210并且经过了预定间隔,则看门狗定时器系统210重置操作控制模块202。看门狗定时器模块212可以切换内部复位线,而看门狗定时器模块214可以切换外部复位线。如果看门狗定时器模块212、214对于是否重置操作控制模块202冲突,则重置模块可能占优。操作控制模块202、故障检测模块204、补救措施模块206、重置模块208和看门狗定时器系统210可以彼此并行地执行单独的例程。继而,操作控制模块202中的故障可不阻止故障检测模块204、补救措施模块206、重置模块208和看门狗定时器系统210执行它们相应的任务。例如,操作控制模块202中的故障可以不阻止故障检测模块204检测处理器完整性故障或阻止补救措施模块206采取补救措施。操作控制模块202可以以第一循环速率(如12.5毫秒)执行第一例程以控制拖车制动器108。故障检测模块204可以以第二循环速率(如50毫秒)执行第二例程以执行完整性测试。故障检测模块204可以与第一例程并行地执行第二例程。重置模块208可以以第三循环速率(如6.25毫秒)执行第三例程以确定是否重置操作控制模块202。重置模块208可以与第一例程并行地执行第三例程。现在参看图3,用于验证控制交通工具系统的控制系统的完整性的方法始于302。控制系统可包括处理器和看门狗定时器。在304中,该方法在处理器上执行多个完整性测试。完整性测试可包括程序序列观察测试、校验和测试、栈溢出测试、算术逻辑单元(ALU)测试和/或配置寄存器测试。在306中,该方法确定是否检测到处理器完整性故障。该方法可以在执行完整性测试之一的同时检测处理器完整性故障。如果检测到处理器完整性故障,则该方法在308中继续。否则,该方法在304中继续。在308中,该方法采取补救措施。补救措施可包括将控制系统转变到安全状态和/或致动维修指示器。在安全状态下,控制系统可以限制交通工具系统的致动或禁用交通工具系统。在310中,该方法确定是否采取补救措施。该方法可确定在检测到处理器完整性故障之后在预定时间内是否采取补救措施。如果例如在预定时间内采取补救措施,则该方法在304中继续。否则,该方法在312中继续。在312中,该方法重置处理器。该方法可以主动地重置处理器。备选地,该方法可以通过确保处理器停止维修看门狗定时器而被动地重置处理器。上面的描述本质上仅是示例性的并且决不是要限制本发明、其应用或用途。本发明的广义教导可以以各种形式实施。因此,虽然本发明包括具体示例,但本发明的真正范围不应局限于此,因为在研究附图、说明书和随附权利要求书的基础上其它修改将变得显而易见。为了清楚起见,在附图中将使用相同的附图标记标识相似的元件。如本文所用,短语A、B和C中的至少一个应当被解释为是指使用非排他逻辑“或”的逻辑(A或B或C)。应当理解,在不改变本发明的原理的情况下,可以以不同的顺序(或同时地)执行方法内的一个或多个步骤。如本文所用,术语模块可以指属于或包括:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享、专用或成组);提供所描述功能的其它合适的硬件部件;或以上的一些或全部的组合,例如在片上系统中。术语模块可包括存储由处理器执行的代码的存储器(共享、专用或成组)。如在上面所使用的术语代码可包括软件、固件和/或微代码并可指程序、例程、函数、类和/或对象。如在上面所使用的术语“共享”意味着来自多个模块的一些或全部代码可使用单个(共享)处理器来执行。此外,来自多个模块的一些或全部代码可由单个(共享)存储器来存储。如在上面所使用的术语“成组”意味着来自单个模块的一些或全部代码可使用一组处理器来执行。此外,来自单个模块的一些或全部代码可使用一组存储器来存储。本文所述设备和方法可通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时的有形计算机可读介质上的处理器可执行指令。计算机程序还可包括存储的数据。非暂时的有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。