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.

[参考译文] ADS8363:ADS8363 MSB 始终为零

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/675186/ads8363-ads8363-msb-is-always-zero

器件型号:ADS8363
主题中讨论的其他器件: ADS8353ADS8860ADS8332

我最初遇到了一些与 Rd 脉冲和时钟脉冲之间的时序相关的 ADS8363问题。 我更改了这个时序、以哪种方式解决了问题。 读数在0到32、768之间的跟踪非常好、但最高有效位始终为零。 在该应用中、15位足够了、但现在我在需要16位精度的应用中使用 ADS8363。 我将 ADS8363与 STM32F407处理器连接、并使用标准 SPI 硬件和一个连接到 PULSE Rd 的单独端口 使用单独的端口时、我无法生成满足小于1个时钟脉冲要求的 Rd 脉冲。 我的 Rd 在第一个时钟前大约200nS 开始、在第二个时钟脉冲上升前大约10ns 结束、请参阅随附的逻辑分析仪捕捉。 这似乎非常有效、但可能是导致 MSB 始终为零的原因。 但是、如果输入比零低几毫伏、则 MSB 变为高电平。 RD 时序是否是导致 MSB 始终为零的原因?

ADS8363处于模式1V、ADC 的负输入全部接地、正输入用作单端输入。 基准电压为2.5V。 当输入为+2.5V 时、读数为32、676、这似乎很奇怪、因为如果 Rd 时序是问题的原因、我本来希望输出在输入为1.25V 时达到32、768、而不是2.5V.e2e.ti.com/.../LogicPort-Input-_3D00_-2.5V.pdf

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

    尊敬的 Bob:

    ADS8363是一款支持全差分或伪差分输入的16位器 件、可生成二进制补码格式的转换结果、其中 CHxxP 输入相对于 CMx 或 CHxxN 可能为负。  正/负满量程范围为±VREF。  由于该器件支持差分输入、因此 MSB 用作符号位。

    本质上、ADC 转换 CHxxP 和 CHxxN (或 CHxxP 和 CMx)之间的差值、并以二进制补码格式提供16位转换结果。

    例如、表7显示了保持 CHxxN=VREF=2.5V 时的预期代码结果。  在这种情况下、当 CHxxP=5V 时、该器件提供满量程正电压、其中 ADC 看到正满量程(+2.5V)、生成的代码为0x7FFF。 当 CHxxP=0V 时、该器件生成负满量程、其中 ADC 看到负满量程(-2.5V)、生成的代码为0x8000。

    在您的情况下、如果 CHxxN 固定在 GND、则器件仅使用其范围的1/2、并使用7FFF (或32767)代码在+2.5V 时产生正满量程。  

    如果您有兴趣获得0至2.5V 的16位转换结果、一种可能的方法是将器件设置为伪差分配置、使用+1.25V 的外部基准并在伪差分配置中将 CHxxN 保持在 VREF=1.25V 的水平。 另一种方法是使用支持 ADS8353、ADS8860或 ADS8332等单端输入的 ADC。

    谢谢、

    此致、

    Luis

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Luis,你的解释很好,我没有注意“完全不同”。 一旦我理解它很容易修复。 我将所有负输入连接到+2.5V 反向、并更正了固件中的读数。 输入现在为0V 至+5V、范围为全16位。

    再次感谢您的帮助。
    Bob