使用cots组件的容错故障安全计算机系统的制作方法_3

文档序号:8395773阅读:来源:国知局
C104包括RTM136a-136i。待命FSC108包括RTM140a-140i。应当理解,由于待命FSC108是活跃FSC104的冗余配置,所以RTM136a-136i与RTM140a_140i是相同的。在一些实现中,RTM136a_136i中每个可以是可热交换的现场可更换单元(FRU)。
[0060]例如,RTM136a_136i中每个RTM可以由现场工程师在不必首先对全部系统100断电的情况下移除和更换。RTM136a-136i允许活跃FSC104与外部硬件组件和软件组件通信。例如,RTM136a以电的方式和以逻辑方式将主CPU116a联接至活跃FSC104外部的组件。类似地,RTMl36b以电的方式和以逻辑方式将待命FSC108联接至外部的硬件组件和软件组件。
[0061]前刀片124a_128f每个包括第一存储器位置和第二存储器位置。第一存储器位置和第二存储器位置存储从活跃FSC104的对应硬件组件接收的值。例如,主CPU116a连续地生成表示主CPU116a的模块健康状况的模块健康信号(上面描述的)。当模块健康信号表示主CPUl 16a是健康的时,主CPUl 16a将“ I ”存储在第一存储器位置中。
[0062]前刀片124a_128f和主CPUl 16a中每个均生成模块健康信号。前刀片124a_128f中每个前刀片将表示模块健康信号的值存储在第一存储器位置中。仅例如,当模块健康信号表示交换模块124a是健康的时,交换模块124a将“I”存储在与交换模块124a关联的第一存储器位置中。
[0063]相反,当模块健康信号表不交换模块124a是不健康的时,交换模块124a将“O”存储在第一存储器位置中。要理解,尽管仅描述交换模块124a,但是本文讨论的原理适用于系统100内的所有模块。进一步要理解,尽管仅描述基于模块健康信号存储“I”和“0”,但是可以使用任何适合的指示符来表示系统100内的每个模块的健康状况。然后,系统100内的每个模块将存储在关联的第一存储器位置中的值传递至主CPU116a。
[0064]主CPU116a基于与由前刀片124a_128f中每个前刀片生成的模块健康信号和由主CPUl 16a生成的模块健康信号对应的多个值的接收,确定活跃FSC104是否是健康的。仅例如,当所接收的与模块健康信号对应的值中每个值表示系统100内的每个模块均是健康的时,主CPUl 16a确定活跃FSC104是健康的。相反,当所接收的与模块健康信号对应的值中至少一个值表不系统100内的模块中至少一个模块是不健康的时,主CPU116a确定活跃FSC104是不健康的。
[0065]在另一实现中,将表示模块健康信号的值存储在在系统100的前端配置的模块中。例如,当模块健康信号表示主CPU116a是健康的时,在系统100的与RTM136相对侧配置的模块将“ I”存储在第一存储器位置中。要理解,尽管仅描述主CPUl 16a,但是本文描述的原理适用于检查器CPU120a。
[0066]主CPUl 16a接收多个进入数据分组中的第一分组。同时,检查器CPU120a接收第一分组的复本。主CPU116a和检查器CPU120a确定第一分组和第一分组的复本是否相同。当第一分组和第一分组的复本相同时,主CPUl 16a连续地生成模块健康信号。可以将模块健康信号设置为I或者高的信号值。模块健康信号的值表示活跃FSC104的健康状况。主CPUl 16a将“ I ”存储在第一存储器位置中。
[0067]相反,当第一分组和第一分组的复本不相同时,主CPU116a生成无效的模块健康信号。例如,主CPU116a使模块健康信号失效。主CPU116a将“O”存储在第一存储器位置中。主CPU116a接收表示主CPU116a内的屏蔽寄存器的状态的屏蔽信号。例如,屏蔽寄存器是主CPU116a和检查器CPU120a中每个CPU内的可编程的位。
[0068]当所请求的任务是安全相关的任务时,设置屏蔽寄存器。例如,当系统100确定所请求的任务是安全相关任务时,将屏蔽寄存器设置为I。当屏蔽信号表示主CPUl 16a内的屏蔽寄存器被设置为I时,RTM136a将“I”存储在第二存储器位置中。相反,当屏蔽信号表示主CPU116a内的屏蔽寄存器被设置为O时,RTM136a将“O”存储在第二存储器位置中。
[0069]系统100还包括监视狗计时器应用。监视狗计时器应用是持续运行的监视狗功能,其表示主CPU116a是否已经停止运行代码。例如,监视狗计时器应用监视主CPU116a。主CPU116a生成监视狗计时器复位信号。主CPU116a将监视狗计时器复位信号传递至监视狗计时器应用。监视狗计时器应用确定监视狗计时器复位信号是否是在预限定的时间段内接收的。例如,预限定的时间段可以是I分钟。预限定的时间段可以是可配置的项。
[0070]监视狗计时器应用根据监视狗计时器复位信号生成监视狗健康信号。例如,当主CPU116a在预限定的时间段以后传递监视狗计时器复位信号时,监视狗计时器应用将监视狗健康信号设置为O。相反,当主CPU116a在预限定的时间段内传递监视狗计时器复位信号时,监视狗计时器应用将监视狗健康信号设置为I。换言之,当主CPUliea不能在预限定的时间段内与监视狗应用通信时,监视狗计时器应用确定主CPU116a内的错误。例如,错误可以是主CPU116a被卡在软件循环中的结果。要理解,尽管上面仅描述主CPU116a,但是将检查器CPU120a配置为与主CPUl 16a相同的任务。
[0071]1^¥136&传递表示主0?仍16&的总体健康状况的模块健康值。例如,将RTM136a配置为对存储在第一存储器位置中的值和存储在第二存储器位置中的值执行逻辑“或(OR)”。例如,当存储在第一存储器位置中的值是O并且存储在第二存储器位置中的值是O时,RTMl36a将传递O的模块健康值。
[0072]当存储在第一存储器位置中的值是I并且存储在第二存储器位置中的值是O时,RTMl36a传递I的模块健康值。要理解,将RTM136a_136i中每个RTM配置为对存储在与前刀片124a-128f中每个前刀片关联的存储器中的值执行逻辑“或”。
[0073]RTMl36a和136b将底架健康值传递至安全继电器箱模块144。安全继电器箱模块144基于多个底架健康值,选择性地确定系统100内的FSC中哪个FSC将是活跃FSC并且哪个FSC将是待命FSC。例如,安全继电器箱模块144从RTM136a、RTMl36b, RTM140a和RTM140b接收多个底架健康值。RTM136a基于由主CPU116a和前刀片124a_128f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第一底架健康值。
[0074]RTMl36a将底架健康值传递至安全继电器箱模块144。类似地,RTM136b基于由检查器CPU120a和前刀片124a-128f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第二底架健康值。RTM140a基于由主CPU116b和前刀片124b_132f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第三底架健康值。类似地,RTM140b基于由检查器CPU120b和前刀片124b-132f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第四底架健康值。
[0075]安全继电器箱模块144确定活跃FSC104和待命FSC108中哪个FSC将作为系统100内的活跃FSC操作。例如,安全继电器箱模块144基于第一底架健康值至第四底架健康值确定活跃FSC104将作为系统100内的活跃FSC操作。当第一底架健康信号和第二底架健康信号表示活跃FSC104是健康的时,安全继电器箱模块144确定活跃FSC104将是系统100内的活跃FSC。
[0076]安全继电器箱模块144基于活跃FSC确定,生成活跃FSC信号和待命FSC信号。例如,安全继电器箱模块144生成第一活跃FSC信号和第二活跃FSC信号。第一活跃FSC信号和第二活跃FSC信号是冗余信号,它们都表示选择哪个FSC作为活跃FSC操作。安全继电器箱模块144还生成第一待命FSC信号和第二待命FSC信号。
[0077]第一待命FSC信号和第二待命FSC信号是冗余信号,它们都表不选择哪个FSC作为待命FSC操作。安全继电器箱模块144将第一活跃FSC信号和第一待命FSC信号传递至活跃FSC104。类似地,安全继电器箱模块144将第二活跃FSC信号和第二待命FSC信号传递至待命FSC108。
[0078]安全继电器箱模块144还基于第一底架健康信号至第四底架健康信号确定在活跃FSC104和待命FSC108之一中是否已出现错误。例如,当安全继电器箱模块144从RTMl36a和RTM136b之一接收无效底架健康信号时,安全继电器箱模块144确定在活跃FSC104中已发生错误。例如,无效底架健康信号可以是O的底架健康值。安全继电器箱模块144基于无效的底架健康信号生成待命信号。安全继电器箱模块144将待命信号传递至活跃FSC104。活跃FSC104基于该待命信号确定是否进入故障安全状态。例如,当活跃FSC104接收待命信号时,活跃FSC104确定进入故障安全状态。
[0079]安全继电器箱模块144基于底架健康值生成活跃信号。安全继电器箱模块144将活跃信号传递至待命FSC108。活跃信号向待命FSC108指示活跃FSC104正操作在故障安全状态或待命状态。当待命FSC108接收活跃信号时,待命FSC108开始作为活跃FSC操作。以此方式,安全继电器箱模块144迫使有故障的活跃FSC进入故障安全状态,并且提示待命FSC担当活跃FSC的角色。
[0080]在一些实现中,将安全继电器箱模块144配置为与多个商业现货供应(COTS)产品通信。例如,活跃FSC104和待命FSC108可以是在系统100内实现的COTS产品。根据预确定的实现标准,对活跃FSC104和待命FSC108进行配置。实现标准包括预限定的通信协议。
[0081]将安全继电器箱模块144配置为根据通信协议接收和解释来自活跃FSC104和待命FSC108的信号和消息。以此方式,无论活跃FSC104和待命FSC108的物理属性如何,只要活跃FSC104和待命FSC108服从通信协议,安全继电器箱模块144就与活跃FSC104和待命FSC108通信。要理解,安全继电器箱模块144与系统100内的任何组件通信。进一步,系统100内的任何组件可以使用COTS产品实现,只要该任何组件服从通信协议。
[0082]在一些实现中,I/O子系统还从像轨道系统的硬件组件和软件组件这样的外部源接收分组。所接收的分组可以包括上面讨论的多个进入数据分组。然后,I/o子系统将所接收的分组传递至表决子系统。
[0083]表决子系统是功能安全子系统并且被配置为检测故障和对故障做出响应。当表决子系统检测活跃FSC104和待命FSC108之一中的差错时,表决子系统迫使活跃FSC104和待命FSC108的该之一进入故障安全状态。表决子系统执行处理子系统的错误检测。例如,主CPUl 16a和检查器CPU120a基于所请求的任务生成外出分组。
[0084]表决子系统将由主CPUl 16a生成的外出分组与由检查器C
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1