• RFSoC应用笔记 - RF数据转换器 -21- API使用指南之配置ADC相关工作状态


    配置ADC相关工作状态

    XRFdc_SetDecimationFactor

    函数原型

    u32 XRFdc_SetDecimationFactor(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 DecimationFactor); 
    
    • 1

    参数

    • *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); 
    
    • 1

    参数

    • *XRFdc InstancePtr:指向驱动程序实例的指针。
    • u32 Tile_Id:RF-ADCtile 编号。 有效值为 0-3。
    • u32 Block_Id:块内的RF-ADC块编号。 有效值为 0-3。
    • u32 DecimationFactor:为RFADC 的观察通道设置的抽取因子。

    image-20220408112805053

    说明

    此 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);
    
    • 1

    参数

    • *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);
    
    • 1

    参数

    • *XRFdc InstancePtr: 指向驱动实例的指针。
    • u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
    • u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
    • u32 FabricRdVldWords: 读取要为RFADC的观察通道设置的PL数据速率。

    说明

    该API函数通过写入相应的寄存器来设置所请求的RFADC的观察通道的读取PL数据速率。这个API函数只适用于RF-ADC。

    返回值
    XRFDC_SUCCESS
    XRFDC_FAILURE

    XRFdc_ThresholdStickyClear

    函数原型

    u32 XRFdc_ThresholdStickyClear(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 ThresholdToUpdate);
    
    • 1

    参数

    • *XRFdc InstancePtr: 指向驱动实例的指针。
    • u32 Tile_Id : RF-ADC片的编号。有效值为0-3。
    • u32 Block_Id:RF-ADC片内的编号。有效值为0-3。
    • u32 ThresholdToUpdate: 选择要更新的阈值(阈值0或阈值1或两者)用于更新。

    请参见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);  
    
    • 1

    参数

    • *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增益更新事件)。

    image-20220409135416520说明

    此API函数设置阈值清除模式。这个API函数只适用于RF-ADC。

    返回值

    XRFDC_SUCCESS
    XRFDC_FAILURE

    XRFdc_SetThresholdSettings

    函数原型

    u32 XRFdc_SetThresholdSettings(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Threshold_Settings *Threshold_Settings);
    
    • 1

    参数

    • *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);
    
    • 1

    参数

    • *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);
    
    • 1

    参数

    • *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);
    
    • 1

    参数

    • *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);
    
    • 1

    参数

    • *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。

    image-20220409150019216

    说明

    该API函数禁用所选块的系数覆盖。使用CalibrationBlock参数选择时钟。OCB1仅适用于第三代设备。

    返回值

    XRFDC_SUCCESS
    XRFDC_FAILURE

    XRFdc_SetCalCoefficients

    函数原型

    u32 XRFdc_SetCalCoefficients(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, u32 CalibrationBlock, XRFdc_Calibration_Coefficients *CoeffPtr);
    
    • 1

    参数

    • 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 : 指向通用校准系数结构的指针。

    image-20220409150350799

    说明
    这个API函数启用了系数覆盖,并为所选区块编程所提供的系数。该块是通过CalibrationBlock参数选择的。OCB1仅适用于第三代设备。

    返回值

    XRFDC_SUCCESS
    XRFDC_FAILURE

    XRFdc_SetCalFreeze

    函数原型

    u32 XRFdc_SetCalFreeze(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_Cal_Freeze_Settings *CalFreezePtr);
    
    • 1

    参数

    • 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);
    
    • 1

    参数

    • u32 Mode : 禁用(0)或启用(1)抖动。

    说明

    该API函数启用/禁用抖动。

    返回值

    XRFDC_SUCCESS
    XRFDC_FAILURE

    XRFdc_SetDSA (Gen 3)

    函数原型

    u32 XRFdc_SetDSA(XRFdc *InstancePtr, u32 Tile_Id, u32 Block_Id, XRFdc_DSA_Settings *SettingsPtr);
    
    • 1

    参数

    • 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);
    
    • 1

    参数

    • XRFdc_Signal_Detector_Settings * SettingsPtr: 指针指向XRFdc_Signal_Detector_Settings结构体的指针,用于传递信号检测器的设置。

    Valid Macros for SettingsPtr->Mode Argument

    MacroDescription
    XRFDC_SIGDET_MODE_AVGAverage mode of operation
    XRFDC_SIGDET_MODE_RNDMRandomized mode of operation

    Valid Macros for SettingsPtr->TimeConstant Argument

    MacroDescription
    XRFDC_SIGDET_TC_2_02^0 Cycles
    XRFDC_SIGDET_TC_2_22^2 Cycles
    XRFDC_SIGDET_TC_2_42^4 Cycles
    XRFDC_SIGDET_TC_2_82^8 Cycles
    XRFDC_SIGDET_TC_2_122^12 Cycles
    XRFDC_SIGDET_TC_2_142^14 Cycles
    XRFDC_SIGDET_TC_2_162^16 Cycles
    XRFDC_SIGDET_TC_2_182^18 Cycles

    说明

    传递的信号检测器设置被用来更新相应的块级寄存器。这是一个仅适用于RF-ADC的API函数。只适用于第三代设备。

    返回值

    XRFDC_SUCCESS
    XRFDC_FAILURE

  • 相关阅读:
    龟兔赛跑:如何使用TortoiseSVN客户端和P4EXP
    《WEB前端框架开发技术》HTML5响应式旅游景区网站设计与实现——榆林子州HTML+CSS+JavaScript
    《C和指针》笔记31:多维数组的数组名、指向多维数组的指针、作为函数参数的多维数组
    [大家的项目] cargo-offline 命令
    剑指offer——JZ24 反转链表 解题思路与具体代码
    使用污点分析检查log4j问题
    五三想休息,今天还学习,图解二叉树的层序遍历BFS(广度优先)模板,附面试题题解
    无人机UAV目标检测与跟踪(代码+数据)
    安卓面经_安卓基础面全解析<3/30>之广播全解析
    存储过程与触发器
  • 原文地址:https://blog.csdn.net/weixin_41445387/article/details/127641804