首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ADRV9009_API功能描述

ADRV9009_API功能描述

作者头像
数字积木
发布于 2021-04-15 07:05:29
发布于 2021-04-15 07:05:29
1.6K0
举报
文章被收录于专栏:数字积木数字积木

ADRV9009是一款高集成度射频(RF)、捷变收发器,提供双通道发射器和接收器、集成式频率合成器以及数字信号处理功能。这款IC具备多样化的高性能和低功耗组合,以满足3G、4G和5G宏蜂窝时分双工(TDD)基站应用要求。

应用

  • 3G、4G和5G TDD宏蜂窝基站
  • TDD有源天线系统
  • 大规模多路输入、多路输出(MIMO)
  • 相控阵雷达
  • 电子战
  • 军事通信
  • 便携测试设备

下面介绍ADI提供的adrv9009_API功能描述。

源代码链接如下:https://github.com/analogdevicesinc/no-OS/blob/master/drivers/rf-transceiver/talise/api/talise_radioctrl.h

talise_radioctrl.h

1, uint32_t TALISE_loadStreamFromBinary(taliseDevice_t *device, uint8_t *binary);

描述:将二进制数组加载到流处理器数据内存中。

限制:此函数在设备初始化并验证PLL锁定状态后调用。

2, uint32_t TALISE_setArmGpioPins(taliseDevice_t *device, taliseArmGpioConfig_t *armGpio);

描述:指示用于TDD引脚控制的GPIO引脚,此功能应在radio关闭状态下使用。

限制:此函数可以在加载Talise ARM二进制文件后调用,但在初始化期间进入radioOn之前。

3, uint32_t TALISE_setRadioCtlPinMode(taliseDevice_t *device, uint8_t pinOptionsMask, taliseRadioCtlCfg2_t orxEnGpioPinSel);

描述:设置引脚模式控制的Tx、Rx和ORx 控制位掩码。此功能应在radio关闭状态下使用。

限制:此函数可在设备在运行时操作期间的任何时候完全初始化后调用,但要在配置了ARM和GPIO之后。

4, uint32_t TALISE_getRadioCtlPinMode(taliseDevice_t *device, uint8_t *pinOptionsMask, taliseRadioCtlCfg2_t *orxEnGpioPinSel);

描述:读取引脚模式控制的Tx、Rx和ORx 控制位掩码。此功能应在radio关闭状态下使用。

限制:此函数可在设备在运行时操作期间的任何时候完全初始化后调用,但要在配置了ARM和GPIO之后。

5,uint32_t TALISE_setOrxLoCfg(taliseDevice_t *device, const taliseOrxLoCfg_t *orxLoCfg);

描述:ORx LO(本机振荡器)源(RFPLL或AuxPLL)设置。

限制:这个函数应该在加载ARM之后,但在运行初始化校准之前调用。AuxLO频率也必须在设置RFPLL频率后,但在初始CAL之前设置。此函数可以在ARM READY(init cals之前)或Radio off状态下调用。

6,uint32_t TALISE_getOrxLoCfg(taliseDevice_t *device, taliseOrxLoCfg_t *orxLoCfg);

描述: 读取ORx LO(本机振荡器)源(RFPLL或AuxPLL)设置。此函数可用于读回 TALISE_setOrxLoCfg()函数设置的 ORx LO 配置。

限制:在调用TALISE_setOrxLoCfg()之后,可以随时调用此函数。此函数可以在ARM READY(init cals(初始化校准)之前)或Radio off状态下调用。

7,uint32_t TALISE_radioOn(taliseDevice_t *device);

描述:指示ARM处理器将无线电状态移到打开状态。当ARM处于无线电打开状态时,启用的Rx和Tx信号链将通电,ARM跟踪校准将开始。要将此状态退出到低功耗脱机状态,请调用TALISE_radioOff()函数。

限制:此函数在设备初始化完成、所有PLL配置并锁定、多芯片同步(MCS)完成、JESD204B链路配置并可运行之后调用。

8,uint32_t TALISE_radioOff(taliseDevice_t *device);

描述:指示ARM处理器将无线电状态移到关闭状态。当ARM从Radio On状态移动到Radio Off(Idle)时,ARM跟踪校准停止,TxEnable/RxEnable等GPIO控制引脚将被忽略。这还将保持接收和发送链的电源关闭,直到再次调用TALISE_radioOn()函数。

