CN115543908B - 基于FPGA的Aurora总线数据交互系统 - Google Patents
基于FPGA的Aurora总线数据交互系统 Download PDFInfo
- Publication number
- CN115543908B CN115543908B CN202211496974.4A CN202211496974A CN115543908B CN 115543908 B CN115543908 B CN 115543908B CN 202211496974 A CN202211496974 A CN 202211496974A CN 115543908 B CN115543908 B CN 115543908B
- Authority
- CN
- China
- Prior art keywords
- aurora
- data
- core
- interaction module
- bram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
Abstract
本发明涉及总线通信技术领域,公开了基于FPGA的Aurora总线数据交互系统,该交互系统,包括第一Aurora交互模块、第二Aurora交互模块、Aurora总线,所述第一Aurora交互模块包括相互通信连接的第一全可编程片上系统、第一Aurora总线接口,所述第二Aurora交互模块包括相互通信连接的第二全可编程片上系统、第二Aurora总线接口,所述第一Aurora总线接口与所述第二Aurora总线接口通过所述Aurora总线相互通信连接。本发明解决了现有技术存在的开发难度大、拓展性差、架构的灵活性差等问题。
Description
技术领域
本发明涉及总线通信技术领域,具体是基于FPGA的Aurora总线数据交互系统。
背景技术
伴随通信行业快速发展,对于通信设备的要求不仅是性能要求高带宽、低延迟、高稳定,而且对于通信设备体积重量的优化需求也不断提高。传统的设备之间的交互用的网口、VXI、PXI等协议总线。无法适应通信设备集成化和高性能的要求。近年由美国MercuryComputer Systems公司的计算密集型信号处理器系统开发的Aurora总线技术,其不仅具备低延迟、高速、引脚少,而且还提供了相当丰富的扩展功能.(误码管理、流量控制等)。高性能将其用于芯片之间和模块之间的互连,并克服传统互连模式存在的局限性,在高性能嵌入式系统中得到认可。很多高性能FPGA芯片也开发了Aurora功能相相应功能的ip核,方便开发者应用。但是对于如何实现Aurora交互的软件架构开发者所用的方法一般都是延用Xilinx官方网站的ip核8b/10b和DMA的套用。单一的功能实现的软件框架对于Aurora应用范围日益广泛,导致应用存在局限性和狭窄的适用性。现有技术存在开发难度大、拓展性差、架构的灵活性差等问题。
发明内容
为克服现有技术的不足,本发明提供了基于FPGA的Aurora总线数据交互系统,解决现有技术存在的开发难度大、拓展性差、架构的灵活性差等问题。
本发明解决上述问题所采用的技术方案是:
基于FPGA的Aurora总线数据交互系统,包括第一Aurora交互模块、第二Aurora交互模块、Aurora总线,所述第一Aurora交互模块包括相互通信连接的第一全可编程片上系统、第一Aurora总线接口,所述第二Aurora交互模块包括相互通信连接的第二全可编程片上系统、第二Aurora总线接口,所述第一Aurora总线接口与所述第二Aurora总线接口通过所述Aurora总线相互通信连接。
作为一种优选的技术方案,所述第一全可编程片上系统、所述第二全可编程片上系统均为ZYNQ-7000系列芯片,所述第一全可编程片上系统、所述第二全可编程片上系统均包括相互通信连接的PS、PL。
作为一种优选的技术方案,PS与PL之间通过AXI总线相互通信连接。
作为一种优选的技术方案,PL包括相互通信连接的BRAM、ip核、FIFO,所述BRAM与所述PS相互通信连接,所述ip核用以接收第一Aurora交互模块外或第二Aurora交互模块外的数据,所述FIFO用以向第一Aurora交互模块或第二Aurora交互模块发送数据。
作为一种优选的技术方案,BRAM用以:ip核接收数据时,接收经ip核传输来的ip数据并存储,然后将数据发送给PS。
作为一种优选的技术方案,BRAM还用以:FIFO发送数据时,接收经PS传输来的数据并存储,然后将数据发送给ip核。
作为一种优选的技术方案,所述ip核为Aurora 8B/10B ip核。
基于FPGA的Aurora总线数据交互方法,使用所述的基于FPGA的Aurora总线数据交互系统,包括以下步骤:第一Aurora交互模块或第二Aurora交互模块接收数据包括以下步骤:
J1,第一Aurora总线接口或第二Aurora总线接口接收数据并发送至ip核;
J2,ip核根据ip核对应的设置接收数据进行编码处理然后发送至BRAM;
J3,BRAM将ip数据存储;
J4,PS将BRAM中的数据取出。
作为一种优选的技术方案,第一Aurora交互模块或第二Aurora交互模块发送数据包括以下步骤:
F1,PS向BRAM发送数据;
F2,BRAM接收由PS传输来的数据并发送至ip核;
F3,ip核对数据进行编码处理然后发送至FIFO;
F4,FIFO将数据通过第一Aurora总线接口或第二Aurora总线接口向外发送。
本发明相比于现有技术,具有以下有益效果:
(1)本发明软件架构继承了Aurora协议高带宽、低成本、可扩展、框架简洁的优势,并且保证了功能的稳定性和减少了开发的难度,极大提高了架构的拓展性和适用性;
(2)本发明有效地实现了PL和PS的数据传递,也可以进行协议相关数据格式的有线转化,适用性更强;
(3)本发明发送数据处理时,有效提高了发送数据处理时的架构的鲁棒性。
附图说明
图1为本发明所述的基于FPGA的Aurora总线数据交互系统的硬件整体框图;
图2为所述的基于FPGA的Aurora总线数据交互系统的软件架构示意图;
图3为采用本发明进行数据接收的流程图;
图4为采用本发明进行数据发送的流程图。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图4所示,基于FPGA的Aurora总线数据交互系统,包括第一Aurora交互模块、第二Aurora交互模块、Aurora总线,所述第一Aurora交互模块包括相互通信连接的第一全可编程片上系统、第一Aurora总线接口,所述第二Aurora交互模块包括相互通信连接的第二全可编程片上系统、第二Aurora总线接口,所述第一Aurora总线接口与所述第二Aurora总线接口通过所述Aurora总线相互通信连接。
作为一种优选的技术方案,所述第一全可编程片上系统、所述第二全可编程片上系统均为ZYNQ-7000系列芯片,所述第一全可编程片上系统、所述第二全可编程片上系统均包括相互通信连接的PS、PL。
作为一种优选的技术方案,PS与PL之间通过AXI总线相互通信连接。
作为一种优选的技术方案,PL包括相互通信连接的BRAM、ip核、FIFO,所述BRAM与所述PS相互通信连接,所述ip核用以接收第一Aurora交互模块外或第二Aurora交互模块外的数据,所述FIFO用以向第一Aurora交互模块或第二Aurora交互模块发送数据。
作为一种优选的技术方案,BRAM用以:ip核接收数据时,接收经ip核传输来的ip数据并存储,然后将数据发送给PS。
作为一种优选的技术方案,BRAM还用以:FIFO发送数据时,接收经PS传输来的数据并存储,然后将数据发送给ip核。
作为一种优选的技术方案,所述ip核为Aurora 8B/10B ip核。
通过以上所述的技术方案,创新地将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转换,该架构适用性更强。
基于FPGA的Aurora总线数据交互方法,使用所述的基于FPGA的Aurora总线数据交互系统,包括以下步骤:第一Aurora交互模块或第二Aurora交互模块接收数据包括以下步骤:
J1,第一Aurora总线接口或第二Aurora总线接口接收数据并发送至ip核;
J2,ip核根据ip核对应的设置接收数据进行编码处理然后发送至BRAM;
J3,BRAM将ip数据存储;
J4,PS将BRAM中的数据取出。
作为一种优选的技术方案,第一Aurora交互模块或第二Aurora交互模块发送数据包括以下步骤:
F1,PS向BRAM发送数据;
F2,BRAM接收由PS传输来的数据并发送至ip核;
F3,ip核对数据进行编码处理然后发送至FIFO;
F4,FIFO将数据通过第一Aurora总线接口或第二Aurora总线接口向外发送。
对于发送数据处理,在Aurora8B/10B后设计FIFO缓存,Aurora协议进行的是高带宽数据处理,在其后设置FIFO缓存,有效提高了架构的鲁棒性。
实施例2
如图1至图4所示,作为实施例1的进一步优化,在实施例1的基础上,本实施例还包括以下技术特征:
基于FPGA的Aurora总线数据交互系统硬件整体框图如图1。
本发明FPGA选用Xilinx系列的ZYNQ-7000芯片,ZYNQ-7000包含处理器系统(Processing System,PS)和可编程逻辑器件(Programmable Logic,PL)组成如图1,PS部分集成了ARM Cortex-A9双核,PS和PL之间的交互通过AXI总线。
两个Aurora交互模块数据之间的交互通过ZYNQ-7000传输到Aurora总线硬件模块(Aurora总线硬件模块是具备向外通信传输的硬件部分,本实施例中采用Aurora总线接口),Aurora总线硬件模块通过Aurora总线进行数据传输。
基于FPGA的Aurora总线数据交互系统是搭建在ZYNQ-7000芯片进行开发,其架构图如图2。
Aurora协议是一款高带宽、低成本、可扩展、框架简洁、适合点对点串行数据传输的协议。该协议适用于透明接口的串行协议,可以对数据进行任何分组封装,不仅可以保证芯片之间的高水平数据传输而且不需要改变已用的通信系统结构。Xilinx公司在Aurora协议和高速串行收发器Aurora总线硬件接口上基础上开发出了ip核,通过ip核开发用户界面可以有效简化Aurora总线控制的复杂度。本发明选用Xilinx的ZYNQ-7000,对于Aurora总线交互的软件架构可以调用Auroraip核,极大的提升了软件架构的可操作性。
本发明的软件架构从数据交互的接收和发送进行说明。
数据的接收流程如图3。
从硬件数据接口接收数据,数据根据Aurora 8B/10B ip核对应设置传入ip核,依据相应数据交互协议设置BRAM,将ip数据存储到BRAM中,ZYNQ-7000的PS将BRAM数据取出,将数据进行协议的处理。
数据的发送流程如图4。
ZYNQ-7000的PS根据协议将数据存入BRAM,按照需求ZYNQ-7000的PL部分将数据传入Aurora 8B/10B ip核,经过Aurora 8B/10B ip核处理后的数据传入FIFO,最后从总线接口发出。
本发明实现Aurora总线交互的软件架构构成的硬件以及软件方法,实现整个功能架构设计了一套独特的整体架构。
本发明具有特点:
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++等易于修改调试的语言,极大提高了架构的拓展性和适用性。
2、对于数据的处理在Aurora8B/10B 后设置BRAM进行与PS交互。该设计有效地实现了PL和PS的数据传递。设计BRAM也可以进行协议相关数据格式的有线转化,例如从Aurora 8B/10B 的数据为16bit,传入PS部分需要进行8bit或者32bit转换,该架构适用性更强。
3、对于发送数据处理,在Aurora 8B/10B后设计FIFO缓存,Aurora协议进行的是高带宽数据处理,在其后设置FIFO缓存,有效提高了架构的鲁棒性。
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (2)
1.基于FPGA的Aurora总线数据交互系统,其特征在于,包括第一Aurora交互模块、第二Aurora交互模块、Aurora总线,所述第一Aurora交互模块包括相互通信连接的第一全可编程片上系统、第一Aurora总线接口,所述第二Aurora交互模块包括相互通信连接的第二全可编程片上系统、第二Aurora总线接口,所述第一Aurora总线接口与所述第二Aurora总线接口通过所述Aurora总线相互通信连接;
所述第一全可编程片上系统、所述第二全可编程片上系统均为ZYNQ-7000系列芯片,所述第一全可编程片上系统、所述第二全可编程片上系统均包括相互通信连接的PS、PL;
PS与PL之间通过AXI总线相互通信连接;
PL包括相互通信连接的BRAM、ip核、FIFO,所述BRAM与所述PS相互通信连接,所述ip核用以接收第一Aurora交互模块外或第二Aurora交互模块外的数据,所述FIFO用以向第一Aurora交互模块或第二Aurora交互模块发送数据;
BRAM用以:ip核接收数据时,接收经ip核传输来的ip数据并存储,然后将数据发送给PS;
BRAM还用以:FIFO发送数据时,接收经PS传输来的数据并存储,然后将数据发送给ip核;
使用所述的基于FPGA的Aurora总线数据交互系统进行数据交互时,第一Aurora交互模块或第二Aurora交互模块接收数据包括以下步骤:
J1,第一Aurora总线接口或第二Aurora总线接口接收数据并发送至ip核;
J2,ip核根据ip核对应的设置接收数据进行编码处理然后发送至BRAM;
J3,BRAM将ip数据存储;
J4,PS将BRAM中的数据取出;
第一Aurora交互模块或第二Aurora交互模块发送数据包括以下步骤:
F1,PS向BRAM发送数据;
F2,BRAM接收由PS传输来的数据并发送至ip核;
F3,ip核对数据进行编码处理然后发送至FIFO;
F4,FIFO将数据通过第一Aurora总线接口或第二Aurora总线接口向外发送。
2. 根据权利要求1所述的基于FPGA的Aurora总线数据交互系统,其特征在于,所述ip核为Aurora8B/10B ip核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496974.4A CN115543908B (zh) | 2022-11-28 | 2022-11-28 | 基于FPGA的Aurora总线数据交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211496974.4A CN115543908B (zh) | 2022-11-28 | 2022-11-28 | 基于FPGA的Aurora总线数据交互系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115543908A CN115543908A (zh) | 2022-12-30 |
CN115543908B true CN115543908B (zh) | 2023-03-28 |
Family
ID=84722504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211496974.4A Active CN115543908B (zh) | 2022-11-28 | 2022-11-28 | 基于FPGA的Aurora总线数据交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543908B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN114297121A (zh) * | 2021-12-10 | 2022-04-08 | 北京遥测技术研究所 | 一种基于fpga片间双向高速数据传输的实现方法 |
CN114499756A (zh) * | 2022-01-05 | 2022-05-13 | 杭州加速科技有限公司 | 一种点对点Aurora通信系统、发送和接收方法及其应用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681971B (zh) * | 2012-04-28 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种基于aurora协议进行FPGA板间高速互连的方法 |
US9935637B2 (en) * | 2014-02-11 | 2018-04-03 | National Instruments Corporation | Systems and methods for FPGA development and operation |
CN106098104B (zh) * | 2016-06-11 | 2019-07-05 | 复旦大学 | Fpga芯片内嵌bram核的测试系统及方法 |
US10866753B2 (en) * | 2018-04-03 | 2020-12-15 | Xilinx, Inc. | Data processing engine arrangement in a device |
WO2020163025A1 (en) * | 2019-02-06 | 2020-08-13 | Fermat International, Inc.. | Analytics, algorithm architecture, and data processing system and method |
CN111736966B (zh) * | 2020-05-11 | 2022-04-19 | 深圳先进技术研究院 | 基于多板fpga异构系统的任务部署方法及设备 |
CN112711925B (zh) * | 2021-02-10 | 2022-10-28 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 虚拟化emif总线dsp软件设计方法 |
-
2022
- 2022-11-28 CN CN202211496974.4A patent/CN115543908B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN114297121A (zh) * | 2021-12-10 | 2022-04-08 | 北京遥测技术研究所 | 一种基于fpga片间双向高速数据传输的实现方法 |
CN114499756A (zh) * | 2022-01-05 | 2022-05-13 | 杭州加速科技有限公司 | 一种点对点Aurora通信系统、发送和接收方法及其应用 |
Non-Patent Citations (2)
Title |
---|
Joshua Lant等.Enabling shared memory communication in networks of mpsocs.Concurrency and Computation Practice and Experience.2018,第31卷1-16. * |
王宁. 基于Zynq平台的Linux实时性研究及在FC网络中的应用.中国优秀硕士学位论文全文数据库 信息科技辑.2022,(第01期), I138-649. * |
Also Published As
Publication number | Publication date |
---|---|
CN115543908A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467154B2 (en) | Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus | |
US10521392B2 (en) | Slave master-write/read datagram payload extension | |
US7787490B2 (en) | Method and apparatus for multiplexing multiple protocol handlers on a shared memory bus | |
CN110837486B (zh) | 一种基于FPGA的FlexRay-CPCIe通信系统 | |
US6898766B2 (en) | Simplifying integrated circuits with a common communications bus | |
CN114168520A (zh) | 光纤通信总线装置、设备和系统 | |
CN108833241B (zh) | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN111736792B (zh) | 可编程逻辑器件及其控制方法、控制系统和视频处理器 | |
CN117056249B (zh) | 一种mdio到ahb的转换方法、系统、设备及介质 | |
CN115543908B (zh) | 基于FPGA的Aurora总线数据交互系统 | |
CN110069429B (zh) | 基于zynq的实时高性能srio控制器及控制方法 | |
CN116450554A (zh) | 中断处理方法、根复合体设备及电子设备 | |
CN113971022B (zh) | 一种应用全可编程片上系统的无线信号处理方法 | |
TWI727581B (zh) | 資料傳輸系統 | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
Wu et al. | A flexible FPGA-to-FPGA interconnect interface design and implementation | |
JP7401811B2 (ja) | 情報処理システム、半導体集積回路及び情報処理方法 | |
CN217821596U (zh) | 一种基于fpga的sdr异构原型系统 | |
CN115509569A (zh) | 一种用于fpga在线升级的spi接口逻辑ip | |
CN116226030A (zh) | 基于amba总线的fpga硬件抽象层控制系统和方法 | |
CN117251397A (zh) | 一种处理器和外部srio设备通信方法 | |
CN117555825A (zh) | 信号发送方法、信号接收方法及主从芯片共址访问系统 | |
Wang et al. | A PCIe-based Hardware Acceleration Architecture of the Communication Protocol Stack | |
CN113961476A (zh) | 一种基于全可编程片上系统的无线信号处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |