基于fpga的集散控制系统中的主处理器及其控制方法_2

文档序号:9666620阅读:来源:国知局
行分频的周期为M,算法运算模块计算需 要运算的最大算法长度为N,并且Μ=N+1。具体地,如图4所示,FPGA100内部的输入接口模块 101、算法运算模块102、输出接口模块103工作在FPGA系统时钟CLK下,通过CLK分频产生 FPGA主处理器运算周期时钟MLK,若MLK周期为10ms,则即产生以10ms为周期的时钟,而CLK 的脉冲频率为50MHz;算法运算模块102在MLK后第2个CLK上升沿开始算法运算,其中,上述 算法运算模块102内部包含根据不同应用环境而组态的算法逻辑,算法逻辑由算法块组合 而成(如图1所示),算法块为基本的逻辑电路,如"与"、"或"逻辑等,即运算过程是根据特定 的应用逻辑进行,应用逻辑是由算法块组合构成,具体的算法块实现如下文中对图6的描 述,在MLK高电平后第N个CLK的上跳沿,算法运算模块102输出运算结果到输出接口模块 103,其中N取决于算法运算模块102中中最长算法路径的长度,如图1所示,最长算法路径为 INPUT1到0UTPUT1,共有2个算法块,则Μ最小可设置为3。
[0046] 优选地,主处理器中的算法运算模块102在所述分频模块的时钟信号下降沿时,通 过〇LK(区别于CLK的时钟脉冲信号,用于触发输出接口模块的脉冲信号)触发输出接口模 块,输出运算结果,并通过RLK清除所述算法运算模块102中所有算法块中数据有效位。等待 下一个主处理器运算周期开始。即本实施例中:1、所有输入接口模块和输出接口模块中的 信号都有数据有效位;2、算法运算模块在接收到输入接口模块的数据时,会把输入接口模 块的有效位向后面传递;3、经过Μ个周期后,通过RLK清除输入接口模块、算法运算模块、输 出接口模块有效位,并通过输出接口模块输出。等待下一主处理运算周期数据。
[0047]另一方面,本实施例还提供一种基于FPGA的集散控制系统中主处理器的控制方 法,该方法包括:
[0048]S501、接收设置有数据有效位的输入数据:
[0049]接收设置有数据信号值和数据有效位的输入数据,并且输入数据为并行处理的数 据;
[0050]S502、对主处理器的运算周期进行分频处理:对主处理器的运算周期进行分频处 理,得到分频时钟信号;
[0051] S503、对所述输入数据进行逻辑运算:根据分频时钟信号和数据有效位的时序,对 输入数据进行逻辑运算;
[0052] S504、逻辑运算结果输出:将逻辑运算结果输出至主处理器的外部。
[0053]优选地,步骤503中,对输入数据进行逻辑运算之后还需要清除数据有效位,等待 下一个主处理器运算周期开始。。
[0054]优选地,对输入数据进行逻辑运算之前还需要通过数据有效位计算出每个运算算 法在分频周期内的算法长度值;如果分频时钟信号的周期为M,运算算法中最大算法长度为 N,则Μ=Ν+1〇
[0055]优选地,步骤503具体的过程包括::1)、在算法运算模块中包含若干逻辑运算块, 当逻辑运算块的输入数据有效位全为"Γ,且分频时钟CLK信号处于上升沿时,输入数据进 行一次逻辑运算,同时输出信号的有效值置"1";2)、当输入信号有效位有任何一个为"0" 时,不进行逻辑运算。更具体的运算过程如图6所示,算法运算模块102中包含若干算法块, 算法块执行步骤包括:
[0056]S601、运算块开始;
[0057] S602、在CLK上升沿的情况下,判断运算块处理的数据有效位是否全为"1",如果 是,执行S603,否则不进行逻辑运算;
[0058] S603、进行逻辑运算,具体逻辑电路可以参考图1;
[0059] S604、算法块的逻辑运算结果输出,并将运算结果有效位置"1"。运算结果发送到 输出接口模块,当0LK上升沿到来时,由输出接口模块将运算结果输出,当RLK上升沿到来 时,FPGA算法运算模块102有效位将被清除。
[0060] 如图1所示,当主处理器不进行分频信号处理时,即对同一周期采集的I/O输入信 号进行逻辑运算时,在FPGA内部是基于系统时钟进行运算的情况下,由于主处理器内部逻 辑运算路径长度不一致,所需要的系统时钟的周期数量是不一样的。可能会出现同一周期 采集到的数据,在运算过程中出现不同步,进而导致运算结果出现运算错误。对于主处理器 运算周期为节拍的运算其真值表应为:
[0061]
[0062]表1控制器运算周期真值表 [0063]注:图1中RS触发器为复位优先型
[0064] 假设Output前一控制器运算周期输出为Q,当前控制器运算周期Input1由1->0、Input2由0->1,按照表l,0utput1的输出应保持上一拍值为0。
[0065]
[0066] 表2控制器运算周期变化
[0067]
[0068]表3RS触发器实际变化
[0069]算法运算采用系统时钟CLK(如50MHz)进行运算,能够很长程度上提高系统的运行 速度。但如果不采用本事实施提供的对主处理器运算周期MLK和FPGA的系统时钟CLK两种时 钟处理方式,在同一DCS控制器运算周期内,对于中按照表2变化时,RS触发器其值变化情况 如表3所示意。在经过3个CLK周期后RS的Q端输出为"1",并非预期的"0"值,出现了运算错 误。
[0070] 而采用本实施例提供的MLK和FPGA的系统时钟CLK两种时钟处理方式(表4所示); 当新的MLK周期开始后,RS触发器输入端的数据并没有立即参与运算,而是等到R、S端数据 有效位都为"Γ时,才进行运算,从而解决了数据不同步的问题。
[0071]
表4采用同步设计RS触发器实际变化
[0073]采用本实施例提供的上述技术方案,提供了一种让主处理器在进行并联逻辑运算 的同时,保证算法变量在整个处理器周期内保持信号同步的控制方法。
[0074]最后需要说明的是,上述说明仅是本发明的最佳实施例而已,并非对本发明做任 何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围内,都可利用 上述揭示的做法和技术内容对本发明技术方案做出许多可能的变动和简单的替换等,这些 都属于本发明技术方案保护的范围。
【主权项】
1. 一种基于FPGA的集散控制系统中的主处理器,其特征在于,该主处理器包括: 用于接收数据的输入接口模块; 与所述输入接口模块连接的算法运算模块,所述算法运算模块可以对所述输入接口模 块的数据进行并行处理; 将所述算法运算模块的计算结果输出至外部的输出接口模块; 其中,所述输入接口模块和所述输出接口模块中的数据都设置有数据信号值和数据有 效位,并且算法运算模块可以基于所述数据有效位计算出数据信号值对应的算法长度; 所述主处理器还设置有对主处理器运算周期进行分频处理的分频模块,所述算法运算 模炔基于所述分频模块的时钟信号,对所述输入接口模块的输入参数进行逻辑运算,并且 基于所述算法运算模块计算的并行处理数据中对应算法长度和分频模块的时钟信号,输出 运算结果。2. 根据权利要求1所述的主处理器,其特征在于,所述输入接口模块可以接收I/O输入 卡板的信号或网络输入卡板的信号;所述算法运算模块内部包含根据不同应用环境而组态 的算法逻辑,算法逻辑由算法块组合而成,所述输出接口模块可以将运算结果输出至I/O输 出卡板或网络输出卡板。3. 根据权利要求1所述的主处理器,其特征在于,所述分频模块对主处理器运算周期进 行分频的周期为M,所述算法运算模块计算需要运算的最大算法长度为N,并且M=N+1。4. 根据权利要求1所述的主处理器,其特征在于,所述输入接口模块接收的开关量信号 用1个byte存储,其中所述1个byte中有1个bit存储所述数据有效位,1个bit存储所述开关 量数据信号值;所述输入接口模块接收的模拟量信号用6个byte存储,其中,所述6个byte中 有1个bit存储所述数据有效位,4个byte存储所述模拟量数据信号值。5. 根据权利要求1所述的主处理器,其特征在于,主处理器中的算法运算模块在所述分 频模块的时钟信号下降沿时,通过OLK触发输出接口模块,输出运算结果,并通过RLK清除所 述所有模块中数据有效位;等待下一个主处理器运算周期开始。6. -种基于FPGA的集散控制系统中主处理器的控制方法,其特征在于,该方法包括: 一、 接收设置有数据信号值和数据有效位的输入数据,并且所述输入数据为并行处理 的数据; 二、对主处理器的运算周期进行分频处理,得到分频时钟信号; 三、 根据所述分频时钟信号和数据有效位的时序,对所述输入数据进行逻辑运算; 四、 将所述逻辑运算结果输出至主处理器的外部。7. 根据权利要求6所述的方法,其特征在于,步骤三中,对所述输入数据进行逻辑运算 之前还需要清除所述数据有效位,保留所述数据信号值进行逻辑运算。8. 根据权利要求6所述的方法,其特征在于,对所述输入数据进行逻辑运算之前还需要 通过所述数据有效位计算出每个运算算法在分频周期内的算法长度值;如果分频时钟信号 的周期为M,所述运算算法中最大算法长度为N,则M=N+1。9. 根据权利要求6所述的方法,其特征在于,步骤三具体的过程包括:1 )、在算法运算模 块中包含若干逻辑运算块,当逻辑运算块的输入数据有效位全为"1",且分频时钟CLK信号 处于上升沿时,输入数据进行一次逻辑运算,同时输出信号的有效值置"1";2)、当输入信号 有效位有任何一个为"0"时,不进行逻辑运算。
【专利摘要】为了解决现有技术中基于FPGA的DCS中的主处理器可能因为内部逻辑算法多样性导致运算结果可能出错的技术问题,本发明提供一种能够实现算法变量同步的基于FPGA的集散控制系统中的主处理器及其控制方法。主处理器包括:输入接口模块、算法运算模块、输出接口模块,算法运算模块可以对所述输入接口模块的数据进行并行处理,并且输入接口模块和所述输出接口模块中的数据都设置有数据信号值和数据有效位;主处理器还设置有对主处理器运算周期进行分频处理的分频模块,算法运算模块基于分频模块的时钟信号,对输入接口模块的输入参数进行逻辑运算;因此,可以让主处理器在并行处理输入数据的同时,保证所有变量在整个主处理器运算周期内保持信号同步。
【IPC分类】G05B19/042
【公开号】CN105425662
【申请号】CN201510751756
【发明人】王纪坤, 石桂连, 齐敏, 谢逸钦, 吴彬, 莫昌瑜, 李刚, 韩宾
【申请人】北京广利核系统工程有限公司, 中国广核集团有限公司
【公开日】2016年3月23日
【申请日】2015年11月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1