专利名称:包含一具有容错特征的故障保险功率控制器的故障保险处理系统的制作方法
技术领域:
本发明涉及一信息处理系统,具体地说是一种用于校验较大信息处理系统是否处于故障保险(失效保险)运行的装置。
关于该较大系统可以从共同悬而未决申请GR-3575和GR-3577(转让给本发明的同一受让人)中了解到,其分布细节在此作为参考文献。特别地,GR-3577的
图10以框图形式描述了该较大系统。
本发明特别适用于铁路上的发信号及控制系统,这些系统在运行中必须能自动防护故障,即除非经允许的或“开”的条件生效,这些系统中用于控制一信号、开关机器或其他发信号或控制操作的每个输出都必须处于安全或“关”的状态。
已有利用计算机或中央处理单元的故障保险处理系统(计算机或中央处理单元自身在运行中没有故障保险),例如一用于控制交通控制设施的微处理器控制的联锁控制系统,本发明则是对这类系统的改进。这样的一种系统可见DavidB.Rutherford,Jr.所著标题为“失效保险微处理器联锁装置-数字集成安全保险逻辑的应用”一文(发表于铁路信号工程师协会(IRSE)会议文集,1984年9月25-27日)。该系统在标题为“故障保险处理器”的美国专利申请(序列号550,693,申请人DavidB.Rutherford,Jr.,时间1983年11月10日)中有较详细的描述。该系统同时还见于标题为“铁路信号故障保险接口系统”美国专利申请(序列号550,430,(GR3523)申请人JamesR.Hoelscher,时间1983年11月10日)中,申请已于1986年9月9日授予美国专利号4,611,291(3529)。这两项申请转让给本发明申请同一受让人。
还可参见标题为“适于连续校验铁路信号及控制系统故障保险输出的故障保险处理系统”的美国专利(号码为4,740,972,授予DavidB.Rutherford),该申请也转让给与本申请的同一受让人。
在美国专利4,740,972中,完整地公布了故障保险继电器激励器在故障保险处理系统中所起的作用,将要看到,本发明的装置,即故障保险功率控制器(VpC)与故障保险继电器激励器的作用相似,即接收和校验另一个执行故障保险系统功能的处理器所产生的检验字。只要检验字正确且是在指定时间内接收到的,则故障保险继电器激励器或故障保险功率控制器就向系统输出端提供故障保险功率。反之,当收到的检验字不正确,或者在指定时间内没有收到检验字,则故障保险功率控制器就不产生故障保险功率,从而使系统输出不起作用。
所有上面提到过的参考文献中公布的内容都有助于理解本发明的概念,而且它们还详细地描述了某些共同部件或共同特征。因此,这些公布内容的细节在此作为参考文献。
尽管故障保险功率控制器或VpC所起作用与故障保险继电器激励器相同,但其所采取的方式却成本更低。在VpC中,故障保险功率由一直流-直流变换器产生,需要有一故障保险高频驱动信号来产生故障保险功率输出。此高频信号由一电路产生,该电路从VpC输出信号经放大和滤波获得功率。
刚才介绍的那种已知装置描绘于附图的图1中。从中可以看到,直流-直流变换器16及相关的驱动电路起故障保险功率放大器的作用,用于放大从无源模拟电路14中产生的低功率直流电压信号,电路14也画于图1中。
原有VpC设计中存在的一个明显缺点是,当无效检验字(不论怎样产生的)被接收到,或者在指定时间周期内接收不到检验字时,就会造成功率损失。因此,尽管现有技术中的方法能保证安全性,但得到的系统对噪声十分敏感。如果任一噪声在检验字产生及传送过程中的任一处进入系统,那么就存在噪声干扰检验字正常产生的可能性;因此VpC将停止产生故障保险功率并因而导致整个系统复位。
因此,本发明的主要目的是要克服原有故障保险功率控制器结构中的上述明显缺点,并确保万一在系统中产生的噪声引起伪检验字或错误检验字时,VpC有容错措施。
这样,只要能有规律地接收到有效检验字,或者能碰到的偶发的无效检验字或丢失的检验字仅在某一频度或低于它,系统就能继续提供故障保险功率。然而若的确出现硬件故障时,VpC会及时检测到这些故障,因为这类故障会以比VpC所能容忍的高得多的速率重复产生无效检验字。
本发明的基本特征是基于这种认识,即可将甄别性能赋予故障保险功率控制器装置或子系统,这样,VpC将有容错性措施,並且只要不使系统关闭和停工,那么作为环境中噪声的结果而产生的无效检验字出现时,VpC对其是比较容忍的。正是因为这种噪声事件出现率比硬件故障出现率低,所以本发明中VpC的甄别性能可以方便地适于一具体环境。
关于上述提到的本发明装置的甄别能力,可以再次从附1了解到,其中示出了一已知设计或装置,包括一VpC10。在那张图中,专用微处理器12接收从其中较大系统发出的检验字组;具体地说,是从产生这类检验字组(奇偶字符)的另一微处理器来接收的。
但按照本发明的基本特征,VpC的微处理器就需要重新改装和重新编程,以产生已经讨论过的所希望的甄别性能;即正如将要解释的,赋予所需要的容错特征。微处理器以下面的方式对从另一微处理器接收到的检验字组进行转换。该方法包括两个短程序-一个是设置故障保险输出位,从该位取故障保险驱动信号,第二个程序用于清除这个输出位。为了产生具有指定波形的故障保险输出信号,对微处理器的编程必须在适当时刻以适当顺序执行这两个程序。例如,为产生频率固定的方波,必须交替调用该两程序。这可以通过交替计算两个程序的地址并来回跳换来实现。先计算一个程序的地址,然后计算另一个程序的地址。地址计算利用一个反馈移位寄存器(FSR)及ROM器件中的表。ROM中表的生成前提是假定FSR被初始化到某个起始值。每次FSR被移位指定次数后,其新状态便与下一个表列值异或,其结果便是下一个程序的地址,清除或设置故障保险驱动位。检验字组用来对FSR进行初始化。因此,有效的检验字组允许故障保险功率控制器(VpC)在由ROM表中表列值限定的时间内产生故障保险功率。一旦用完所有的表列值,在所需的顺序中就不再能产生正确的地址,直到FSR以表的正确初始值复位为止。不同的ROM表用于奇、偶检验字组。
该故障保险功率控制器的微处理器所具有的容错性的独到特征是由一组称作容错周期(Cycleofforgiveness(COF))或容错性缓冲器来实现的。每个缓冲器都能用来将反馈移位寄存器(FSR)初始化,以产生故障保险驱动信号的周期,此周期相当于有效检验字组的时间周期。换句话说,这些缓冲器用来模拟在一段给定时间内有效检验字组的存在。
优异的ROM表用来在容错周期时间内操作VpC,这样这些周期不会与正常的奇或偶检验字周期相混。任一COF缓冲器使用后,其内容都遭到破坏,从而再用时必须经过称为“成熟化”的过程。按照此过程,缓冲器先用从COF初始化值表中取出的一个值初始化。COF缓冲器变成一多项式除法器。每次处理一有效奇或偶检验字组后,FSR的末状态被送入除法器。这就改变了已知方法中缓冲器的状态。经过一定数目的有效检验字周期后,COF缓冲器中的值即可用以提供一个容错周期。
相应地将要理解到,简要地说,本发明定义为一个包括了以下部件的故障保险功率控制器(1)一个适于接收奇和偶检验字组的微处理器,并包括对检验字组进行转换以便在它的输出端产生一故障保险驱动信号(如频率一定的方波)的部件;(2)一个用于在其输入端接收所述故障保险驱动信号并在其输出端提供一低功率直流电压的无源检波器;(3)一个直流-直流变换器,用于在输入端接收所述低功率直流电压并在其输出端提供一故障保险输出信号,或故障保险功率;所述用于转换所述检验字组的部件包括一反馈移位寄存器,一储存有奇及偶校验表的只读存储器(ROM),从中一有效检验字组能使故障保险功率控制器在由ROM表中表列值数所限定的时间内产生所述故障保险功率。
在故障保险功率控制器中还有用于在噪声事件之间进行鉴别的部件,噪声出现的频度相对硬件故障率要低,所述用于甄别的部件包括多个容错缓冲器,其每一个都用于对反馈移位寄存器进行初始化,以产生所述故障保险驱动信号,此信号的周期相当于有效检验字组的周期;在微处理器中,它还包含一只读存储器段,段中含有一独特的ROM表,即一容错周期表,用于在容错周期内操作故障保险功率控制器,从而这些周期不致和正常的奇或偶检验周期相混。
本发明其他的和进一步的目的、优点及特征可参考以下的详述和附图加以理解,图中相同部件具有相同标号。
图1是用作说明已知故障保险功率控制器(VpC)的框图。
图2是工作原理框图,画出了根据本发明的故障保险功率控制器微处理器部分的某些器件;特别是示出了构成所述微处理器部分的反馈移位寄存器和只读存储器。
图3是根据VpC置位程序和VpC清除程序执行情况的步骤或操作流程图。
图4是实现本发明故障保险功率控制器的电路图,图中示出了部分细节。
图5是一工作原理框图,描述了容错性特征或用于甄别噪声事件及硬件故障的部件;包括一些容错缓冲器,这些缓冲器用于与反馈移位寄存器相连接的系统中,特别地还示出了从这些容错缓冲器到反馈移位寄存器的数据传送。
图6是一与图5类似的工作原理框图,但特别地示出了从反馈移位寄存器向容错缓冲器的数据传送。
图7和8是流程图,既表示了本发明中程序执行步骤,又表示了执行该程序的硬件部件。
VpC的简要描述及其操作如从图1框图(其中示出了已知的VpC10)所了解的,VpC以一定速率接收检验字组。一检验字组允许VpC在一段指定时间周期内提供故障保险功率。检验字组分两类-奇和偶。正常运行下,奇字组与偶字组交替出现。
现在参照图2,从工作原理框图形式中可以看到,本发明的独特VpC,包括一经改进的微处理器12′,取代了图1中的微处理器12。微处理器12′的一个重要部件是反馈移位寄存器20。当检验字被接收到后即送入该反馈移位寄存器。按此过程,移位寄存器20的状态取决于其初态和通过异或门24送入的检验字。若初态与检验字皆正确无误,那么末态即为所需状态。若有一个或这两者都不正确,那么所得值就几乎不可能正确。该事件出现的概率是1/N2,其中N是反馈移位寄存器的位数,增大N可使概率变小。因为只有两种检验字组(奇或偶),所以在VpC移位寄存器20中就只能产生两个有效值。利用VpC移位寄存器20中的这两个值之一,或者是经一容错周期产生的第三个值,VpC即可在一段限定时间内生成用以产生故障保险功率的故障保险驱动信号。
图2中所见ROM22是本发明VpC的另一重要部件。它存有由一应用程序生成的表。表22A对应偶周期,表22B对应奇周期,表22C对应容错周期(COF)。生成每个表时都假定VpC反馈移位寄存器20中有一特定初始值存在。每个表都是十六位的位移值的准确排列。当移位寄存器20中为正确的初始值时,并且表指针23被初始化到相应表的开端,则其地址可这样得到将移位寄存器(其反馈抽头按规定方式联接)移位指定次数,并通过门25将移位寄存器给出的十六个最高有效位与表中下一个位移值异或。在此过程中,检验字组的输入被保持在0。重复计算表22A及表22B便可交替得到两地址。
现在参照图3的流程图,其中描绘了交替地址的产生。有一个地址是短程序26的,该程序置故障保险驱动位,然后执行移位及刚才介绍过的异或地址计算。该程序然后转向计算出的地址(26H)。另一地址是相类似程序28的,该程序清除故障保险驱动位,执行移位和异或操作,然后转向计算出的地址(28H)。表22A及22B的设计是使每个程序计算并转向另一个程序的地址。因此,当移位寄存器包含了有效初始值,且表指针指向相应表的顶端时,调用其一程序便导致两程序的交替执行。程序分别包含步骤26A-26H及28A-28H,其中步骤26C及28C是减计数器,计数器以表的项数为初始值。计数器减到零时该过程便终止,这时表中最后一个值被使用。过程不能继续进行是因为表中已没有值用来将末状态转换到下一个地址。
随着两程序26及28相互反复执行,故障保险驱动位被交替置位和清除,从而产生了一个方波(故障保险驱动信号),方波频率由程序中的指令数及指令的执行频度(由处理器时钟40确定)来决定,(图4)。然后,此信号被无源检波器14中的调谐电路滤波,与预期信号频率相差很大的信号被抑制。滤波后的信号再经过整流即可为驱动电路及直流一直流变换器16的振荡器提供功率,变换器16向系统提供故障保险功率。
VpC按以上所述运行时,移位寄存器20的末态能指示刚刚接收到的检验字组的奇偶性质,或者指示根据本发明的容错周期的使用情况。“成熟化”过程是指一COF缓冲器,例如图5中所见COF缓冲器1,(在已经提供一容错周期后)返回到能再用来提供容错周期的状态。如将介绍的,COF缓冲器的该过程将进一步改变奇和偶周期的终值,不过在“成熟化”过程的设计时总使其对奇和偶周期在VpC移位寄存器中产生唯一的终态值。该过程在容错周期之后不发生。当奇和偶字组交替时,奇周期的终值变成偶周期的初值,而偶周期的终值就是奇周期的初值。若偶周期之后跟的还是偶检验字,或在奇周期后跟的还是奇检验字,或者在需要检验字的时候没接收到,那么过程就必须终止或者必须使用容错周期。ROM中存有位移常数,这样从容错周期得到的终态值既可和奇检验字又可和偶检验字一起用。
容错周期由COF缓冲器(标号1-N,见图5及图6)提供,这些缓冲器通过异或门46、48及50链接到反馈移位寄存器20上。每个COF缓冲器中都有一个数,能被转换到容错周期所要求的VpC移位寄存器初始状态。转换过程期间,给定的COF缓冲器及VpC反馈移位寄存器20都用作反馈移位寄存器,COF缓冲器中的内容被移进VpC移位寄存器20中。该过程破坏了COF缓冲器中的内容,因此再次使用COF缓冲器之前必须经过“成熟化”过程。一旦初始化后,COF就象正常的奇或偶周期一样工作,只是不用奇或偶表,而用ROM22中的COF表22C。
COF缓冲器的“成熟化”过程保证COF缓冲器用于提供一容错周期,能被再次使用这两个时刻之间有效奇或偶周期的出现次数应该最小。COF缓冲器用过后,即用从ROM中选出的一个值对此缓冲器初始化。如前所述,每次出现有效的奇或偶周期时,VpC移位寄存器20中的终态值都能证实该事件的出现。为了使COF缓冲器“成熟”,VpC移位寄存器20及缓冲器1-N构成多项式除法器,VpC移位寄存器20的输出馈送到COF缓冲器1-N的输入(图6)。然后,移位寄存器的内容移入给定的COF缓冲器中去,接着,从ROM中取一位移常数与COF缓冲器异或。事实上有两个位移值-一个相应于奇周期,另一个相应于偶周期。位移常数的挑选原则是使过程在给定的COF缓冲器中得到同样的结果,不论出现的是奇周期还是偶周期。整体效果是,每次出现有效奇或偶周期时,COF缓冲器都以可预知方式改变其状态。经过预期数目的有效奇或偶周期后,COF缓冲器中即是已知的末态。此即“成熟化”的COF状态,可用于提供容错周期。
VpC硬件详细介绍将要了解到的是,本发明的VpC被设计成一个整体系统的一部分。整体系统的确切类别可随应用的不同而不同。VpC必须以设定的速率从其他系统接收有效检验字,以便在VpC输出端连续输出故障保险功率(如图1所示),供系统其他部分用。
图4是VpC电路的数字电路部分示意图。该数字部分的主要部件是一8031微控制器,标为U2,其上连接有一时钟及控制信号器件40(图4A)。检验字通过总线收发器U7及相联的门逻辑电路U3和U4送到微控制器。无论什么时候,当一系统部件要传送检验字到VpC时,它将VpC地址放到线AD0至AD3上(图4B),后者联到外中断器件U8上。该地址经U8检测到后,使微控制器U2中断。微控制器监控着BUS-BUSY(总线忙)线,并且当微控制器发现总线不忙时,就把一个字节放到总线上,表明已准备好接收检验字。它等待MASTER-RDY(主机准备好)线变为低电平,表明有一字节在总线上。它读出该字节并把SLAVE-RDY(从机准备好)线拉为低电平以响应接收到该字节。当它发现MASTER-RDY线变高电平时,也把SLAVE-RDY拉成高电平,表明完成第一个字节的传送。检验字组所有的后续字节均重复该过程。
参照图4C,U5是EpROM存储器,存储了和ROM表22A、22B及22C一样的VpC程序。U6是一锁存器,要求它保持指令地址的低八位不被从存储器中取出。当VpC检测到有效检验字时,它便在接线46(图4A)上输出为产生故障保险功率所需的7.246KHZ故障保险信号。
该7.246KHZ故障保险驱动信号被传送到作为VpC部件的普通无源检波器14上。与数字电路部分12不同,该检波器14是VpC电路的模拟电路部分。普通的直流-直流变换器16(图1)也是VpC的模拟电路的一部分,在其输入端是低功率直流电压电平,输出则为所要求的故障保险功率信号。
VpC软件介绍正如前面在“VpC的简化描述及其操作”这部分提到,图2的方框图表示了微处理器12′的基本元件加上系统软件可以在连线46(图4A)上产生7.246KHZ的故障保险驱动信号,并传送到检波器14。将了解到的是,在反馈移位寄存器20上执行了很多操作。每个操作都要求寄存器采取不同的反馈布置。再有,一部分时刻数据被送入寄存器,而另一部分时刻数据被移出寄存器。在这另一部分时刻,如前所述,数值同时与寄存器中的所有位异或。事实上,移位寄存器20是由微控制器U2内的存储器中几个相邻的存储区构成的,而所有这些操作是通过调用不同的软程序执行的。
因为移位寄存器中的每一位都可以是1或0,所以它便可以有2N个可能状态。如果在异或操作中馈送到寄存器的那些位,即寄存器的抽头被选择成与原始多项式中“1”的位相匹配,那么该器件便具有了一个非常有用的性质。当器件处在任何非零状态时,它必须在返回其初始状态之前移位2N-1次。如果N=32而每个7.246KHZ周期出现16次移位的话,那么器件在10.3小时之内不能回复到初始状态。
假设移位寄存器20被置于一已知的非零状态。因为初始状态是已知的,所以,器件移位时所产生的位流的性质就是已知的。该位流与表中的位进行异或(后面将了解到)以产生所需输出流。选择和存储于系统ROM中的表值是根据移位寄存器的已知初始状态和所需的输出序列。另一方面,如果移位寄存器20在过程已经开始时还未初始化到预期状态,那么由移位寄存器所产生的位序列将与表值不匹配,且与表值异或的结果将不是所需的输出序列,而是“1”或“0”的随机序列。此外,如果反馈移位寄存器初始化正确,但指向表的指针并未指到相应的表项,那么异或操作的结果也将是一个随机序列。概括地说,为了从异或门得到所需的输出序列,移位寄存器的初始状态及指向表的指针位置都必须正确。
如图2中所标明的,产生VpC故障保险驱动信号的程序包括两个短程序26和28-一个称为VpCSET(26),另一个称为VpCCLR(28)。假定VpCSET被调用,而且系统已被初始化,以在接收到一偶检验字组后产生故障保险驱动信号。设置表指针指在标有EVENTABLE的表的顶端,而移位寄存器被初始化到与EVENTABLE首项相对应的值。还假定一环形计数器已用EVENTABLE中有效表项的数目初始化。
VpCSET及VpCCLR的流程图示于图3中。VpCSET首先将故障保险驱动位置位并保持住复位释放位,以避免出现硬件复位。环形计数递减并被不断测试看是否已用尽所有表项。如果已用尽,那就从VpCSET返回。如果没有,那就使移位寄存器移八位,并使其最高的十六位与表中的下一组十六位异或。异或的结果所得到的十六位在微控制器的64K地址空间内形成一地址。表指针递增到下一个表项后就跳到该地址。EVEN表的设计要使得VpCSET中所作的地址计算在当移位寄存器和表指针正确初始化时结果形成VpCCLR的地址。VpCCLR完成的操作与VpCSET相同,只是它负责清除故障保险驱动位。其地址计算得到的结果是VpCSET的起始地址。这样,当系统正确地初始化后,VpCSET和VpCLLR就交替跳换着置和清VpC故障保险驱动位,并在微控制器的该输出引脚产生7.246KHZ的方波。当所有表项用完后,该操作应当停止,因为其后所有计算已得不到正确的跳换地址了。
当移位寄存器20从确定的初态开始,并经历对应表项指定数目的指定周期数移位时,其终结末态将是确定的。因此该末态能指示刚才完成的过程。在容错周期(COF)缓冲器的“成熟化”期间,实际末态将被进一步修改。不过,由于“成熟化”过程将移位寄存器移位的次数是固定的(下面将要介绍到),所以,COF缓冲器“成熟化”后的末态能仍指示刚才完成的周期的性质,即奇周期、偶周期或是容错周期。
图2中给出了三个表,即EVEN(22A),ODD(22B)和COF(22C)。系统的设计是使之交替处理指定为偶和奇的检验字组。如果接收到的是偶检验字,则偶检验字组被用来在一个偶周期内将移位寄存器20初始化到合适的初始状态,而表指针置于EVEN表的开始位置。同理,如果接收到奇检验字,则奇检验字组被用来将移位寄存器初始化到它的奇初始状态,而表指针置于ODD表的开始位置。
如果接收到无效检验字,或者在前一个周期完成后的一段指定时间内接收不到检验字,系统则试图使用容错周期(COF)。依所需容错周期个数不同,VpC软件设计了从0至8个COF缓冲器。如下面要解释到的,在系统接收到指定个数的有效检验字(奇或偶)后,COF缓冲器就变得“成熟”了,也就是说,它包含了可用于替换一有效偶和奇检验字的值。假定至少有一个“成熟”的COF缓冲器可采用,则VpC可用该缓冲器将移位寄存器置为运行一容错周期所需的初值,并可将表指针置于COF表的开始项。结果对任一情形(偶检验字、奇检验字、或容错周期)都是一样的。VpC将在指定的一段时间内产生7.246KHZ的故障保险驱动信号。
COF缓冲器的个数及使COF缓冲器“成熟”的有效奇或偶周期的数目都是在产生VpC表时要确定的参数。这些参数决定了VpC的抗噪声度。表是由应用程序配合以VpC软件产生的,然后烧进VpCROM中。为要改变VpC性能,必须要烧一片新的ROM。
在正常运行中VpC交替地接收偶和奇检验字。假设VpC正处于正常运行之中,而且最后接收到的是奇检验字。当用完ODD表中的所有值后,VpC就停止产生故障保险驱动信号而进入使COF缓冲器“成熟”的程序。然后它等待下一个检验字组。如上所指出的,移位寄存器中的终值能证实前一个周期是奇周期。新检验字组的每个字节被接收到后,都以图2所示方式送入移位寄存器。检验字的每一位都与移出移位寄存器的一位异或。如果所得的结果位为0,那么就不作其他操作了。如果是1,则移位寄存器中的选定位与“1”异或。
图5和图6中反馈抽头的选择是使之与一原始多项式中“1”的位相对应,这样得到的操作便具有上面介绍过的性质。该电路常称作多项式除法器,因为该电路执行的是除法-馈入的位流除以决定反馈抽头的多项式。该移位寄存器中的内容可以认为是除法后的余项。
在所有检验字字节送入除法器后,最终结果就是取决于操作一开始除法器中的初始状态及所接收到的检验字的唯一值了。因此对其后是偶检验字的奇周期来说,结果中将包含只有在奇周期后是一偶检验字时才能计算出的唯一值。然后一位移常数并行地(门24)异或进移位寄存器20,以将该唯一值转换成一偶周期的唯一起始值。该位移常数是预先计算出并存储在ROM中备此情况用的。
类似地,如果接收到的是偶周期后的奇检验字,那么,在偶周期成功完成的结果所产生的唯一值就包含在移位寄存器20中。当奇检验字被馈送入此唯一值时,便产生另一唯一值,它证实在一有效偶周期后是一有效奇检验字。籍对移住寄存器异或入一个预先计算好的、存储在ROM中的位移常数,此唯一值就转换成奇周期内所需的初始值。
这样,当有效的偶和奇检验字交替时,一个周期的有效终值通过接收到的检验字及ROM中可利用的位移常数转换成下一个周期的有效初值。因为没有相应其后是偶检验字的偶周期、或者其后是奇检验字的奇周期的位移常数,因此偶和奇检验字必须交替以避免使用容错周期。
接收检验字时,证实其是否正确和是否按预期序列(奇偶交替)并不是必需的。检验字也不是非查不可的,因为检验字是由一多项式产生的一组集合中任意选出的代码字。当用多项式去除代码字所得结果被接收时便执行了对代码字的检查。如果结果是0,就假定它们是正确的,否则就舍弃。如果代码字被舍弃,或者在确定的一段时间限制(几毫秒的量级)内根本没接收到检验字,则必须使用容错周期缓冲器了。
假定VpC被建立有至少一个容错周期,则因而至少有一个COF缓冲器。对每个COF缓冲器都有一个与之关联的标志。如果标志被置位,表明缓冲器已“成熟”,从而它的值可以用于提供一个容错周期了。图5示出了使用COF缓冲器的方式。首先,将移位寄存器20清零以消除前一周期的所有痕迹。然后,以检验字被送入移位寄存器的同样方式将COF中的内容送入寄存器(图5)。但如所指出的,并非简单地从COF缓冲器一个接一个地取字节,而是COF缓冲器本身用作一多项式除法器。字节送出COF缓冲器是作多项式除法的结果。当COF缓冲器处于正确的初态时,由此操作产生的字节流是唯一的。当这些字节如所示地送入VpC移位寄存器20时,所得结果在该移位寄存器中是唯一的状态。此外,该过程在利用COF缓冲器产生一容错周期期间破坏了COF缓冲器中的内容。因此,只要利用COF缓冲器产生容错周期,那么再使用它之前就必须经过“成熟化”。与每个COF缓冲器相关联的是存储在ROM中的相应的COF位移常数。当按刚介绍过的操作之后将此值异或后送入VpC移位寄存器时,其结果便是COF周期的所需初值。然后初始化指针,使之指向COF表,并调用VpCSET。此外,只要COF缓冲器被用到,相应的缓冲器标志及计数器便被清零,以表示缓冲器需要再初始化和“成熟化”。
在COF周期之后,下列两个事件之一可能会发生。首先,可能会出现无效检验字或者不出现任何检验字。此时,系统将试图调用另一容错周期。如果发现有一个“成熟”的缓冲器,则容错周期必须使操作继续。如果没有发现,则过程必须暂停。第二,可能接收到一有效检验字(或奇或偶)。VpC移位寄存器中的内容是前一个COF周期的终态值。当新的检验字移入移位寄存器时,其结果将是与在有效的奇或偶周期后所获得的结果不同。为将该结果转换成下一个奇或偶周期所需的有效初始状态,ROM中需存储两个位移常数-一个用于在COF周期后是偶检验字,一个用于在COF周期后是奇检验字。这些位移值将移位寄存器现有状态转换成所需的奇或偶初始状态。因此,一个COF周期后既可以是奇检验字也可以是偶检验字。
经过复位后,VpC移位寄存器中将不再包含有效末态,也没有一个COF缓冲器是“成熟”的。因此必须用另一器件将VpC移位寄存器初始化到一起始值。还必须对复位进行故障保险启动延迟,以避免出现这种情况,即系统运行一会儿,出现故障,立即复位,又运行一会儿,又出现故障。除非VpC在复位后强留出一个周期,在此期间不产生故障保险输出信号,从而在一设定的时间内造成故障保险功率的损失,否则可能检测不到这种操作。为此,VpC移位寄存器需加载一初始值,还需要加载一计数值。VpC便进入一延迟环,其间VpC移位寄存器如图6所示被用作一多项式除法器,只是没有数据送出到COF缓冲器。延迟环将多项式除法器移位八次,然后环形计数递减。当环形计数减到零时,终态将是初始条件和循环次数的函数。时间延迟可以从每次循环所需的时间间隔及循环次数计算出。该终态值通过与存储在ROM中的位移常数异或即可转换成终态COF值。此时,延迟在移位寄存器中产生的状态和利用容错周期所得结果的状态是相同的,从而在接收到下一个有效奇或偶检验字后,VpC便能开始产生故障保险驱动信号。
最后要谈到的是COF缓冲器中值的“成熟化”问题。该过程与所介绍过的对容错周期初始化VpC移位寄存器中一COF缓冲器的使用情况类似。差别在于字节是从VpC移位寄存器移到COF缓冲器,而不是反过来(图6)。先假定刚刚完成一有效偶或奇周期。VpC移位寄存器中是与该偶或奇周期相关的终态值。与每一COF缓冲器相联系的有一计数器和一标志。若标志是置位的,则缓冲器是“成熟化”的,无需进一步处置。其次,标志并未置位且计数是零。那么COF缓冲器因刚用过而必须再初始化才能开始“成熟化”过程。ROM中存储有与每一缓冲器相关的初始化常数,该常数在此条件下加载到缓冲器。如图6所示,将VpC移位寄存器的内容移入标志已清零的每一个缓冲器即将缓冲器“成熟化”了。该过程同时改变了VpC移位寄存器和COF缓冲器的状态。如果缓冲器标志已经置位,由于缓冲器已经“成熟”,所以,VpC移位寄存器移位所要求次数,不过,其输出被弃置不用,而相应的COF缓冲器也不改变状态。因此,不管哪些缓冲器是“成熟”的,哪些还不是,当VpC移位寄存器开始将字节移入任一未“成熟”的缓冲器时,其总是处于一已知状态。再有,不管COF缓冲器如何可能需要“成熟化”,当过程完成后,VpC移位寄存器的末态是相同的。
此过程是在有效奇或偶周期之后进行的。然而奇或偶周期之间的数据有所不同,因为VpC移位寄存器中的值对奇或偶周期是不一样的。为消除此差别,每个缓冲器都有与之相关的一个奇位移常数和一个偶位移常数,它们紧接着移位操作之后经异或送入缓冲器。奇常数用于一奇周期之后,偶常数用于一偶周期之后。这些常数的作用是使一奇或一偶周期得到的结果相同。这个操作消除了当使用容错周期时由于奇及偶周期可能不总是交替而可能出现的麻烦。它还简化了“成熟化”过程,因为无须关心“成熟化”会在一奇周期还是在一偶周期开始。
像刚介绍的那样,在每个奇或偶周期之后,数据从VpC移位寄存器移入未“成熟化”的每个缓冲器中。每一次这样做,缓冲器计数都递增并被测试。当计数达到一“成熟”缓冲器所要求的值时,缓冲器标志被置位,而该过程结束。
系统的容错性可因此用所用COF缓冲器个数及一缓冲器“成熟化”所需周期个数来描述。例如,若已经用了一个COF缓冲器且该缓冲器需要一百个有效奇及偶周期来“成熟化”,则VpC每101个检验字组中能容忍出现一个无效检验字。若无效检验字出现频率较快,则COF缓冲器“成熟化”的速度就快不到能接受它们了。
VpC软件流程7和图8提供了一个VpC软件的概观。其中的流程图被标上了(程序)段号60-72。由于硬件复位的结果,微控制器U2的内存储器先被清除(步骤60A),同时硬件复位(60B)。然后运行故障保险延迟操作(60C),所得结果用于将VpC移位寄存器20初始化。COF缓冲器用COF初始化常数表初始化(60D)。至此便完成了复位后系统的重新初始化,分支转入(C3)主程序环(步骤62B),开始接收和处理检验字。
通常,如果等待检验字的时间太长,就通过装入和启动一能够中断处理器的计时器(62A)来开始接收新检验字的过程。该计时器中断等待并允许系统试图使用(如果有可用的)一COF缓冲器。
系统启动时,COF缓冲器都是未“成熟化”的,因此等待将持续到接收到检验字或出现硬件复位。在中断控制下标志置位,表明一新的检验字组准备好了(62B)。此时VpC将其地址传送到系统总线上(62C),表明准备接收检验字。一环形计数器被置所期望的字节数,而验证缓冲器被清零(62D)。
接收到第一个字节时(62E、F、G),其最高位指示了该检验字组的置位是奇还是偶,同时各标志被相应置位(62H)。每接收一个字节都同时被送入验证缓冲器(62I)和VpC移位寄存器20(62J)。当接收到所有字节后(62K和62L),检查验证缓冲器以验证检验字是否有效(64A)。如果检验字无效,或者在过程完成之前中断计时器已超时(64P),则停止接收过程并将检验字标志为无效(64G)。如果检验字有效,则根据刚接收到的检验字的类型而将表指针指向奇或偶表(64B、C及D)。然后将前一周期与刚接收到的检验字组的性质作比较(64E及F)。如果检测到无效的情况(奇周期后为奇检验字或偶周期后为偶检验字),则清除检验字有效标志(64G)。如果顺序正确(奇周期后为偶检验字,偶周期后为奇检验字,或COF周期后为奇偶检验字中任一种),则根据新检验字组的性质和前一个周期(64H,I,J,K)的不同而将相应的位移值ODD、EVEN或COF异或送入VpC移位寄存器。其结果是,检验字有效标志被置位(64L)。
下一步测试检验字有效标志(64M),如果检验字组是无效的,那就要试着寻找“成熟化”的COF缓冲器(66A-J)。否则要作延迟(64N),以平衡搜索所用的时间,这一点下面就讨论。
将VpC移位寄存器清零(66B),环形计数器置为系统中缓冲器的个数。如果没用到缓冲器(66C),则过程立刻中止(66J),因为各参数表明无需容错。反之,要测试每一个缓冲器的标志(66D),以找到“成熟化”了的缓冲器。如果测试过所有标志(66E,66C)没发现一个是“成熟化”了的,则处理器中止工作,等待复位(66J)。找到“成熟化”的缓冲器时,其内容被送入VpC移位寄存器(66F),而从ROM取出的相应的位移值(66G)被异或送入那时已存放了COF周期的正确初始值的寄存器中。该缓冲器的标志然后被清零(66I),其计数置为0(66I)以表明它要求“成熟化”。指针则被置位到指向COF表的第一项(66H)。
一旦接收到任一种(奇或偶)有效检验字,或者使用了容错周期,就调用VpCSET(68A)。调用使两程序VpCSET(26A-26H)和VpCCLR(28A-28H)来回反复执行,以产生故障保险驱动信号并保持复位释放(26B及28B)状态。
从这两程序之中的任一个返回后,程序进入使COF缓冲器“成熟化”的一段(66B)。环形计数器被置为COF缓冲器68B的个数。
检查每个缓冲器标志(68C)看该缓冲器是否已“成熟化”。如果是的,则VpC移位寄存器移位四次(68D)以模拟在“成熟化”操作期间应当出现的操作。如果还没有,则VpC移位寄存器中的内容移入COF缓冲器(68F)。然后依周期是奇还是偶(68G)的不同,从ROM中取出一位移常数异或送入缓冲器(68H和I)。这时缓冲器计数递增并被测试(70A和B),以检查缓冲器是否在此周期达到了“成熟化”。如果是的,则其标志置位以中止进一步操作(70C),否则不采取任何动作,而使“成熟化”过程对后续周期继续。最后,环形计数递减,看是否所有缓冲器都已被测试并按要求“成熟化”了(70D和E)。如果过程未完成,就继续到下一个缓冲器(68C),如果已完成,则分支返回程序环的开始,等待下一个检验字组(62A)。
可靠性该装置的可靠性依赖于这一事实,即为使VpC能够生成产生故障保险功率所需的故障保险驱动信号,VpC移位寄存器必须包含一个有限集合中的一个值。为生成该信号,VpC移位寄存器中的值必须和表指针所选定的表项对应。由于VpC移位寄存器包含N位,于是它便可以取2N个值。因为这些值中只有一个对表指针选定的表项有效,所以,除了接收一有效检验字组或使用一COF缓冲器外,籍设备而取此值的概率为1/2N。若N=32,则该概率就近似为四十亿分之一。而且该概率可通过增加N而任意减小。
本发明扼要重述现已将充分了解到,本发明的故障保险功率控制器能通过提供容错特征,在无效检验字组出现率低于一定值的情况下,允许VpC容忍偶尔出现的无效检验字组并继续提供故障保险功率。因此,该新设计使系统在偶尔遇到无效检验字组时能继续工作从而更加能抗噪。利用反馈移位寄存器和一ROM表产生故障保险功率输出,可以很容易地在软件上实现上述概念,同时使系统具有很大灵活性。
从前面介绍可清楚地知道,一有效检验字组允许在一段限定时间内产生故障保险功率输出,这个时间由ROM表中可利用的表项数来决定。籍助于加入或删除ROM表项,这个时间就会增长或缩短。此外,故障保险输出信号不一定是这里介绍的简单方波。通过修改ROM表,该故障保险驱动信号可以改为调制信号,或者是模拟电路能识别的任何一个所需信号。因此,在时间上和信号波形上都可以作修改而同时不改动VpC的基本程序,只需要修改ROM表即可。
虽然所图示和介绍的是目前被认为是本发明的优选实例,但在该领域熟练的人们能理解到,可以对该实施例作各种修改。因此希望本发明不被该实施例所限制,而是希冀包括在所附权利要求书中所有本发明真正思想和范围的修改。
权利要求
1.一种故障保险功率控制器,用于校检一故障保险处理系统是否工作正常,并仅当系统运行正常时才向系统输出端提供故障保险功率,它包括(1)一个经改进适合接收奇及偶检验字组的微处理器,其具有用于转换检验字组以在其输出端生成故障保险驱动信号的器件;(2)一个无源检波器,其输入端接收所述故障保险驱动信号,其输出端提供低功率直流电压;(3)一个直流一直流变换器,其输入端接收所述低功率直流电压,其输出端提供故障保险功率;(4)所述用于转换所述检验字组的器件包括,一个反馈移位寄存器,一个存储有奇和偶表的只读存储器,从而一有效检验字组使故障保险功率控制器能够在由所述表的项数所限定的时间内产生所述故障保险功率;(5)用于在噪声事件中进行鉴别的器件,该噪声事件出现频度要比硬件故障率来得低,所述器件包括多个容错缓冲器,每个缓冲器都能将所述反馈移位寄存器初始化,以产生所述故障保险驱动信号,此信号的周期相当于一有效检验字组的周期。
2.权利要求1中定义的故障保险功率控制器,其中,在所述微处理器中的只读存储器存储有用于在容错周期期间操作所述故障保险功率控制器的一张容错表,这样这些周期便不致与正常的奇或偶检验周期相混。
3.权利要求2中定义的装置,还进一步包括破坏在容错周期过程中已被使用过的每个容错缓冲器内容的器件。
4.权利要求1中定义的装置,其中每个所述容错缓冲器都用作一多项式除法器。
5.权利要求1中定义的装置,其中每个所述容错缓冲器先用容错周期初始化值表中的一个值初始化。
6.权利要求5中定义的装置,包括每次处理有效奇或偶检验字组时将所述反馈移位寄存器的末态送入一容错缓冲器的器件,以改变每个缓冲器的状态,从而经历一定数目的有效检验字周期后,容错缓冲器中能用于提供容错周期的值。
7.在一故障保险功率控制器中,一用于校验一故障保险处理系统是否工作正常并且仅在系统操作正确时才向系统输出端提供故障保险功率的故障保险功率控制器包括(1)一个经改进适合于接收奇及偶检验字组的微处理器,其中包括用于转换检验字组以在输出端产生一故障保险驱动信号的器件;(2)一个无源检波器,其输入端用于接收所述故障保险驱动信号,输出端则提供一低功率直流电压;(3)一直流-直流变换器,其输入端用于接收所述低功率直流电压,输出端则提供故障保险功率;改进之处体现于一装置,其中(a)所述用于转换所述检验字组的器件包括一反馈移位寄存器,一存储有奇及偶表的只读存储器,从而使有效检验字能够在由所述表中项数所限定的时间内使故障保险功率控制器产生所述故障保险功率;以及(b)用于在噪声事件中进行鉴别的器件,该噪声事件出现的频度比硬件故障率来得低,所述甄别装置包括多个容错缓冲器,每一容错缓冲器都能将所述反馈移位寄存器初始化,以产生所述故障保险驱动信号,此信号的周期相当于一有效检验字组的周期。
8.权利要求7中定义的故障保险功率控制器,其中在所述微处理器中的只读存储器存储有在容错周期期间用来操作所述故障保险功率控制器的一张容错表,从而这些周期不致和正常的奇或偶检验字周期相混。
9.权利要求8中定义的一装置,还包括用于破坏在容错周期过程中已被使用过的每个容错缓冲器内容的器件。
10.权利要求7中定义的一装置,其中每个所述容错周期缓冲器都用作多项式除法器。
11.权利要求1中定义的一装置,其中每个所述容错周期缓冲器先用一容错周期初始化值表中的一个值进行初始化。
12.权利要求11中定义的一装置,包括每次当一有效奇或偶检验字被处理时将所述反馈移位寄存器的末态送入一容错缓冲器的器件,从而改变每个缓冲器的状态,所以经过一定数目的有效检验字周期后,容错缓冲器将包括可用来提供一容错周期的值。
全文摘要
一种具有容错特征的故障保险功率控制器,是一个较大的故障保险处理系统的子系统,其功能是校验该较大系统运行是否正常,并且只当该较大系统操作正确时才向该系统的输出端提供功率。该较大系统周期性地向故障保险功率控制器(vpc)传送检验字组,后者用于校验该较大系统运行是否正确,一组有效检验字组能使vpc在限定时间内产生故障保险功率。vpc的容错性特征使其在当所遇无效检验字组的出现率低于一设定值时,容忍偶尔出现的无效检验字组,并仍继续提供故障保险功率,从而在有噪声存在的情况下改善操作性能。
文档编号G06F11/00GK1042785SQ89108318
公开日1990年6月6日 申请日期1989年11月4日 优先权日1988年11月4日
发明者大卫·B·鲁瑟尔弗德, 约翰·W·帕克 申请人:通用信号公司