This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADC3660:FCLK 占空比不是50%

Guru**** 657500 points
Other Parts Discussed in Thread: ADC3660, ADC3660EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1108037/adc3660-fclk-duty-cycle-is-not-50

器件型号:ADC3660

我使用 ADC3660以25MSPS 的速率对一些数据进行采样。 我正在尝试让命令/时钟接口与 FPGA 一起运行、我可以可靠地写入/读取 ADC 中的寄存器。  我尝试使用以下设置。

  • 采样率:25MSPS
  • 输出模式:2线抽取旁路、16位分辨率
  • 采样时钟:差分
  • 电压基准:外部1.6V

我 正在 FPGA 中的软内核处理器上运行以下函数。WRITE_a2d_SPI (destination、value)将其"value"写入 ADC 中的"destination"寄存器。 我已经确认可以读回我写的值、因此我相信我会正确地命令它。

u32 configure_ti_a2d (void)

//请参阅 TI 3660数据表第8.3.5.4.1节(配置示例)
WRITE_a2d_SPI (0x7、0x4b);// 16位、2线

WRITE_a2d_SPI (0x13、0x01);//加载 efuse 步骤1.
usleep (1000);//等待1ms
WRITE_a2d_SPI (0x13、0x00);//加载 efuse 步骤2.

WRITE_a2d_SPI (0x0A、0x7F);//配置 CMOS 输出缓冲区步骤1
WRITE_a2d_SPI (0x0B、0xEE);//配置 CMOS 输出缓冲区步骤2
WRITE_a2d_SPI (0x0C、0xFC);//配置 CMOS 输出缓冲区步骤3

WRITE_a2d_SPI (0x18、0x10);//启用 DCLKIN

WRITE_a2d_SPI (0x1B、0x08);//选择16位分辨率
WRITE_a2d_SPI (0x1F、0x50);//启用 DCLKIN 和 DCLK 输出缓冲器


返回0;

我尚未实施任何逻辑来解码来自 DA5/6和 DB5/6通道的数据、但我在这些通道上看到数据、并使用我的逻辑分析仪(均为100MHz)查看我对 DCLK 和 DCLKIN 的预期结果。 但是、FCLK 似乎在比预期长半个时钟的时间内处于高电平。 我在示波器上验证了这一点、该示波器测量的 FCLK 占空比为~62%。

从理论上讲、只要一个新字在 FCLK 的上升沿开始、我就可以对 DCLK 进行计数、并使用它来跟踪开始和每个数据字、 但是、我想知道我是否在 ADC 配置中做了一些错误来更改 FCLK 的占空比。 我正在尝试使用逻辑分析仪读回一个恒定的测试模式、我只能在每个 FCLK 周期的前16位看到测试模式、 接下来的16位看起来完全不同、这让我相信有些设置不正确。

我可以发送命令或设置来将 FCLK 占空比更改为50%吗? 这是否是其他问题的迹象?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    我将对此进行检查、并将很快返回给您。

    此致、Amy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    我在实验中设置了 ADC3660EVM、并按照您的描述进行了配置。 我测得的 FCLK 占空比为50%。 您能否读取寄存器0x20、0x21、0x22? 这些是负责设置 FCLK 占空比的寄存器。

    此致、Amy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Amy、感谢您的回复。 下面是我从这些寄存器中获得的内容:

    0x20:0x00

    0x21:0xFC

    0x22:0x0F

    数据表似乎不清楚这些寄存器中的值与占空比对应的关系。 也就是说、在抽取旁路模式下、FCLK 模式会针对不同的输出分辨率进行自动调整、因此我没有对其执行任何操作。 看起来它当前正在使用复位值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Amy、我发现了这个问题。 我需要启用寄存器0x1B 中的 Mapper EN 位、以将分辨率更改为16位。 写入0x88而不是0x08即可解决此问题。 感谢你的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、  

    感谢您的跟进。  您从寄存器0x20、0x21、0x22中看到的读数与我在实验练习中在 ADC3660EVM 上看到的读数相匹配。 我在 该模式下检查了从寄存器0x1B 的读取、0x88正确-它设置了用于配置器件旁路模式的映射器 EN 位。 很高兴 您发现了此问题、我们非常感谢您提供反馈。

    此致、Amy