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.

[参考译文] ADS8353:读取 CFR 和数据转换

Guru**** 2510095 points
Other Parts Discussed in Thread: ADS8353

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/822771/ads8353-read-cfr-and-data-convertion

器件型号:ADS8353

我将 ADS8353用于 Double Langmuir 项目、我的控制器、我正在使用 Raspberry PI、我读取 REFDAC_A 和 REFDAC_B、可以正常工作、结果  分别为1FF8H 和2FF8H

但是、如果我读取 CFR、结果始终为0000H。 我已按照如下方式配置 ADS8353

CFR = 0x8440

REFDAC_A = 0x9FF8

REFDAC_B = 0xAFF8

此命令用于读取 CFR、REFDAC_A 和 REFDAC_B

1、为带32个 CLK 的帧(F)发送所有零

2.发送的 CFR 读取命令(F+1) 3000H、带48个 CLK

3.发送 F+2的所有零并获取数据

我还尝试读取数据转换、读取数据转换、我发送了如下命令

1、用48 CLK 感应所有零

ADC_A 输入为0.8V、ADC_B 输入为1.67V

但我得到的结果是、ADC_A 为0000H、ADC_B 为 FFFFh

发送命令的错误吗?

 

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

    Rizal、您好!

    感谢您的发帖、很抱歉耽误您的回答。

    您能否确认您使用的是双 SDO 模式还是单 SDO 模式? 您是否尝试在所有帧中每帧发送48个时钟? 请参阅第8.5.1节和表4。 为了验证一个读取或写入操作、需要最少数量的 SCLK 下降边沿。

    此致、

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

    我使用单 SDO 模式、我尝试在所有帧中每帧发送48个时钟、

    但结果仍然不变、转换结果为 ADC 0000H、 ADC_B FFFFh

    要读取 CFR 寄存器的值、结果为0000H

    此致

    Rizal

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

    Rizal、您好!

    您可以尝试以下几项操作:

    1. 首先、REF_DACx 寄存器默认使用您写入的相同寄存器值加电。 现在尝试消除这两个寄存器写入、只写入 CFR 寄存器(这只是为了排除问题)。
    2. 请记住、加电时、器件默认为32时钟双 SDO 模式。 写入 CFR 寄存器后、器件应进入32时钟单 SDO 模式。 您应该注意到 SDOB 变为高阻抗输出。 在写入 CFG 寄存器之前和之后尝试探测 SDOA 和 SDOB。 尝试使用适当数量的时钟(32或48)读取施加了一定输入电压的数据。 如果在将模式更改为单个 SDO 后 SDOB 仍在切换、则说明某个操作不正常。

    此致、  

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

    你好、Ryan

    我已经尝试过,但它仍然不起作用。

    我想、问题是 DAC 无法写入寄存器 CFR、REFDAA 和 REFDACB

    可以解释如何 首次写入 CFR、REFDACA 和 REFDACB?

    我尝试向 CFR、REFDACA 和 REFDACB 写入如下内容:

    REF_DACx 寄存器加电、对于这个命令、我在48-CLK 中发送了00h

    2.我对 CFR 寄存器进行了写操作、对于该命令、我发送了 CFR 位函数8440H (配置为32-CLK 和单 SDO)和00h (配置为32-CLK)

    我尝试读取 CFR 寄存器、对于此命令、我发送了48个时钟周期内的第一个全零、第二个时钟周期为3000H、48个时钟周期内的零、最后一个时钟周期内的所有零、并读取 MISO。

    它是正确的,我做了什么?

    此致

    Rizal  

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

    你好、Ryan

    抱歉、我错误地提到了该器件、它不是 DAC、而是 ADS8353。  

    此致

    Rizal

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

    Rizal、您好!

    此时请勿写入 REFDACx 寄存器。 调试这个问题会更容易。

    加电后、器件使用32位时钟双 SDO 的默认模式。 通过发送8440h 0000h 写入 CFR 寄存器。 这会将模式更改为单 SDO 模式。 此外、由于您要设置位6 = 1、因此您将启用内部基准电压。 内部基准将连接到 REFIO 引脚。 您能否探测 REFIO 引脚并确认您获得正确的默认电压?

    如果基准电压正确、发送48个时钟的帧、所有00h 都在 DIN 上、探针 SDOA 和 SDOB 上。 只有 SDOA 应使用随机数据进行切换。

    此致、