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.

[参考译文] ADS130E08:SPI通信在发生几次DATA_Ready触发后停止

Guru**** 2589265 points
Other Parts Discussed in Thread: ADS131E08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/647453/ads130e08-spi-comms-stop-after-few-data_ready-triggers

部件号:ADS130E08
在“线程:ADS131E08”中讨论的其他部件

我设置了AD130E08以提供连续转换,方法是将其设置为连续读取,以便Data_Ready在 8 ksamples/s时变为低电平  

初始化SPI驱动程序时,我可以开始读取152位(19字节)几次(可能是5或6次),然后“数据就绪”不会转换为低级,以指示新的数据样本已就绪。

因为它处于连续模式,所以不确定停机的原因是什么。 有什么想法?

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

    由于您没有告诉我们您的示波器轨迹表示什么,我会假设蓝色轨迹是DRDY,白色轨迹表示您读取19字节的数据。 是这样吗? 需要记住的一点是,如果运行ADS131E08的速度为8kSPS,则最好以相同(或更快)的速率从设备读取所有数据,在DRDY脉冲之间采集所有19字节的数据。 很难确切地知道在这种情况下可能发生了什么导致DRDY停止,但您应该能够进入并读取注册表内容,以查看在数据读取周期中是否发生了损坏。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tom

    正确,示波器信号是Data Ready和来自SPI接口的SCK。所有SPI数据包都具有相同的状态位0xC0 0x00 0x00,这意味着ADC通道上没有故障。

    另外,我的读取速度非常快,因此在读取的19个字节和下一个数据就绪事件之间有一段时间。

    您建议我检查/阅读哪一个注册表,以调查数据准备停止"中断"或生成事件的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我能够读取寄存器,我注意到CONFIG3值不是默认值,应该是0x40,有时我得到0x41或0x80

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有趣... CONFIIG3寄存器中的位0可以读回为0或1,所以这不是太令人惊讶的。 读回80是很奇怪的,因为第6位总是读回'1'。 硬件方面,您如何管理起始引脚?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将设备重置1秒钟,然后将起始引脚设置为"高"。 它直接来自MCU 3.3V输出

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

    在上面的字符串中,如果您的寄存器显示0x80项为CONFIIG3,则0x01项config1是什么? 这至少应为0x91 - CONVI2.2寄存器似乎也关闭了。 您是否可以发送另一个屏幕快照,仅放大其中一个或两个传输? 您是否还可以发送有关ADS131E08的示意图部分?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在附加请求的屏幕截图。 在读取过程中,有时我只读取19个字节的零,但有时我确实读取了正确的数据。 您认为我读的太快了吗? 我目前在CS和SCK之间的延迟是1个Us。

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

    感谢您的屏幕截图和原理图片段。 我看不到原理图中的任何内容必然与之不一致。 但我要问的一件事是,你是如何生成AVDD和AVSS的。 这两个电源应共用一个公共接地,这将被视为模拟接地(AGND),然后再将其连接到您的DGND。 如果这些耗材与您的DGND有关,则可能是问题所在。 另外,四个NC引脚应保持浮动状态。

    SPI传输的屏幕截图看起来很干净,因此我不确定您的数据关闭是什么交易。 在我看来,数据在某种程度上会旋转。 在三个数组捕获中,第一个数组在ADC_BUFFER[15]中具有0xC0 -是这种巧合还是状态字节? 如果您有大量输入与FS+关联,则第三个缓冲区详细信息看起来是正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     Tom

    我从NC引脚上拆下了电阻器,并且每2毫秒开始请求手动读取。 大部分时间数据都没有损坏,但我仍在丢失数据就绪触发器。 我正在附加快照。 我正在发送停止命令,先等待2 Us,再发送启动命令,然后等待数据就绪信号。 在图中,当它工作时,它显示SPI CLK和Data Ready。

    是否有其他建议可以尝试? 我是否应该修改寄存器的默认值? 我当前使用的是默认值。

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

    可以使用默认设置。 但是,屏幕截图中的某个内容对我来说似乎不是很好。 如果是SPI CLK和DRDY -左侧的两个脉冲是什么? 如果您查看数据表中的图31,发送start命令后DRDY应该会很高。 在tSETLE时间之后,DRDY应变低,这是您应开始读取转换结果的位置。 如果您现在参考图35,DRDY在获得第一个SCLK后应返回高值。 如果您正在读取捕获左侧的数据,我希望DRDY已恢复到其高状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tom

    我确认了这一点,看起来数据就绪似乎没有按应有的方式工作。 请参阅随附的屏幕截图,其中我绘制了SCK (SPI)和数据就绪,同时还显示了start和read命令,后跟19字节读取序列。  Read Command I已验证它是否为0x12h。

    我还在一些屏幕截图中绘制了CS行(青色)。但正如您所说的那样,我希望在第一个SCK之后Data Ready变为High (高数据就绪),它应该是读取命令期间的第一个SCK? 还是19字节的读取序列?

    “启动请求”,然后“数据就绪”将变为低电平,并在读取命令和19字节读取序列之后保持低电平。

    读取命令(0x12)

    read命令,后跟19字节read。 包含的CS行(青色)

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

    您是否有另一个可以使用的主板? 此设备可能已损坏。 另一件事,它看起来好像在/CS线上有一些活动-你可以看到模糊的痕迹,我不能判断它们是真实的还是你范围内的伪迹。 如果它们是真实的-这可能是问题的一部分。 /CS线必须在整个数据检索过程中保持较低的值。 您还应该考虑使用RDATAC模式,根本不需要发出RDATA命令。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢Tom,我会验证,但范围可以。 “数据就绪”信号是预期的行为吗? 我将看到我是否可以在我的主板上的这个时候更换芯片。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不是-我能说的最好,DRDY在/CS前面就低了,所以看起来您正在等待适当的稳定时间。 DRDY应该会随着启动RDATA命令的SCLK而变得很高。