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

文档序号:9506148阅读:来源:国知局
DDR控制模块通过FPGA接口与片外DDR相连接,对DDR实现配置、读写数据,DDR为处理结果数据缓存;Flash控制模块通过FPGA接口与片外Flash相连接,对Flash实现配置、读写数据和擦除等操作,Flash为数据备份存储器;FIF0控制模块通过FPGA接口与片外FIFO相连接,对FIF0实现配置、读写数据,FIFO为FPGA与CPU间的数据交换桥;系统仲裁模块协调各个硬件逻辑模块之间的数据交换;CPU核心电路包括ARM硬核处理器及外围电路与CPU处理器连接的时钟、滤波电路,运行用户程序处理从FPGA处获取的事务数据。
[0022]本发明中的PLC系统基于Xilinx Zynq SoC技术架构实现:
[0023]中央处理模块在FPGA单元中构建总线接口,通过在FPGA单元中构建的PCIExpress根结点控制器与高速背板10模块进行交互,数据的输入与输出,协议的实现均由FPGA硬件单元完成。
[0024]中央处理模块的软件逻辑控制在ARM核心中完成,采用Cortex_A9多核心处理技术进行运算,ARM核心通过AXI系统总线完成对FPGA并行单元的控制,并完成相应的数据传输工作。
[0025]数据处理中产生的中断,将直接通过片上AXI总线传输到ARM核心上,不必经过传统的物理布线,同时中断处理路经可以通过配置FPGA硬件单元进行自由修改。
[0026]硬件协处理单元在FPGA中实现,全部采用部分重配置技术,实现在系统不中断的情况下完成硬件单元的重构建。重构建的配置过程由ARM部分完成,重构建后的硬件单元作为ARM部分的协处理单元协同工作。
[0027]本发明中的数据的压缩与解压均采用FPGA并行单元实现,型号为XilinxKintex-7FPGA,通过硬件描述语言对FPGA单元的硬件进行部分重配置,可以自由的生成数据压缩与解压算法硬件实现电路。
[0028]本发明中的串行运算单元与并行处理单元通过AXI系统总线片上互联,不需要通过传统的PCB布线来连接两个核心,通过标准的AXI互联系统总线可以达到40GB/S的互联带宽。
[0029]本发明中的并行处理单元可以动态配置。传统的PLC系统硬件电路一旦设计好,一般无法再进行修改或者重新配置,本发明的PLC系统可以通过硬件描述语言自由的修改硬件电路的逻辑结构,支持在系统运行的过程中动态修改,支持在系统运行的过程中只修改并行处理单元的某一部分电路逻辑结构。
[0030]本发明中FPGA硬件单元的配置工作将由ARM单元完成。为了实现在系统动态运行时修改硬件单元的逻辑电路结构,FPGA单元的配置工作将不再由FLASH来自动配置,而是交给ARM处理器,通过软件的方式来控制硬件单元的配置过程。
[0031]本发明所采用的部分中断工作和协议解析逻辑,当并行单元中的数据检测出错时,将自动产生中断信号,并发送给ARM核心,迅速完成中断响应工作。
[0032]本发明系统支持多种通信协议,并且支持通信协议的动态添加功能。通过在FPGA单元添加IP核,可以自由的拓展系统的通信接口能力,如常用的USB、CAN、IIC等接口可以非常方便的添加,并且在系统的运行过程中,可以动态的修改部分FPGA逻辑电路来实现通信能力的拓展。
[0033]本发明具有超高的数据处理能力与超大的RAM容量。Xilinx Zynq SoC最高的处理频率为1GHz,并且采用双核ARM架构,具有很高的数据处理能力,最高可支持1GB的RAM容量,可以运行大型的操作系统,可以保存大量的在线数据,支持复杂的数字运算。
【主权项】
1.一种基于Xilinx Zynq技术的大规模PLC系统,其特征在于: 包括FPGA核心电路、CPU核心电路、DDR内存,Flash存储器和FIFO ; 所述的FPGA核心电路由Xilinx 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存储器为数据备份存储器;FIF0控制模块通过FPGA接口与片外FIFO相连接,对FIFO实现配置、读写数据,FIFO为FPGA与CPU间的数据交换桥;系统仲裁模块协调各个硬件逻辑模块之间的数据交换; 所述的CPU核心电路包括基于ARM Cortex-A9硬核处理器的ARM核心及外围电路与处理器连接的时钟、滤波电路,用于运行用户程序处理从FPGA处获取的事务数据;所述的ARM核心用于运行实时操作系统,完成所有的软件逻辑运算,以及任务调度、中断响应、资源管理和FPGA的配置与重配置工作。2.根据权利要求1所述的一种基于XilinxZynq的大规模PLC系统,其特征在于,所述的CPU核心电路运行实时操作系统,完成系统所有的软件控制工作,所述的FPGA核心电路作为一个硬件协处理单元存在,在FPGA核心电路上构建PCI Express根结点,CPU核心电路与FPGA核心电路通过AXI总线互联,CPU核心电路能够访问FPGA实时数据。3.根据权利要求1所述的一种基于XilinxZynq的大规模PLC系统,其特征在于,FPGA上面构建PCI Express根结点的接口标准为Gen2 x4,生成的IP核心在ARM启动时进行下载配置,配置完成后ARM上运行的实时Linux操作系统将通过FPGA采集10模块的数据,处理完成后通过10模块进行输出,10模块通过PCI Express总线接口与根结点进行连接。4.根据权利要求1所述的一种基于XilinxZynq的大规模PLC系统,其特征在于,PLC系统的CPU核心电路采用了双核ARM Cortex-A9处理器。5.根据权利要求1所述的一种基于XilinxZynq的大规模PLC系统,其特征在于,PLC系统背板总线支持动态通信协议,通过在操作系统上下载新的通信协议IP核来添加新的通信协议支持。
【专利摘要】本发明公开了一种基于Xilinx?Zynq技术的大规模PLC系统,包括FPGA核心电路、CPU核心电路、DDR内存,Flash存储器和FIFO。系统采用FPGA核心电路和CPU核心电路的双核设计,实现了两个并行处理单元通过AXI系统总线片上互联,使用硬件描述语言动态、自由的修改硬件电路的逻辑结构,且可由ARM处理器来控制FPGA单元的配置工作。FPGA单元中构建PCI?Express根结点控制器来与高速背板IO模块进行交互。数据的输入与输出和协议的实现均由FPGA硬件单元完成,有效地提高了PLC系统的工作效率,且运行灵活方便,能够较好的提升PLC系统的总体运行水平。
【IPC分类】G06F15/16, G05B19/05
【公开号】CN105260339
【申请号】CN201510504235
【发明人】徐德刚, 刘育峰, 龙良曲, 赵茂行, 谢攀, 蔡海明, 谢永芳, 阳春华, 桂卫华
【申请人】中南大学
【公开日】2016年1月20日
【申请日】2015年8月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1