《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 主备倒换技术的设计及其在控制领域的应用

主备倒换技术的设计及其在控制领域的应用

2009-07-08
作者:王玉章

    摘   要:主备倒换技术是提高系统可靠性的一项重要技术。本文以提高控制系统的可靠性为出发点,提出了应用于该系统中的一种高可靠主备倒换技术的设计。 

    关键词: 控制系统; 可靠性; 主备倒换技术

 

    当今电子信息处理系统向高可靠、大容量、高速化发展,高可靠、高速化电子信息处理系统是市场需求的发展趋势。随着嵌入式智能设备的进一步发展和普及,电子信息处理系统的可靠性设计变得越来越重要,特别是嵌入式智能控制系统,如果电子信息处理系统出现故障,其后果不堪设想,造成的损失可能是无法估量。1993年3月10日,浙江省宁波市北仑发电厂因控制系统失灵,导致一号机组发生特大锅炉爆炸事故,造成伤亡几十人。1996年6月,欧洲“阿丽亚娜”号航天飞机因智能控制系统出现故障,使航天飞机坠毁,造成了数亿美元的巨大损失。每一次惨痛教训都提醒人们要重视控制系统的可靠性。因此,主备倒换技术就是为克服完善设计无法解决这类高可靠要求的困难发展起来的,其设计思想是允许故障存在,并能自动地消除其影响。可以说,主备倒换技术从根本上开辟了一条实现系统可靠性的途径。本文对一种高可靠的主备倒换技术设计进行阐述,并对其在控制系统中的应用进行了研究。 

1 主备倒换电路设计 

1.1 主备倒换逻辑控制图 

    主备倒换逻辑控制框图如图1所示,具有人工倒换、软件倒换、自动倒换功能。 

 

 

    主备用状态控制板各信号的功能如下: 

    (1)复位信号:单板的复位信号,当复位信号为低时,该板变为备用板,用于人工倒换。 

    (2) 软件控制位:单板的软件控制信号,它是由单板软件控制,初始化为高,当CPU把该位改为低时,该板变为备用板,对方控制板变为主用板。这样可以实现快速软件倒换。 

    (3) 心跳状态位:CPU必须在500 μs内至少访问CPLD一次,使CPLD输出心跳波形。心跳波形环回CPLD的心跳检测电路,CPU如果在500 μs内没有访问CPLD,CPLD就没有输出心跳波形。当有心跳时,心跳状态位为1;当没有心跳时,心跳状态位为0,通过这个方法就可以监控CPU是否正常运行,如果CPU没有正常运行,该板就变为备用板状态。 

    (4) 本板主备用状态位:该位为0 状态时,本板为主用;该位为1状态时,本板为备用。当该状态位发生改变时,CPLD会产生中断INT告诉CPU,CPU会查询该状态位,以便知道本板的主备用状态。 

    (5) 对方板主备用状态位:该位为0 状态时,对方板为主用;该位为1状态时,对方板为备用。当该状态位发生改变时,CPLD会产生中断INT告诉CPU,CPU会查询该状态位,以便知道对方板的主备用状态。 

    (6) 中断信号INT: 当对方板主备用状态或本板主备用状态发生改变时,CPLD会产生中断信号INT通知CPU,保证CPU及时知道对方板主备用状态或本板主备用状态,以保证系统正常运行。 

    (7) CPLD通信总线:就是CPU通过该总线与CPLD通信,通过该总线完成CPLD的心跳,同时通过该总线完成对方板主备用状态或本板主备用状态的查询。 

    (8) 数据同步端口:该数据同步端口就是网络通信端口,主要是同步两块主备用状态控制板的数据,保证在主备板都是运行同一数据和程序,只是主用板有控制权,备用板没有控制权,倒换后,使得原来备用板能够无缝运行原来主用板的程序,保证系统的可靠性。 

1.2 主备用工作原理 

    工作原理是:两块主备用状态控制板的U2A的第3脚先为低的控制板为主用。在主备倒换逻辑控制图中,当主备用状态控制板1的复位信号、软件控制位、心跳状态位较主备用状态控制板2的复位信号、软件控制位、心跳状态位先都为高时,这时主备用状态控制板1的U1B的第6脚为高,主备用状态控制板2的U1B的第6脚输出为低,导致主备用状态控制板1的U2A的第3脚为低,主备用状态控制板2的U2A的第3脚为高。则主备用状态控制板1为主用,主备用状态控制板2为备用。反之,当主备用状态控制板2的复位信号、软件控制位、心跳状态位较主备用状态控制板1的复位信号、软件控制位、心跳状态位先都为高时,主备用状态控制板2为主用,主备用状态控制板1为备用。 

