设计
Iso7741用于隔离 SPI 数据。
ISO7741的左侧是单芯片微型计算机和1个 ADC、ISO7741的右侧是3个 ADC。
单芯片微型计算机只能正确读取右侧三个 ADC 的数据、但无法读取左侧的 ADC 数据。 如果删除了 iso7741、则可以正确读取左侧的 ADC 数据。
ADC 模拟数据转换器
谢谢
Elsa Duan
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.
您好、Elsa:
感谢您在 E2E 上发布问题。
如果多个从器件共享同一 SPI 总线,则当芯片选择为高电平时,从器件的 SDO 应变为高阻抗。
在您的应用中、请确保在读取左侧 ADC 时 ISO7741的 EN1引脚被驱动为低电平。 这会将 ISO7741的 OUTD 置于高阻抗状态、从而使左侧 ADC 的 SDO 能够正确驱动 SPI 总线。
此致、
Dushmantha
尊敬的 Dushmantha:
感谢您的建议。
根据您的建议、我将 EN1引脚连接到 MCU 的 IO 端口以进行控制。
在下拉 ADC1芯片之前、请在 ISO7741的左侧选择、首先下拉 EN1、在读取 ADC1后将 EN1拉至高电平、然后读取隔离芯片右侧的 ADC2和 ADC3。
结果与之前相同。 读取 ADC1状态寄存器的结果为0xFF、读取 ADC2和 ADC3的结果正常。
可以帮帮我吗? 情况紧急。
非常感谢。
Elsa Duan
您好、Elsa:
感谢您提供系统方框图和原理图。
除了在读取 ADC1 SPI 寄存器时 U18 EN1引脚应该被驱动为低电平之外、我看不到您的方法有任何问题。
我知道这是你尝试过的一种没有成功的东西。
您能否尝试将 U18的 EN1连接到 GND 以查看是否可以从 ADC1恢复 SPI 通信? 这将消除用于调试目的的 EN1至 CS1时序要求。
要进一步调试这个问题、您可以在读取 ADC1状态寄存器时探测 SPI4_SCLK、SPI4_MOSI、SPI4_MISO 和 CS3波形吗? 使用(SPI 通信不工作)和不使用(SPI 通信工作) U18来探测这些 SPI 信号很有用。
谢谢、
Dushmantha