我们的项目使用 TCA6408A 8 GPIO 作为输出来控制电源芯片使能、因为 TCA6408A 输出是推挽式 GPIO、无 PU 或 PD。
我们尝试移除终端电源芯片、只需左侧连接器、并移除源 I2C、只需使用 Aardvark 即可进行 R/W 不管所有1s (0xFF)或0s (0x00)的值是什么、输出都不会改变。
附件是我们的设计、请帮助检查、或者您有什么想法、请告诉我们、谢谢。
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.
我们的项目使用 TCA6408A 8 GPIO 作为输出来控制电源芯片使能、因为 TCA6408A 输出是推挽式 GPIO、无 PU 或 PD。
我们尝试移除终端电源芯片、只需左侧连接器、并移除源 I2C、只需使用 Aardvark 即可进行 R/W 不管所有1s (0xFF)或0s (0x00)的值是什么、输出都不会改变。
附件是我们的设计、请帮助检查、或者您有什么想法、请告诉我们、谢谢。
尊敬的 Van:
在进行通信之前、是否已将 TCA6408A 上的 RESET 引脚设置为高电平?
是否在写入输出寄存器之前修改配置寄存器?
在写入器件时、您是否从器件接收到任何 ACK?
在 IO 扩展器之前、您似乎有一个 I2C 开关、是否在写入 TCA6408A 之前先写入 I2C 开关以启用正确的通道?
您是否有针对器件的通信尝试的范围? SDA/SCL
您提供的原理图未显示任何问题:引脚与数据表匹配、存在去耦电容器、SDA/SCL 网络名称与引脚名称匹配。
-Bobby
在通信之前、RESET 引脚为高电平。
关于 I2C、我们有一个检查波形、当 Aardvark R/W 时有响应、当写入数据后读取值时结果发生变化
我们在 I2C 开关之后直接将 Aardvark 连接到 TCA6408A 的 I2C
命令、配置寄存器为01、输出寄存器为 FF 或00、对吧? (地址为0x20、原理图错误)

波形

read_0x20_01FF.png

read_0x20_0100.png

write_0x20_01FF.png

write_0x20_0100.png