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.

[参考译文] ADS124S08:ADS124S08:DOUT/DRDY输出上的信号水平异常低

Guru**** 2595805 points
Other Parts Discussed in Thread: ADS124S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/661099/ads124s08-ads124s08-strange-low-signal-level-on-dout-drdy-output

部件号:ADS124S08

您好,Joachim和Joseph:

去年,我们一直在讨论使用ADS124S08的最新设计(https://e2e.ti.com/support/data_converters/precision_data_converters/f/73/p/60.2523万/2263474#pi318173=2)226.3474万)。31.8173万。

我发现了下面讨论的DOUT/DRDY输出电平的第一个问题的答案-当CS较高时,输出变为"Hi-Z"状态!  这在一些正时图上可能会被注意到,但我在ADC手册的文本中没有注意到它!

我在第二个问题上做了更多的工作,发现如果我先读取转换数据,然后更改测量输入,即写入IDACMUX和IMPMUX!  它看起来就像ADC在连续转换模式下的行为一样。  但是我已将模式设置为单影像!?

我的寄存器的值如下所示:

INPMUX = 0x12
PGA = 0x0C
datarate = 0x34
Ref = 0x92
IDACMAG = 0x80xF0240
SYS = 0x10

数据速率寄存器中的模式位设置为1-单次激发转换模式。 我希望在这种模式下,转换结束后,ADC处于待机状态/模式写入寄存器不会清除转换数据并触发新的转换!

请评论!

----------------------------------

现在,我的原型板已启动并运行,但有两个问题可能相关:

第一个问题是DOUT/DRDY输出中有奇怪的低信号电平! IO已附上示波器的图片,显示DOUT/DRDY,SCLK和DIN信号以进行比较。

CLK和DIN信号的“1”和“0”电平良好,但DOUT/DRDY在数据传输之间保持在大约2.2V的电平,在数据传输期间,“1”电平要么良好(3.3V),要么低(2.2V)。

PIC中的通信表示转换完成且DRDY降低后的序列:

1-写入IDACMUX,仅将IDAC1设置为下一个AINx (从不使用IDAC2)(写入3字节);

2-从同一寄存器读取(读取3字节);

3-写入IMPMUX以选择下一个输入AINx (写入3字节);

4-从同一寄存器读取(读取3个字节);

5–从上一次测量中读取转换数据(无状态或CRC)(读取3字节);

6–发送启动命令(0x08)以开始下一个转换(1字节写入)。

我不使用读取命令,只生成3x 8位时钟序列! 这是否正常?

请评论!

我的第二个问题是,我与ADC寄存器的所有通信似乎都是良好和正确的,即写入寄存器的值可以从寄存器中读取,并且是相同的。 但是,当我读取转换数据时,我总是得到0!

ADC原理图位于上述线程中,我们当时讨论过该线程。 使用的微控制器是LPC2368。 PT100可能与系统的第一个和第二个输入(腔室和样品输入)连接,也可能未连接,但这没有任何区别! 系统的第三个和第四个输入使用100欧姆和22欧姆的校准电阻器,因此它们应该给我两个不同的ADC转换值,模拟PT100温度探头的0°C和-180°C输出。

但是,我从所有4个测量通道中获得0值。 DOUT/DRDY上的低信号电平可能是导致这种情况的原因吗?

请评论!

此致,

尼古拉

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

    有关CS较高时DOUT/DRDY将在ADS124S08数据表第61页9.5 1.4 部分中转到高阻抗的讨论。

    对于单次激发和连续转换,设备引脚启动/同步的状态是什么? 必须将此引脚绑在低位置才能使用起动命令。 不要让它浮动或被捆在高处。

    允许直接读取数据,并在单个通信中以mux的形式发送更改,如第70页和图92所示。

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

    我可能需要澄清一个详细信息,而在读取转换数据时,我在数据表中可能没有很好地解释。
    新转换的任何开始(如数据表中所述,这可能是对某些寄存器的启动命令或WREG命令)都将清除内部数据缓冲区。 意味着当您开始新的转换或发送WREG命令以更改Mux通道时,您将无法再读取以前的转换结果。

    这很可能是您在读取序列中的转换数据时看到全部为0的原因。
    您必须在使用RDATA命令发送WREG命令之前先阅读它,或者在DIN上发送WREG命令时更容易读取DOUT/DRDY上的转换结果。 后一个是数据表中第70页的'读取数据时发送命令'一节中的解释,Bob提到过。

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

    谢谢Bob和Joachim!

    ADC现在可以正常工作,因为我之前已经介绍了一些更改!

    但是,我仍然认为手册需要更改,因为它在第9.5 .3.12 章中指出:

    “将新数据写入某些配置寄存器会重置数字过滤器,并在转换正在进行时启动新的转换。”和

    “如果设备处于待机模式,则设备会根据WREG数据设置配置,但在开始/同步引脚变高或发出启动命令之前不会开始转换。”

    同时章节9.5 .3.5 指出:

    “在单次激发转换模式下,start命令用于启动单次转换。 转换完成后,设备将进入待机模式。”

    在我的情况下,我将ADC设置为单次激发转换模式,直到转换完成(DRDY信号变低),即ADC处于待机模式,才写入寄存器。 因此,写入寄存器不应清除转换数据并开始新的转换!

    此致,

    尼古拉

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

    你好,Nikolai,

    我们将在我们的数字设计师离开后再次确认其确切功能,然后在下一修订版中相应地更新您和数据表,以防这些陈述不正确。 同时,Bob也希望在其EVM上复制此行为。

    在待机模式下发送WREG命令时,ADS124S08实际上不应启动新的转换。
    但是,即使在待机模式下,WREG命令也可能清除数据缓冲区。

    一旦我们清楚了,我们将再次与您联系。

    此致,

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

    你好,Nikolai,

    我认为  您在9.5 部分的ADS124S08数据表中所提到的句子中有什么不清楚。3.12 实际上有 两个部分。  第一个部分始终是,第二个部分由'和'分隔。  因此我们(TI) 将在未来的数据表修订版中更好地描述这句话。  这句话如下:

    将新数据写入某些配置寄存器会重置数字滤波器,并在转换正在进行时启动新的转换。

    改写句子:将新数据写入某些配置寄存器始终 会重置数字过滤器,如果正在进行转换,则将开始新的转换。

    写入某些寄存器时,无论模式是连续还是单次激发,先前的结果都将被归零(数字滤波器重置)。  如果在WREG命令之后使用RDATA命令(对列出的寄存器之一),您将看到转换结果数据为'0',这种情况将始终如此。  如果直接读取数据(而不是RDATA命令), 则转换数据将保留在循环输出 缓冲区中,并且可以直接单独读取,或者 可以在 写入 WREG命令时读取结果,因为这可能是全双工操作。  但是,在您使用RDATA或RREG命令的任何时候,循环缓冲区中的数据都会更改,结果将在下一次转换完成之前不再可用。

    因此,您必须在发出RREG命令之前直接读取数据,或者在发出WREG命令之前使用RDATA命令读取数据。  写入寄存器然后读取寄存器的过程会破坏循环缓冲区中的数据,导致返回所有零,由于数字滤波器重置,这是当前可用的最新转换数据。

    我建议您在写入IDAC mux更改的同时读取数据。  这实际上会在进程循环中保存一个步骤。  但是,如果您按照最初发布中给出的流程进行操作,则一旦您写入IDAC mux寄存器,之前的转换结果将在转换结果缓冲区中置零。  当您通过发出RREG命令验证IDAC mux的内容是否正确写入时,循环输出缓冲区中的先前转换结果现在将被寄存器内容覆盖。  当尝试从循环输出 缓冲区再次读取转换结果时,内容将从现在为0的转换结果缓冲区更新。  因此,结果将根据所采取的处理步骤的顺序来确定。

    此致,

    Bob B