ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RFNoC 4.0 架构简介

2022-01-13 21:32:25  阅读:322  来源: 互联网

标签:CHDR 模块 FPGA 简介 USRP RFNoC 连接 4.0


1 什么是RFNoC

RFNoC是一个基于FPGA的一个异构软件无线电框架,可以使用该架构,对USRP系列的SDR设备进行FPGA级别的自定义。也就是说,使用RFNoC可以在GNURadio提供的SDR框架之外,使用剩余的FPGA的资源实现更高性能,更高自由度的软件无线电设备的定义。

在UHD 4.0版本之后,RFNoC已经成为了UHD fpga驱动程序的一部分,USRP的核心DSP处理功能将作为RFNoC block应用在UHD中。

下面将从USRP默认的FPGA镜像架构来介绍RFNoC的组成。

2 默认RFNoC镜像组成

下图是默认的USRP的镜像结构图,绝大多数的USRP默认镜像架构都与之非常相似。

image

可以注意到,RFNoC FPGA镜像由以下部分构成:

  • RFNoC Image Core
    这是RFNoC软件的主体,或者是称之为最大集合,除了FPGA必备的接口以外,剩下的组件均包含在RFNoC Image Core中。RFNoC Image Core 由 RFNoC Image Core YAML文件所定义,并且工具链中的image_builder程序会自动根据RFNoC Image Core YAML文件生成必要的顶层设计文件(top verilog)。

  • Transport Adapter
    传输适配器,是USRP与外部进行通信的接口组件,他允许USRP设备通过高速以太网、SFP+、PCIe等接口与上位机取得联系。P.S. 在E312中,也用于与ARM处理器进行通信。

  • CHDR Crossbar
    所谓CHDR,为Condensed Hierarchical Datagram for RFNoC,是RFNoC中的自定协议,正如他的字面意思,是一种压缩、分层、数据报形式的数据协议。而CHDR Crossbar,就是基于这一协议的动态路由器,他允许在SDR运行前通过软件定义方式,决定stream endpointsTransport Adapter之间的数据走向。也就是说,如果想让模块中的数据从FPGA传输到上位机上,则必须配有stream endpoints

  • Stream Endpoint (SEP)
    Stream Endpoint (SEP),其中一个功能在上一点中已经提到,那就是提供RFNoC内部block中的数据到host的数据接口,除此之外, Stream Endpoint还提供数据流(data traffic)与控制流(control traffic)的分离。其中的控制流则是提供一系列的寄存器读写接口,用来提供host的软件在 运行中控制Block的能力,如在之前我们用到的gain所提供的增益数值,就是通过SEP从GNURadio中传输到block当中,并且这个增益数值是可以在运行时进行更改的。

  • Control Crossbar
    这是一个小型的路由装置,与CHDR Crossbar类似,不同的是,Control Crossbar只能对控制信号进行路由,因此它所占用的 资源更少一些。

  • 其他模块
    在图中的DDC、DUC和Radio则是RFNoC自带的一些功能模块(也是UHD必备的功能模块,早在RFNoC时代之前,他们被强耦合得编译在FPGA软件中,很难作出更改)。通常来说RFNoC模块一般在RFNoC框架中进行数据交互,但是如Radio或者DRAM模块,还需要与RFNoC以外的硬件进行数据的交互。

3 动态连接与静态连接

如果RFNoC模块之间通过了Crossbar连接那么他们就是动态连接,这意味着模块之间的连接可以通过软件动态的改变。CHDR crossbar可以提供十分强大的互联功能,他允许任意模块之间、模块与host之间甚至不同USRP的模块之间通过CHDR进行互联,当然也运行新的DSP单元加入的应用当中。

同样的 control crossbar 也提供动态路由,允许RFNoC block之间、block与host之间发送控制信号(即读写寄存器信号)。

一些模块,并不通过crossbar,例如radio与DDC或DUC连接,再连接到SEP上,这就是静态连接,即他们不能在运行时进行改变,一旦FPGA镜像编译好后,这些连接关系就确定了。静态连接的好处就是不需要占用crossbar的端口,并且能够有效降低模块之间的延迟,并且节约更多的FPGA逻辑资源,以使一个FPGA镜像能够包含更多的功能。静态连接关系可以在RFNoC image core YAML文件进行描述。

参考

Getting Started with RFNoC in UHD 4.0

标签:CHDR,模块,FPGA,简介,USRP,RFNoC,连接,4.0
来源: https://www.cnblogs.com/ArtisticZhao/p/15799740.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有