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

文档序号:9666620阅读:486来源:国知局
基于fpga的集散控制系统中的主处理器及其控制方法
【技术领域】
[0001]本发明涉及一种集散控制系统的技术领域,尤其涉及一种基于FPGA的集散控制系 统中的主处理器及其控制方法。
【背景技术】
[0002]DCS是分布式控制系统系统(DistributedControlSystem)的缩写,又称为集散 控制系统,是相对于集中式控制系统的另一种新型计算机控制系统。在特殊控制领域,如核 电站控制系统,DCS又被称作数字化控制系统(Digitalcontrolsystem),但是其实质仍为 分布式操作系统。DCS凭借着高可靠性、灵活性、易维护性等优点,在工业控制领域得到了广 泛的应用。而集散控制系统中的主控器是集散控制系统的核心处理单元,用于完成输入信 号的运算处理,对其研究显得相当重要。
[0003]发明人在实现本发明的过程中发现,现有技术中的DCS平台大多基于嵌入微处理 器(MCU)架构设计,MCU按照编译好的目标代码串行运算;而DCS系统中,一般采用控制周期 来描述DCS系统的采集和控制,控制周期的定义是主控制器循环调度执行一次完整的算法、 通信和输入输出的周期,在DCS应用系统中,主控制器在设定的控制周期下,循环地执行以 下任务:从I/O设备采集现场数据_>执行控制逻辑运算_>向I/O输出设备输出指令;所以对 于基于微处理器的DCS控制器,其运算处理采用串行方法进行,即将逻辑算法编程成可执行 代码,微处理器按照时钟周期逐条执行,逻辑运算的时间是所有待运算逻辑时间的和,运算 过程所需要的时间比较长,因此基于微处理器的DCS的主处理单元的控制周期也较长。
[0004]为了解决现有技术中DCS平台大多基于嵌入微处理器(MCU)架构设计存在控制周 期长的技术问题,一种解决方案是采用基于FPGA的DCS的控制器,因为基于FPGA的系统时钟 并行处理,其原理架构并非采用指令集,所以基于FPGA的DCS的主处理器的控制周期较基于 微处理器的运算周期可以大大缩短。但是发明人在实现本发明的过程中发现,在同一运算 周期内,当基于FPGA的DCS的控制器采集的同一周期的I/O输入信号进行并行逻辑运算时, 由于主处理器内部逻辑算法有多种多样,因此运算路径及路径长度均不一致,因此所需要 的FPGA系统时钟的节拍数量均不一样,同一运算周期的变量在运算过程中出现先后顺序不 一致,从而可能导致运算结果出现错误。

【发明内容】