限制:这个函数可以在TALISE_radioOn被调用前的任何时间调用。

9,uint32_t TALISE_getRadioState(taliseDevice_t *device, uint32_t *radioStatus);

描述:读取当前ARM的无线电状态。目前,radioStatus只返回低8位的数据,但定义为32位状态字,以允许将来扩展位字段。

限制:此函数可在设备完全初始化后随时调用。

10,uint32_t TALISE_setRxTxEnable(taliseDevice_t *device, taliseRxORxChannels_t rxOrxChannel, taliseTxChannels_t txChannel);

描述:此API将收发器中Rx/ORx/Tx信道设置启用或禁用。

限制:此函数可在进入radioOn后调用。在radioOff期间,所有发射和接收链都被强制关闭。

11,uint32_t TALISE_getRxTxEnable(taliseDevice_t *device, taliseRxORxChannels_t *rxOrxChannel, taliseTxChannels_t *txChannel);

描述:这个API读回收发器中通电的Rx/ORx/Tx信道。

限制:此函数可在进入radioOn后调用。在radioOff期间,所有发射和接收链都被强制关闭。

12,uint32_t TALISE_setTxToOrxMapping(taliseDevice_t *device, uint8_t txCalEnable, taliseTxToOrxMapping_t oRx1Map, taliseTxToOrxMapping_t oRx2Map);

描述:设置外部LOL初始化校准和跟踪校准的Tx到ORx外部信号路由

限制:此函数可在ARM初始化和加载后调用。但是,在初始化校准运行之前,因为这同时用于外部LOL初始化和跟踪校准。

13,uint32_t TALISE_setRfPllFrequency(taliseDevice_t *device, taliseRfPllName_t pllName, uint64_t rfPllLoFrequency_Hz);

描述:设置RF PLL本机振荡器(LO)频率(RF载波频率)。

限制:此函数可以在ARM初始化后调用,并且设备必须处于radioOff状态。

14,uint32_t TALISE_getRfPllFrequency(taliseDevice_t *device, taliseRfPllName_t pllName, uint64_t *rfPllLoFrequency_Hz);

描述:获取PLL本机振荡器(LO)频率(RF载波频率)。此函数用于获取锁相环的当前频率。为期望的PLL频率传递一个taliserfllname_t枚举类型,以读取:RF_PLL、AUX_PLL或CLK_PLL。

限制:此功能可在设备初始化和配置PLL后使用。对于AUX U PLL或RF U PLL,ARM固件也必须加载并运行以读取PLL频率。

15,uint32_t TALISE_getPllsLockStatus(taliseDevice_t *device, uint8_t *pllLockStatus);

描述:检查PLL是否锁定。此函数通过pllLockStatus指针返回Talise PLLs的状态。pllLockStatus下uint8 UT值的3个LSB代表CLK PLL、RF PLL和AUX PLL的锁定状态。

限制:此函数可以在PLL配置和运行后的任何时候调用。

16,uint32_t TALISE_setRfPllLoopFilter(taliseDevice_t *device, uint16_t loopBandwidth_kHz, uint8_t stability);

描述:设置射频锁相环滤波器的配置。此函数已弃用,应改用TALISE_setPllLoopFilter,因为它允许设置RF或Aux PLL环路滤波器设置。

限制:他的函数可以在ARM初始化后调用,并且设备必须处于radioOff状态。此功能后必须有TALISE_setRfPllFrequency函数,以便使用新配置设置RF PLL。

17,uint32_t TALISE_getRfPllLoopFilter(taliseDevice_t *device, uint16_t *loopBandwidth_kHz, uint8_t *stability);

描述:获取RF PLL环路滤波器的配置。此函数已弃用。应改用 TALISE_getPllLoopFilter,因为它允许读取RF或Aux PLL环路滤波器设置。

限制:此功能可在设备初始化和配置RF_PLL后使用。ARM固件也必须加载并运行。

18,uint32_t TALISE_setPllLoopFilter(taliseDevice_t *device, taliseRfPllName_t pllName, uint16_t loopBandwidth_kHz, uint8_t stability);

描述:设置RFPLL或AuxPLL的环路滤波器带宽

