一种基于XilinxZynq技术的大规模PLC系统的制作方法

文档序号:9506148
一种基于Xilinx Zynq技术的大规模PLC系统的制作方法
【技术领域】
[0001]本发明涉及一种基于Xilinx Zynq技术的大规模PLC系统。
【背景技术】
[0002]随着电子技术、计算机技术、通信网络控制技术和工业自动化控制技术的飞速发展和日益普及,在工业控制系统领域中,诞生于上世纪60年代的可编程逻辑控制器(PLC)的功能日益强大,已经由传统的单机PLC控制/网络通信朝向网络化大规模PLC系统发展,在轨道交通、石化等领域已出现万点以上大规模PLC系统的应用需求。
[0003]随着PLC技术的发展,PLC的表现形式和功能都已经得到了很大的发展,从过去比较单一的独立单元结构发展到了现在的模块化、网络化、分布式控制。大规模PLC系统1/0点数在1024点以上,用户程序存储器容量在几MB以上。由于大规模PLC具有比中小型PLC更强大的功能,因此一般用于大规模工业混合控制和大型工厂自动化应用等场合。
[0004]大规模PLC除了具有基本运算能力,即逻辑运算、定时、计数、移位等功能,一般还具有整数及浮点运算、数制转换、PID调节、中断控制及联网功能,可用于复杂的逻辑运算及闭环控制场合。部分大型PLC还可以进行矩阵运算和函数运算,完成数据管理工作,具有较强的数据处理、模拟调节、特殊功能函数运算、监视、记录、打印、通信联网、中断控制、智能控制和远程控制等功能,可以和其他计算机构成分布式生产过程综合控制管理系统。
[0005]由于大规模PLC系统对CPU的运算速度,总线带宽的数据吞吐量,中断响应时延,任务调度周期等关键指标都有苛刻的要求,普通的嵌入式系统的解决方案难以胜任。大规模PLC系统除了要求极高的串行数据运算能力,由于系统带宽较高,单周期内的数据吞吐量极高,因此对并行处理能力要求较高。

【发明内容】

[0006]本发明的技术方案是一种基于Xilinx Zynq SoC处理器架构的大规模PLC系统,通过在Zynq的ARM硬件部分进行逻辑运算来完成PLC系统的控制功能,在Zynq的并行处理单元进行数据处理来完成中央处理模块与现场高速10模块的高速数据吞吐。
[0007]为了实现上述技术目的,本发明的技术方案是,一种基于Xilinx Zynq技术的大规模PLC系统,包括FPGA核心电路、CPU核心电路、DDR内存,Flash存储器和FIFO ;
[0008]所述的FPGA核心电路由Xi 1 inx Kintex-7系列FPGA和相关的时钟电路和滤波电路组成,硬件逻辑模块包括系统仲裁模块以及分别与系统仲裁模块通信连接的PC1-Express数据收发模块、PC1-Express协议解析模块、DMA控制模块、DDR控制模块、Flash控制模块和FIFO控制模块;PC1-Express数据收发模块通过金手指与PCI Express背板总线物理层电路相连,分别完成接收PC1-Express数据包和发送用户程序处理结果;PC1-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]所述的一种基于Xi 1 inx 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采集10模块的数据,处理完成后通过10模块进行输出,10模块通过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单元中构建PCIExpress根结点控制器来与高速背板10模块进行交互,数据的输入与输出和协议的实现均由FPGA硬件单元完成,有效的提高了 PLC系统的工作效率,且运行灵活方便,能够较好的提升PLC系统的总体运行水平。
[0015]下面结合附图对本发明作进一步说明。
【附图说明】
[0016]图1为本发明的结构示意图;
[0017]图2为本发明的系统硬件设计方案顶层图;
[0018]图3为本发明的系统软件功能模块图。
【具体实施方式】
[0019]参见图1,本发明通过在Zynq的ARM硬件部分进行逻辑运算来完成PLC系统的控制功能,在Zynq的FPGA硬件部分进行数据处理来完成中央处理模块与现场高速10模块的高速数据吞吐,具体的实现方案如下图:
[0020]本发明中的大规模PLC系统由中央处理模块与高速10模块构成,中央处理模块与高速10模块间通过PCI Express总线进行数据输入与输出。中央处理模块包含了一块Xilinx Zynq SoC处理器,在处理器上实现了芯片级的Cortex_A9双核处理器和Kintex-7FPGA并行处理单元互联,两个硬核处理单元通过标准协议AXI系统总线互联。
[0021]中央处理模块包括FPGA核心电路,CPU核心电路,DDR,Flash,FIFO ;其中FPGA核心电路由一块FPGA及其外围电路、与FPGA连接的时钟电路和滤波电路组成,程序基于硬件描述语言和Xilinx提供的IP核进行开发,硬件逻辑模块包括系统仲裁模块以及分别与系统仲裁模块通信连接的PC1-Express数据收发模块、PC1-Express协议解析模块、DMA控制模块、DDR控制模块、Flash控制模块和FIFO控制模块;PC1-EXpreSS数据收发模块通过金手指与PC1-Express背板总线物理层电路相连,分别完成接收PC1-Express数据包和发送用户程序处理结果;PC1-Express协议解析模块接收端点设备发送的数据包,按照接口标准解析数据包获取事务数据;DMA控制模块控制数据格式的打包解包和数据的搬运;
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1