本文转载自:Vuko-wxh的CSDN博客
配置ADC相关工作状态
函数原型
u32 XRFdc_SetDecimationFactor(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 DecimationFactor);
参数
*XRFdc InstancePtr:指向驱动程序实例的指针。
u32 Tile_Id:RF-ADCtile 编号。 有效值为 0-3。
u32 Block_Id:块内的RF-ADC块编号。 有效值为 0-3。
u32 DecimationFactor:要为 RF-ADC 设置的抽取因子。
带标注1的只有GEN 3代的有该参数配置。
说明
此 API 函数为请求的 RF-ADC 设置抽取因子,并根据抽取因子更新 FIFO 写入宽度。抽取的动态变化对块吞吐量有影响。 可以动态更改 AXI4-Stream 时钟速率以适应吞吐量的变化。在非 MTS 模式下,推荐的程序是关闭 FIFO(Xrfdc_setupfifo),更改时钟速率(Xrfdc_SetfabClkOutDiv),清除 FIFO 中断,然后重新启动 FIFO(Xrfdc_SetupFifo)。此功能仅适用于 RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetDecimationFactorObs (Gen 3)
函数原型
u32 XRFdc_SetDecimationFactorObs(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 DecimationFactor);
参数
*XRFdc InstancePtr:指向驱动程序实例的指针。
u32 Tile_Id:RF-ADCtile 编号。 有效值为 0-3。
u32 Block_Id:块内的RF-ADC块编号。 有效值为 0-3。
u32 DecimationFactor:为RFADC 的观察通道设置的抽取因子。
说明
此 API 函数为请求的 RFADC 的观察通道设置抽取因子,并根据抽取因子更新 FIFO 写入宽度。抽取的动态变化对块吞吐量有影响。 可以动态更改 AXI4-Stream 时钟速率以适应吞吐量的变化。 在非 MTS 模式下,推荐的程序是关闭 FIFO (Xrfdc_SetupFifoObs),更改时钟速率 (Xrfdc_SetfabClkOutDiv),清除 FIFO 中断,然后重新启动 FIFO (Xrfdc_SetupFifoObs)。此功能仅适用于 RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetFabRdVldWords
函数原型
u32 XRFdc_SetFabRdVldWords(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 FabricRdVldWords);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u32 FabricRdVldWords: 读取要为RF-ADC设置的PL数据速率。
说明
该API函数通过写入相应的寄存器来设置所请求的RF-ADC的读取PL数据率。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetFabRdVldWordsObs (Gen 3)
函数原型
u32 XRFdc_SetFabRdVldWordsObs(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 FabricRdVldWords);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u32 FabricRdVldWords: 读取要为RFADC的观察通道设置的PL数据速率。
请参见Threshold_Settings结构中的有效宏。驱动中的Threshold0和Threshold1分别对应于IP中的Threshold1和Threshold2。
说明
这个API函数清除阈值配置寄存器中的sticky位,基于 ThresholdToUpdate参数清除阈值配置寄存器中的sticky位。这个API函数只适用于RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetThresholdClrMode
函数原型
u32 XRFdc_SetThresholdClrMode(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 ThresholdToUpdate, u32 ClrMode);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u32 ThresholdToUpdate: 选择要更新的阈值(阈值0或阈值1或两者)用于更新。请参见Threshold_Settings结构中的有效宏。
u32 ClrMode: 清理模式可以是手动(寄存器写入)或自动清理(QMC增益更新事件)。
说明
此API函数设置阈值清除模式。这个API函数只适用于RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
函数原型
u32 XRFdc_SetThresholdSettings(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *Threshold_Settings);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
*XRFdc_Threshold_Settings Threshold_Settings: 指针,通过它可以将阈值的寄存器设置。
阈值:指针,通过它将阈值的寄存器设置传递给API。
说明
这个API函数将阈值设置写到相关的寄存器中。驱动器结构体会被更新为新的值。这个API函数只适用于RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetupFIFOObs (Gen 3)
函数原型
u32 XRFdc_SetupFIFOObs(XRFdc *InstancePtr, u32 Type, int Tile_Id, u8 Enable);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Type:RF-ADC:0表示RF-ADC。
int Tile_Id:RF-ADC的片编号。有效值为0-3和-1(用于所有片)。
u8 Enable:有效值为1(FIFO enable)和0(FIFO Disable)。
说明
该API函数启用和禁用RF-ADC的观察通道FIFO。这个API函数只适用于RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetupFIFOBoth (Gen 3)
函数原型
u32 XRFdc_SetupFIFOBoth(XRFdc *InstancePtr, u32 Type, int Tile_Id, u8 Enable);
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Type:RF-ADC:0表示RF-ADC。
int Tile_Id:RF-ADC的片编号。有效值为0-3和-1(用于所有片)。
u8 Enable:有效值为1(FIFO enable)和0(FIFO Disable)。
说明
该API函数启用和禁用RF-ADC实际和观察通道的FIFO。这个API函数只适用于RF-ADC。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetCalibrationMode
函数原型
u32 XRFdc_SetCalibrationMode(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u8 CalibrationMode);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u8 CalibrationMode : 有效值为1(Mode1)和2(Mode2)。
说明
这个API函数设置RF-ADC的校准模式。调用这个API后,你必须重新启动整个片,以便新的校准模式能够正确运行。
这个API函数只用于RF-ADC。在改变一个分片的校准模式后,必须发出Xrfdc_Shutdown和Xrfdc_startup命令。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_DisableCoefficientsOverride
函数原型
u32 XRFdc_DisableCoefficientsOverride(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock);
参数
*XRFdc InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u32 CalibrationBlock : 校准块,其覆盖将被禁用。有效值为0(仅适用于第三代设备)和1-3,分别代表OCB1、OCB2、GCB和TSCB。
说明
该API函数禁用所选块的系数覆盖。使用CalibrationBlock参数选择时钟。OCB1仅适用于第三代设备。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
函数原型
u32 XRFdc_SetCalCoefficients(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock, XRFdc_Calibration_Coefficients *CoeffPtr);
参数
XRFdc * InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
u32 CalibrationBlock:校准块,其覆盖功能将被启用。有效值为0(仅适用于第三代设备),1-3代表OCB1、OCB2、GCB和TSCB
分别代表OCB1、OCB2、GCB和TSCB。
XRFdc_Calibration_Coefficients * CoeffPtr : 指向通用校准系数结构的指针。
说明
这个API函数启用了系数覆盖,并为所选区块编程所提供的系数。该块是通过CalibrationBlock参数选择的。OCB1仅适用于第三代设备。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
函数原型
u32 XRFdc_SetCalFreeze(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Cal_Freeze_Settings *CalFreezePtr);
参数
XRFdc * InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
XRFdc_Cal_Freeze_Settings * CalFreezePtr: 指向通用校准冻结设置的结构体。
说明
这个API函数通过校准端口冻结/解冻校准,并禁用/启用校准冻结针。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetDither
函数原型
u32 XRFdc_SetDither(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 Mode);
参数
u32 Mode : 禁用(0)或启用(1)抖动。
说明
该API函数启用/禁用抖动。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
函数原型
u32 XRFdc_SetDSA(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_DSA_Settings *SettingsPtr);
参数
XRFdc * InstancePtr: 指向驱动实例的指针。
u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
XRFdc_DSA_Settings * SettingsPtr : 指向XRFdc_DSA_Settings的指针,用于传递DSA设置。
说明
传递的DSA设置被用来更新相应的块级寄存器,这是一个只针对RF-ADC的API函数。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE
XRFdc_SetSignalDetector (Gen 3)
函数原型
u32 XRFdc_SetSignalDetector(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Signal_Detector_Settings *SettingsPtr);
参数
XRFdc_Signal_Detector_Settings * SettingsPtr: 指针指向XRFdc_Signal_Detector_Settings结构体的指针,用于传递信号检测器的设置。
Valid Macros for SettingsPtr->Mode Argument
Valid Macros for SettingsPtr->TimeConstant Argument
说明
传递的信号检测器设置被用来更新相应的块级寄存器。这是一个仅适用于RF-ADC的API函数。只适用于第三代设备。
返回值
XRFDC_SUCCESS
XRFDC_FAILURE