您好!
我正在我们的一个项目中使用 ADS131M04 IC。 因此、我在 IC 中面临一些问题。 同时采样不能正常工作。 当我启用所有通道并读取所有通道的数据时、我面临 输出数据中的一些数据变化、只有第一个通道数据正确、而另一个通道的数据不正确、如所附图像中所示。
启用单个通道时运行正常、我可以通过启用单个通道来读取所有通道的正确数据。 我想知道背后的原因是什么?
任何帮助都是可以察觉的。
谢谢。此致
Sarthak Malik
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.
您好!
我正在我们的一个项目中使用 ADS131M04 IC。 因此、我在 IC 中面临一些问题。 同时采样不能正常工作。 当我启用所有通道并读取所有通道的数据时、我面临 输出数据中的一些数据变化、只有第一个通道数据正确、而另一个通道的数据不正确、如所附图像中所示。
启用单个通道时运行正常、我可以通过启用单个通道来读取所有通道的正确数据。 我想知道背后的原因是什么?
任何帮助都是可以察觉的。
谢谢。此致
Sarthak Malik
您好, Dale Li
抱歉、我忘记附加图像。 实际上、我在同步采样中面临一些数据漂移。 正如您在随附的图像中所见。 这些是 ADC 寄存器 配置、如下所示。
寄存器0 0x2405
寄存器1 0x500
寄存器2 0x500
寄存器3 0xc
寄存器4 0x6666
寄存器5 0x0
寄存器6 0x600
寄存器7 0x0
寄存器8 0x0
寄存器9 0x800
寄存器10 0x0
寄存器11 0x0
寄存器12 0x8000
寄存器13 0x0
寄存器14 0x800
寄存器15 0x0
寄存器16 0x0
寄存器17 0x8000
寄存器18 0x0
寄存器19 0x800
寄存器20 0x0
寄存器21 0x0
寄存器22 0x8000
寄存器23 0x0
寄存器24 0x800
寄存器25 0x0
寄存器26 0x0
寄存器27 0x8000
寄存器28 0x0
等待您的回复! 为什么使用同步采样时会面临这一问题?
谢谢
Sarthak Malik
大家好、Dale、
感谢更新目前、我无法提供时序图。如果您不能做任何事情、没有时序图、我可以安排时序图。 在图中、它是第二个通道。 只有第一个通道正常工作、其他3个通道的行为与您在共享图像中看到的相同。 但它仅在同步采样中发生。 启用逐个通道并读取数据后、所有通道都正常工作。 我还将共享通道2有关启用同步采样的原始数据。
e2e.ti.com/.../Channel_5F00_2_5F00_raw_5F00_data.txt
谢谢
Sarthak
您好、Sarthak、
根据您共享的时序、DOUT 上的这些数据(零、CH3的数据为0xFFFFFF)是适用于浮点输入的正确数据、因此您可以为每个通道获得正确的数据。 可以通过在某些通道上使用直流输入进行仔细检查、您可以清楚地看到相应通道的数据是否输出正确。
当您收集数据时、 您是否在监视/DRDY 信号? 基本上、我们会持续监控/DRDY 信号、通常在检测到/DRDY 的下降沿时选择 ADC 并收集数据、低电平/DRDY 表示已准备好供微控制器读取数据。
正如我说过的、您对内部寄存器进行编程以设置增益和相位延迟不应影响数据输出、因此我认为您无法获得任何改进。
此致、
戴尔
您好、Sarthak、
我很抱歉 地听到你的工作被卡住了,看起来这个工作已经进行了一段时间。 让我看看我能不能帮忙。
完成了所有工作后、我很不幸地认为问题并不明显、我看到一些明显的问题尚未讨论、但我想我们可以深入到它的底部
让我们确定给定内容:
提供的设置是合理的、当前正在超低功耗模式下设置 f_datarate = 1kSPS、这意味着 f_clk< 2.08MHz、是这样吗?
问题可能是什么:
寄存器转储有一定的道理、因此我假设确切的格式不是问题的一部分(不在下降沿为数据计时是这些器件的典型问题)。 话虽如此、上面的示波器波形似乎需要~350us 的时间才能获取一个通道的数据(8位 SCLK 数据块应为24位 SCLK 数据块、它们之间相隔很远、浪费时间)。 上述数据速率意味着 f_DRDY 应每1ms 切换一次。 能否验证 f_DRDY 是否以这种频率进行切换?
这是相当大的时间百分比。 我不确定是否在写入寄存器后清除 FIFO、但如果不清除、器件内的 FIFO 肯定会 在您获取数据时填满、因此我们无法信任通道数据。 器件上电后就开始转换、因此在这段时间内、与第一个用于捕捉数据的 NULL 命令之间、这被视为在您首次收集数据之前进行"暂停"。 下面是来自数据表的一些文本:
如果您已经这样做了、那么我们可以继续讨论器件看起来不正确的一些其他问题。
其他问题:
总线争用:
您的预期 DVDD 是什么?
假设 MISO POCI 或 SIMO Pico 连接到同一电压轨、我们的电流处于器件不可接受的电压轨范围内。 每个波形的测量"顶部"不在1.65V 到2V < V_DVDD < 2.7V - 3.6V 范围内。 以 MISO 为例、我可以在同一次交易中看到2.2V 的电压以及不同的2.4V 波形"高"。 这通常是总线争用的结果、如果有任何其他东西与 MISO 连接、它可能会拉低该电源轨。 由于我们使用此电源轨为数字逻辑内核(包括调制器)供电、如果出现某些意外行为、我会感到吃惊。
除了我们看到的问题外、还需要解决这个问题。 我会查看您的原理图、看看是否有其他任何东西可能是问题(过去、我看到 MCU 附近有一个外部存储器 IC 导致了此问题)。
此致!
-Cole.
编辑:改变了语言
您好,Cole
非常感谢您的答复。
请查看 详细信息:
1.f_CLK< 2.08MHz、这是正确的吗? --> 我们使用时钟2.0 MHz。
能否确认 f_DRDY 正以这种频率切换? --> F_DRDY 以1kSPS 切换 。
3. MISO 和 MOSI 在相同的电压电平下运行、
您的预期 DVDD 是什么? --> 3.3V
如果您需要任何其他信息、请告诉我。
此致
Sarthak
您好、Sarthak、
我明白、感谢您告诉我。
很遗憾、除了我之前推荐的问题、我无法帮助您解决 DVDD 问题。 获取示波器、查找 DVDD 电压轨源、并在发送相同 SPI 事务的同时直接在源的引脚上进行探头。 然后、我将其与 ADS131M04引脚上的电压进行比较。 最后、我会查看 MCU 上使用相同 DVDD 源的任何其他器件 并查看其中的电压。
总线争用的最常见原因是另一个具有可编程 SPI MISO PICO 引脚的器件(或多路复用器或电压转换器)。 确保在不使用输出引脚时为高阻态。 如果器件中有任何与 DOUT 引脚作斗争的无源上拉或下拉电阻、那么您将看到这种行为。
此致!
-Cole.
您好、Sarthak、
它看起来确实更好一些、但看起来您可能违反了-0.3V 引脚绝对最大值(3.7Vpp-3.39Vtop = 0.31V)。 同样非常清楚的是、DGND 不是0V、或者至少波形上的低电平状态低于0V。 此外、高电平高于3.6V、这也超出了规格。 存在器件可能已损坏的风险。
您是否碰巧在在在单点连接的原理图中将 DGND 和 AGND 分开? 有时我会看到这种情况、因为 DGND 和 AGND 未一起连接到通用 GND 平面、而其过孔直接位于引脚旁边。
此致!
-Cole.
您好、Sarthak、
数字电压的2个不同电平会发生什么情况? 我们是否知道导致这种情况的原因? 请参阅下面的白色方框:
此时、波形看起来要好得多。 现在、我们能否看看同一捕获上的所有4个 SPI 波形? CS、SCLK、DIN 和 DOUT、就像您以前所做的那样。 它们还应保持在规格范围内。
之后、我想看看 NULL 的响应、并明确地查看状态字。
谢谢。
-Cole.