工具与软件:
采样通道未对齐、这起初是正常的、但一段时间后、通道的读数会令人困惑、在读取通道1时会读取通道2的值。
需要检查哪些内容?
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.
尊敬的 Hui、
"采样通道未对齐"和"一段时间后通道读数混乱"究竟是什么意思?
您是否是说在写入配置寄存器以选择不同的多路复用器设置时、当您读取新数据时、它仍属于之前的配置?
您如何确定 ADC 转换结果与先前的多路复用器设置相对应、而不是与当前的多路复用器设置相对应? 输入信号是否不同、这就是确定 ADC 转换与先前通道配置的方式。
您是在连续模式还是单次模式下操作器件?
在多路复用器之间循环时、最好使用单次模式。 主要原因是、在连续模式下运行时、如果已经有正在进行的转换、则在转换结束之前不会进行新配置。 这将需要丢弃多路复用器变化后的下一次转换、以便转换结果对所需的多路复用器输入有效。
我建议在从不同通道获取 ADC 读数时使用单次模式。
在单次模式下、多路复用器变化和转换读取可以同时发生。 确定转换已完成后、可以写入新配置、转换开始的同时读取先前的转换结果、因为 SPI 通信是全双工的。 对于这种用例、无需抛出无效转换
此致、
天使
我们使用单次触发模式。
ADS1018我们使用四个通道、使用多路复用器多路复用器开关、使用单次模式、数据速率为3300sps、在主循环中每个通道首先写入配置寄存器值、延迟1ms、然后再次读取。 延迟1ms。 下一个主循环读取和写入第二个通道。 读取/写入数据是由 HAL 库提供的 HAL_SPI_TransmitReceive 函数。
但是、自第一个通道正确采样经过一段时间(秒或几十秒)后、第一个通道的读数不正确、读取第二个通道的值。
您能提供一些建议吗、谢谢。
尊敬的 Hui、
所以对于不同的多路复用器配置、是否可以同时运行单独的循环?
最好是使用一个多路复用器设置、然后在准备好时读取该设置的 ADC 转换结果、再设置下一个多路复用器设置、在准备好时对该设置执行 ADC 转换读取、然后设置下一个多路复用器设置等等、而不是使用单独的环路(如果我理解正确)时序可能相互干扰。
您是否能够提供与器件进行 SPI 数字通信的逻辑分析仪捕获?
这将有助于验证您实际上写入和读取器件的内容以及顺序、从而验证配置是否设置正确并且 ADC 读数是否按所需顺序正确。
此致、
天使