限制:此函数可以在ARM初始化后调用,并且设备必须处于radioOff状态。此功能之后必须为所选PLL设置TALISE_setRfPllFrequency函数,以使用新的环路滤波器设置设置PLL。

19, uint32_t TALISE_getPllLoopFilter(taliseDevice_t *device, taliseRfPllName_t pllName, uint16_t *loopBandwidth_kHz, uint8_t *stability);

描述:获取RFPLL或Aux PLL循环筛选器的循环筛选器设置。

限制:该功能可在设备初始化并配置所需的锁相环后使用。ARM固件也必须加载并运行。

20,uint32_t TALISE_setOrxLoSource(taliseDevice_t *device, taliseObsRxLoSource_t orxLoSource);

描述:设置ORx LO(本机振荡器)源(RF PLL或Aux PLL)。注:此功能将ORx的本振源设置为RF PLL或Aux PLL,但在ORx上升沿接通ORx信道之前,该设置才生效。如果在ORx通电时改变LO源,则LO源在ORx被禁用并重新启用之前不会生效。这是有效的,当使用引脚设置本振源和控制时,也启用了ORx。

限制:此函数可在设备完全初始化且初始化校准已运行后使用。这只能在radio Off状态下调用。

21,uint32_t TALISE_getOrxLoSource(taliseDevice_t *device, taliseObsRxLoSource_t *orx1LoSource, taliseObsRxLoSource_t *orx2LoSource);

描述:获取ORx LO(本机振荡器)源(RF PLL或Aux PLL)

限制:此函数可在设备完全初始化且初始化CAL已运行后使用。这可以在radio Off 或 On 状态下调用。

22,uint32_t TALISE_setFhmConfig(taliseDevice_t *device, taliseFhmConfig_t *fhmConfig);

描述:此功能配置跳频触发GPIO输入到ARM和跳频范围。FHM触发器GPIO引脚、跳频最小频率和跳频最大频率由该功能配置。FHM(frequency hopping mode ,调频模式)。

限制:此功能可在设备完全初始化和ARM处理器初始化后使用。此函数只能在radio Off状态下调用。

23,uint32_t TALISE_getFhmConfig(taliseDevice_t *device, taliseFhmConfig_t *fhmConfig);

描述:此函数用于检索当前FHM设置。FHM(frequency hopping mode ,调频模式)。此功能读回跳频触发GPIO引脚、跳频最小频率和跳频最大频率。

限制:无。

24,uint32_t TALISE_setFhmMode(taliseDevice_t *device, taliseFhmMode_t *fhmMode);

描述:此功能设置跳频模式。

限制:此函数可在设备完全初始化、ARM处理器初始化并调用TALISE_setFhmConfig()之后使用。此函数只能在radio Off状态下调用。

25,uint32_t TALISE_getFhmMode(taliseDevice_t *device, taliseFhmMode_t *fhmMode);

描述:此函数用于检索跳频的当前FHM模式设置。此功能可用于读取当前FHM配置(FHM启用/禁用、MCS同步和退出模式设置的当前状态)。

限制:无。

26,uint32_t TALISE_setFhmHop(taliseDevice_t *device, uint64_t nextRfPllFrequency_Hz);

描述:此函数设置下一个RF PLL低跳频率,并在非gpio模式下向ARM发送跳到下一个频率的命令。

限制:此函数可在设备完全初始化、ARM处理器初始化、FHM配置通过TALISE_setFhmConfig()API设置、FHM模式通过TALISE_setFhmMode()API设置后调用。此API只能在Radio ON状态下调用。

27,uint32_t TALISE_getFhmRfPllFrequency(taliseDevice_t *device, uint64_t *fhmRfPllFrequency_Hz);

描述:此功能允许用户在跳频模式下读回当前射频锁相环频率。

限制:无。

28,uint32_t TALISE_getFhmStatus(taliseDevice_t *device, taliseFhmStatus_t *fhmStatus);

描述:此函数返回当前FHM状态。此功能可用于读取当前FHM状态。状态字段的详细说明请参见taliseFhmStatus结构定义。

限制:无。

29,uint32_t TALISE_setExtLoOutCfg(taliseDevice_t *device, uint8_t enableExtLoOutput, taliseExtLoDiv_t extLoOutDivide);

