一种基于ZYNQ的多节点SRIO通信设计方法及装置制造方法及图纸

技术编号:24497568 阅读:48 留言:0更新日期:2020-06-13 03:39
本发明专利技术公开了一种基于ZYNQ的多节点SRIO通信设计方法,包括:S1:PL处理response、request协议包得到数据的协议类型,并给出指示标志;S2:根据指示标志将用户接口数据进行分类缓存,将每一个完整帧放入缓存队列,并判断队列空间;S3:PS接收数据和发送数据;S4:PS在进行接收数据和发送数据操作的过程中,PL进行多节点数据处理得到不同的数据发送完成中断或接收完成中断并发送至PS,提供多种数据查询寄存器;S5:PS根据接收到的数据发送完成中断或接收完成中断读取相应的数据,在完成读取操作后清除中断,查询是否还有剩余指令执行,并返回S1;既满足多节点通信,又满足应用层的灵活性处理。

A design method and device of multi node sRIO communication based on zynq

【技术实现步骤摘要】
一种基于ZYNQ的多节点SRIO通信设计方法及装置
本专利技术涉及电子通信领域,具体涉及一种基于ZYNQ的多节点SRIO通信设计方法。
技术介绍
在高速AD领域需要进行高速ADC采集或高速GTX/GTH进行数据传输,且对SRIO通信、传输数据有需求,而DSP等器件无法满足ADC采集等需求,需要FPGA进行实现,但是现有基于FPGA的SRIO通信大多是单点进行通信或传输数据,而使用多节点进行通信或传输的FPGA又不能将传统的DSP的SRIO处理应用进行移植。FPGA提供的SerialRapidIOGen2IP核实现了应用层以下的协议,但是没有提供多节点控制应用,因此现在基于FPGA的SRIO通信受限于节点控制,常进行点对点通信、点对点数据传输,并且其多节点通信由于缺少DSP的灵活性而限制了应用层的应用。
技术实现思路
本专利技术所要解决的技术问题是在需要进行高速ADC采集或高速GTX/GTH进行数据传输,且对SRIO通信、传输数据有需求时基于FPGA的多节点通信缺乏灵活的问题,目的在于提供一种基于ZYNQ的多节点SRIO通信设计方法,解决上述问题。本专利技术通过下述技术方案实现:一种基于ZYNQ的多节点SRIO通信设计方法,包括:S1:PL处理response、request协议包得到数据的协议类型,并给出指示标志;S2:根据指示标志将用户接口数据进行分类缓存,将每一个完整帧放入缓存队列,并判断队列空间;S3:PS接收数据和发送数据;S4:PS在进行接收数据和发送数据操作的过程中,PL进行多节点数据处理得到不同的数据发送完成中断或接收完成中断并发送至PS,并向PS提供多种数据查询寄存器;S5:PS根据接收到的数据发送完成中断或接收完成中断读取相应的数据,在完成读取操作后清除中断,查询是否还有剩余指令执行,并返回S1。本专利技术利用ZYNQ的PL+PS架构,可实现多节点通信的优点进行通信设计,通过PL和PS进行不同类型协议的数据处理。进一步的,PS接收数据:将缓存数据发送至DMA外挂的FIFO,同时使用PL控制DMA控制器,将相关数据发送至PS的DDR3中。进一步的,PS发送数据:PL根据需要发送的数据取数的地址、长度进行控制DMA,将数据读取至PL的FIFO中,再发送。进一步的,所述PL处理response、request协议包得到数据的协议类型包括:Doorbell、Message和DIO,其中DIO包括Nwrite和Nread。进一步的,当队列空间存储渐满时给出数据满标志,并通过底层协议包反馈数据不能接收的包头,从而不再接收数据。在本专利技术中通过底层协议包反馈数据不能接收的包头,可以在不接收数据同时,防止链路故障掉线。进一步的,所述多种数据查询寄存器包括:源ID、Doorbell数据、Nwrite写入DDR3的地址、写入长度和邮箱号。在本专利技术中进行上述操作给出数据发送完成中断或接收完成中断至PS,提供数据查询寄存器,包括:源ID、Doorbell数据、Nwrite写入DDR3的地址、写入长度、邮箱号等等,流程如下:当接收到的是Response协议包时,不同的数据类型产生的中断信息和提供的数据查询寄存器包括:Doorbell数据:给PS外部中断,同时提供数据查询寄存器,所述数据查询寄存器包括源ID、Doorbell数据;DIO的Nwrite数据:读取Nwrite写地址,将数据发送至DMA外挂FIFO,使用PL控制DMA控制器给出写长度、写地址将数据发送至PS的DDR3,给出外部中断,同时提供数据查询寄存器,所述数据查询寄存器包括源ID、Nwrite写入DDR3的地址、长度;当完成一个ID数据的完整包解析即将数据进行队列缓存时,将缓存队列数据发送至DMA外挂的FIFO,使用PL控制DMA控制器给出写长度、写地址将数据发送至PS的DDR3,给出外部中断,同时提供数据查询寄存器,所述数据查询寄存器包括源ID、Nwrite写入DDR3的地址、长度;其中,ID数据的完整包解析得到的数据包含源ID、数据长度、Nwrite写入DDR3的地址段;DIO的Nread数据:读取Nread读取的地址,使用PL控制DMA控制器,给出读取长度、地址,将PS的DDR3的相关数据发送至PL的FIFO中,再将数据发送出去;Message数据:PS分配N个地址段用于缓存不同节点的Message数据;根据指示标志,识别Message的ID号,然后根据ID号将数据进行不同ID类别的缓存,根据msg_len与msg_seg判断最后一个字节数据;当完成一个ID数据的完整包解析即将数据进行队列缓存时,将缓存队列数据发送至DMA外挂的FIFO,使用PL控制DMA控制器,给出写长度、写地址将数据发送至PS的DDR3,给出外部中断,同时提供数据查询寄存器,包括源ID、Message写入DDR3的地址、长度、邮箱号;其中,ID数据的完整包解析得到的数据包含源ID、邮箱号、数据长度、PS分配的地址段。当接收到的是Request协议包时,不同的数据类型产生的中断信息和提供的数据查询寄存器包括:Doorbell数据:PL提供doorbell数据寄存器,对端ID寄存器,发送使能寄存器,发送完成寄存器;PS先将数据、ID存入PL寄存器,给出发送使能,然后检测完成标志;DIO的Nwrite数据:PL提供Nwrite的本地取数据地址、对端的存储地址、对端ID、发送数据长度、使能、完成标志寄存器;PS先将地址、数据、ID存入PL寄存器,给出发送使能,然后检测完成标志;DIO的Nread数据:PL提供Nread的对端取数据地址、本地的存储地址、对端ID、读取数据长度、使能、完成标志寄存器;PS先将地址、数据、ID存入PL寄存器,给出读取使能;PL根据读取使能发出请求数据包,将回传数据缓存,同时将Response相关数据进行缓存队列缓存;完成完整包解析即将数据进行队列缓存,包含源ID、数据长度、本地的存储地址;将缓存队列数据发送至DMA外挂的FIFO,使用PL控制DMA控制器,给出写长度、写地址将数据发送至PS的DDR3,给出外部中断,同时提供数据查询寄存器,包括源ID、本地的存储地址、长度;Message数据:PL提供Message数据的本地取数据地址、对端ID、邮箱号、发送数据长度、使能、完成标志寄存器;PS先将邮箱号、数据、ID存入PL寄存器,给出发送使能,然后检测完成标志。进一步的,所述PS接收数据的类型包括:PL被动接收Nwrite、PL被动接收Message和PS主动调用Nread。进一步,所述PS发送数据的类型包括:PL被动发送Nread、PS主动调用Message和PS主动调用Nwrite。在本专利技术中所述PS接收数据,PL多节点数据处理流程包括:当接收数据的类型为PL被动接收Nwrite时,进行Nwrite帧头本文档来自技高网...

