两模冗余系统以及FPGA实现两模冗余仲裁机制的方法与流程
未命名
10-19
阅读:78
评论:0
两模冗余系统以及fpga实现两模冗余仲裁机制的方法
技术领域
1.本发明涉及计算机数据处理应用技术领域,特别涉及一种两模冗余系统以及fpga实现两模冗余仲裁机制的方法。
背景技术:
2.冗余计算机系统需要多台计算机设备之间,或者同一计算机设备中的多块主板之间进行冗余备份,目前主流的实现方案为软件进行冗余仲裁,随着cpu处理数据量增加、设备间数据传输速率提高,该方案不能满足应用需求。
技术实现要素:
3.本发明提供了一种两模冗余系统以及fpga实现两模冗余仲裁机制的方法,以解决通过软件进行冗余仲裁不能满足应用需求的技术问题。
4.为达到上述目的,本发明的技术方案是这样实现的:
5.本发明一方面提供了一种两模冗余系统,包括第一设备端和第二设备端;
6.第一设备端和第二设备端均包括cpu、现场可编程门阵列、拨码开关组件和若干接口电路;第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接;
7.cpu通过总线与现场可编程门阵列电连接,用于与现场可编程门阵列进行通信,通过总线向现场可编程门阵列写入cpu的心跳信号,以表征cpu当前正在工作或发生宕机;并向现场可编程门阵列写入主从切换指令,进行设备主从状态切换;拨码开关组件和若干接口电路均与现场可编程门阵列电连接,第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接。
8.进一步地,现场可编程门阵列包括局部总线通信模块、两模冗余仲裁模块、时钟管理模块和若干个串口通信模块;
9.局部总线通信模块的一端与cpu通过总线连接,另一端通过与两模冗余仲裁模块电连接;局部总线通信模块用于与cpu进行通信,接收cpu的心跳信号,以表征cpu当前正在工作或发生宕机;
10.两模冗余仲裁模块通过若干个串口通信模块分别与若干接口电路电连接;两模冗余仲裁模块用于实现两模冗余仲裁机制,根据当前设备编号、局部总线通信模块发送的cpu心跳信号和cpu的主从切换指令、以及通过若干接口电路接收的冗余状态数据包,进行冗余状态实时切换;同时产生冗余状态数据包,并通过串口通信模块向第一设备端或者第二设备端发送数据包;
11.时钟管理模块用于产生现场可编程门阵列工作主时钟,以及给cpu的总线产生工作主时钟。
12.进一步地,第一设备端和第二设备端上接口电路的数量均设置有两个;现场可编程门阵列中的串口通信模块的数量设置为两个。
13.进一步地,所述拨码开关组件包括冗余模式拨码开关和设备编号拨码开关;
14.冗余模式拨码开关和设备编号拨码开关均与现场可编程门阵列电连接,冗余模式拨码开关用于设置第一设备端或者第二设备端的冗余模式;设备编号拨码开关用于设置第一设备端或者第二设备端的设备编号。
15.进一步地,所述接口电路选用nsi83086芯片。
16.进一步地,所述现场可编程门阵列集成有pll核,用于产生多路不同频率的时钟输出。
17.本发明另一方面还提供一种fpga实现两模冗余仲裁机制的方法,现场可编程门阵列在以上所述的两模冗余系统中实现两模冗余仲裁机制,具体包括如下步骤:
18.s2、时钟管理模块启动,并向自身的现场可编程门阵列产生工作主时钟,以及给自身的cpu的总线产生工作主时钟;第一设备端和第二设备端分别通过各自的时钟管理模块进行时间同步;
19.s3、局部总线通信模块将接收的cpu发送的数据发送给自身的两模冗余仲裁模块,同时将两模冗余仲裁模块产生的自身冗余状态数据包和接口电路接收的冗余状态数据包发送给cpu;
20.s4、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗余状态数据包,进行冗余状态实时切换;
21.进一步地,所述s3中的cpu发送的数据包括cpu心跳信号以及cpu的主从切换指令。
22.进一步地,所述s4具体包含如下步骤:
23.s41、两模冗余仲裁模块产生第一设备端或者第二设备端自身的冗余状态数据包用于发送给自身的串口通信模块和自身的局部总线通信模块;
24.s42、串口通信模块将自身冗余状态数据包通过自身的接口电路传输给第二设备端或者第一设备端的现场可编程门阵列中;
25.s43、自身的局部总线通信模块将自身的冗余状态数据包传输给自身的cpu,cpu根据自身的冗余状态数据包形成cpu的主从切换指令,并通过局部总线通信模块传输给自身的两模冗余仲裁模块;
26.s44、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗余状态数据包,进行冗余状态实时切换。
27.进一步地,在s2之前还包括s1;
28.s1、通过第一设备端和第二设备端上的拨码开关组件分别设置第一设备端和第二设备端的冗余模式以及设备编号。
29.本发明的有益效果:
30.本发明采用现场可编程门阵列实现两模冗余仲裁机制,提高了冗余仲裁的实时性和灵敏度,同时可释放cpu性能用于业务数据处理。
附图说明
31.图1为两模冗余系统的结构示意图;
32.图2为局部总线通信模块数据传输示意图;
33.图3为rs422接口电路的接线图。
具体实施方式
34.下面结合附图及具体实施例对本发明再作进一步详细的说明。
35.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
36.另外,在本发明中的“第一”、“第二”等描述,仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量或顺序。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。
37.参照图1,本技术实施例提供了本发明一方面提供了一种两模冗余系统,包括第一设备端和第二设备端;
38.第一设备端和第二设备端均包括cpu、现场可编程门阵列(fpga,field-programmable gate array,一种硬件可编程芯片)、拨码开关组件和若干接口电路;第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接;
39.cpu通过总线与现场可编程门阵列电连接,用于与现场可编程门阵列进行localbus通信,通过总线(localbus总线)向现场可编程门阵列写入cpu的心跳信号,以表征cpu当前正在工作或发生宕机;并向现场可编程门阵列写入主从切换指令,进行设备主从状态切换;拨码开关组件和若干接口电路均与现场可编程门阵列电连接,第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接。
40.在本实施例中,现场可编程门阵列包括局部总线通信模块(localbus通信模块)、两模冗余仲裁模块、时钟管理模块和若干个串口通信模块(uart通信模块);
41.局部总线通信模块的一端与cpu通过总线连接,另一端通过与两模冗余仲裁模块电连接,起到数据传输的桥梁作用;局部总线通信模块用于与cpu进行通信,接收cpu的心跳信号,以表征cpu当前正在工作或发生宕机;
42.局部总线通信模块工作于33mhz主时钟,与cpu的数据传输位宽为16bit,其中地址0用于cpu读写测试,地址1接收cpu的心跳信号,数据值为0x00a0;地址2接收cpu的主从切换指令,该指令的值与第一设备端或者第二设备端自身的设备号匹配时,第一设备端或者第二设备端将切换为主设备,而另一设备端将切换为从设备,指令值为0x0001或0x0002有效,其余值无效,因此不切换时数据值默认为0x0000。局部总线通信模块将接收的数据发送给两模冗余仲裁模块,同时将两模冗余仲裁模块产生的1个位宽为16bit的自身冗余状态数据包和串口模块接收的2个位宽为16bit的冗余状态数据包发送给自身的cpu,局部总线通信模块数据传输示意图如图2所示。
43.两模冗余仲裁模块通过若干个串口通信模块分别与若干接口电路电连接;两模冗余仲裁模块用于实现两模冗余仲裁机制,根据当前设备编号、局部总线通信模块发送的cpu心跳信号和cpu的主从切换指令、以及通过若干接口电路接收的冗余状态数据包,进行冗余状态实时切换;同时产生冗余状态数据包,并通过串口通信模块向第一设备端或者第二设备端发送数据包;
44.串口通信模块用于发送位宽为16bit的冗余状态数据包,并将数据包转发给自身的两模冗余仲裁模块;同时将两模冗余仲裁模块的冗余状态数据包发送到另一设备端(即第一设备端或者第二设备端)中。串口通信模块由a子模块和b子模块组成,两个子模块功能相同,传输数据格式相同,互为冗余,在第一设备端和第二设备端之间的rs422通信线路断开任意一路后,另一路仍然能够确保两模冗余仲裁功能正常工作。
45.时钟管理模块用于产生现场可编程门阵列工作主时钟,以及给cpu的总线产生工作主时钟。两个时钟为同源信号,时钟频率33mhz。
46.现场可编程门阵列的全局时钟引脚输入50mhz的单端时钟后,进入pll核,通过配置pll的输出,可以输出2路同源33mhz单端时钟,其中1路33mhz单端时钟用于现场可编程门阵列内部逻辑工作的主时钟,另1路33mhz单端时钟用于发送给cpu的localbus总线时钟输入,现场可编程门阵列的pll核配置界面如图2所示。
47.在本实施例中,第一设备端和第二设备端上接口电路的数量均设置有两个;现场可编程门阵列中的串口通信模块的数量设置为两个。
48.在本实施例中,所述拨码开关组件包括冗余模式拨码开关和设备编号拨码开关;
49.冗余模式拨码开关和设备编号拨码开关均与现场可编程门阵列电连接,冗余模式拨码开关用于设置第一设备端或者第二设备端的冗余模式;设备编号拨码开关用于设置第一设备端或者第二设备端的设备编号。
50.第一设备端和第二设备端上的冗余模式拨码开关均设置为2,指示当前默认工作在两模冗余模式下;第一设备端和第二设备端上的设备编号拨码开关分别设置为1和2,指示第一设备端和第二设备端的的设备编号分别为1和2,其中编号值较大的为主设备,编号值较小的为从设备。
51.在本实施例中,所述接口电路(即rs422接口电路)选用nsi83086芯片。用于将现场可编程门阵列的3.3v ttl电平格式uart信号,转换为标准的rs422差分信号,差分信号包含发送信号tp、tn和接收信号rp、rn。rs422接口电路图如图3所示。
52.在本实施例中,所述现场可编程门阵列集成有pll核,用于产生多路不同频率的时钟输出。
53.本发明另一方面还提供一种fpga实现两模冗余仲裁机制的方法,现场可编程门阵列在以上所述的两模冗余系统中实现两模冗余仲裁机制,具体包括如下步骤:
54.s2、时钟管理模块启动,并向自身的现场可编程门阵列产生工作主时钟,以及给自身的cpu的总线产生工作主时钟;第一设备端和第二设备端分别通过各自的时钟管理模块进行时间同步;
55.s3、局部总线通信模块将接收的cpu发送的数据发送给自身的两模冗余仲裁模块,同时将两模冗余仲裁模块产生的自身冗余状态数据包和接口电路接收的冗余状态数据包发送给cpu;
56.s4、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗余状态数据包,进行冗余状态实时切换。
57.具体的,两模冗余仲裁模块根据当前设备编号、局部总线通信模块发送的cpu心跳信号和cpu的主从切换指令、以及两个冗余串口接收的冗余状态数据包,进行冗余状态实时切换,并产生设备自身的冗余状态数据包用于发送给串口通信模块和局部总线通信模块。
冗余状态数据包为16bit位宽,数据格式如表1所示,现场可编程门阵列通过rs422串口接收到的2个冗余数据包命名为status_a和status_b,数据格式与表1相同:
58.表1:冗余状态数据包数据组成
[0059][0060]
其中bit0~bit3为设备编号值,用寄存器sw_dev_code表示,在两模冗余设备中,用设备编号拨码开关给每台设备设置一个唯一的编号值,取值1或2,设备编号同时用于表示设备默认的优先级,值大的为主设备,值小的为从设备;主从关系可通过软件切换指令改变,但sw_dev_code值不会发生变化。
[0061]
bit4表示设备的主从关系,用寄存器modemasterslaver_2mode表示,设备编号默认为2的设备(即第设备端或者第二设备端),modemasterslaver_2mode值设定为1,设备编号默认为1的设备,寄存器modemasterslaver_2mode值设定为0,寄存器modemasterslaver_2mode值可根据软件切换指令改变。
[0062]
bit6:bit5表示设备工作模式设置,用寄存器modecurrent_2mode表示,在第一设备端和第二设备端中,用拨码开关组件给每台设备设置默认的工作模式为2,即两模冗余模式;在工作过程中,如果任意一台设备(第一设备端或第二设备端)出现宕机,或两个rs422接口电路的线缆均断开导致无法接收对方的数据,当前能够正常工作的设备将自动切换到单模模式,modecurrent_2mode值设定为1。
[0063]
bit7表示设备自身的cpu是否能正常工作,用寄存器self_cpuok表示,cpu每50ms定时向现场可编程门阵列发送一个固定数据0x00a0,表示自身正在正常工作,寄存器self_cpuok的值设定为1,一旦cpu发生宕机,不再发送该数据;现场可编程门阵列连续3个周期
(150ms)未收到0x00a0则判定cpu已经宕机,将寄存器self_cpuok值设定为0,并通过rs422接口电路上的接口向对端设备发送冗余状态数据包,通知对方自身cpu已经宕机;对端现场可编程门阵列收到该数据为0后,无论当前自身是主设备还是从设备,都将自身切换为主设备,寄存器modemasterslaver_2mode值设定为1,且工作模式切换为单模,寄存器modecurrent_2mode值设定为1。当发生宕机的设备恢复工作时,不论其设备编号拨码开关设定的编号值为1或2,都将自动进入从模式,寄存器modemasterslaver_2mode值设定为0;对端未发生宕机的设备则继续作为主设备,且工作模式从单模切换到两模,modecurrent_2mode值设定为2。
[0064]
bit13:bit10为cpu向现场可编程门阵列发送的软件切换指令,用寄存器soft_switch_value表示,取值为1或2,不进行切换时该值为0。如果现场可编程门阵列收到自身cpu发送的soft_switch_value值与自身的设备编号sw_dev_code值相等,则自身cpu将自身切换为主设备,寄存器modemasterslaver_2mode值设定为1;如果现场可编程门阵列收到自身cpu发送的soft_switch_value值与对端的设备编号status_a[3:0]或status_b[3:0]值相等,则自身cpu将对端设备切换为主设备,自身为从设备,寄存器modemasterslaver_2mode值设定为0,并将寄存器soft_switch_value通过rs422接口电路的接口(以下简称:rs422串口)发送给对端设备;如果对端设备通过rs422串口发送的冗余数据包中的status_a[13:10]或status_b[13:10]与自身设备编号sw_dev_code值相等,则对端cpu将自身切换为主设备,寄存器modemasterslaver_2mode值设定为1。
[0065]
bit15表示设备当前是否切换主从状态,用寄存器soft_switch_done_n表示,1表示正在切换主从状态,0表示切换完成,为防止rs422串口正在发送数据过程中设备切换主从状态,在设备正在切换主从状态时将soft_switch_done_n设定为1,时间持续7us,此时rs422串口不发送数据,此后将soft_switch_done_n设定为0,rs422串口可正常发送数据。
[0066]
两模冗余仲裁模块通过状态机实现,状态机启动时首先进入two_mode_idle状态,判断设备编号sw_dev_code是否正确,值为1或2时状态机转到dev_mode_juge_init状态,否则停留在当前状态。
[0067]
dev_mode_juge_init状态判断自身self_cpuok和对端的cpu是否正常工作,默认的模式设定是否正确。status_a[7]和status_b[7]为现场可编程门阵列通过rs422串口接收到的冗余数据包数据,指示对端现场可编程门阵列是否正常工作,如果self_cpuok、status_a[7]、status_b[7]}均为0,即{self_cpuok,status_a[7],status_b[7]}==000满足,或者自身设备编号与对端设备编号相同,即((sw_dev_code[3:0]==status_a[3:0])||(sw_dev_code[3:0]==status_b[3:0]))满足,则判断为模式错误,modecurrent_2mode设定为0,modemasterslaver_2mode设定为0,状态机转到error_mode状态。如果self_cpuok、status_a[7]、status_b[7]至少一个为1,且sw_dev_code[3:0]与status_a[3:0]、status_b[3:0]都不相等,判断为模式正确,状态机转到cpu_ok_juge状态,此时可设定
[0068]
modemasterslaver_2mode的值,如果自身设备的modemasterslaver_2mode与status_a[4]、status_b[4]均为1,则根据两个设备的设备编号拨码开关值设定modemasterslaver_2mode值,值大的为主设备,值小的为从设备。
[0069]
cpu_ok_juge状态首先根据self_cpuok、status_a[7]、status_b[7]的值判断主从模式,判断条件与dev_mode_juge_init状态的判断条件一致,模式错误时状态机转到
error_mode状态;模式正确时,如果self_cpuok为0,且status_a[7]、status_b[7]至少一个为1时工作状态为两模模式,自身设备为从设备,modecurrent_2mode设定为2,modemasterslaver_2mode设定为0,状态机转到dev_mode_juge状态;如果self_cpuok为1,且status_a[7]、status_b[7]均为0时工作在单模模式,自身设备为主设备,modecurrent_2mode设定为1,modemasterslaver_2mode设定为1,状态机转到dev_mode_juge状态;如果self_cpuok为1,且status_a[7]、status_b[7]至少一个为1时,可判定当前为两模模式,modecurrent_2mode设定为2,状态机转到cpu_switch_juge状态进一步判断cpu如何切换主从状态。
[0070]
cpu_switch_juge状态根据两个设备的设备编号值判断主从状态,当sw_dev_code[3:0]与status_a[13:10]或status_b[13:10]相等时,为对端cpu将自身设备切换为主设备,modecurrent_2mode设定为2,modemasterslaver_2mode设定为1,状态机转到cpu_switch_wait状态;当soft_switch_value[3:0]==1或2,且soft_switch_value[3:0]==sw_dev_code[3:0]时,为自身cpu将自身设备切换为主设备,modecurrent_2mode设定为2,modemasterslaver_2mode设定为1,状态机转到cpu_switch_wait状态;当soft_switch_value[3:0]==1或2,且soft_switch_value[3:0]与status_a[3:0]或status_b[3:0]相等时,为自身cpu将对端设备切换为主设备,modecurrent_2mode设定为2,modemasterslaver_2mode设定为0,状态机转到cpu_switch_wait状态。
[0071]
cpu_switch_wait状态用于cpu切换延时,时间设置为rs422串口发送完一个16bit位宽的冗余状态数据包的时间,为7us,延时时间之后,状态机转到dev_mode_juge,进行新一轮的冗余仲裁判断。
[0072]
状态机进入dev_mode_juge状态后,不做任何判断,立即返回到cpu_ok_juge状态。
[0073]
error_mode状态将modecurrent_2mode寄存器及modemasterslaver_2mode寄存器设定为无效状态,值均为0,然后跳转到two_mode_idle状态。
[0074]
在本实施例中,所述s3中的cpu发送的数据包括cpu心跳信号以及cpu的主从切换指令。
[0075]
在本实施例中,所述s4具体包含如下步骤:
[0076]
s41、两模冗余仲裁模块产生第一设备端或者第二设备端自身的冗余状态数据包用于发送给自身的串口通信模块和自身的局部总线通信模块;
[0077]
s42、串口通信模块将自身冗余状态数据包通过自身的接口电路传输给第二设备端或者第一设备端的现场可编程门阵列中;
[0078]
s43、自身的局部总线通信模块将自身的冗余状态数据包传输给自身的cpu,cpu根据自身的冗余状态数据包形成cpu的主从切换指令,并通过局部总线通信模块传输给自身的两模冗余仲裁模块;
[0079]
s44、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗余状态数据包,进行冗余状态实时切换。
[0080]
在本实施例中,在s2之前还包括s1;
[0081]
s1、通过第一设备端和第二设备端上的拨码开关组件分别设置第一设备端和第二设备端的冗余模式以及设备编号。
[0082]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不限于此,任何熟
悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。并且,本发明各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.两模冗余系统,其特征在于:包括第一设备端和第二设备端;第一设备端和第二设备端均包括cpu、现场可编程门阵列、拨码开关组件和若干接口电路;第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接;cpu通过总线与现场可编程门阵列电连接,用于与现场可编程门阵列进行通信,通过总线向现场可编程门阵列写入cpu的心跳信号,以表征cpu当前正在工作或发生宕机;并向现场可编程门阵列写入主从切换指令,进行设备主从状态切换;拨码开关组件和若干接口电路均与现场可编程门阵列电连接,第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接;所述现场可编程门阵列集成有pll核,用于产生多路不同频率的时钟输出。2.根据权利要求1所述的两模冗余系统,其特征在于,现场可编程门阵列包括局部总线通信模块、两模冗余仲裁模块、时钟管理模块和若干个串口通信模块;局部总线通信模块的一端与cpu通过总线连接,另一端通过与两模冗余仲裁模块电连接;局部总线通信模块用于与cpu进行通信,接收cpu的心跳信号,以表征cpu当前正在工作或发生宕机;两模冗余仲裁模块通过若干个串口通信模块分别与若干接口电路电连接;两模冗余仲裁模块用于实现两模冗余仲裁机制,根据当前设备编号、局部总线通信模块发送的cpu心跳信号和cpu的主从切换指令、以及通过若干接口电路接收的冗余状态数据包,进行冗余状态实时切换;同时产生冗余状态数据包,并通过串口通信模块向第一设备端或者第二设备端发送数据包;时钟管理模块用于产生现场可编程门阵列工作主时钟,以及给cpu的总线产生工作主时钟。3.根据权利要求2所述的两模冗余系统,其特征在于,第一设备端和第二设备端上接口电路的数量均设置有两个;现场可编程门阵列中的串口通信模块的数量设置为两个。4.根据权利要求1所述的两模冗余系统,其特征在于,所述拨码开关组件包括冗余模式拨码开关和设备编号拨码开关;冗余模式拨码开关和设备编号拨码开关均与现场可编程门阵列电连接,冗余模式拨码开关用于设置第一设备端或者第二设备端的冗余模式;设备编号拨码开关用于设置第一设备端或者第二设备端的设备编号。5.根据权利要求1所述的两模冗余系统,其特征在于,所述接口电路选用nsi83086芯片。6.fpga实现两模冗余仲裁机制的方法,其特征在于,现场可编程门阵列在权利要求1所述的两模冗余系统中实现两模冗余仲裁机制,具体包括如下步骤:s2、时钟管理模块启动,并向自身的现场可编程门阵列产生工作主时钟,以及给自身的cpu的总线产生工作主时钟;第一设备端和第二设备端分别通过各自的时钟管理模块进行时间同步;s3、局部总线通信模块将接收的cpu发送的数据发送给自身的两模冗余仲裁模块,同时将两模冗余仲裁模块产生的自身冗余状态数据包和接口电路接收的冗余状态数据包发送给cpu;s4、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗
余状态数据包,进行冗余状态实时切换。7.根据权利要求6所述的fpga实现两模冗余仲裁机制的方法,其特征在于,所述s3中的cpu发送的数据包括cpu心跳信号以及cpu的主从切换指令。8.根据权利要求6所述的fpga实现两模冗余仲裁机制的方法,其特征在于,所述s4具体包含如下步骤:s41、两模冗余仲裁模块产生第一设备端或者第二设备端自身的冗余状态数据包用于发送给自身的串口通信模块和自身的局部总线通信模块;s42、串口通信模块将自身冗余状态数据包通过自身的接口电路传输给第二设备端或者第一设备端的现场可编程门阵列中;s43、自身的局部总线通信模块将自身的冗余状态数据包传输给自身的cpu,cpu根据自身的冗余状态数据包形成cpu的主从切换指令,并通过局部总线通信模块传输给自身的两模冗余仲裁模块;s44、两模冗余仲裁模块根据接收的cpu发送的数据、自身冗余状态数据包以及接收的冗余状态数据包,进行冗余状态实时切换。9.根据权利要求6所述的fpga实现两模冗余仲裁机制的方法,其特征在于,在s2之前还包括s1;s1、通过第一设备端和第二设备端上的拨码开关组件分别设置第一设备端和第二设备端的冗余模式以及设备编号。
技术总结
本发明涉及计算机数据处理应用领域,具体为一种两模冗余系统,包括第一设备端和第二设备端;第一设备端和第二设备端均包括CPU、现场可编程门阵列、拨码开关组件和若干接口电路;第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接;CPU通过总线与现场可编程门阵列电连接;拨码开关组件和若干接口电路均与现场可编程门阵列电连接,第一设备端上的若干接口电路和第二设备端上的若干接口电路分别通过串口电连接。本发明采用现场可编程门阵列实现两模冗余仲裁机制,提高了冗余仲裁的实时性和灵敏度,同时可释放CPU性能用于业务数据处理。CPU性能用于业务数据处理。CPU性能用于业务数据处理。
技术研发人员:陈龙 李明 龙玉湘 金广涛
受保护的技术使用者:湖南航天捷诚电子装备有限责任公司
技术研发日:2023.07.05
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/