描述:此功能启用/禁用外部LO输出并设置外部LO输出分配器。

限制:无。

30,uint32_t TALISE_getExtLoOutCfg(taliseDevice_t *device, uint8_t *enableExtLoOutput, taliseExtLoDiv_t *extLoOutDivide);

描述:此功能读回外部LO输出和外部LO输出分配器设置的启用状态。

限制:无。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字积木 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【STM32H7教程】第74章 STM32H7的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第74章       STM32H7的SPI总线应用之驱动DAC856
Simon223
2020/04/10
2K0
【STM32H7教程】第74章  STM32H7的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)
【STM32F407开发板用户手册】第34章 STM32F407的SPI总线应用之驱动DAC8501
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第34章       STM32F407的SPI总线应用之驱动DAC850
Simon223
2020/08/02
9100
mipiLCD屏幕参数_mipi接口液晶屏
主屏通过lt8911exb 将mipi信号转换成EDP信号输出,调试从大的方向上看,主要是两方面,一个是bootloader阶段的lt8911exb初始化,为了让现实过程更完整,需要在lk的display init之前就要将lt8911exb准备好.当lt8911exb准备好后,就可以当lt8911exb不存在,以平时的方式去调试一个屏幕。本次调试lt8911exb 的I2C接到SDM450的I2C3接口上,以下是调试步骤概要
全栈程序员站长
2022/11/19
1.6K0
mipiLCD屏幕参数_mipi接口液晶屏
【STM32H7教程】第45章 STM32H7的ADC应用之定时器触发配合DMA双缓冲
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第45章       STM32H7的ADC应用之定时器触发配合DMA
Simon223
2020/02/13
2K0
【STM32H7】第6章 RL-TCPnet V7.X底层驱动说明
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=95243 第6章   RL-TCPnet底层驱动说明 本章节为大家讲解RL-TCPn
Simon223
2020/08/31
8370
【STM32H7教程】第46章 STM32H7的ADC应用之DMA方式多通道采样
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第46章       STM32H7的ADC应用之DMA方式多通道采样
Simon223
2020/02/14
3.6K0
【STM32H7】第7章 ThreadX GUIX移植到STM32H7(MDK AC5)
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第7章 ThreadX GUIX移植到STM32H7(MDK AC5)
Simon223
2020/12/01
7610
【STM32H7】第7章   ThreadX GUIX移植到STM32H7(MDK AC5)
【STM32H7教程】第66章 STM32H7的低功耗串口LPUART应用之串口FIFO和停机唤醒实现
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第66章       STM32H7的低功耗串口LPUART应用之串口
Simon223
2020/03/08
2.2K0
【STM32H7教程】第75章 STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第75章       STM32H7的SPI总线应用之驱动DAC850
Simon223
2020/05/09
1.7K0
【STM32H7教程】第75章    STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
单片机外围模块漫谈之五,USB开发,这个错误你犯了吗?
下面我们通过一个例子看一下USB的具体工作过程。在此我们用一个比较实用的例子,就是把我们的板子用USB连接至PC,然后在PC端出现一个模拟串口,通过串口助手打开这个串口,然后实现数据的双向传输。最后我们聊一下很多工程师都会忽视的USB认证问题。
用户2366192
2021/05/31
8180
【STM32H7教程】第16章 STM32H7必备的HAL库API(重要)
本章教程为大家讲解制作一个STM32H7的例子所需的最基本API函数,对于一些常用的API函数,一定要熟练掌握这些函数都是实现了什么功能,不常用的函数有个了解即可,用到的时候再去学。
Simon223
2019/05/15
2.5K0
【STM32H7教程】第16章       STM32H7必备的HAL库API(重要)
【STM32F429开发板用户手册】第16章 STM32F429必备的HAL库API(重要)
本章教程为大家讲解制作一个STM32F4的例子所需的最基本API函数,对于一些常用的API函数,一定要熟练掌握这些函数都是实现了什么功能,不常用的函数有个了解即可,用到的时候再去学。
Simon223
2020/07/14
9380
【STM32F429开发板用户手册】第16章       STM32F429必备的HAL库API(重要)
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
到淘宝以及相关平台上不少商家为了蹭疫情额温枪的热度把额温枪开发方案的价格定得非常高,少则几千,多则上万,实在是让国人寒心!关键时刻,大家应该同心协力,即将没法向白衣天使一样上前线去抗疫,也应该以别的方式贡献自己的一份力量才对。本着支持国产支持开源项目的原则,而且我也是玩板爱好者,所以就毫不犹豫就入手了华大半导体推出的HDSC Demo板,当做支持一下,顺便了解下这个平台,也算是给自己积累多平台的开发经验!后面还会根据这个持续输出高质量的项目并且开源。上一篇我们也分享了近期华大开源的额温枪方案,链接:分享一个近期开源火爆全网的额温枪方案(硬件+源码),该额温枪方案的主控MCU就是基于华大半导体自主研发的芯片HC32L136。
杨源鑫
2020/05/21
2.9K1
Cubemx与HAL库系列教程|系统时钟配置详解及源码分析
STM32种类繁多,时钟系统也不尽相同,但基本的还是大差不差,今日小飞哥就F1系列的MCU简单聊一聊STM32的时钟系统
用户8913398
2022/03/04
2.9K0
Cubemx与HAL库系列教程|系统时钟配置详解及源码分析
【STM32】“stm32f10x.h” 头文件的作用
stm32f10x.h 是 STM32F10x 系列微控制器的标准外设库的一个头文件。它的作用包括:
LuckiBit
2024/12/11
6680
stm32cubemx软件库_STM32cube
前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用
全栈程序员站长
2022/09/28
9300
stm32cubemx软件库_STM32cube
【STM32F429开发板用户手册】第38章 STM32F429的FMC总线应用之是32路高速IO扩展
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第38章       STM32F429的FMC总线应用之是32路高速IO
Simon223
2020/08/06
1K0
【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第94章       STM32H7的SPI总线应用之双机通信(DMA
Simon223
2022/05/10
2K0
【STM32H7教程】第94章    STM32H7的SPI总线应用之双机通信(DMA方式)
【STM32H7教程】第65章 STM32H7的低功耗串口LPUART基础知识和HAL库API
本章节为大家讲解LPUART(Low power universal asynchronous receiver transmitter,低功耗通用异步收发器)的基础知识和对应的HAL库API。相比第29章的通用串口,增加了低功耗特性。
Simon223
2020/03/06
2.1K0
【STM32F407开发板用户手册】第33章 STM32F407的SPI总线应用之驱动DAC8563
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第33章       STM32F407的SPI总线应用之驱动DAC856
Simon223
2020/08/02
1.3K0
推荐阅读
【STM32H7教程】第74章 STM32H7的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)
2K0
【STM32F407开发板用户手册】第34章 STM32F407的SPI总线应用之驱动DAC8501
9100
mipiLCD屏幕参数_mipi接口液晶屏
1.6K0
【STM32H7教程】第45章 STM32H7的ADC应用之定时器触发配合DMA双缓冲
2K0
【STM32H7】第6章 RL-TCPnet V7.X底层驱动说明
8370
【STM32H7教程】第46章 STM32H7的ADC应用之DMA方式多通道采样
3.6K0
【STM32H7】第7章 ThreadX GUIX移植到STM32H7(MDK AC5)
7610
【STM32H7教程】第66章 STM32H7的低功耗串口LPUART应用之串口FIFO和停机唤醒实现
2.2K0
【STM32H7教程】第75章 STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
1.7K0
单片机外围模块漫谈之五,USB开发,这个错误你犯了吗?
8180
【STM32H7教程】第16章 STM32H7必备的HAL库API(重要)
2.5K0
【STM32F429开发板用户手册】第16章 STM32F429必备的HAL库API(重要)
9380
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
2.9K1
Cubemx与HAL库系列教程|系统时钟配置详解及源码分析
2.9K0
【STM32】“stm32f10x.h” 头文件的作用
6680
stm32cubemx软件库_STM32cube
9300
【STM32F429开发板用户手册】第38章 STM32F429的FMC总线应用之是32路高速IO扩展
1K0
【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)
2K0
【STM32H7教程】第65章 STM32H7的低功耗串口LPUART基础知识和HAL库API
2.1K0
【STM32F407开发板用户手册】第33章 STM32F407的SPI总线应用之驱动DAC8563
1.3K0
相关推荐
【STM32H7教程】第74章 STM32H7的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档