基于CPLD的双CPU冗余通信控制系统研究

(整期优先)网络出版时间:2022-09-05
/ 2

基于CPLD的双CPU冗余通信控制系统研究

崔凯敏

西安中核核仪器股份有限公司  陕西  西安  710061

摘要:由于在通信系统中存在着部件失效、总线冲突、噪音等问题,因此建立了一个以CPLD为基础的双CPU冗余通信系统,利用CPLD为仲裁模型,通过对两个CPU进行即时监控,并能对其进行正确的逻辑判定,从而使双CPU间的总线转换成为可能。另外,CPLD在双CPU的工作信息存储中加入一个SRAM,既能确保双CPU间的工作信息,又能有效地实现对双CPU的实时、有效的传输,从而增强了通信系统的可靠性。这种技术可以保证通信系统的连续、平稳的工作,具有广泛的实用意义。

关键词:CPLD;双CPU冗余通信控制系统

微电子技术与LSI技术的飞速发展,使其在军用、工业控制等诸多方面得到了越来越多的应用。当前,各种型号的高科技战机都在使用微控制器芯片来取代传统的控制方式。但是,在战机作战环境和电磁干扰等环境条件下,根据机载系统工作环境的需要而设计的机载系统的微控制器很难确保其长时间稳定地工作,所以在机载系统中使用冗余技术,广泛使用双CPU冗余技术。同时,在通信系统中,可靠度是确保通信过程中有效、持续和安全的关键技术指标。在卫星、舰船等环境下,可靠的数据通信能有效地提升作业的效能,保证装置的安全性。随着通信技术的不断发展,对其技术、安全的需求也日益迫切,因此,如何改进其可靠性显得尤为突出。

一、通信系统的可靠度分析

通信系统的可靠度主要依赖于组成部件的可靠度和系统自身的结构,采用高可靠度的元部件可以有效地提高通信系统的无故障周期,但是当部件发生故障时,会造成系统的中断,严重的可能导致通信数据的丢失。利用容错技术改善通信网络本身的结构,是一种常用的方法。在容错技术中,可以在通信中加入一些功能相近的元部件,从而提高通信的冗余程度,使得在某些元部件发生故障时,该装置仍能工作[1]

双CPU冗余控制技术是当前研究中最常见的一种技术,例如,在2010年,为确保设备故障不会对整个通信体系造成任何的干扰,文献中提出一种双CPU冗余化技术,以改善系统的可靠性。同时,为使通信设备能够稳定、可靠地进行数据通信,本论文使用了一种结构简单明了的双CPU冗余通信技术。

在通信系统中,通常采用SRAM作为双CPU的数据分享,但是两个CPU在SRAM中的直接读取/写入会产生一些矛盾。在此基础上,提出一种基于规则的仲裁机制来实现双CPU间的交换,并解决SRAM中的读写问题。在此基础上,将可编程控制器CPLD用作仲裁模块,与两个CPU相结合,以进行双CPU的故障监控及自动转换,同时将SRAM用作存储设备,双CPU可以利用CPLD对SRAM进行读取和写入,从而防止双CPU的碰撞,从而达到快速通信和数据分享的目的。

二、CPU冗余结构

在通信系统中,传统的双机热备模式是主从机同时工作,主从机接受和处理,从机在备用,主从机在备用,当主从机出现问题时,从机就会代替主从机,以增强系统的稳定,当主机恢复到原来的工作状态后,再转到主站,不会对其它的设备造成任何的干扰。在此模式下,当从机恢复到正常工作时,在完成了主设备的故障后,依然要把任务交给主设备,当主设备出现较高的故障率时,会导致工作的频繁转移,从而影响到通信的实时和稳定性。为此,文章对双CPU主从热备份模式进行了优化。

在交互式通信系统中,上位机向主机发送资料,两个CPU同时接受有关资料,但仅有一CPU将主输出讯号送至下位机,另一个CPU在监视预备阶段,以待接手工作。如果CPU在主输出端出现问题,则由另外一台CPU接手,并承担起主导的工作,而原先的CPU则会在故障解决后,作为后备的输出端,作为后备。该方法降低了主机的开关次数,改善了通信系统的实时性。

当通信系统运行时,两个CPU会向仲裁模块CPLD汇报它的工作状况,然后CPLD就可以确定CPU的工作状况,完成总线的转换。在工作CPU发生故障后,通过CPLD将总线上转换至其他CPU,使得系统能够正常正常工作,并能正常、不间断地工作,而原先的工作状态在停机检查、修复故障后成为后备CPU。

三、交互通信系统的可靠性设计

