一种基于Xilinx Zynq技术的大规模PLC系统[发明专利]
(10)申请公布号
(43)申请公布日              (21)申请号 201510504235.9
(22)申请日 2015.08.17
G06F 15/16(2006.01)
G05B 19/05(2006.01)
(71)申请人中南大学
地址410083 湖南省长沙市岳麓区麓山南路
932号
(72)发明人徐德刚  刘育峰  龙良曲  赵茂行
谢攀  蔡海明  谢永芳  阳春华
桂卫华
(74)专利代理机构长沙市融智专利事务所
43114
代理人
欧阳迪奇
(54)发明名称
一种基于Xilinx Zynq 技术的大规模PLC 系
plc的组成(57)摘要
本发明公开了一种基于Xilinx Zynq 技术的
大规模PLC 系统,包括FPGA 核心电路、CPU 核心电
路、DDR 内存,Flash 存储器和FIFO。系统采用FPGA
核心电路和CPU 核心电路的双核设计,实现了两
个并行处理单元通过AXI 系统总线片上互联,使
用硬件描述语言动态、自由的修改硬件电路的逻
辑结构,且可由ARM 处理器来控制FPGA 单元的配
置工作。FPGA 单元中构建PCI Express 根结点控
制器来与高速背板IO 模块进行交互。数据的输入
与输出和协议的实现均由FPGA 硬件单元完成,有
效地提高了PLC 系统的工作效率,且运行灵活方
便,能够较好的提升PLC 系统的总体运行水平。(51)Int.Cl.
(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页  说明书4页  附图3页CN 105260339 A 2016.01.20
C N 105260339
A
1.一种基于Xilinx Zynq技术的大规模PLC系统,其特征在于:
包括FPGA核心电路、CPU核心电路、DDR内存,Flash存储器和FIFO;
所述的FPGA核心电路由Xilinx Kintex-7系列FPGA和相关的时钟电路和滤波电路组成,硬件逻辑模块包括系统仲裁模块以及分别与系统仲裁模块通信连接的PCI-Express数据收发模块、PCI-Express协议解析模块、DMA控制模块、DDR控制模块、Flash控制模块和FIFO控制模块;PCI-Express数据收发模块通过金手指与PCI Express背板总线物理层电路相连,分别完成接收PCI-Express数据包和发送用户程序处理结果;PCI-Express协议解析模块接收端点设备发送的数据包,按照接口标准解析数据包获取事务数据;DMA控制模块控制数据格式的打包解包和数据的搬运;DDR控制模块通过FPGA接口与片外的DDR内存相连接,对DDR内存实现配置、读写数据,DDR内存为处理结果数据缓存;Flash控制模块通过FPGA接口与片外Flash存储器相连接,对Flash存储器实现配置、读写数据和擦除等操作,Flash存储器为数据备份存储器;FIFO控制模块通过FPGA接口与片外FIFO相连接,对FIFO实现配置、读写数据,FIFO为FPGA与CPU间的数据交换桥;系统仲裁模块协调各个硬件逻辑模块之间的数据交换;
所述的CPU核心电路包括基于ARM Cortex-A9硬核处理器的ARM核心及外围电路与处理器连接的时钟、滤波电路,用于运行用户程序处理从FPGA处获取的事务数据;所述的ARM 核心用于运行实时操作系统,
完成所有的软件逻辑运算,以及任务调度、中断响应、资源管理和FPGA的配置与重配置工作。
2.根据权利要求1所述的一种基于Xilinx Zynq的大规模PLC系统,其特征在于,所述的CPU核心电路运行实时操作系统,完成系统所有的软件控制工作,所述的FPGA核心电路作为一个硬件协处理单元存在,在FPGA核心电路上构建PCI Express根结点,CPU核心电路与FPGA核心电路通过AXI总线互联,CPU核心电路能够访问FPGA实时数据。
3.根据权利要求1所述的一种基于Xilinx Zynq的大规模PLC系统,其特征在于,FPGA 上面构建PCI Express根结点的接口标准为Gen2 x4,生成的IP核心在ARM启动时进行下载配置,配置完成后ARM上运行的实时Linux操作系统将通过FPGA采集IO模块的数据,处理完成后通过IO模块进行输出,IO模块通过PCI Express总线接口与根结点进行连接。
4.根据权利要求1所述的一种基于Xilinx Zynq的大规模PLC系统,其特征在于,PLC 系统的CPU核心电路采用了双核ARM Cortex-A9处理器。
5.根据权利要求1所述的一种基于Xilinx Zynq的大规模PLC系统,其特征在于,PLC 系统背板总线支持动态通信协议,通过在操作系统上下载新的通信协议IP核来添加新的通信协议支持。
一种基于Xilinx Zynq技术的大规模PLC系统
技术领域
[0001] 本发明涉及一种基于Xilinx Zynq技术的大规模PLC系统。
背景技术
[0002] 随着电子技术、计算机技术、通信网络控制技术和工业自动化控制技术的飞速发展和日益普及,在工业控制系统领域中,诞生于上世纪60年代的可编程逻辑控制器(PLC)的功能日益强大,已经由传统的单机PLC控制/网络通信朝向网络化大规模PLC系统发展,在轨道交通、石化等领域已出现万点以上大规模PLC系统的应用需求。
[0003] 随着PLC技术的发展,PLC的表现形式和功能都已经得到了很大的发展,从过去比较单一的独立单元结构发展到了现在的模块化、网络化、分布式控制。大规模PLC系统I/ O点数在1024点以上,用户程序存储器容量在几MB以上。由于大规模PLC具有比中小型PLC更强大的功能,因此一般用于大规模工业混合控制和大型工厂自动化应用等场合。[0004] 大规模PLC除了具有基本运算能力,即逻辑运算、定时、计数、移位等功能,一般还具有整数及浮点运算、数制转换、PID调节、中断控制及联网功能,可用于复杂的逻辑运算及闭环控制场合。部分大型PLC还可以进行矩阵运算和函数运算,完成数据管理工作,具有较强的数据处理、模拟调节、特殊功能函数运算、监视、记录、打印、通信联网、中断控制、智能控制和远程控制等功能,可以和其他计算机构成分布式生产过程综合控制管理系统。[0005] 由于大
规模PLC系统对CPU的运算速度,总线带宽的数据吞吐量,中断响应时延,任务调度周期等关键指标都有苛刻的要求,普通的嵌入式系统的解决方案难以胜任。大规模PLC系统除了要求极高的串行数据运算能力,由于系统带宽较高,单周期内的数据吞吐量极高,因此对并行处理能力要求较高。
发明内容
[0006] 本发明的技术方案是一种基于Xilinx Zynq SoC处理器架构的大规模PLC系统,通过在Zynq的ARM硬件部分进行逻辑运算来完成PLC系统的控制功能,在Zynq的并行处理单元进行数据处理来完成中央处理模块与现场高速IO模块的高速数据吞吐。
[0007] 为了实现上述技术目的,本发明的技术方案是,一种基于Xilinx Zynq技术的大规模PLC系统,包括FPGA核心电路、CPU核心电路、DDR内存,Flash存储器和FIFO;[0008] 所述的FPGA核心电路由Xilinx Kintex-7系列FPGA和相关的时钟电路和滤波电路组成,硬件逻辑模块包括系统仲裁模块以及分别与系统仲裁模块通信连接的PCI-Express数据收发模块、PCI-Express协议解析模块、DMA控制模块、DDR控制模块、Flash控制模块和FIFO控制模块;PCI-Express数据收发模块通过金手指与PCI Express 背板总线物理层电路相连,分别完成接收PCI-Express数据包和发送用户程序处理结果;PCI-Express协议解析模块接收端点设备发送的数据包,按照接口标准解析数据包获取事务数据;DMA控制模块控制数据格式的打包解包和数据的搬运;DDR控制模块通过FPGA接口与片外的DDR内存相连接,对DDR内存实现配置、读写数据,DDR内存为处理结果数据缓
存;Flash控制模块通过FPGA接口与片外Flash存储器相连接,对Flash存储器实现配置、读写数据和擦除等操作,Flash存储器为数据备份存储器;FIFO控制模块通过FPGA接口与片外FIFO相连接,对FIFO实现配置、读写数据,FIFO为FPGA与CPU间的数据交换桥;系统仲裁模块协调各个硬件逻辑模块之间的数据交换;
[0009] 所述的CPU核心电路包括基于ARM Cortex-A9硬核处理器的ARM核心及外围电路与处理器连接的时钟、滤波电路,用于运行用户程序处理从FPGA处获取的事务数据;所述的ARM核心用于运行实时操作系统,完成所有的软件逻辑运算,以及任务调度、中断响应、资源管理和FPGA的配置与重配置工作。
[0010] 所述的一种基于Xilinx Zynq的大规模PLC系统,所述的CPU核心电路运行实时操作系统,完成系统所有的软件控制工作,所述的FPGA核心电路作为一个硬件协处理单元存在,在FPGA核心电路上构建PCI Express根结点,CPU核心电路与FPGA核心电路通过AXI 总线互联,CPU核心电路能够访问FPGA实时数据。
[0011] 所述的一种基于Xilinx Zynq的大规模PLC系统,FPGA上面构建PCI Express根结点的接口标准为Gen2x4,生成的IP核心在ARM启动时进行下载配置,配置完成后ARM上运行的实时Linux操作系统将通过FPGA采集IO模块的数据,处理完成后通过IO模块进行输出,IO模块通过PCI Express总线接口与根结点进行连接。当接口资源不足时,可通过PCI Express桥进行拓展。
[0012] 所述的一种基于Xilinx Zynq的大规模PLC系统,PLC系统的CPU核心电路采用了双核ARM Cortex-A9处理器。
[0013] 所述的一种基于Xilinx Zynq的大规模PLC系统,PLC系统背板总线支持动态通信协议,通过在操作系统上下载新的通信协议IP核来添加新的通信协议支持。
[0014] 本发明的技术效果在于,采用FPGA核心电路和CPU核心电路的双核设计,实现了两个并行处理单元通过AXI系统总线片上互联,使用硬件描述语言可动态、自由的修改硬件电路的逻辑结构,且由ARM处理器来控制FPGA单元的配置工作。FPGA单元中构建PCI Express根结点控制器来与高速背板IO模块进行交互,数据的输入与输出和协议的实现均由FPGA硬件单元完成,有效的提高了PLC系统的工作效率,且运行灵活方便,能够较好的提升PLC系统的总体运行水平。
[0015] 下面结合附图对本发明作进一步说明。
附图说明
[0016] 图1为本发明的结构示意图;
[0017] 图2为本发明的系统硬件设计方案顶层图;
[0018] 图3为本发明的系统软件功能模块图。
具体实施方式
[0019] 参见图1,本发明通过在Zynq的ARM硬件部分进行逻辑运算来完成PLC系统的控制功能,在Zynq的FPGA硬件部分进行数据处理来完成中央处理模块与现场高速IO模块的高速数据吞吐,具体的实现方案如下图:
[0020] 本发明中的大规模PLC系统由中央处理模块与高速IO模块构成,中央处理模
块与高速IO模块间通过PCI Express总线进行数据输入与输出。中央处理模块包含了一块Xilinx Zynq SoC处理器,在处理器上实现了芯片级的Cortex-A9双核处理器和Kintex-7FPGA并行处理单元互联,两个硬核处理单元通过标准协议AXI系统总线互联。[0021] 中央处理模块包括FPGA核心电路,CPU核心电路,DDR,Flash,FIFO;其中FPGA核心电路由一块FPGA及其外围电路、与FPGA连接的时钟电路和滤波电路组成,程序基于硬件描述语言和Xilinx提供的IP核进行开发,硬件逻辑模块包括系统仲裁模块以及分别与系统仲裁模块通信连接的PCI-Express数据收发模块、PCI-Express协议解析模块、DMA控制模块、DDR控制模块、Flash控制模块和FIFO控制模块;PCI-Express数据收发模块通过金手指与PCI-Express背板总线物理层电路相连,分别完成接收PCI-Express数据包和发送用户程序处理结果;PCI-Express协议解析模块接收端点设备发送的数据包,按照接口标准解析数据包获取事务数据;DMA控制模块控制数据格式的打包解包和数据的搬运;DDR控制模块通过FPGA接口与片外DDR相连接,对DDR
实现配置、读写数据,DDR为处理结果数据缓存;Flash控制模块通过FPGA接口与片外Flash相连接,对Flash实现配置、读写数据和擦除等操作,Flash为数据备份存储器;FIFO控制模块通过FPGA接口与片外FIFO相连接,对FIFO实现配置、读写数据,FIFO为FPGA与CPU间的数据交换桥;系统仲裁模块协调各个硬件逻辑模块之间的数据交换;CPU核心电路包括ARM硬核处理器及外围电路与CPU处理器连接的时钟、滤波电路,运行用户程序处理从FPGA处获取的事务数据。
[0022] 本发明中的PLC系统基于Xilinx Zynq SoC技术架构实现:
[0023] 中央处理模块在FPGA单元中构建总线接口,通过在FPGA单元中构建的PCI Express根结点控制器与高速背板IO模块进行交互,数据的输入与输出,协议的实现均由FPGA硬件单元完成。
[0024] 中央处理模块的软件逻辑控制在ARM核心中完成,采用Cortex-A9多核心处理技术进行运算,ARM核心通过AXI系统总线完成对FPGA并行单元的控制,并完成相应的数据传输工作。
[0025] 数据处理中产生的中断,将直接通过片上AXI总线传输到ARM核心上,不必经过传统的物理布线,同时中断处理路经可以通过配置FPGA硬件单元进行自由修改。
[0026] 硬件协处理单元在FPGA中实现,全部采用部分重配置技术,实现在系统不中断的情况下完成硬件单元的重构建。重构建的配置过程由ARM部分完成,重构建后的硬件单元作为ARM部分的协处理单元协同工作。
[0027] 本发明中的数据的压缩与解压均采用FPGA并行单元实现,型号为Xilinx Kintex-7FPGA,通过硬件描述语言对FPGA单元的硬件进行部分重配置,可以自由的生成数据压缩与解压算法硬件实现电路。
[0028] 本发明中的串行运算单元与并行处理单元通过AXI系统总线片上互联,不需要通过传统的PCB布线来连接两个核心,通过标准的AXI互联系统总线可以达到40GB/S的互联带宽。
[0029] 本发明中的并行处理单元可以动态配置。传统的PLC系统硬件电路一旦设计好,一般无法再进行修改或者重新配置,本发明的PLC系统可以通过硬件描述语言自由的修改硬件电路的逻辑结构,支持在系统运行的过程中动态修改,支持在系统运行的过程中只修改并行处理单元的某一部分电路逻辑结构。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。