主题中讨论的其他器件: ADS8688、 SN74HCS72
大家好、
我在使用 ADS8684时遇到一些问题(与 ADS8688器件相同、但只有4个模拟输入)。 就在 SPI 时钟的下降沿之后、SDO 线移动得非常快。 它与时钟关闭、以至于我的 SPI 主器件无法正确读取 SDO 上传输的数据。
我已经使用我的 Saleae 逻辑分析仪捕获了一些屏幕截图、其中显示了类似的问题。 下面、我尝试在器件上电后读取寄存器0x01 (AUTO_SEQ_EN)。
逻辑分析仪显示 SDI 和 SDO 线路上的数据:
- SDI =[0x02、0x00、0x00]=>正确
- SDO =[0x00、0x01、0xFF]=>不正确。 有时这是[0x00、0x01、0xFE]、仍然不正确。
下面是 ADS8684器件3个字节末尾的绿色标记处的详细信息:
我们看到 SDO 线在时钟下降沿之后的41ns 发生变化!! 有时、这种情况非常接近、以至于逻辑分析仪无法发挥作用、我能够同时看到 SDO 发生变化。
您是否知道下降沿之后它为什么会快速变化? 我当时认为线路应该在时钟的上升沿改变以避免出现问题,但 ADS8684似乎并不是这样做的。。
我使用过此器件、您是否遇到过此类问题? 您如何解决这些问题?
我的配置:
- SPI 主器件是具有 SPI-GPIO 驱动器的 Linux 目标(这不是真正的 SPI 外设、它驱动 GPIO、这说明时钟不是很精确)
- SPI 模式1 (CPOL = 0且 CPHA = 1、因为此器件需要此模式)。
-逻辑分析仪采样频率为24MHz。
谢谢、
Joel