本发明属于数字电路设计领域,涉及一种主从双余度fpga切换控制电路。
背景技术:
fpga具有设计灵活、可重构和并行性强等诸多优点,已经在工业、军事和医疗电子等领域得到了广泛应用。对于可靠性要求较高的设备,为避免单个fpga故障而导致的系统功能甚至安全性问题,往往采用主从双余度的fpga设计方案。主从双余度设计需要相应的余度切换控制电路,而现有的余度切换控制往往由单片机、cpld等器件和相关外围电路构成,其根据与fpga的数据交互判断fpga工作状态,并在发现异常时进行余度切换,该方式虽然达到了余度切换控制的目的,但控制逻辑复杂,且由于单片机、cpld等器件的使用又引入了额外的可靠性问题。
技术实现要素:
(一)发明目的
本发明的目的是:针对现有主从双余度fpga切换控制方式存在的控制逻辑复杂、可靠性差等问题,提供一种简单、可靠的主从双余度fpga切换控制电路。
(二)技术方案
为了解决上述技术问题,本发明提供一种主从双余度fpga切换控制电路,由看门狗复位模块、一个与门、两个非门、两组总线收发器和两个上拉电阻构成,其中:
所述看门狗模块提供看门狗输入引脚wdi、低有效看门狗输出引脚wdon、低有效复位输出引脚rstn和低有效手动复位输入引脚mrn;
所述总线收发器1提供低有效输出使能引脚oen,并为该切换控制电路预留一个数据输入端ax(或bx)和对应的数据输出端bx(或ax),其余数据输入输出端用于实现主余度fpga与总线间的数据收发。
所述总线收发器2提供低有效输出使能引脚oen,其数据输入输出端用于实现从余度fpga与总线间的数据收发。
所述各部分具有如下连接关系:
看门狗复位模块wdi引脚连接主余度fpga的通用io引脚ioi;
看门狗复位模块mrn引脚连接主余度fpga的配置完成输出引脚conf_done,同时接上拉电阻。
看门狗复位模块wdon引脚连接非门1输入,非门1输出连接总线收发器1的数据输入端ax(或bx);
看门狗复位模块rstn引脚连接主余度fpga的通用io引脚ioj,为fpga逻辑提供复位信号,同时连接与门的输入,与门的另一输入端连接总线收发器1的数据输出端bx(或ax),同时接上拉电阻,该上电电阻用于在总线收发器1输出非使能状态下维持信号的高电平状态;
与门的输出端接总线收发器1的oen引脚,同时接非门2的输入;
非门2的输出接总线收发器2的oen引脚。
所述主从双余度fpga切换控制电路工作流程如下:
设备上电后,主fpga将conf_done输出引脚拉低,从而看门狗复位模块mrn引脚输入为低、rstn引脚输出为低;
由于与门的一个输入为低,所以输出为低,即总线收发器1的oen输入为低、总线收发器2的oen输入为高,从而总线收发器1输出使能、总线收发器2输出不使能。
待主余度fpga收到fpga配置芯片的所有配置数据后,将不再拉低conf_done引脚,此时由于上拉电阻的存在,看门狗复位模块mrn输入为高,因此rstn引脚输出将在一定时间后由低变高。
由于conf_done引脚输出变化后,主余度fpga内的看门狗脉冲输出逻辑将很快工作,从而通过ioi引脚周期输出脉冲信号以避免看门狗复位模块的看门狗动作,因此wdon会维持高电平输出状态。
由于wdon输出高电平,所以非门1输出低电平,该低电平会通过总线收发器1进入与门的输入端,使与门输出低电平,因此即使看门狗复位模块rstn由低变高,总线收发器1输出使能、总线收发器2输出不使能的状态仍将维持,此时主余度fpga可以和总线正常通信,从余度fpga无法进行总线数据收发。
在看门狗复位模块rstn引脚输出由低变高后,如果fpga工作异常,将无法通过ioi引脚周期输出脉冲信号。当wdi收到的脉冲间隔时间超过设定阈值时,会触发看门狗复位模块的看门狗动作,使得wdon引脚输出低电平,从而非门1输出高电平,导致与门两输入端均为高电平。与门输出高电平使得总线收发器1输出非使能、总线收发器2输出使能,从而从余度fpga可以和总线正常通信,主余度fpga无法进行总线数据收发,由此实现余度切换。
(三)有益效果
上述技术方案所提供的主从双余度fpga切换控制电路,以看门狗复位模块以核心进行状态监控,并通过与、非门和总线收发器实现fpga余度切换控制,其电路简单、可靠性强,具有较高的实用价值。
附图说明
图1是本发明一种主从双余度fpga切换控制电路的连接示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
参照图1,本发明一种主从双余度fpga切换控制电路的具体实施方式如下:
其中主从余度fpga均选用altera公司的ep3c55f484i7n芯片。
一种主从双余度fpga切换控制电路,由看门狗复位模块、一个与门、两个非门、两组总线收发器和两个上拉电阻构成,其中:
所述看门狗模块使用max706t芯片构建,提供看门狗输入引脚wdi、低有效看门狗输出引脚wdon、低有效复位输出引脚rstn和低有效手动复位输入引脚mrn;
所述总线收发器1,由3.3v到3.3v的总线收发器构建,提供低有效输出使能引脚oen,并为该切换控制电路预留一个数据输入端ax(或bx)和对应的数据输出端bx(或ax),其余数据输入输出端用于实现主余度fpga与总线间的数据收发。
所述总线收发器2提供低有效输出使能引脚oen,其数据输入输出端用于实现从余度fpga与总线间的数据收发。
所述各部分具有如下连接关系:
max706t的wdi引脚连接主余度fpga的通用io引脚ioi;
max706t的mrn引脚连接主余度fpga的配置完成输出引脚conf_done,同时接10kω上拉电阻r1。
max706t的wdon引脚连接非门1输入,非门1输出连接总线收发器1的数据输入端ax(或bx);
max706t的rstn引脚连接主余度fpga的通用io引脚ioj,为fpga逻辑提供复位信号,同时连接与门的输入,与门的另一输入端连接总线收发器1的数据输出端bx(或ax),同时接4.7kω上拉电阻r2,该上电电阻用于在总线收发器1输出非使能状态下维持信号的高电平状态;
与门的输出端接总线收发器1的oen,同时接非门2的输入;
非门2的输出接总线收发器2的oen。
所述主从双余度fpga切换控制电路工作流程如下:
设备上电后,主fpga将conf_done输出引脚拉低,从而max706t的mrn引脚输入为低、rstn引脚输出为低;
由于与门的一个输入为低,所以输出为低,即总线收发器1的oen输入为低、总线收发器2的oen输入为高,从而总线收发器1输出使能、总线收发器2输出不使能。
待主余度fpga收到fpga配置芯片的所有配置数据后,将不再拉低conf_done引脚,此时由于10kω上拉电阻r1的存在,max706t的mrn输入为高,因此rstn引脚输出将在一定时间后由低变高。
由于conf_done引脚输出变化后,主余度fpga内的看门狗脉冲输出逻辑将很快工作,从而通过ioi引脚周期输出脉冲信号以避免max706t的看门狗动作,因此wdon会维持高电平输出状态。
由于wdon输出高电平,所以非门1输出低电平,该低电平会通过总线收发器1进入与门的输入端,使与门输出低电平,因此即使max706t的rstn由低变高,总线收发器1输出使能、总线收发器2输出不使能的状态仍将维持,此时主余度fpga可以和总线正常通信,从余度fpga无法进行总线数据收发。
在看门狗复位模块rstn引脚输出由低变高后,如果fpga工作异常,将无法通过ioi引脚周期输出脉冲信号。当wdi收到的脉冲间隔时间过大时,会触发看门狗复位模块的看门狗动作,使得wdon引脚输出低电平,从而非门1输出高电平,导致与门两输入端均为高电平。与门输出高电平使得总线收发器1输出非使能、总线收发器2输出使能,从而从余度fpga可以和总线正常通信,主余度fpga无法进行总线数据收发,由此实现余度切换。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。