本文转载自: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