时间:2025-03-15 来源:FPGA_UCY 关于我们 0
本发明专利技术公开了一种基于FPGA的安全计算机冗余同步驱动设计方法,包括以下步骤:FPGA1、FPGA2接收上位机第一中央处理器、第二中央处理器下发的数据信息并解码,构成冗余通讯架构;系统将第一中央处理器、第二中央处理器同步,第一中央处理器将驱动信息进行编码后通过TSN通信协议传送给FPGA1。本发明专利技术通过两片电路设备负责同步驱动,对于任一FPGA1、FPGA2来说,当在τ1时间段内没接收到预驱动信号因子信号,说明FPGA1、FPGA2没接收到同步的驱动命令,则进入报警状态,放弃该次驱动命令;当在τ1时间段内接收到预驱动信号因子,则进入驱动状态,在驱动状态则输出驱动动作,该方案解决了非同源时钟下,同步驱动问题,也巧妙监控了两片中央处理器下发的驱动命令是否同步。片中央处理器下发的驱动命令是否同步。片中央处理器下发的驱动命令是否同步。
全部详细技术资料下载
【技术实现步骤摘要】
一种基于FPGA的安全计算机冗余同步驱动设计方法
[0001]本专利技术涉及轨道交通行业的二取二安全计算机领域领域,具体涉及一种基于FPGA的安全计算机冗余同步驱动设计方法。
技术介绍
[0002]FPGA是可编程逻辑门阵列(Field
‑
Gate Array)的缩写,是一种FPGA1、FPGA2。与传统的ASIC( )相比,FPGA具有可编程性、灵活性和可重构性等优势。FPGA中包含了大量的可编程逻辑单元和存储单元,可以被编程实现特定的数字逻辑功能。FPGA的工作原理是:通过编程把所需的逻辑电路配置到FPGA芯片中,形成一个特定的数字电路系统。相较于ASIC,FPGA可以提供更高的灵活性和可重构性,因为FPGA可以被重复使用,只需要更改编程代码即可实现不同的功能。另外,FPGA的设计流程相对简单,设计时间更短,成本也更低。FPGA广泛应用于数字信号处理、计算机视觉、通信、嵌入式系统、航天等领域,因为FPGA可以快速地处理大量数据和复杂的算法,且具有低功耗、高可靠性等特点;
[0003]在安全信息、安全控制等安全相关的领域,经常用到二取二安全计算机或三取二安全计算机平台。轨道交通的安全计算机平台通常有三个基本板卡单元,包含MPU、DOU、DIU。其中MPU主要是利用两个核心计算单元负责本板的逻辑处理、数据交换、比较表决、安全自关断、自诊断,并向应用层提供系统应用程序接口(API)等;DOU负责执行驱动指令;DIU负责采集状态信息。
[0004]现有技术存在的问题:
[0005]目前安全计算机市场中二取二逐渐取代三取二,拿二取二安全计算机来说,DOU驱动板卡对冗余的两套数据进行表决(同步监控:也称时间一致性表决;驱动指令表决:也称驱动指令一致性表决),表决通过后两个驱动单元共同发出驱动脉冲去驱动硬件继电器电路;在驱动的同时,驱动电路设置两级反馈节点,利用这些反馈节点判断驱动是否正确、是否存在误驱操作,但是未解决非同源时钟下同步驱动的问题,从而实用性较差,因此,目前亟需一种基于FPGA的安全计算机冗余同步驱动设计方法来解决上述问题。
[0006]在所述
技术介绍
部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
[0007]本专利技术的目的是提供一种基于FPGA的安全计算机冗余同步驱动设计方法,以解决上述
技术介绍
中的问题。
[0008]为了实现上述目的,本专利技术提供如下技术方案:一种基于FPGA的安全计算机冗余同步驱动设计方法,包括以下步骤:
[0009]步骤一,FPGA1、FPGA2接收上位机第一中央处理器、第二中央处理器下发的数据信息并解码,构成冗余通讯架构;系统将第一中央处理器、第二中央处理器同步,第一中央处
理器将驱动信息进行编码后通过TSN通信协议传送给FPGA1;同理,第二中央处理器将驱动信息进行编码后通过TSN通信协议传送给FPGA2;
[0010]步骤二,FPGA1、FPGA2交互驱动数据并做同步检测和二取二表决;
[0011]步骤三,FPGA1、FPGA2的驱动状态机同步驱动;
[0012]步骤四,驱动状态机的检测;
[0013]步骤五,驱动输出。
[0014]优选的,步骤一中,解码过程分为两个步骤,FPGA1的解码过程为:
[0015]第一步,FPGA1将本地板卡ID信息、本地时间信息、与接收到数据信息组合一起,根据32位的CRC编码规则计算出本地32bit的CRC
’
m值,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较;
[0016]第二步,将第一步中的本地板卡ID信息用掩码替换,重新生成32bit的CRC
’
n,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较。
[0017]优选的,FPGA2的解码过程为:
[0018]第一步,FPGA2将本地板卡ID信息、本地时间信息、与接收到数据信息组合一起,根据32位的CRC编码规则计算出本地32bit的CRC
’
m值,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较。
[0019]第二步,将第一步中的本地板卡ID信息用掩码替换,重新生成32bit的CRC
’
n,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较。
[0020]优选的,步骤二中,FPGA1将解码后的驱动数据放入内部RAM并赋予3个系统周期时间为驱动数据生命周期,下一周期数据到来时,若解包通过、同步检测通过、表决通过,则更新内部RAM驱动数据;若以上同步检测不过或表决不通过,则RAM中驱动数据生命周期减“1”且使用旧值驱动输出,当RAM中的数据生命周期耗尽时,此时RAM中的驱动数据会被强制介入刷入安全值“0”,让驱动模块不做驱动输出。
[0021]优选的,解包通过的数据根据周期序列号的递增特征辨别是否为新驱动数据,FPGA1、FPGA2中的任一一个接收到新数据开启一个时间窗口τ0为5ms,在5ms时间窗口内收齐第二路FPGA的新数据则时间一致性判定通过,则开启驱动指令表决,若表决通过则进入驱动环节;若表决不过驱动有生命周期的旧值,没有生命周期则不驱动。
[0022]优选的,FPGA1进行二取二表决并执行驱动命令,当驱动命令为“0”时,FPGA1的驱动状态机处于空闲状态,此时驱动模块处于不驱动状态;当驱动命令为“1”时,FPGA1、FPGA2的驱动状态机进入预驱动状态,该状态下释放预驱动信号因子告知远端自身状态机所处状态,且开启一个时间窗口τ1来接收远端FPGA的预驱动信号因子,对于任一FPGA1、FPGA2来说,当在τ1时间段内没接收到预驱动信号因子,说明FPGA1与FPGA2之间存在通信故障或FPGA1与FPGA2的驱动状态机的状态转换不协同,则进入报警状态,放弃该次驱动命令;当在τ1时间段内接收到预驱动信号因子,则进入驱动状态,在驱动状态则输出驱动动作。
[0023]优选的,在空闲状态时,驱动模块处于不驱动状态,也就是110V继电器不驱动,驱动脉冲发送0Hz,并且判断采集到的反馈脉冲是否0Hz且110V继电器反馈为0;
[0024]状态跳转有以下几种情况:
[0025]当判断:驱动命令为0;驱动反馈为0,状态机不跳转;
[0026]当判断:驱动命令为1;驱动反馈为0,状态跳转到预驱动状态;
[0027]当判断:驱动命令为0;驱动反馈为1,状态跳转到等待状态;
[0028]在预驱动状态时,驱动模块处于不驱动状态,开启一个最大5ms的时间窗口,等待接收远端的预驱动信号;
[0029]状态跳转有以下几种情况:
[0030]当判断:
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,包括以下步骤:步骤一,FPGA1、FPGA2接收上位机第一中央处理器、第二中央处理器下发的数据信息并解码,构成冗余通讯架构;系统将第一中央处理器、第二中央处理器同步,第一中央处理器将驱动信息进行编码后通过TSN通信协议传送给FPGA1;同理,第二中央处理器将驱动信息进行编码后通过TSN通信协议传送给FPGA2;步骤二,FPGA1、FPGA2交互驱动数据并做同步检测和二取二表决;步骤三,FPGA1、FPGA2的驱动状态机同步驱动;步骤四,驱动状态机的检测;步骤五,驱动输出。2.根据权利要求1所述的一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,步骤一中,解码过程分为两个步骤,FPGA1的解码过程为:第一步,FPGA1将本地板卡ID信息、本地时间信息、与接收到数据信息组合一起,根据32位的CRC编码规则计算出本地32bit的CRC
’
m值,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较;第二步,将第一步中的本地板卡ID信息用掩码替换,重新生成32bit的CRC
’
n,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较。3.根据权利要求2所述的一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,FPGA2的解码过程为:第一步,FPGA2将本地板卡ID信息、本地时间信息、与接收到数据信息组合一起,根据32位的CRC编码规则计算出本地32bit的CRC
’
m值,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较;第二步,将第一步中的本地板卡ID信息用掩码替换,重新生成32bit的CRC
’
n,与接收到的数据信息寄存器中32bit的CRC
’
M值相比较。4.根据权利要求1所述的一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,步骤二中,FPGA1将解码后的驱动数据放入内部RAM并赋予3个系统周期时间为驱动数据生命周期,下一周期数据到来时,若解包通过、同步检测通过、表决通过,则更新内部RAM驱动数据;若以上同步检测不过或表决不通过,则RAM中驱动数据生命周期减“1”且使用旧值驱动输出,当RAM中的数据生命周期耗尽时,此时RAM中的驱动数据会被强制介入刷入安全值“0”,让驱动模块不做驱动输出。5.根据权利要求4所述的一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,解包通过的数据根据周期序列号的递增特征辨别是否为新驱动数据,FPGA1、FPGA2中的任一一个接收到新数据开启一个时间窗口τ0为5ms,在5ms时间窗口内收齐第二路FPGA的新数据则时间一致性判定通过,则开启驱动指令表决,若表决通过则进入驱动环节;若表决不过驱动有生命周期的旧值,没有生命周期则不驱动。6.根据权利要求1所述的一种基于FPGA的安全计算机冗余同步驱动设计方法,其特征在于,FPGA1进行二取二表决并执行驱动命令,当驱动命令为“0”时,FPGA1的驱动状态机处于空闲状态,此时驱动模块处于不驱动状态;当驱动命令为“1”时,FPGA1、FPGA2的驱动状态机进入预驱动状态,该状态下释放预驱动信号因子告知...
【专利技术属性】
技术研发人员:孙路,陈文超,
申请(专利权)人:上海柏飞电子科技有限公司,
类型:发明
国别省市:
全部详细技术资料下载 我是这个专利的主人