基于ZYNQ的POWERLINK双网络系统的制作方法

文档序号:12494529阅读:5256来源:国知局
基于ZYNQ的POWERLINK双网络系统的制作方法与工艺

本发明涉及一种工业以太网系统,更具体地说,涉及一种基于ZYNQ的POWERLINK双网络系统。



背景技术:

POWERLINK是一种实时工业以太网,经Ethernet Powerlink标准化组织(Ethernet Powerlink Standardization Group,EPSG)认可的工业以太网。POWERLINK是一个幵源协议栈与传统分成7层网络层的以太网协议不同,POWERLINK定义了一个有物理层(标准以太网)、数据链路层(DLL)和应用层(CANopen)三层的通信网络协议。该以太网具有严格的实时性和安全性,并己投入各种工业以太网的应用中。

ZYNQ是赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列,旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能。

目前常用的POWERLINK方案有两种:基于MCU/CPU的C语言方案和基于ZYNQ的Verilog HDL方案:

1、MCU/CPU中运行POWERLINK开源程序实现软件协议栈加MAC芯片和PHY芯片的物理层建立POWERLINK网络。

2、另一种是基于ZYNQ的实现方式,POWERLINK开源程序是一种基于C语言的程序,需在ZYNQ内部增加一个软核处理器(如Nios或Microblaze)实现C代码加上POWERLINK IP和PHY芯片实现物理层。

第一种方法依赖于应用处理器CPU的运行速度,第二种方法可以通过硬件逻辑语言加速MAC层,可以在ZYNQ中集成HUB和双口RAM。相比于第一种方法,第二种方法运行速度更快,整体结构也更简洁。

随着现代工业往自动化智能控制领域发展,工业自动化系统向分布化、智能化控制发展,各种控制器与数据采集器也逐步走向网络化,以太网拓扑结构也变得更为复杂,部分设备需同时收发两组网络的数据并根据实际需求完成内部数据交互或者将数据传送至外部处理器进行数据处理。

现阶段POWERLINK网络的使用基本上都是在单片ZYNQ上实现单网络而且尚未实现将POWERLINK两组网络数据在单个芯片内实现内部交互,此外现有技术基于ZYNQ的POWERLINK网络均为单网络。



技术实现要素:

本发明的目的是提供一种基于ZYNQ的POWERLINK双网络系统,在POWERLINK两组网络数据在单个ZYNQ芯片内实现内部交互,填补现有技术的空白。

为实现上述目的,本发明采用如下技术方案:

一种基于ZYNQ的POWERLINK双网络系统,ZYNQ系统包括第一POWERLINK模块、第二POWERLINK模块。其中,第一POWERLINK模块和第二POWERLINK模块分别连接至ZYNQ系统的数据总线,数据总线与ZYNQ系统的共享内存相连接。第一POWERLINK模块包括第一RAM,第二POWERLINK模块包括第二RAM,第一RAM和第二RAM分别存储网络数据,在ZYNQ系统进行双网络数据交换时,第一RAM将网络数据存储至共享RAM,且第二RAM从共享RAM中读取第一RAM存储的网络数据。

进一步地,第一POWERLINK模块连接第一以太网模块,第二POWERLINK模块连接第二以太网模块,且第一、第二以太网模块均采用PHY工作模式。

进一步地,ZYNQ系统连接DDR存储器,DDR存储器作为第一、第二POWERLINK模块的外部内存。

进一步地,ZYNQ系统NAND-FLASH存储器,NAND-FLASH存储器存储第一、第二POWERLINK模块的程序和文件。

进一步地,第一POWERLINK模块通过第一软件内核与数据总线相连接。

进一步地,第二POWERLINK模块通过第二软件内核与数据总线相连接。

在上述技术方案中,本发明能够实现单个设备在两组网络中使用同时收发网络数据,并且可以将两组网络数据在设备内部交互或者传送至其他外部处理器中进行数据处理的目的。

