一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于FPGA的Aurora总线数据交互系统及方法与流程

2023-01-16 22:22:19 来源:中国专利 TAG:

基于fpga的aurora总线数据交互系统及方法
技术领域
1.本发明涉及总线通信技术领域,具体是基于fpga的aurora总线数据交互系统及方法。


背景技术:

2.伴随通信行业快速发展,对于通信设备的要求不仅是性能要求高带宽、低延迟、高稳定,而且对于通信设备体积重量的优化需求也不断提高。传统的设备之间的交互用的网口、vxi、pxi等协议总线。无法适应通信设备集成化和高性能的要求。近年由美国mercury computer systems公司的计算密集型信号处理器系统开发的aurora总线技术,其不仅具备低延迟、高速、引脚少,而且还提供了相当丰富的扩展功能.(误码管理、流量控制等)。高性能将其用于芯片之间和模块之间的互连,并克服传统互连模式存在的局限性,在高性能嵌入式系统中得到认可。很多高性能fpga芯片也开发了aurora功能相相应功能的ip核,方便开发者应用。但是对于如何实现aurora交互的软件架构开发者所用的方法一般都是延用xilinx官方网站的ip核8b/10b和dma的套用。单一的功能实现的软件框架对于aurora应用范围日益广泛,导致应用存在局限性和狭窄的适用性。现有技术存在开发难度大、拓展性差、架构的灵活性差等问题。


技术实现要素:

