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.

[参考译文] LMP90100:通道扫描顺序不符合#39;似乎未遵循 FIRST_CH 至 LAST_CH

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1248378/lmp90100-channel-scan-order-doesn-t-seem-to-follow-first_ch-to-last_ch

器件型号:LMP90100

使用 SCAN_MODE1或 SCAN_MODE2从 AFE 读取数据时,会扫描从 FIRST_CH 到 LAST_CH 范围内的所有通道,但不按预期顺序扫描。 例如、顺序:(FIRST_CH + 5)至(FIRST_CH +4)。

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

    尊敬的 Noah Pierce:

    您如何确定正在采样哪个通道? 是否正在使用 SENDIAG 标志、或者输出数据是否与您期望的通道不匹配? 我通常使用 DRDY 引脚来指示您所在的通道。 因此、当 DRDY 在启动(或重新启动)转换后首次下降为低电平时、即 CH0 (或任何 FIRST_CH)。 然后、当 DRDY 再次下降为低电平时、它应该是序列中的下一个通道、以此类推、直到到达最后一个通道。

    使用逻辑分析仪观察数据通信会有所帮助。 LMP 可能会提供大量信息、因此我不确定在看不到您看到的内容的情况下有多大用处。  

    -Bryan

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

    您好、Bryan:

    我已经设置了 LMP 以在 DRDYB 上中断我的微控制器。 在中断处理程序中、我读取 SENDIAGS、并将3位通道值输出到我使用示波器读取的三个引脚上。

    当我在中断处理程序中设置一个断点并查看 SENDIAG 寄存器的最后三位时、我从未将其视为 CH_0。 有时我会看到 CH_4、CH_5或 CH_6。

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

    尊敬的 Noah Pierce:

    在您的原始帖子中、您说正在读取所有通道、但顺序不正确。 如果您在 SENDIAG 寄存器中仅看到某些寄存器、如何确定正在读取所有通道? 您是否能够向每个通道(0至6)施加不同的电压并成功测量所有电压?

    我想我正在尝试确定问题是与您读取数据的能力有关、还是仅确定正在读取哪个通道的数据有关

    -Bryan

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

    当我使用 SCAN_MODE2和 CH_FIRST_CHAN_CH0 | CH_LAST_CHA_CH6时、我能够看到所有通道按正确的顺序穿过(在外部示波器上监控时通过 SENDIAG 的3 LSB)、但不会从通道0开始。 每个通道上获得的电压也是我的预期。 但是、我对为什么必须跟踪每个通道的读取情况感到困惑、并且无法依赖在访问 CH_LAST_CHAN_CHX 后扫描整个通道范围

    我担心是否存在使用过时读数、读数丢失等的可能性。

    我需要使用 SCAN_MODE1、以便确切地确定何时启动扫描周期、并希望能够按照固定的顺序和固定的时间扫描所有通道。

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

    尊敬的 Noah Pierce:

    您能解释一下自己的意思吗?

    我能够看到所有信道按正确的顺序(通过3 LSB 的 SENDIAG 在外窥镜上监视)(大部分情况下)

    具体而言、"大部分"一词的含义是什么? 我知道 ADC 不一定 FIRST_CH 开始、但我假定序列一旦启动、就始终遵循正确的顺序。 您是说、有时信道随机以错误的顺序出现吗? 如果可以、您能否更详细地介绍这一点?

    此外、无论 SENDIAG 位如何、您是否确认接收的数据是否与预期的通道匹配? 例如、如果您的 Ch0上电压为0.5V、CH1上电压为1V、CH2上电压为1.5V 等、那么数据实际上是否按照正确的顺序输出、以便第一次 DRDY 转换输出等效于0.5V 的代码、第二次 DRDY 转换输出1V 等效代码?  没有明显的原因来说明 SENDIAG 中的位不对应于正确的通道、除非它始终偏移一个通道、例如您在对 Ch1进行采样、但 SENDIAG 位显示 CH0。 数据表中的第9.3.8.3.5节对此进行了说明。

    我可能需要看到完整的数据事务才能进一步诊断此问题。

    -Bryan

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

    通道不会随机出现、但偶尔会从不同的通道(3、4或5)开始。 我希望扫描的通道顺序是确定性的。

    每个通道都连接到一个外部传感器输入、我要获得的值在其预期范围内、因此我确定的通道仅基于 SENDIAG_FLAGS 的 SAMPLE_CH 位。

    ADC 不一定在给定通道上启动、因此我将在一个单通道范围内使用 SCAN_MODE1进行测试、并且在读取每个通道之后、当 CH_SCAN_NRDY 为0时写入一个新的 CH_SCAN 通道。 但是、除非我写入 RESETCN (并重写所有控件和配置寄存器)、否则在写入 ADC_RESTART 后、我不会看到 DRDYB 发生变化。

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

    尊敬的 Noah Pierce:

    从 ADC 读取的数据值是否始终与您在 SENDIAG 位中读取的通道相匹配? 换句话说、您说 SENDIAG 位有时指示序列在错误的通道上启动、例如通道3。 发生这种情况时、接收的数据是始终对应于施加到通道3的实际电压、还是对应于不同的通道? 我希望数据按正确的顺序输出、而只是 SAMPLE_CH 位不正确。 请确认

    此外、当使用 SCAN_MODE1时、序列会环绕吗? 例如、您正在使用 SCAN_MODE1、FIRST_CH = Ch0、LAST_CH = Ch6。 不过、一旦您开始读取数据、第一个样本会指示您位于 Ch3而不是 Ch3。 在模式 CH4、Ch5、Ch6、Ch0、Ch1之后完成后续的 SAMPLE_CH 位、 通道2? 或者、序列是否会在 Ch6停止、正如它应该那样?  

    您是否在多个电路板还是仅一个电路板上看到过这种行为? 您是否执行了 A-B-A 交换以查看问题是出在 ADC 还是电路板? 此外、我假设您使用的是自己的 PCB、而不是 EVM、对吗?

    -Bryan

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

    使用 SCAN_MODE1时、我看到数据在 Ch6停止。


    有趣的想法。我会设置一些东西来确认数据与 SENDIAG 位匹配、以及问题是发生在多个板上、跟随 ADC 还是跟随板上。

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

    尊敬的 Noah Pierce:

    让我们了解这些测试的结果。 如前所述、Sample_CH 位以随机顺序传输的原因不明显、这就是为什么此时我的问题比答案多

    -Bryan

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

    仍在测试中、但我有一个简短的问题:LMP90100上的 GPIO 引脚 D0-D5是否具有内部上拉或下拉电阻器? 我们已将这些引脚保持断开状态、我想知道这些引脚是否悬空并设置为输入会引起问题。

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

    尊敬的 Noah Pierce:

    LMP90100在 GPIO 引脚上没有内部上拉/下拉电阻器。 您也不应让这些引脚悬空。 将每个引脚连接到某个电压电平(GND 或 VIO)。 您还可以将 GPIO 设置为数字输出、允许其浮动

    -Bryan