1.3 CPLD的逻辑实现 

    CPLD逻辑设计图如图2所示。当CPU向心跳产生寄存器写入0X55,心跳波形输出低电平,写入0XAA,心跳波形则输出高电平,这样就能产生心跳脉冲输出。这个心跳脉冲就能监控单板内关键器件的好坏,如FPGA、时钟、电源等。如果这些被监控的芯片、信号或电源出现问题,那这个心跳脉冲就不能环回CPLD的心跳波形输入脚,则CPLD的心跳检测电路就不能检测到心跳的存在,即CPLD的心跳状态位为0,根据图1的主备倒换逻辑控制图,该主备用状态控制板只能作为备用。这样主备用状态就能够实现自动倒换。心跳脉冲监控FPGA、时钟、电源逻辑图如图3所示。 

 

 

 

2 软件主备用倒换过程的实现 

    主备用状态控制板启动程序流程图如图4所示。如果主用板要通过软件进行倒换,只要主用板把软件控制位设置为0,向备用板表明自己变为备用,备用板的逻辑发中断告诉备用板CPU,备用板进行中断处理,通过状态寄存器检测对方是否变为备用,则原备用板将软件控制位置为1,原备用板升为主用。 

 

 

3 主备用状态控制板的倒换波形 

    根据图1原理框图,示波器探头的二通道接主备用状态控制板1的U2A的第3脚(倒换前为低即主用),示波器探头的一通道接主备用状态控制板2的U2A的第3脚(倒换前为高即备用),通过把主备用状态控制板1的软件位置为低,两块主备用状态控制板的主备用状态发生改变,其倒换波形如图5所示。从示波器的显示可知,时间轴每格20 ns,则倒换时间大约20 ns就可以实现硬件完全倒换。实现了快速稳定的倒换,从而可在工业控制领域得到广泛应用。 

 

 

4 主备用状态控制板的倒换测试 

    (1)手动倒换: 如图1按下主用板(如主备用状态控制板1为主用) 的复位键SW1。这时, 原主用板(如主备用状态控制板1为主用)重启,变为备用,原备用板(如主备用状态控制板2为备用)变为主用,硬件切换时间约为20 ns,软件同步切换时间约为20  μs。 

    (2)软件倒换:主用板(如主备用状态控制板1为主用)的CPU置CPLD 的控制寄存器的软件控制位为0,使CPLD 的软件控制位引脚输出为0。这时, 原主用板(如主备用状态控制板1为主用)变为备用板,原备用板(如主备用状态控制板2为备用)变为主用板,硬件切换时间约为20 ns,软件同步切换时间约为1 μs。这样可以实现快速软件倒换。 

    (3)自动倒换:由于CPU必须在500 μs内,至少访问CPLD一次,使CPLD输出心跳波形,CPU如果在500 μs内没有访问CPLD,CPLD就没有输出心跳波形,当没有心跳时,心跳状态位为0,短路主用板的内存,让主用板死机,CPU不去访问CPLD, 这时, 原主用板(如主备用状态控制板1为主用)变为备用板,原备用板(如主备用状态控制板2为备用)变为主用板,硬件切换时间为20 ns左右,软件同步切换时间为10 ms左右。这样可以实现可靠的自动倒换。 

5 主备用状态控制板在工控领域的应用 

    很多高可靠性要求的场合要求系统的可靠性指标为99.999%,即系统一年的平均故障时间不超过3 min。如电力控制系统、交通导航系统等,系统仅靠提供元件的可靠性是无法满足要求的,需要对系统的关键设备进行主备份,主备用设备通过控制通信网进行数据备份,使得主备用设备完全同步,保证当这些主备用设备出现故障时,热切换到备份设备,使系统能不间断运行。 

    (1) 在数据采集处理方面的应用如图6所示,通过本板的主备用状态位来控制总线,当本板主用时,数据采集卡的总线可以与本板的CPU通信,当备用时,数据采集卡的总线不与本板的CPU通信。 

 

 

    (2) 在网络通信方面的应用如图7所示,通过本板的主备用状态位来控制网络通信口切换开关。如果服务器1为主用时,外部通信设备通过网络通信口切换开关与服务器1的CPU通信;服务器2为备用,网络通信口的切换开关断开,不与外部通信设备通信。当两个服务器发生倒换后,服务器1为备用,服务器2为主用时,服务器1的网络通信口切换开关断开,服务器2的CPU通过网络通信口切换开关与外部通信设备通信。 

 

 

参考文献 

[1] 蔡开元.软件可靠性工程基础[M].北京:清华大学出版社,1995. 

[2] 王珍熙.可靠性、主备倒换及容错技术[M]. 北京:航空工业出版社,1991. 

[3] 钱华明,袁赣南.分布式数据总线及其在惯性组合导航系统中的应用[J].中国惯性技术学报,1997,5(4). 

[4] MUSA J D. Software reliability: measurement, prediction,application. McgrawHill, New York,1987. 

[5] 张有志.可编程逻辑器件PLD原理与应用.北京:中国铁道出版社,1996. 

[6] 高传善.接口与通信.上海:复旦大学出版社,1989.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。