- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于事故安全设计的开关量输出控制单元
0 引言
在微机保护装置中,所有保护功能最终是通过开关量输出单元来控制断路器、隔离开关和继电器动作实现的,因此微机保护装置开关量输出电路的可靠性直接反映了微机保护系统的可靠性。对于开关量输出是否可靠的问题,作者认为应从3个方面来理解:开关量输出控制单元自身的可靠性;开关量输出控制单元是否正确执行CPU发出的正确指令;开关量输出控制单元是否拒绝执行CPU发出的错误指令,也就是说要求微机保护装置开关量输出控制单元必须识别CPU发出指令的正确与否。
微机保护装置已有20多年的发展历史,尽管从事保护装置研发的工作者在如何提高开关量输出控制单元自身可靠性和正确执行CPU发出的指令方面做了许多工作,但在开关量输出控制单元拒绝执行CPU发出的错误指令方面,据作者所知,目前仅有少数微机保护装置采取了一些非常简单的措施 (例如用2位CPU的输出端口控制1位开关量输出)来提高开关量输出的可靠性外,大多数装置几乎没有做任何处理。由于现场干扰的存在和器件可靠性方面的原因,微机保护装置和其他工业控制装置一样,它的CPU及外围单元不可能时刻工作在正常状态,仍然会发生某些异常事故。在这些异常事故中,CPU程序跑飞是发生频率最高的事故。目前微机保护装置和其他工业测控系统广泛采用的 Watchdog电路就是在CPU出现程序跑飞时,阻止事故进一步扩大而采取的常用方法。我们知道 Watchdog电路并不能保证CPU正常工作,它仅仅是在CPU程序跑飞一段时间后,试图通过复位方式将CPU恢复到正常工作状态,这段时间通常在 20ms~2s之间。在这段时间内,处于异常工作的 CPU至少可以执行数万条指令。而在这数万条异常指令中,什么样的情况都可能发生,如果此时CPU发出了开关操作指令,而开关量输出控制单元不加识别就执行的话,必然造成系统误动。对于电力系统来说,误动是一种非常严重的事故。因此在设计微机保护装置时,使其开关量输出控制单元具备事故安全功能是非常必要的。
1 事故安全设计
系统设计时,可以采取各种措施来提高可靠性,例如硬件方面采用冗余和容错技术,软件方面采用容错方案以及系统运行前和运行过程中不断自检[1] 。但不管采取什么措施,只能相对提高系统的可靠性,而不能根除故障。对于微机保护装置这样对可靠性要求非常高的系统,如果不采取适当的措施,一旦出现故障,其后果是十分严重的。如果我们在设计系统过程中,考虑到当系统出现故障时,使其输出锁定在某一特定安全值内,则这个系统是事故安全的,这种设计称为事故安全设计[2] 。对于微机保护装置开关量输出控制单元,事故安全可以理解为:当 CPU发生故障时,开关量输出控制单元使其输出锁定在CPU发生故障前的状态,以消除误动。
事故安全系统通常由两部分组成:故障处理与故障检测。故障处理没有固定的处理模式,它根据具体情况而定;故障检测则存在完整的理论依据和实施准则,是事故安全系统的设计重点。检测故障有多种方式,事故安全系统要求的是不需要任何外加激励信号就能检测出系统故障的自检测。实现系统的自检测有多种方法,如:可分码、双轨码、互补逻辑网络、交织逻辑网络。本文根据微机保护装置的特点采取了互补逻辑网络自检测结构。互补逻辑网络自检测结构的定义如下。
络;如果f和f'的互补性不满足,表明系统出现了故障[3] 。在微处理器/微控制器系统中,其CPU的数据总线直接连接其他单元的数据输入/输出端,也就是CPU读取/发送的数据未经过任何变换,则f',f可简化为:
尽管式(3)与式(4)已经非常简单了,但要用小规模集成电路组成验证f'与f互补性的逻辑运算单元还是相当困难的。在集成电路高速发展的今天,特别是FPGA,CPLD等用户可定制的大规模可编程集成电路的出现,用户可以使用硬件描述语言在 FPGA,CPLD上实现各种复杂的逻辑运算和算术运算,利用大规模集成电路设计具备事故安全的控制单元已成为现代电路设计的热点。根据互补逻辑网络自检测理论,我们在Altera公司的CPLD上成功开发了具备事故安全的开关量输出控制单元。
2 开关量输出控制单元设计
基于互补逻辑网络自检器构成的事故安全开关量输出控制单元如图1所示。图中x与ADO~AD7相对应,( )与AD8~ADl5相对应(ADO~ADl5是 80196地址数据复用总线,对于地址数据总线非复用的CPU,它们为DO~D15数据总线),CS是片选信号,OUT是事故安全开关量输出控制单元输出,本文取其宽度为16,表示有16位开关量输出,ALM是故障输出指示,为了提高它的酶性,将其宽度定义为2,其"01”态表示系统正常,“10”态说明系统出现故障,如果输出为“11”或“00”,则说明自检器自身出现了故障。
该互补逻辑网络自检器是在其8位输入信息码中又增加了8位检测码,因此它能检测出8位输入信息码中可能发生的各种组合性错误。本文应用中,在等量逻辑运算条件下,互补逻辑网络自检器错误检测率高于其他自检测方式。输入向量ADO~AD7,AD8一ADl5与输出向量OUT,ALM之间的映射关系如表1所示。
从表中输入输出映射关系中可以看出,该开关量输出控制单元不但具备事故安全功能,而且每次输入只能改变一位开关量的输出状态。与通用的开关量输出控制单元相比,它不但提高了系统的可靠性,而且消除了开关量输出之前CPU进行的逻辑位运算,相对提高了CPU的运行速度。该开关量输出控制单元已成功地应用于我们开发的TH351系列微机保护装置中。在TH351系列微机保护装置中,它与其他逻辑单元整合在一片EMP7128S中。
EMP7128S是Altera公司生产的CPLD,共有128个宏单元,而该单元只占了大约40个宏单元。
3 结论
本文在分析了微机保护装置对开关量输出控制单元的要求和CPU工作状态之后,提出了开关量输出控制单元不但要正确执行CPU正常工作时发出的开关量输出指令,而且还要拒绝执行CPU在异常状态下发出的错误开关量输出指令,使其具备事故安全功能。然后设计了一种基于互补逻辑网络自检器的事故安全开关量输出控制单元。它与常规开关量输出控制单元相比,不仅可靠性高,而且简化了CPU开关量输出操作过程,相对提高了CPU的运行速度。