[0005]为了解决现有技术中基于FPGA的DCS中的主处理器可能因为内部逻辑算法多样性 导致运算结果可能出错的技术问题,本发明提供一种能够实现算法变量同步的基于FPGA的 集散控制系统中的主处理器及其控制方法。
[0006]为了实现上述目的,本发明提供的技术方案包括:
[0007]-方面,提供一种基于FPGA的集散控制系统中的主处理器,其特征在于,该主处理 器包括:
[0008]用于接收数据的输入接口模块;
[0009] 与所述输入接口模块连接的算法运算模块,所述算法运算模块可以对所述输入接 口模块的数据进行并行处理;
[0010] 将所述算法运算模块的计算结果输出至外部的输出接口模块;
[0011]其中,所述输入接口模块和所述输出接口模块中的数据都设置有数据信号值和数 据有效位,并且算法运算模块可以基于所述数据有效位计算出数据信号值对应的算法长 度;
[0012] 所述主处理器还设置有对主处理器运算周期进行分频处理的分频模块,所述算法 运算模炔基于所述分频模块的时钟信号,对所述输入接口模块的输入参数进行逻辑运算, 并且基于所述算法运算模块计算的并行处理数据中对应算法长度和分频模块的时钟信号, 输出运算结果。
[0013] 进一步地,所述输入接口模块可以接收I/O输入卡板的信号或网络输入卡板的信 号;所述算法运算模块内部包含根据不同应用环境而组态的算法逻辑,算法逻辑由算法块 组合而成,所述输出接口模块可以将运算结果输出至I/O输出卡板或网络输出卡板。
[0014] 进一步地,所述分频模块对主处理器运算周期进行分频的周期为M,所述算法运算 模块计算需要运算的最大算法长度为N,并且M=N+1。
[0015] 进一步地,所述输入接口模块接收的开关量信号用1个byte存储,其中所述1个 byte中有1个bit存储所述数据有效位,1个bit存储所述开关量数据信号值;所述输入接口 模块接收的模拟量信号用6个byte存储,其中,所述6个byte中有1个bit存储所述数据有效 位,4个byte存储所述模拟量数据信号值。
[0016] 进一步地,主处理器中的算法运算模块在所述分频模块的时钟信号下降沿时,通 过0LK触发输出接口模块,输出运算结果,并通过RLK清除所述所有模块中数据有效位;等待 下一个主处理器运算周期开始。
[0017] 因此,采用本发明提供上述基于FPGA的集散控制系统中的主处理器,可以在并行 处理输入数据的同时,保证所有变量在整个主处理器运算周期内保持信号同步;充分利用 FPGA作为主处理器进行并联逻辑运算,即提高运算处理速度的同时,可以解决算法变量不 同步而导致逻辑错误的技术问题。
[0018] 另一方面,本发明还提供一种基于FPGA的集散控制系统中主处理器的控制方法, 其特征在于,该方法包括:
[0019] -、接收设置有数据信号值和数据有效位的输入数据,并且所述输入数据为并行 处理的数据;
[0020] 二、对主处理器的运算周期进行分频处理,得到分频时钟信号;
[0021] 三、根据所述分频时钟信号和数据有效位的时序,对所述输入数据进行逻辑运算;
[0022] 四、将所述逻辑运算结果输出至主处理器的外部。
[0023]进一步地,上述步骤三中,对所述输入数据进行逻辑运算之前还需要清除所述数 据有效位,保留所述数据信号值进行逻辑运算。
[0024] 进一步地,对所述输入数据进行逻辑运算之前还需要通过所述数据有效位计算出 每个运算算法在分频周期内的算法长度值;如果分频时钟信号的周期为M,所述运算算法中 最大算法长度为N,则M=N+1。
[0025] 进一步地,上述步骤三具体的过程包括:1)、在算法运算模块中包含若干逻辑运算 块,当逻辑运算块的输入数据有效位全为"Γ,且分频时钟CLK信号处于上升沿时,输入数据 进行一次逻辑运算,同时输出信号的有效值置"Γ; 2)、当输入信号有效位有任何一个为"0" 时,不进行逻辑运算。
[0026]采用本发明提供的上述技术方案,提供了一种让主处理器在进行并联逻辑运算的 同时,保证算法变量在整个处理器周期内保持信号同步的控制方法。
[0027]发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书变得显 而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明 书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
【附图说明】
[0028]图1为本发明实施例提供的一种基于FPGA的集散控制系统中数据运算逻辑关系 图;
[0029]图2为本发明实施例提供的一种基于FPGA的集散控制系统中的主处理器的结构框 图;
[0030]图3为本发明实施例提供的主处理器中输入接口模块处理示意图;
[0031 ]图4为本发明实施例提供的变量同步控制时序原理图;
[0032]图5为本发明实施例提供的一种基于FPGA的集散控制系统中主处理器的控制方法 的流程图;
[0033]图6为本发明实施例提供的主处理器中算法运算模块中算法块处理过程流程图。【具体实施方式】
[0034] 以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用 技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明 的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发 明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特 征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0035] 另外,在附图的流程图示出的步骤可以在诸如一组控制器可执行指令的控制系统 中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的 顺序执行所示出或描述的步骤。
[0036] 下面通过附图和具体实施例,对本发明的技术方案进行详细描述:
[0037]如图2所示,本实施例提供了一种基于FPGA(全称为现场可编程门阵列,英文为Field-ProgrammableGateArray)的集散控制系统中的主处理器,即该主处理器是采用 FPGA100构成的,主处理器包括:
[0038]用于接收数据的输入接口模块101,该输入接口模块101可以接收I/0输入板卡104的数据和网络输入卡板105的数据;
[0039]与输入接口模块101连接的算法运算模块102,该算法运算模块10 2可以对输入接 口模块101的数据进行并行处理;
[0040]将算法运算模块102的计算结果输出至外部的输出接口模块103;该输出接口模块 103可以将运算结果分别输出至外部的I/O输入板卡104和网络输入卡板105;
[0041 ]其中,输入接口模块101和输出接口模块103中的数据都设置有数据信号值和数据 有效位,并且算法运算模块可以基于数据有效位计算出数据信号值对应的算法长度(下文 会有详细的介绍);
[0042] 主处理器还设置有对主处理器运算周期进行分频处理的分频模块(未示出),算法 运算模炔基于分频模块的时钟信号,对输入接口模块的输入参数进行逻辑运算,并且基于 算法运算模块计算的并行处理数据中对应算法长度和分频模块的时钟信号,输出运算结 果。
[0043]因此,采用本实施例提供上述基于FPGA的集散控制系统中的主处理器,可以在并 行处理输入数据的同时,保证所有变量在整个主处理器运算周期内保持信号同步;充分利 用FPGA作为主处理器进行并联逻辑运算,即提高运算处理速度的同时,可以解决算法变量 不同步而导致逻辑错误的技术问题。
[0044] 如图3所示,优选地,输入接口模块接收的开关量信号用1个byte存储,其中1个 byte中有1个bit存储数据有效位,1个bit存储开关量数据信号值;输入接口模块接收的模 拟量信号用6个byte存储,其中,前2个byte中有1个bit存储数据有效位,后4个byte存储模 拟量数据信号值。
[0045] 优选地,分频模块对主处理器运算周期进
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1