射频数据转换器解决方案

电子说

1.2w人已加入

描述

嗨,我叫 Keith Lumsden,是赛灵思的一名应用工程师。

很高兴受邀为赛灵思社区的全新设计和调试技术博客撰稿。

我的主要任务是为使用集成到 Zynq®UltraScale™RFSoC 产品中的 RF 数据转换器的客户提供支持。

在我的职业生涯中,我一直从事模拟和混合信号系统、FPGA 架构、I/O 和信号完整性方面的工作。 所以我真的是一个搞硬件的人,让我有时有一点负罪感的是我曾认为嵌入式软件适合其他人来做。

随着射频 (RF) 数据转换器的问世,情况发生了变化。我们现在已经将世界一流的 RF ADC 和 DAC 集成到 Zynq UltraScale +架构中了。因此,传统的射频和模拟工程师不可避免地以前所未有的方式接触到了嵌入式系统。

射频数据转换器解决方案

如果您对数据转换器解决方案很熟悉,那您就会知道它是以 IP 核的形式被封装到 Vivado Design Suite 中的。这让您可以通过赛灵思提供的软件驱动来管理射频模数转换器 (RF-ADC) 和射频数模转换器 (RF-DAC) 块的状态和控制。

《Zynq UltraScale + RFSoC RF 数据转换器 IP 产品指南》(PG269) 提供了有关此 IP 的所有详情,并且还提供了有关该驱动的详细附录。

函数

开始在 RF-ADC 和 RF-DAC 上进行调试

RF 分析仪工具是一个不错的起点。

RF 分析仪是基于 MicroBlaze™ 的设计,具有通信层,可以部署到任何电路板上的任何器件上。它还带有一个 GUI,让您可以将 RF-ADC 接收的内容可视化,并可通过 RF-DAC 来实现激励生成和发射函数。至关重要的是,该应用是通过软件驱动构建的。

如果您试图追踪 RF 系统中的问题,RF 分析仪非常强大,而且由于它独立工作,不依赖于设计或电路板,因此可以用来验证系统的 RF 部分。

一个常见的用例是您希望在系统中调试 RF-ADC 和 RF-DAC,并需要编写一个小应用以在运行时进行测试。鉴于 RF 分析仪和定制设计都需要使用软件驱动,我决定编写一个博客帮助您了解驱动,并展示一下如何开始用它来进行调试。在下一个博客中,我会展示一次拆箱,带您一起来看看 RF 分析仪工具。

有可能您对 RF 数据转换器系统已经很熟悉了,那就把了解驱动想成是在您的知识基础上再增添一点知识,而不是去了解完全未知的事物吧。

在这篇博客中,我会介绍以下内容:

如何构建驱动

数据结构

使用应用编程接口 (API) 来制作一个简单的应用

我们现在还是来制作一个 Baremetal 应用吧。在稍后的博客中,我们会在此基础上介绍如何制作 Linux 应用。

构建驱动:

RFDC 驱动的一个优点是它是使用 Libmetal 构建的。Libmetal 是赛灵思开发的开源软件堆栈,提供用来访问器件的、处理器件中断、请求跨 Linux、Realtime OS 和 baremetal 内存的通用用户 API。

这对我们来说意味着什么?嗯,这意味着我们真正感兴趣的驱动部分是在用户空间实现的,因此我们不必担心与硬件交谈的机制。这还意味着 API 在 Linux 和 Baremetal 应用中很常见,因此您不需要了解两组 API 调用,也不用担心如何将代码从 Baremetal 移植到 Linux。

函数

XRFdc 驱动程序源代码在下图中显示得更详细。驱动的源代码可以在赛灵思的 SDK 安装中找到,也可以在Github 上单击这里找到。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分