在交互式通信系统中,采用了添加重要元件和网络结构冗余的方法,以改善数据通信的可靠性。同时,由于CPLD在CPU的转换过程中,备份CPU必须从主机CPU中获得存储的所有信息,所以必须要有外部的SRAM来存储CPU的实时操作,以确保CPU在交换CPU时的数据是完全的,从而进一步增强了对CPU进行数据的传输。采用ISSI公司IS61LV25616AL为SRAM,该芯片的存储能力为256 KB,具有较高的读取/写入速率,同时还能经常保存存储的信息,为通信系统提供了可靠的数据支持。该系统的通信界面模块由三个部分组成:

首先,以太网网络的通信接口,它的功能是使双CPU和控制站的双向通信。两个以太网控制器在同一时间接受来自控制站的资料,设定一条通道作为工作网孔,进行数据的传送,在发生网关或网孔发生故障时,由另一个备用网孔进行数据的平稳传送,及时报告故障,确保了数据传送的可靠性和实时性。

其次,RS 232总线,它能完成双CPU与上位机的交互式资料通信,其作用是对故障资料的读写、监控、监控设备的使用年限、对相关的软件进行升级和升级,在系统发生故障的时候,通过此通信界面向上位机进行实时的人机互动。

最后,RS 422通信接口模块,其功能是通过主机、下位机之间进行外部总线通信,由下位机负责采集和处理来自于控制和上位机发送的数据和命令,以此来完成相对应的工作[2]

四、CPLD的逻辑仲裁

由于CPLD可以对通信系统中的主机要求进行即时的响应,缩短了总线的转换速度,同时也保证了较高的稳定性。在通信系统中,CPLD和两个CPU之间采用I/O管脚直接相连,并相互激励,从两个CPU的自检、互检和强制接管等方面得到消息,当某一CPU发生故障时,CPLD可以快速作出判定并进行仲裁,使得系统在不丢失通信数据的前提下将总线转换到另一个CPU,确保系统通信的实时性和可靠性。

五、通信系统的电路设计

在通信期间,CPU在使用CPLD进行SRAM的读/写时,先从读取相应一侧CPLD的BUSY管脚电平,在BUSY处于高电平下,相应一侧的CPU进行读/写给SRAM,并将允许的控制信号写给CPLD,但是仅在启用信号OE和BUSY都是低时,此端CPU可以进行SRAM的读/写。CPU在R/W是低时将数据写到SRAM;CPU从SRAM中读出在R/W为高的情况下的数据。CPU在读取/写入SRAM时,通过CPLD的数据总线和地址总线发送16位数据和16位地址,CPLD来进行地址和数据的变换,然后再进行SRAM的操作。

从以上的研究结果可以看出,BUSY管脚是保证两个CPU和SRAM之间不会产生碰撞的重要因素,而两个CPU对SRAM的读取/写入有两种情形:两个CPU对SRAM的读取/写入;两个CPU执行SRAM的读取/写入。在前者中,两个CPU在SRAM上的工作时间是分开的,而没有对整个SRAM造成任何的干扰;在第2种情形中,两个CPU在读取/写入SRAM的过程中,会因为争用的结果产生碰撞,这时CPLD按照两个CPU读取/写入指令的顺序来进行竞争判断,首先发送命令的CPU的BUSY管脚被设为高电平,迫使CPU的BUSY插脚被压下,直至先发送命令的CPU处理完毕,然后将其BUSY管脚抬高,以结束其尚未处理的工作。利用这个竞争机制,CPLD能够准确地完成两个CPU对SRAM的读取和写入,从而保障了通信系统的可靠传送[3]

总结

综上所述,本文章探讨了提高通信系统的可靠度,并采用了的双CPU冗余度技术,建立了以CPLD为基础的双CPU冗余通信系统。该方案以CPLD为双CPU间的中间节点进行判别,CPLD具有稳定、可靠、快速的响应能力,能够精确地完成双CPU间的总线转换。同时,本系统还利用SRAM来备份双CPU的工作资料,使得双CPU能够利用CPLD进行读取/写入,从而保证双CPU能够在相互转换之后,精确地获得彼此之间的工作资料,从而保证了整个系统的持续、稳定、可靠,并能够进行实时的数据交换。

参考文献

[1] 许爽,唐青,肖再南,等. 基于CPLD的双CPU冗余通信控制系统研究[J]. 现代电子技术,2022,45(11):1-5.

[2] 袁骁涵. 某型民机液压综合管理双CPU冗余控制系统研究[D]. 江苏:南京航空航天大学,2019.

[3] 许波亮. 双CPU冗余机电作动器控制系统研究[D]. 江苏:南京航空航天大学,2016.