附图说明

图1是本发明的系统模块示意图;

图2是本发明的双MicroBlaze系统结构图;

图3是本发明的POWERLINK IP和MicroBlaze连接的模块示意图;

图4是本发明的双口RAM数据传输图。

具体实施方式

下面结合附图和实施例进一步说明本发明的技术方案。

参照图1,本发明公开一种基于ZYNQ的POWERLINK双网络系统,其主要包括POWERLINK软件系统、基于ZYNQ的硬件系统和ZYNQ内部例化的双口RAM 11。POWERLINK软件系统分为POWERLINK IP和POWERLINK软件程序,ZYNQ硬件系统包括ZYNQ处理器、时钟模块3、下载模块、供电模块6、以太网模块、存储器和拨码开关7。POWERLINK软件平台运行在ZYNQ内建立的Microblaze软核上,实现POWERLINK双协议栈。

具体来说,本发明在ZYNQ系统1内设置第一POWERLINK模块15、第二POWERLINK模块16,第一POWERLINK模块15和第二POWERLINK模块16分别连接至ZYNQ系统1的数据总线(即AXI总线12),数据总线与ZYNQ系统1的共享内存(即双口RAM 11)相连接。POWERLINK软件系统与双口RAM 11之间通过AXI总线12进过数据传输,可实现大数据量实时传输。第一POWERLINK模块15连接第一以太网模块,第二POWERLINK模块16连接第二以太网模块,且第一、第二以太网模块均采用PHY工作模式。第一POWERLINK模块15通过第一软件内核13(即Microblaze_1)与数据总线相连接,第二POWERLINK模块16通过第二软件内核14(即Microblaze_2)与数据总线相连接。

第一POWERLINK模块15包括第一RAM,第二POWERLINK模块16包括第二RAM,ZYNQ系统1连接DDR存储器,DDR存储器作为第一、第二POWERLINK模块16的外部内存。第一RAM和第二RAM分别存储网络数据,在ZYNQ系统1进行双网络数据交换时,第一RAM将网络数据存储至共享RAM,且第二RAM从共享RAM中读取第一RAM存储的网络数据。

此外,ZYNQ硬件系统外设包括NAND-FLASH存储器5和拨码开关7(Node ID Switch)。ZYNQ系统1NAND-FLASH存储器5,NAND-FLASH存储器5存储第一、第二POWERLINK模块16的程序和文件。

本发明在ZYNQ嵌入式处理器中建立两个Microblaze软核,核间采用AXI总线12进行通讯,将POWERLINK IP挂在AXI总线12上形成POWERLINK软件系统。软件系统配置通过JTAG 8下载至硬件系统中形成双网络。通过更改POWERLINK网络节点号可在单片ZYNQ上实现主站与主站、主站与从站、从站与从站三种组合。同时在ZYNQ内例化双口RAM11分别实时存储两组网络数据且在双口RAM 11开辟一块共享内存用于两组数据完成交互。本系统有优化网络结构、减少网络节点、使用多样性和降低成本等优点。

继续参照图1,第一、第二以太网模块均由PHY芯片21、22和RJ45端口23、24组成,为了优化以太网模块采用IO接口较少的RMII(Reduced Medium Idependent Interface)模式作为PHY的工作模式,每个网口均提供通讯与watchdog状态指示LED。

在XPS软件中设置硬件参数实现POWERLINK双网络,在嵌入式处理器中选择AXI System模式然后选择Dual MicroBlaze Processor Syetem,这样便建立了双MicroBlaze软核。如图2所示,软核间采用AXI总线12作为系统的通讯结构,axi2axi_连接器实现AXIlite总线上的slave共享,两个MicroBlaze核之间协同处理共享slave。总线上挂上处理器通讯模块Mailbox和处理器同步模块Mutex。两个MicroBlaze各自有一个BRAM用来储存处理器私有的指令和数据。

