RFSoC应用笔记 - RF数据转换器(19):API使用指南之状态指示函数(ADC、DAC均适用)

本文转载自:Vuko-wxh的CSDN博客

前言

本文主要介绍关于RF数据转换器的ADC和DAC均适用的状态指示函数的相关使用方法。

获取RFDC工作状态(ADC、DAC均适用)

XRFdc_GetIPStatus

函数原型

u32 XRFdc_GetIPStatus(XRFdc *InstancePtr, XRFdc_IPStatus *IPStatusPtr);

参数

*XRFdc InstancePtr: 指向驱动程序实例的指针。

  • *XRFdc_IPStatus IPStatusPtr : 指向 XRFdc_IPStatus 结构的指针,标识该结构返回状态。

描述

此 API 函数返回 IP 状态。

返回值

XRFDC_SUCCESS

XRFdc_GetBlockStatus

函数原型

u32 XRFdc_GetBlockStatus(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_BlockStatus *BlockStatusPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *XRFdc_BlockStatus BlockStatusPtr:指向 XRFdc_BlockStatus 结构的指针,标识该结构返回 RF-ADC/RF-DAC 块状态。

描述

该 API 函数返回请求的块状态。这是 RF-ADC/RF-DAC 的常用 API 函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE(转换器未启用)

XRFdc_GetMixerSettings

函数原型

u32 XRFdc_GetMixerSettings(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_Mixer_Settings *MixerSettingsPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *XRFdc_Mixer_Settings MixerSettingsPtr : 指向传递混频器/NCO 设置的 XRFdc_Mixer_Settings 结构的指针。

描述

来自相应寄存器的混频器/NCO 设置返回给调用者。这是 RF-ADC/RF-DAC 的常用 API 函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetQMCSettings

函数原型

u32 XRFdc_GetQMCSettings(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_QMC_Settings *QMCSettingsPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *XRFdc_QMC_Settings QMCSettingsPtr:指向返回相应寄存器值的 XRFdc_QMC_Settings 结构的指针。

描述

来自相关寄存器的 QMC 设置返回给调用者。这是 RF-ADC/RF-DAC 的常用 API 函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetCoarseDelaySettings

函数原型

u32 XRFdc_GetCoarseDelaySettings(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_CoarseDelay_Settings *CoarseDelaySettingsPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *XRFdc_CoarseDelay_Settings CoarseDelaySettingsPtr:指向返回相应寄存器值的XRFdc_CoarseDelay_Settings 结构的指针。

描述

来自相关寄存器的粗略延迟设置返回给调用者。这是 RF-ADC/RF-DAC 的常用 API 函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetFabClkOutDiv

函数原型

u32 XRFdc_GetFabClkOutDiv(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u16 *FabClkDivPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • *u16 FabClkDivPtr:获取块的PL 时钟分频器的指针。

说明

使用该函数获取 PL 的时钟分频器。这是 RF-ADC 和 RF-DAC 的通用功能。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetFabWrVldWords

函数原型

u32 XRFdc_GetFabWrVldWords(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *FabricWrVldWordsPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *u32 FabricWrVldWordsPtr: 用于返回RF-ADC/RFDACs的写PL数据率的指针。

说明

将请求的RF-ADC/RF-DAC的PL数据率写回给调用者。这是RF-ADC和RF-DAC的一个通用API函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetFabRdVldWords

函数原型

u32 XRFdc_GetFabRdVldWords(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *FabricRdVldWordsPtr);

参数

  • *XRFdc InstancePtr:指向驱动程序实例的指针。

  • u32 Type:RF-ADC 或 RF-DAC; RF-ADC 为 0,RF-DAC 为 1。

  • u32 Tile_Id:RF-ADC/RF-DAC tile 编号。 有效值为 0-3。

  • u32 Block_Id:块内的RF-ADC/RF-DAC 块编号。 有效值为 0-3。

  • *u32 FabricRdVldWordsPtr: 指针用于返回RF-ADC/RF-DAC的读取PL数据率。

说明

读取请求的RF-ADC/RF-DAC的PL数据率,并返回给调用者。这是RF-ADC和RF-DAC的一个通用API函数。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetFIFOStatus

函数原型

u32 XRFdc_GetFIFOStatus(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u8 *EnablePtr);

参数

  • *u8 EnablePtr : 有效值为1(FIFO启用)和0(FIFO禁用)。

说明

这个API函数获取RF-ADC/RF-DAC FIFO的当前状态。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetNyquistZone

函数原型

u32 XRFdc_GetNyquistZone(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, u32 *NyquistZonePtr);

参数

*u32 NyquistZonePtr: 指向返回奈奎斯特区的指针。

说明

这个API函数获取RF-ADCs/RF-DACs的奈奎斯特区。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetClockSource

函数原型

u32 XRFdc_GetClockSource(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *ClockSourcePtr);

参数

*u32 ClockSourcePtr: 用于返回时钟源的指针。

说明

这个API函数获取RF-ADC/RF-DAC的时钟源。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetPLLConfig

函数原型

u32 XRFdc_GetPLLConfig(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, XRFdc_PLL_Settings *PLLSettings);

参数

*XRFdc_PLL_Settings PLLSettings:指向XRFdc_PLL_Settings的指针,用于填充PLL设置。

说明

这个API函数从寄存器中读取PLL设置,并将其填充到XRFdc_PLL_Settings结构体。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetPLLLockStatus

函数原型

u32 XRFdc_GetPLLLockStatus(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 *LockStatusPtr);

参数

*u32 LockStatusPtr : 用于返回PLL锁定状态的指针。

说明

这个API函数获取RF-ADCs/RF-DACs的PLL锁定状态。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetClkDistribution (Gen 3)

函数原型

u32 XRFdc_GetClkDistribution(XRFdc *InstancePtr, XRFdc_Distribution_System_Settings *DistributionArrayPtr);

参数

*XRFdc InstancePtr: 指向驱动实例的指针。

*XRFdc_Distribution_System_Settings DistributionArrayPtr: 指向XRFdc_Distribution_System_Settings结构的指针,用于填充分布设置。

说明

这个API函数读取寄存器,并将其填充到XRFdc_Distribution_System_Settings结构。只适用于第三代设备。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetPwrMode (Gen 3)

函数原型

u32 XRFdc_GetPwrMode(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id, XRFdc_Pwr_Mode_Settings *SettingsPtr);

参数

*XRFdc_Pwr_Mode_Settings SettingsPtr: 一个指针,用于填充当前的电源模式设置。

说明

该API函数获取给定RF-ADC/RF-DAC块的电源模式。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_Get_TileBaseAddr

函数原型

u32 XRFdc_Get_TileBaseAddr(XRFdc *InstancePtr, u32 Type, u32 Tile_Id);

返回值

请求的片的基地址。

XRFdc_Get_BlockBaseAddr

函数原型

u32 XRFdc_Get_BlockBaseAddr(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

返回值

请求的转换器的基地址。

XRFdc_GetDataType

函数原型

u32 XRFdc_GetDataType(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

返回值

如果数据类型为实数,函数返回0;否则,返回1。

XRFdc_GetDataWidth

函数原型

u32 XRFdc_GetDataWidth(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id);

返回值

该函数返回RF-ADC的编程数据宽度。

XRFdc_GetMasterTile

函数原型

u32 XRFdc_GetMasterTile(XRFdc *InstancePtr, u32 Type)

返回值

该函数返回主瓦片ID。

XRFdc_GetSysRefSource

函数原型

u32 XRFdc_GetSysRefSource(XRFdc *InstancePtr, u32 Type)

返回值

该函数返回 SYSREF 的来源(内部或外部)。

XRFdc_Get_IPBaseAddr

函数原型

u32 XRFdc_Get_IPBaseAddr(XRFdc *InstancePtr)

返回值

IP的基地址。

XRFdc_GetFabClFreq

函数原型

double XRFdc_GetFabClkFreq(XRFdc *InstancePtr, u32 Type, u32 Tile_Id)

返回值

该函数返回已编程的PL时钟频率。

XRFdc_IsFifoEnabled

函数原型

u32 XRFdc_IsFifoEnabled(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

返回值

如果FIFO被启用,该函数返回1;否则,返回0。

XRFdc_GetDriverVersion

函数原型

double XRFdc_GetDriverVersion()

说明

获取驱动程序的版本。

返回值

驱动程序的版本号。

XRFdc_GetConnectedIData

函数原型

int XRFdc_GetConnectedIData(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id);

描述

获取I数字数据路径的转换器。

返回值

转换器编号。

XRFdc_GetConnectedQData

函数原型

int XRFdc_GetConnectedQData(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

说明

获取Q数字数据路径连接的转换器。

返回值

转换器编号。

XRFdc_RDReg

函数原型

u16 XRFdc_RDReg(XRFdc *InstancePtr, u32 BaseAddr, u32 RegAddr, u16 Mask)

参数

u32 BaseAddr: 一个块的基地址。

u32 RegAddr: 寄存器的偏移值。

u16 Mask: 位掩码值。

说明

该API对值进行读取和屏蔽。

XRFdc_CheckDigitalPathEnabled

函数原型

u32 XRFdc_CheckDigitalPathEnabled(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

说明

该API检查RF-ADC/RF-DAC数字路径是否被激活。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetMultibandConfig

函数原型

u32 XRFdc_GetMultibandConfig(XRFdc *InstancePtr, u32 Type, u32 Tile_Id)

说明

该API用于获取多频段配置数据。

返回值

该API返回多频段配置。

XRFdc_CheckBlockEnabled

函数原型

u32 XRFdc_CheckBlockEnabled(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, u32 Block_Id)

说明

该API检查RF-ADC/RF-DAC块是否被激活或禁用。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_CheckTileEnabled

函数原型

u32 XRFdc_CheckTileEnabled(XRFdc *InstancePtr, u32 Type, u32 Tile_Id)

说明

此API检查RF-ADC/RF-DAC瓦片是否被启用或禁用。

XRFdc_GetMaxSampleRate

函数原型

u32 XRFdc_GetMaxSampleRate(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, double *MaxSampleRatePtr)

参数

*double MaxSampleRatePtr: 指针将被填充到瓦片的最大采样率中。

说明

这个API用来获取瓦片的最大采样率。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

XRFdc_GetMinSampleRate

函数原型

u32 XRFdc_GetMinSampleRate(XRFdc *InstancePtr, u32 Type, u32 Tile_Id, double *MinSampleRatePtr)

参数

*double MinSampleRatePtr: 指针将被填充到瓦片的最小采样率中。

说明

该API用于获取瓦片的最小采样率。

返回值

XRFDC_SUCCESS

XRFDC_FAILURE

最新文章

最新文章