串口通信在双机冗余系统中应用_计算机论文.docVIP

串口通信在双机冗余系统中应用_计算机论文.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串口通信在双机冗余系统中应用_计算机论文.doc

串口通信在双机冗余系统中应用_计算机论文 串口通信在双机冗余系统中应用_计算机论文 摘要:本文扼要分析了当今带专用检测转换电路的双机冗余系统存在的可靠性问题,提出了利用双机的串行口代替专用检测转换电路,通过串行通信相互检测主备机工作状态,由软件完成备机切换成主机的新型设计思想,为计算机在工业实时监控系统应用中的可靠性开辟新思路。 关键词:双机 冗余 软件 切换  1、引言 冗余技术是计算机系统可靠性设计中常用的一种技术,是提高计算机系统可靠性的最有效方法,同时也是鉴别各类计算机控制系统好坏的标志之一。故世界各地厂商推出的新产品都或多或少带有冗余技术。如美国的Honeywell、德国的西门子和日本的三武等,它们都有一个共同的特点,就是自己设计了专用检测转换电路来实现主备切换。本文提出一种新的构思,取消专用检测转换电路,采用一种高效、实用的软件冗余技术来完成双机切换。 2、冗余系统介绍 双机冗余包括CPU、扩展电路、电源和外设双备份的全系统冗余,不但可简化设计方案,还可大大地提高应用系统的可靠性。这种冗余系统具有如图1所示的典型硬件结构。在图1所示的系统中,U1和U2单元的软硬件结构完全相同。如有必要,在设计各单元时,通过采用自诊断技术,软件陷井或Watch dog等系统自行恢复措施可使单元可靠性达到最大限度的提高。系统正常运行时,U1和U2中的一个单元处于正常工作状态(把该单元称为主机),完成应用功能,而另一个单元(备机)处于等待备用状态。当检测转换电路检测到主机不能正常工作时,自动启动备机进入正常运行状态,完成应用功能。此时,可对故障单元进行脱线维护,在排除其故障后,可使其联机进入等待备用状态。显然,这种冗余系统已大大提高了应用系统的可靠性,并基本保证了应用系统的不间断运行。但仔细分析,就会发现它存在以下不足之处: ① 系统存在可靠性瓶颈,当检测转换电路自身出现故障时,不能监视主备机状态,也无法完成主备机自动切换功能; ② 对于某些冗余系统,当备机需要实时保留主机之间的数据备份时,检测转换电路无法完成主备机之间的数据通信功能; ③ 由于需要设计检测转换电路,系统设计和实现复杂,引入了附加的不可靠因素。 3、改进设计方案 针对图1所示的双机冗余系统结构和缺点,笔者实现了一个简单高效、具有更高可靠性和主备机数据通信功能的改进设计方案。其基本设计思想是:不改变上述冗余系统的基本结构,但完全去掉专用的检测转换电路,利用主备机双方的串行口和软件相结合的方法,实现检测转换电路的功能和主备机之间的数据通信功能。在此改进的设计方案中,主备单元的硬件和软件结构完全相同,各单元的主备工作状态由上电顺序决定,先上电的一方自动进入主机工作状态,后上电者则进入备机状态。主机在其工作过程中除实现应用功能外,定期向备机发送反映其工作正常的状态数据,当需要备份的数据发生变化时,主机及时向备机发送已更新的数据。此外,主机也定期接收来自备机的状态数据,当发生接收超时时,主机认为备机已经发生故障,并通过本单元的显示装置向用户给出通知信号,以便及时对备机进行脱线维护。备机在其工作过程中不完成应用功能,但定期接收来自主机的状态数据,当发生接收超时,备机认为主机以经发生故障,自动切换进入主机工作状态,并通过本单元显示装置通知用户,以便对原主机单元进行脱线维护。此外,备机还自动接收来自主机的备份数据并进行存储备份。 4、软件模板 下面的软件模板给出了笔者已实现的双机冗余系统的软件框架,和应用系统实现密切相关的部分用自然语言简单描述,其余部分为Visual C++源代码,因此,这一软件模板很容易移植到相似结构的冗余系统中。 该软件模板以Visual C++进行程序设计,常量OK,REQ,ACK和NACK分别表示主备机工作状态正常,备份数据发送请求,肯定应答和否定应答信息的字符常量,MAIN,STANDBY分别是表示工作单元为主机或备机的常量标志。全局变量timeout用于设定以毫秒为单位的超时间隔,而Update,CpuStatus和Failure分别是表示备份数据是否更新,主备机状态和主备机是否发生故障的标志位变量。 定时器0产生每隔1ms的定时中断(采用QueryPerformanceCounter((LARGE_INTEGER *)ampendtime )计数方式),每次中断将全局变量timeout的值减1,减到0时即关闭定时器0。所有需要软件超时机制或延时功能的程序模块都可在设定timeout的值后开启定时器0,并通过判断该变量的值是否为0而实现定时功能。 定时器1产生每隔55ms的定时中断(采用SetTime(55)函数)。每次中断,主备单元的中断服务程序都向对方单元发送表示自身工作状态正常的OK字符,同时也接收对方单元发送的OK字符,若连续三次都未能成功接收

文档评论(0)

wyj199216 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档