一种基于ZYNQ平台软核的SRIO控制方法技术

技术编号:18114041 阅读:33 留言:0更新日期:2018-06-03 07:48
本发明专利技术公开了一种基于ZYNQ平台软核的SRIO控制方法,其中,包括:PS处理系统发起主动写传输以及SRIO总线发起从动写传输的方法,PS处理系统发起主动写传输包括:步骤1,准备好主动传输请求的参数;步骤2,主动请求发现新请求;步骤3,根据请求参数中的地址和长度进行数据包拆分,开始一个数据包的传输;步骤4,为数据包生成HELLO格式头部,并通知开始包传输;步骤5,将HELLO格式头部写入SRIO Gen2 IP核,控制MM2S总线时序,配合完成数据传输;步骤6,开始将数据从DDR存储器传输;步骤7,完成数据包到SRIO总线的发送;步骤8,通过中断通知当前数据包完成;步骤9,中断处理子模块接收到中断,通知启动下一个数据包的传输,重新进入步骤3,直至所有该次主动传输请求中的所有数据包传输完毕。

【技术实现步骤摘要】
一种基于ZYNQ平台软核的SRIO控制方法
本专利技术涉及电路涉及
,特别涉及一种基于ZYNQ平台软核的SRIO控制方法。
技术介绍
Xilinx公司的ZYNQ平台是一款可扩展处理平台,芯片集成了用于软件控制的处理器系统部分(PS)和用于硬件IP设计的可编程逻辑部分(PL),与传统的微处理器平台相比,ZYNQ平台具有强大的并行处理能力和丰富的外围接口,与可编程数字电路相比,它具有良好的浮点计算能力和控制处理能力。ZYNQ平台的PL部分拥有丰富IP资源,用户可以基于其IP进逻辑设计的扩展,SerialRapidIOGen2是用于SRIO总线开发的一个逻辑IP核,它可以实现AXI4_Stream接口和SRIO物理层接口的转换,从而实现高吞吐量的数据传输。使用ZYNQ平台实现符合RapidIO标准的SRIO控制器需要完成的工作有RapidIO数据流控制、逻辑层控制和传输层控制。目前的实现主要有两种方案:一是在ZYNQ的PL部分实现SRIO控制器,完成;二是在ZYNQ的PS部分实现SRIO控制器,完成RapidIO数据流控制、逻辑层控制和传输层控制。在方案一中,PS部分仅需要进行简单的寄存器操作即可以发起数据传输,但PL部分代码层次多且复杂性高,使得调试难度大,开发周期长;在方案二中,PL部分仅需要完成SerialRapidIOGen2到PS之间的数据流连接,PS部分完成数据流控制、逻辑层控制和传输层控制,软件实现和调试容易且开发周期短,但是会大量占用PS部分处理能力和中断信号,造成PS部分软件运行效率较低。ZYNQ平台的PL部分的逻辑资源十分丰富,并且支持生成可定制的MicroBlaze(MB)软核处理器,当软核处理器运行在150MHZ时钟下,可达到125DMIPS的性能,非常适合于网络、数据通信和消费市场等较为复杂的嵌入式系统设计。
技术实现思路
本专利技术的目的在于提供一种基于ZYNQ平台软核的SRIO控制方法,用于解决上述现有技术的问题。本专利技术一种基于ZYNQ平台软核的SRIO控制方法,其中,包括:PS处理系统发起主动写传输,包括:步骤1,准备好主动传输请求的参数;步骤2,主动请求发现新请求;步骤3,根据请求参数中的地址和长度进行数据包拆分,开始一个数据包的传输;步骤4,为数据包生成HELLO格式头部,并通知开始包传输;步骤5,将HELLO格式头部写入SRIOGen2IP核,控制MM2S总线时序,配合完成数据传输;步骤6,开始将数据从DDR存储器传输;步骤7,完成数据包到SRIO总线的发送;步骤8,通过中断通知当前数据包完成;步骤9,中断处理子模块接收到中断,通知启动下一个数据包的传输,重新进入步骤3,直至所有该次主动传输请求中的所有数据包传输完毕;SRIO总线发起从动写传输的方法,包括:步骤1,收到SRIO总线事务;步骤2,监测到有新的从动传输请求,通知控制S2MM总线时序,配合完成数据传输;步骤3,从SRIOGen2IP核中提取HELLO格式头部,并发出中断;步骤4,接收到中断后,进行处理从动传输请求;步骤5,发现新的请求,并读取HELLO格式头部;步骤6,根据HELLO格式头部解出从动传输请求的参数;步骤7,开始将数据传输至DDR存储器;步骤8,完成HELLO格式数据包的接收。本专利技术的基于ZYNQ平台软核的SRIO控制方法,在ZYNQ平台下,通过PL资源生成MicroBlaze软核,通过PS、PL和软件核实现SRIO控制器。本专利技术通过在ZYNQ平台PL内部实现MicroBlaze(MB)软核处理器,并将上述方案中数据流控制、逻辑层控制和传输层控制的工作放到软核中来完成,解决了方案一中调试难度大、开发周期长和方案二中PS部分软件运行效率较低的难题,非常适用于在ZYNQ平台下实现SRIO控制器。使用PL可编程逻辑资源生成MB软核处理器,通过软件代码和逻辑代码的配合,实现SRIO的主动传输和从动传输两种传输方式。附图说明图1所示为本控制器的整体模块结构示意图;图2所示为SRIO传输控制模块示意图;图3所示为SRIO数据收发模块示意图;图4所示为主动传输控制模块示意图;图5所示为从动传输控制模块示意图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术基于ZYNQ平台软核的SRIO控制器的模块示意图,如图1所示,基于ZYNQ平台软核的SRIO控制器包括:DDR存储器1,用于存储SRIO传输的数据;PS处理系统2,用于运行应用软件,能够提效SRIO主动传输请求;PL可编程逻辑模块,提供丰富的可编程逻辑资源,用于生成MB软核处理器和实现控制逻辑;PS处理系统分别与DDR存储器1和PL可编程逻辑模块相连。如图1所示,PL可编程逻辑模块包括:SRIO传输控制模块6,处理PS处理系统提交的主动传输请求和SRIO数据收发模块8提交的从动传输请求。SRIO数据收发模块,监视SRIO总线上的从动传输请求和SRIO传输控制模块6下发的主动传输请求,完成SRIO总线数据传输。AXI互联1模块,用于将PL可编程逻辑内部与PS处理系统进行总线互联,其中,AXI互联1模块包括:AX互联1-1模块3,用于连接SRIO传输控制模块6与PS处理系统2的HP0端口连接,可以提供高性能的从DDR存储器1到SRIO传输控制模块6的MM2S数据流;AX互联1-2模块4,用于连接SRIO传输控制模块6与PS处理系统2的HP1端口连接,可以提供高性能的从SRIO传输控制模块6到DDR存储器1的S2MM数据流;AX互联1-3模块5,用于连接SRIO传输控制模块6与PS处理系统2的GP0端口连接,通过该模块PS处理系统2应用软件可以向SRIO传输控制模块6提交主动传输请求、查看传输完成状态;AX互联1-4模块7,用于连接SRIO传输控制模块6与SRIO数据收发模块8连接,通过该模块SRIO传输控制模块6可以控制SRIO数据收发模块8的数据传输。图2所示为SRIO传输控制模块示意图,图3所示为SRIO数据收发模块示意图,如图2以及图3所示,一种基于ZYNQ平台软核的SRIO控制方器,使用PL可编程逻辑的资源生成MicroBlaze(MB)软核处理器,用于实现存储器和SRIO总线之间的传输控制。图4所示为主动传输控制模块示意图,如图2以及图4所示,SRIO传输控制模块6的功能由MB软核处理器运行C语言软件代码实现,包括:主动传输控制模块61,处理PS处理系统发起的SRIO事务,包括:主动请求监视单元601,用于监视PS处理系统写入寄存器的值,并将正确的主动传输请求(包含事务类型、设备号、地址、长度等)发送给数据包拆分单元602;数据包拆分单元602,根据主动传输请求的地址和长度,按照SRIO标准将数据源拆分成多个子数据包,并监视子数据包完成的状态;HELLO格式生成单元603,将子数据包封装成HELLO格式包头和数据体,并通知SRIO数据收发模块8和DMA命令/状态控制模块64开始数据传输。图5所示为从动传输控制模块示意图,如图2以及图5所示,从动传输控制模块63,处理SRIO数据收发模块接8收到的从动传输请求,包括:从动请求监视单元61,监视并处理SRIO数据收发模本文档来自技高网
...
一种基于ZYNQ平台软核的SRIO控制方法

