ADRV9009 项目系统架构——手册介绍

一、9009介绍

ADRV9009 是一款双通道 RF 发送器和接收器,带有一个观察接收器。 工作频率范围为 75 MHz 至 6 GHz 。该器件在其发射器上支持高达 450 MHz 的合成带宽。该设备的接收器部分既可以作为支持高达 200 MHz 带宽的双通道接收器运行,也可以作为支持高达 450 MHz 带宽的单通道观测接收器运行。接收器部分在时分双工 (TDD) 操作中在单通道和双通道模式之间切换,在接收器时隙期间使用双通道接收器模式,在收发器时隙中使用单通道观测接收器。单通道观测接收器可以选择 ORX1_IN+/ORX1_IN− 或 ORX2_IN+/ORX2_IN− RF 输入之一。数据传输是通过 8 个 JESD204B 专用高速接口通道完成的。有四个接口通道,每个通道用于传输发射机数据和主接收机/观测接收机数据。

串行外设接口 (SPI) 在设备和基带处理器 (BBP) 之间传输和接收控制信息。 所有软件控制均通过 SPI 进行通信。 这些设备包括一个控制接口,该接口利用 GPIO 线为设备提供硬件控制。 这些 GPIO 可以配置为为不同的应用场景提供专用的功能集。 一些 GPIO 用于数字控制,而其他 GPIO 由 3.3 V 模拟电源供电以控制外部模拟组件。 这些器件还包括一组四个低速辅助 ADC,可用于监控与系统操作相关的外部电压。
AD9528 是系统的理想选择,可用于 Analog Devices, Inc. 的评估平台,因为 AD9528 提供具有多个输出的两级 PLL,以及用于多个设备同步的集成 JESD204B SYSREF 发生器。

ADRV9009 项目系统架构——手册介绍_第1张图片

 二、系统软件架构

通用的软件架构和ADI评估板的软件架构如下图所示。文档只提供软件的架构和API函数的大概使用方法,具体细节在Taise.chm中阅读。ADRV9009 项目系统架构——手册介绍_第2张图片

ADRV9009 项目系统架构——手册介绍_第3张图片

 源码文件夹结构如下图所示,开发人员可以根据需要将 API 组织到自定义文件夹组织中,开发者不得修改 API 源代码的内容。

ADRV9009 项目系统架构——手册介绍_第4张图片

/src/app/example 文件 :包含简单的应用层的例子,headless.c是主函数,即main()函数。可作为进一步开发的初始化设备的案例。talise_config.c 文件包含 API 使用的初始化和运行时数据结构,可以由TTES软件进行配置生成。

/src/devices/talise 文件夹:包含用于构建最终用户软件系统的高级函数原型、数据类型、宏和源代码。 除了可以修改 /talise/talise_user.c 文件外,严禁用户修改 /talise 文件夹中包含的文件,因为该代码由 Analog Devices 维护。talise_user.c 文件包含接收器增益表和用户可选择的定义宏,例如,TALISE_VERBOSE 模式,它启用和禁用某些 API 消息到日志。

/src/devices/adi_hal 文件夹:为开发人员提供了插入自定义平台硬件驱动程序代码以与 API 进行系统集成的方法。 adi_hal.c 文件中的函数原型不要更改,这一点很重要。 开发人员负责在每个 adi_hal.c 函数中实现代码,以确保为平台硬件调用正确的硬件驱动程序。 在 adi_hal.c 文件中提供的示例代码中,函数是调用 Xilinx® 硬件层函数、设备和资源的通用包装器Zynq®-7000 SoC ZC706 平台。 ADI 公司的 API 实现尝试保持 adi_hal.c 实现的通用性,以允许简化平台交换。

 /src/doc文件夹:打开Talise.chm文件,进入函数介绍网页,查看函数的具体细节。

API 由多个 .c 和 .h 文件组成。 API 的功能分为模块化部分,以帮助组织 API 功能。因为 API 是用 C 编写的,所以没有语言修饰符来将函数标识为私有或公共函数,这在面向对象的语言中是常​​见的。公共 API 函数由带有 TALISE_functionName() 的函数名表示。应用层可以自由使用任何带有 TALISE_ 命名的 API 函数。私有辅助函数缺少 TALISE_ 前缀。私有辅助函数无意为应用层添加任何价值。 API 中的大多数函数都以 TALISE_ 为前缀,供公众使用。其中许多函数从未直接从应用程序层调用。为此,大部分初始化和其他辅助函数都与顶层 talise.c/talise.h 文件分开,以帮助开发人员专注于应用层程序最常用和最广泛使用的函数。

三、硬件抽象层(HAL)

HAL 接口是收发器 API 在 API 必须访问目标平台硬件时使用的函数库。 HAL 由 adi_hal.h 定义; 但是,此接口的实现取决于平台,并由最终用户在 adi_hal.c 文件中实现。 该架构如图 2 所示。
HAL 是 API、宏和定义的集合,旨在使上层(库和应用程序)尽可能独立于平台。 本参考手册描述了这些 HAL 组件。 Analog Devices 源代码在 /device 文件夹中的 /adi_hal 文件夹下有一个子文件夹。 adi_hal.h 头文件详细介绍了 HAL 接口和功能。 adi_hal.c 提供了 ADI 平台特定的 ADI HAL (ADIHAL) 接口实现的详细信息。 adi_hal.c 文件可作为最终用户在为自定义平台开发 HAL 函数实现时使用的示例。

ADRV9009 项目系统架构——手册介绍_第5张图片

 ADRV9009 项目系统架构——手册介绍_第6张图片

你可能感兴趣的:(AD9361,&,ADRV9009,ADRV9009)