Probleme mit SO auf MCP23S18 spi gpio expander

Ich bin nicht in der Lage, ein Signal aus der Slave-Ausgangsleitung (SO) eines MCP23S18 zu bekommen. Für diejenigen, die nicht vertraut sind, es ist ein Slave-SPI-GPIO-Expander.

Takten in 32 Bit, wie es geht 16 Bit eingerichtet, 8 Bit Opcode, 8 Bit beabsichtigte Registeradresse, dann Daten ...

In den beigefügten Bildern sehen Sie mein Oszilloskop, das nur ein 2-Kanal-Oszilloskop hat: - das obere Bild blaue Linie Uhr, gelb SO - das untere Bild die blaue Linie SI, wieder das Gelb ist SO

Der seltsame Gedanke ist, dass die SO-Leitung so aussieht, als wäre sie eine Kombination aus der Uhr und den SI-Daten ...

Zum Kichern habe ich versucht, die SO-Leitung nach oben (und unten) zu ziehen, aber das bewegt nur die gleiche Wellenform nach oben zu vdd oder nach unten zum Boden.

Ich habe meine Verkabelung überprüft und erneut überprüft, aber ich nehme an, dass irgendetwas möglicherweise die Ursache ist. Ich habe einen zweiten MCP23S18 mit dem gleichen Ergebnis ausprobiert.

Soweit ich weiß, ist die SO eine Tri-State-Linie, die vom Sklaven getrieben wird, also scheint es ein Problem mit dem Sklaven zu sein.

Wovon ich kein Bild bekommen habe, ist die CS-Linie, obwohl ich sie untersucht habe, um sicherzustellen, dass sie rechtzeitig niedrig wird. Aus dem Umfang scheint es jedoch, dass der Slave möglicherweise nicht auf das CS aufmerksam gemacht wird und das SO auf hoher Impedanz belässt.

Für Tipps zur Lösung dieses Problems wäre ich dankbar

SPI-Uhr in Blau, SO in Gelb

SPI SI in Blau, SO in Gelb

Antworten (1)

Nun, mir ist jetzt klar oder ich habe gelernt, dass die SO eine Tri-State-Leitung ist, die von einem oder allen anderen Slaves gesteuert werden muss, Slaves müssen sie von der Schaltung trennen, wenn ihre CS-Leitung nicht ausgewählt wurde. Hier hatte ich fälschlicherweise ein Signal vom Slave erwartet und die Leitung blieb im don't care Zustand.