【技术保护点】
一种基于ZYNQ平台软核的SRIO控制方法,其特征在于,包括:PS处理系统发起主动写传输,包括:步骤1,准备好主动传输请求的参数;步骤2,主动请求发现新请求;步骤3,根据请求参数中的地址和长度进行数据包拆分,开始一个数据包的传输;步骤4,为数据包生成HELLO格式头部,并通知开始包传输;步骤5,将HELLO格式头部写入SRIO Gen2 IP核,控制MM2S总线时序,配合完成数据传输;步骤6,开始将数据从DDR存储器传输;步骤7,完成数据包到SRIO总线的发送;步骤8,通过中断通知当前数据包完成;步骤9,中断处理子模块接收到中断,通知启动下一个数据包的传输,重新进入步骤3,直至所有该次主动传输请求中的所有数据包传输完毕;SRIO总线发起从动写传输的方法,包括:步骤1,收到SRIO总线事务;步骤2,监测到有新的从动传输请求,通知控制S2MM总线时序,配合完成数据传输;步骤3,从SRIO Gen2 IP核中提取HELLO格式头部,并发出中断;步骤4,接收到中断后,进行处理从动传输请求;步骤5,发现新的请求,并读取HELLO格式头部;步骤6,根据HELLO格式头部解出从动传输请求的参数;步骤7,开始将数据传输至DDR存储器;步骤8,完成HELLO格式数据包的接收。...

【技术特征摘要】
1.一种基于ZYNQ平台软核的SRIO控制方法,其特征在于,包括:PS处理系统发起主动写传输,包括:步骤1,准备好主动传输请求的参数;步骤2,主动请求发现新请求;步骤3,根据请求参数中的地址和长度进行数据包拆分,开始一个数据包的传输;步骤4,为数据包生成HELLO格式头部,并通知开始包传输;步骤5,将HELLO格式头部写入SRIOGen2IP核,控制MM2S总线时序,配合完成数据传输;步骤6,开始将数据从DDR存储器传输;步骤7,完成数据包到SRIO总线的发送;步骤8,通过中断通知当前数据包完成;步骤9,中断处理子模块接收到中断...

【专利技术属性】
技术研发人员:朱薛洋金艳
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1