ADRV9025 API Version: 5.0.1.15 code example and further information: "setupHoldMonitorTimingBlock" & "DfrmPhaseDiffGet" 您所在的位置:网站首页 adrv9026手册 ADRV9025 API Version: 5.0.1.15 code example and further information: "setupHoldMonitorTimingBlock" & "DfrmPhaseDiffGet"

ADRV9025 API Version: 5.0.1.15 code example and further information: "setupHoldMonitorTimingBlock" & "DfrmPhaseDiffGet"

2024-05-28 22:26| 来源: 网络整理| 查看: 265

int32_t adi_device_share_setupHoldMonitorTimingBlock(adi_adrv9025_Device_t *device,adi_ad9528_Device_t *clock

Description: * \brief This function uses a combination of adrv9025 device and ad9528 clock chip * to test and see if sysref's are meeting timing requirements in a given clock chip state * * * This function iterates over 32 coarse adjustments for the ad9528 clock chip and reads back the setup and hold time * for this given setting. * Optionally you can enable fine measurement which sets the ad9528 fine adjustment * For coarse the expected output would be two arrays of size 32 i.e. 32 setup and 32 corresponding hold values * for fine option, you would expect 512 results, a setup and hold value (corresponding to a coarse adjustment) and the results for * 16 fine clock adjustments. * * Results can be interpreted as follows: * ----------------------------------------------------------------------------------- * | Sysref Timing | Setup Value | Hold Value | Meeting Timing | * |----------------------- |----------------------|------------ |----------------| * | Sysref Leading DEVCLK | 0x0000 | 0x0000 | Yes | * | | 0x8000 - 0xFE00 | 0x0000 | Marginally | * | | 0xFF00 - 0xFFFF | 0x0000 | No | * |----------------------- |----------------------|-----------------|----------------| * | Sysref Lagging DEVCLK | 0xFFFF | 0x0000 - 0x00FF | No | * | | 0xFFFF | 0x00FF- 0xFFFF | Marginally | * | | 0xFFFF | 0xFFFF | Yes | * |------------------------|----------------------|-----------------|----------------| * | Sysref Aligned with | 0x7FFF - 0x0001 | 0xFFFF | Yes | * | Falling Edge of DevCLK | | | | * | | 0x0000 | 0xFFFF - 0x8000 | Yes | * |------------------------|----------------------|-----------------|----------------| * * * \pre This function can be called at any time.

\param device Pointer to the ADRV9025 device data structure containing settings * \param clock pointer to ad9528 device clock * \param fine paramter to enable fine measurement either (1 to enable fine and 0 to disable) * \param setupWordArr array to hold setup word results (when fine =0 array size required is 32 and when fine is enabled array size 512 is required) * \param holdWordArr array to capture hold word results (when fine =0 array size required is 32 and when fine is enabled array size 512 is required) * * \retval ADI_COMMON_ACT_WARN_RESET_LOG Recovery action for log reset * \retval ADI_COMMON_ACT_ERR_CHECK_PARAM Recovery action for bad parameter check * \retval ADI_COMMON_ACT_ERR_RESET_INTERFACE Recovery action for SPI reset required * \retval ADI_COMMON_ACT_NO_ACTION Function completed successfully, no action required

int32_t adi_adrv9025_DfrmPhaseDiffGet

Description:

/*** \brief This function will return the phase difference from when the global LMFC is triggered * to the point at which the received LMFC is flagged from the lane data.** \pre Buffer protection is enabled* \pre Buffer protection is active* * \dep_begin* \dep{device->common.devHalInfo}* \dep_end** \param device Pointer to the ADRV9025 device data structure.* \param deframerSelect selects the deframer of interest, DEFRAMER_A, DEFRAMER_B* \param channelId Register that will be read (0 = A, 1 = B, 2 = C, 3 = D)* \param phaseDiff Pointer that will hold the phase difference.** \retval ADI_COMMON_ACT_WARN_RESET_LOG Recovery action for log reset.* \retval ADI_COMMON_ACT_ERR_CHECK_PARAM Recovery action for bad parameter check.* \retval ADI_COMMON_ACT_ERR_RESET_INTERFACE Recovery action for SPI reset required.* \retval ADI_COMMON_ACT_NO_ACTION Function completed successfully, no action required.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有