如图3所示,本发明将两个POWERLINK IP核的数据和寄存器引脚S_AXI_MAC_PKT和S_AXI_MAC_REG以及两个MicroBlaze软核数据端口M_AXI_DP共同连至ZYQN内部axi2axi_连接器上。POWERLINK IP中包含物理层HUB和MAC。不同的IP核包含POWERLINK不同的组网模式,组网模式主要有环形、星形和菊花链形等。

POWERLINK IP核通过DMA(直接访问内存)模式将网络数据包(PKT)及寄存器数据(REG)上传至axi2axi_连接器;axi2axi_连接器用于连接一个主AXI互联模块与一个从AXI互联模块,直接连接所有主从模块接口信号其中不包含任何逻辑;axi2axi_连接器连至Microblaze数据接口(M_AXI_DP)上传网络数据;Microblaze有中断(IRQ)信号接口可以用来控制两个Microblaze工作,Microblaze指令缓存(M_AXI_IC)接口和数据缓存(M_AXI_DC)接口由PS(processing system)端控制。

设置完XPS中的MicroBlaze、Bram和AXI总线12后将硬件设计导出至SDK软件中,在SDK中导入POWERLINK开源程序,在软件中可以设置POWERLINK的周期、节点号和对象字典等。POWERLINK网络IP地址最后三位为POWERLINK节点号,因此设置时节点号不能重复。根据节点号可将POWERLINK程序分主站程序和从站程序,在实际运用中可组合主站与主站、主站与从站、从站与从站三种模式通过JATG下载至硬件系统中。在程序和硬件平台之间需要建立BSP(Board Support Package)使软件能更好地运行于硬件主板。

POWERLINK协议通过内部AXI高速总线对双口RAM 11进行数据的读写,双口RAM 11配备两套独立的地址、数据和控制线,允许两个独立的POWERLINK协议同时异步的访问存储器。双口RAM 11能提高RAM的吞吐率,适用于POWERLINK这种实时以太网的数据缓存。

POWERLINK为实时以太网数据传输速度达到微秒级,为了能实时存储数据双口RAM 11采用乒乓操工作模式。先把数据缓存在第一块RAM中,经过POWERLINK一个周期后即POWERLINK发出SOC数据帧时,数据开始缓存在第二块RAM中,同时外部处理器读取第一块RAM数据,按此方式反复操作双口RAM 11。每块RAM存储一个周期的POWERLINK数据,确保POWRLINK数据不丢失。同时,为了实现在单片ZYNQ芯片上实现两个网络的数据交互,在双口RAM 11上开辟一块共享内存储存RAM上传的数据,上传完成后将标志位置1,另一块RAM从该内存地址中去读取数据,反复操作完成数据交互过程。如不需要数据交互只需要修改双口RAM 11数据传输的地址就能将两块RAM中数据上传至外部理器中进行数据处理。

具体来说,如图4所示,本发明的详细交互流程为:

S1:初始化。

S2:第一、第二POWERLINK网络启动。

S3:第一RAM、第二RAM分别存储网络数据。

S4:第一、第二POWERLINK网络数据是否需要交互?若否,转S5,若是,转S6。

S5:将存储的RAM数据传输至外部处理器。

S6:将第一RAM中的数据保存至共享RAM中。

S7:标志位是否置1?若否,转S8,若是,则进入S9。

S8:等待一段时间,并返回S6。

S9:第二RAM分从共享RAM中读取数据。

本发明的软件系统配置下载至硬件系统中形成双网络。通过更改POWERLINK网络节点号可在单片ZYNQ上实现主站与主站、主站与从站、从站与从站三种组合。同时在ZYNQ内例化双口RAM 11分别实时存储两组网络数据且在双口RAM 11开辟一块共享内存用于两组数据完成交互。本系统有优化网络结构、减少网络节点、使用多样性和降低成本等优点。

本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1