【技术保护点】
1.一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,包括:/nS1:PL处理response、request协议包得到数据的协议类型,并给出指示标志;/nS2:根据指示标志将用户接口数据进行分类缓存,将每一个完整帧放入缓存队列,并判断队列空间;/nS3:PS接收数据和发送数据;/nS4:PS在进行接收数据和发送数据操作的过程中,PL进行多节点数据处理得到不同的数据发送完成中断或接收完成中断并发送至PS,并向PS提供多种数据查询寄存器;/nS5:PS根据接收到的数据发送完成中断或接收完成中断读取相应的数据,在完成读取操作后清除中断,查询是否还有剩余指令执行,并返回S1。/n

【技术特征摘要】
1.一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,包括:
S1:PL处理response、request协议包得到数据的协议类型,并给出指示标志;
S2:根据指示标志将用户接口数据进行分类缓存,将每一个完整帧放入缓存队列,并判断队列空间;
S3:PS接收数据和发送数据;
S4:PS在进行接收数据和发送数据操作的过程中,PL进行多节点数据处理得到不同的数据发送完成中断或接收完成中断并发送至PS,并向PS提供多种数据查询寄存器;
S5:PS根据接收到的数据发送完成中断或接收完成中断读取相应的数据,在完成读取操作后清除中断,查询是否还有剩余指令执行,并返回S1。


2.根据权利要求1所述的一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,PS接收数据:将缓存数据发送至DMA外挂的FIFO,同时使用PL控制DMA控制器,将相关数据发送至PS的DDR3中。


3.根据权利要求1所述的一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,PS发送数据:PL根据需要发送的数据取数的地址、长度进行控制DMA,将数据读取至PL的FIFO中,再发送。


4.根据权利要求1所述的一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,所述PL处理response、request协议包得到数据的协议类型包括:Doorbell、Message和DIO,其中DIO包括Nwrite和Nread。


5.根据权利要求1所述的一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,当队列空间存储渐满时给出数据满标志,并通过底层协议包反馈数据不能接收的包头,从而不再接收数据。


6.根据权利要求1所述的一种基于ZYNQ的多节点SRIO通信设计方法,其特征在于,所述多种数据查询寄存器包括:源ID、...

【专利技术属性】
技术研发人员:陈晓红李建军
申请(专利权)人:四川鸿创电子科技有限公司
类型:发明
国别省市:四川;51

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

1