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.

[参考译文] ADS1158:ADS1158间歇性问题

Guru**** 2553400 points
Other Parts Discussed in Thread: ADS1158

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/686422/ads1158-intermittent-problems-with-ads1158

器件型号:ADS1158

你(们)好  

我在设计中使用的是 ADS1158。 我正面临一个特殊的问题、在这个问题上、ADC 突然停止响应微控制器通信。 SPI 通信应按如下所述工作。  

-我们在 ADC 上监控6个单端通道。

-微控制器每次需要开始转换时都会发送转换开始命令(通过 DIN 信号脉冲)。 对于每100mS 的6个通道、这种情况会发生6次。 每当数据为通道做好准备时、ADC 都会通过脉冲 DRDY 信号进行响应。 这意味着我们每100mS 就会看到6个 DRDY 脉冲。  

不过、在出现错误的情况下、我们注意到 ADC 没有使用6个 DRDY 脉冲进行响应、相反、我们看到的脉冲数和软件数量更少、即使等待100mS 或以上、也没有观察到任何响应。  

请告诉我是否有人观察到并解决了这个问题。 我可以提供有关这方面的更多信息。 谢谢。

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

    您是否监测过与示波器或逻辑分析仪的通信? 如果您可以发送一些通信照片、那将会有所帮助。 SCLK 上的噪声很可能会妨碍正常通信。 您是否使用 CS 构建通信框架? CS 在 CS 置为高电平时通过复位 SPI 总线来帮助解决通信损坏问题。

    这是一个原型系统、在微控制器和 ADS1158之间有很多导线吗? 此类设置通常会拾取 EMI/RFI 中的噪声、并存在信号完整性问题。 此外、如果在数字侧或模拟侧触碰电线、ESD 可能会导致器件停止通信。 确保器件已正确旁路、并且系统接地良好。

    如果您有原理图、这也会很有帮助。

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

    感谢 Bob 的回复。 请找到下面的详细信息和原理图的屏幕截图。

    设计采用 PCBA 而不是电线连接。 当我在正常运行下检查时、我不会看到任何信号中存在任何类型的噪声或过冲/下冲。 是的、我们使用/CS 信号脉冲进行通信。 如果您需要任何其他信息、请告诉我。

    ·终端应用-医疗
    ·详细的问题说明:在上面提供。 更多详细信息将按照附加的文件显示。
    ·您的输入信号是什么:我们有6个输入通道、其模拟输入 电压范围为0至5V。
    ·电源电压:AVDD = 5V、AVSS = DVSS = 0、DVDD = 3.3V。
    ·基准电压= 5V
    ·输入和基准驱动电路:如所附的电路原理图中所示。
    ·寄存器设置:我将与固件团队进行检查并提供相同的设置。
    ·数字控制引脚设置(即复位、断电、启动等):复位始终为高电平。 也不使用 START。 固件使用 DIN 脉冲向 ADC 芯片提供转换开始命令。 断电被永久拉高。  
    ·原理图和布局:附加图片。
    ·通信的示波器/逻辑分析仪屏幕截图。 附加图片。

    我需要提供的另一个输入是、当我们测量 AVDD 和 Vref 时、我们观察到 AVDD 为4.986V、 Vref 为5.000V、如果 Vref 略高于 AVDD、这是否会成为问题? 谢谢。  

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

    ADS1158的基准输入规格最大为 AVDD+0.1V。 您目前提供的值应该是可以的、但这些平均读数还是可以存在将电压差分开的尖峰? 只要电压源的漂移不超过100mV 阈值、您就可以了。

    如果可能、您可以压缩 Saleae 文件并附加吗? 我可以直接查看文件并更适当地分析数据。 瞬态是否会影响 ADS1158? 您的模拟输入或电源是否具有瞬态保护?

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

    e2e.ti.com/.../BadWaveform_5F00_Capture.zip

    您好、Bob、请找到随附的波形压缩文件。 您可以查看419秒和390mS 左右的数据集。 这就是/DRDY 信号停止出现的地方。 之后、我们看到100mS 后持续通信、这是由于软件断言。 我们感兴趣的是通道00至06。 关于瞬态、考虑到问题的间歇性特征以及问题发生前的等待时间、很难观察和记录。  

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

    尊敬的 Arun:

    感谢您共享该文件、因为它确实指示了一些信息。  首先、在数据中、我们看到当问题发生时、完成了3次转换。  这由显示0x8A 的状态字节表示。  从 ADS1158数据表的第25页的脉冲转换命令部分可以看到、如果在自动扫描模式下启用了多个通道、转换器会在完成转换后索引到下一个选定通道。

    我们看到下一个通道的 START 命令、因此、如果已识别 START 命令并完成转换、则状态字节中的数据应为0x8B。  遗憾的是、我们从未有过转换已完成的迹象。  经过一段时间后、再次发出 START 命令。  重新发出 START 命令时、DOUT 显示 0x00。

    如果忽略先前的 START 命令、我们将重复先前的数据。  如果我们看看下一个 START 命令、我们会看到发出 START 命令时 DOUT 上的结果为0x8C、这意味着当多路复用器前进到下一个位置时、前一条命令实际上已经开始并完成了转换。

    此时我们不知道数据是什么、但下一组数据确实会跟踪先前看到的数据。  从这一步中、我们了解到系统未重置或更改配置。  我们还知道、一旦重新启动、数据就会正确扫描。

    我们还知道、对于一个通道、转换似乎已完成、但未正确更新 DRDY 或将数据放置在输出寄存器中、这是一个问题。  这可能 是由于 SPI 总线上存在一些干扰的多个器件造成的。  另一个可能的问题是瞬态。  如果 SPI 线路上存在瞬态、则可以使用 CS 以稍微不同的方式进行解析。  我建议为每个通信设置 CS。  例如、将 CS 设置 为低电平、发出 START 命令 并将 CS 设置 为高电平。  等待 DRDY 转换为低电平、将 CS 设置为低电平、读取数据、将 CS 设置为高电平。

    此致、

    Bob B