3.为克服现有技术的不足,本发明提供了基于fpga的aurora总线数据交互系统及方法,解决现有技术存在的开发难度大、拓展性差、架构的灵活性差等问题。
4.本发明解决上述问题所采用的技术方案是:基于fpga的aurora总线数据交互系统,包括第一aurora交互模块、第二aurora交互模块、aurora总线,所述第一aurora交互模块包括相互通信连接的第一全可编程片上系统、第一aurora总线接口,所述第二aurora交互模块包括相互通信连接的第二全可编程片上系统、第二aurora总线接口,所述第一aurora总线接口与所述第二aurora总线接口通过所述aurora总线相互通信连接。
5.作为一种优选的技术方案,所述第一全可编程片上系统、所述第二全可编程片上系统均为zynq-7000系列芯片,所述第一全可编程片上系统、所述第二全可编程片上系统均包括相互通信连接的ps、pl。
6.作为一种优选的技术方案,ps与pl之间通过axi总线相互通信连接。
7.作为一种优选的技术方案,pl包括相互通信连接的bram、ip核、fifo,所述bram与所述ps相互通信连接,所述ip核用以接收第一aurora交互模块外或第二aurora交互模块外的数据,所述fifo用以向第一aurora交互模块或第二aurora交互模块发送数据。
8.作为一种优选的技术方案,bram用以:ip核接收数据时,接收经ip核传输来的ip数据并存储,然后将数据发送给ps。
9.作为一种优选的技术方案,bram还用以:fifo发送数据时,接收经ps传输来的数据
并存储,然后将数据发送给ip核。
10.作为一种优选的技术方案,所述ip核为aurora 8b/10b ip核。
11.基于fpga的aurora总线数据交互方法,使用所述的基于fpga的aurora总线数据交互系统,包括以下步骤:第一aurora交互模块或第二aurora交互模块接收数据包括以下步骤:j1,第一aurora总线接口或第二aurora总线接口接收数据并发送至ip核;j2,ip核根据ip核对应的设置接收数据进行编码处理然后发送至bram;j3,bram将ip数据存储;j4,ps将bram中的数据取出。
12.作为一种优选的技术方案,第一aurora交互模块或第二aurora交互模块发送数据包括以下步骤:f1,ps向bram发送数据;f2,bram接收由ps传输来的数据并发送至ip核;f3,ip核对数据进行编码处理然后发送至fifo;f4,fifo将数据通过第一aurora总线接口或第二aurora总线接口向外发送。
13.本发明相比于现有技术,具有以下有益效果:(1)本发明软件架构继承了aurora协议高带宽、低成本、可扩展、框架简洁的优势,并且保证了功能的稳定性和减少了开发的难度,极大提高了架构的拓展性和适用性;(2)本发明有效地实现了pl和ps的数据传递,也可以进行协议相关数据格式的有线转化,适用性更强;(3)本发明发送数据处理时,有效提高了发送数据处理时的架构的鲁棒性。
附图说明
14.图1为本发明所述的基于fpga的aurora总线数据交互系统的硬件整体框图;图2为所述的基于fpga的aurora总线数据交互系统的软件架构示意图;图3为采用本发明进行数据接收的流程图;图4为采用本发明进行数据发送的流程图。
具体实施方式
15.下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
16.实施例1如图1至图4所示,基于fpga的aurora总线数据交互系统,包括第一aurora交互模块、第二aurora交互模块、aurora总线,所述第一aurora交互模块包括相互通信连接的第一全可编程片上系统、第一aurora总线接口,所述第二aurora交互模块包括相互通信连接的第二全可编程片上系统、第二aurora总线接口,所述第一aurora总线接口与所述第二aurora总线接口通过所述aurora总线相互通信连接。
17.作为一种优选的技术方案,所述第一全可编程片上系统、所述第二全可编程片上系统均为zynq-7000系列芯片,所述第一全可编程片上系统、所述第二全可编程片上系统均
包括相互通信连接的ps、pl。
18.作为一种优选的技术方案,ps与pl之间通过axi总线相互通信连接。
19.作为一种优选的技术方案,pl包括相互通信连接的bram、ip核、fifo,所述bram与所述ps相互通信连接,所述ip核用以接收第一aurora交互模块外或第二aurora交互模块外的数据,所述fifo用以向第一aurora交互模块或第二aurora交互模块发送数据。
20.作为一种优选的技术方案,bram用以:ip核接收数据时,接收经ip核传输来的ip数据并存储,然后将数据发送给ps。
21.作为一种优选的技术方案,bram还用以:fifo发送数据时,接收经ps传输来的数据并存储,然后将数据发送给ip核。
22.作为一种优选的技术方案,所述ip核为aurora 8b/10b ip核。
23.通过以上所述的技术方案,创新地将aurora协议的驱动实现架构放置于zynq-7000芯片的pl中,其中zynq-7000芯片的pl中包含aurora 8b/10b ip,保证了功能的稳定性和减少了开发的难度。对于通过aurora协议交互获取的数据,数据的使用时常会根据需求进行修改,本发明软件架构将其置于zynq-7000的ps部分,ps部分开发环境应用便于调试的c、c 等易于修改调试的语言,极大提高了架构的拓展性和适用性。对于数据的处理在aurora 8b/10b 后设置bram进行与ps交互。该设计有效地实现了pl和ps的数据传递。设计bram也可以进行协议相关数据格式的有线转化,例如从aurora 8b/10b 的数据为16bit,传入ps部分需要进行8bit或者32bit转换,该架构适用性更强。
24.基于fpga的aurora总线数据交互方法,使用所述的基于fpga的aurora总线数据交互系统,包括以下步骤:第一aurora交互模块或第二aurora交互模块接收数据包括以下步骤:j1,第一aurora总线接口或第二aurora总线接口接收数据并发送至ip核;j2,ip核根据ip核对应的设置接收数据进行编码处理然后发送至bram;j3,bram将ip数据存储;j4,ps将bram中的数据取出。
25.作为一种优选的技术方案,第一aurora交互模块或第二aurora交互模块发送数据包括以下步骤:f1,ps向bram发送数据;f2,bram接收由ps传输来的数据并发送至ip核;f3,ip核对数据进行编码处理然后发送至fifo;f4,fifo将数据通过第一aurora总线接口或第二aurora总线接口向外发送。
26.对于发送数据处理,在aurora 8b/10b后设计fifo缓存,aurora协议进行的是高带宽数据处理,在其后设置fifo缓存,有效提高了架构的鲁棒性。
27.实施例2如图1至图4所示,作为实施例1的进一步优化,在实施例1的基础上,本实施例还包括以下技术特征:基于fpga的aurora总线数据交互系统硬件整体框图如图1。
28.本发明fpga选用xilinx系列的zynq-7000芯片,zynq-7000包含处理器系统(processing system,ps)和可编程逻辑器件(programmable logic,pl)组成如图1,ps部分
集成了arm cortex-a9双核,ps和pl之间的交互通过axi总线。
29.两个aurora交互模块数据之间的交互通过zynq-7000传输到aurora总线硬件模块(aurora总线硬件模块是具备向外通信传输的硬件部分,本实施例中采用aurora总线接口),aurora总线硬件模块通过aurora总线进行数据传输。
30.基于fpga的aurora总线数据交互系统是搭建在zynq-7000芯片进行开发,其架构图如图2。
31.aurora协议是一款高带宽、低成本、可扩展、框架简洁、适合点对点串行数据传输的协议。该协议适用于透明接口的串行协议,可以对数据进行任何分组封装,不仅可以保证芯片之间的高水平数据传输而且不需要改变已用的通信系统结构。xilinx公司在aurora协议和高速串行收发器aurora总线硬件接口上基础上开发出了ip核,通过ip核开发用户界面可以有效简化aurora总线控制的复杂度。本发明选用xilinx的zynq-7000,对于aurora总线交互的软件架构可以调用auroraip核,极大的提升了软件架构的可操作性。
32.本发明的软件架构从数据交互的接收和发送进行说明。
33.数据的接收流程如图3。
34.从硬件数据接口接收数据,数据根据aurora 8b/10b ip核对应设置传入ip核,依据相应数据交互协议设置bram,将ip数据存储到bram中,zynq-7000的ps将bram数据取出,将数据进行协议的处理。
35.数据的发送流程如图4。
36.zynq-7000的ps根据协议将数据存入bram,按照需求zynq-7000的pl部分将数据传入aurora 8b/10b ip核,经过aurora 8b/10b ip核处理后的数据传入fifo,最后从总线接口发出。
37.本发明实现aurora总线交互的软件架构构成的硬件以及软件方法,实现整个功能架构设计了一套独特的整体架构。
38.本发明具有特点:1、本发明软件架构继承了aurora协议高带宽、低成本、可扩展、框架简洁的优势,对于协议实现的交互架构并未套用xilinx官方网站的ip核8b/10b和dma的架构。而是创新地将aurora协议的驱动实现架构放置于zynq-7000芯片的pl中,其中zynq-7000芯片的pl中包含aurora 8b/10b ip,保证了功能的稳定性和减少了开发的难度。对于通过aurora协议交互获取的数据,数据的使用时常会根据需求进行修改,本发明软件架构将其置于zynq-7000的ps部分,ps部分开发环境应用便于调试的c、c 等易于修改调试的语言,极大提高了架构的拓展性和适用性。
39.2、对于数据的处理在aurora 8b/10b 后设置bram进行与ps交互。该设计有效地实现了pl和ps的数据传递。设计bram也可以进行协议相关数据格式的有线转化,例如从aurora 8b/10b 的数据为16bit,传入ps部分需要进行8bit或者32bit转换,该架构适用性更强。
40.3、对于发送数据处理,在aurora 8b/10b后设计fifo缓存,aurora协议进行的是高带宽数据处理,在其后设置fifo缓存,有效提高了架构的鲁棒性。
41.如上所述,可较好地实现本发明。
42.本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步
骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
43.以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献