您好!
我有这个设置:FTDI 主器件(FT4232H)通过多路复用器连接到 ADC (AD5593)、我选择相关端口、然后向 ADC 发送命令。
我看不到所需端口的输出正在切换。
附件是选择相关端口时信号的快照。
我是否错过了什么?
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.
Lior、
FTDI 驱动程序似乎在正确发出停止条件时出现问题。
在您的缩小照片中、您可以看到时钟变为高电平、然后数据变为低电平、再变为高电平。 我已在 MCU 上重新创建此问题、并已在其他客户的离线情况下调试了此问题:
CH3 (紫色):SD7
CH1 (黄色):主 SCL
CH2 (蓝色):主 SDA
下面是一个典型的 I2C 通信、通过在第二个 ACK 后将数据线路保持在低电平、然后在不久之后释放时钟、然后释放数据、来发出停止条件。
下面我复制了 FTDI 的停止条件(与放大后的图像类似)、这涉及允许数据变为高电平、然后在时钟变为高电平然后再次变为高电平。 您可以看到我之前的事务收到 ACK、表示 CH7应该已启用、但当我将数据线驱动为低电平时、SD7 (CH3)保持高电平。 这意味着 TCA9548A 尚未执行"FTDI"命令、因为它没有看到合适的停止条件。
最后、我尝试改变数据线路变为低电平且时钟线路变为高电平的时序(您可以看到数据先变为低电平、然后时钟变为高电平、最后再次出现数据)。 当我将 SDA 切换为低电平时、您可以看到 SD7 (Ch3)变为低电平。
总之、我们的器件无法识别 FTDI 的停止条件、并且需要一个有效的停止条件、以便在一个有效的写入事务后正确启用通道。
-Bobby