Frage bezüglich Schaltplan in Datasheet (SPI Bus, OR-Gatter)

Gast #3401157
Lesenswert?

Hallo zusammen,
ich hätte eine kleine Frage:
Und zwar in diesem Datasheet (S.15)
http://www.analog.com/static/imported-files/data_sheets/ADXL345.pdf
Ist beschrieben, dass wenn ich mehrere Slaves auf dem Bus habe, ich ein 
OR Gatter vor SDIO schalten soll.

Handelt es sich wirklich hier um ein OR Gatter? Für mich sieht das eher 
nach NOR Gatter aus.

Und den Zweck kann ich erschließen, aber die Funktionsweise noch nicht 
ganz. Ist SDIO dann nicht immer 0, außer ich spreche des ADXL an?

MfG und Danke :D
Gast #3401166
Lesenswert?

...Noch eine Frage...

Da steht ja SDIO, was aber wenn ich 4-wire SPI verwende, also SDI und 
SDO?
Geht das dann nicht?

Was mich auch verwirrt: Mitten im Text wird vom 346 gesprochen statt 
345...


DANKE!
#3401174
Lesenswert?

Steht doch deutlich beschrieben warum man das so machen sollte:
1
When the ADXL346 is used on a SPI bus with multiple devices, its CS 
2
pin is held high while the master communicates with the other devices.
3
There may be conditions where a SPI command transmitted to 
4
another device looks like a valid I2C command. In this case, the 
5
ADXL346 would interpret this as an attempt to communicate in 
6
I2C mode, and could interfere with other bus traffic. Unless bus 
7
traffic can be adequately controlled to assure such a condition 
8
never occurs, it is recommended to add a logic gate in front of 
9
the SDI pin as shown in Figure 36
Gast #3401187
Lesenswert?

Das ist mir klar warum, mir ist nur nicht klar, wie ich das bei 4-wire 
SPI machen soll (kein SDIO, sonder SDI und SDO) und wie es funktioniert, 
weil es ja dann immer 1 ist egal welche Daten übertragen werden...


MfG
Gast #3401362
Lesenswert?

Schlumpf schrieb:
> weil es ja dann immer 1 ist egal welche Daten übertragen werden...

Das Gatter wird direkt vor den ADXL gebaut, nicht direkt hinter den µC. 
Die anderen Busteilnehmer sehen also die Originaldaten auf SDI (nicht 
den Ausgang des Or-Gatters).

Wenn der ADXL nicht angesprochen werden soll sieht er konstant eine 1 
(und kann damit nicht die Kommunikation mit einem anderen Busteilnehmern 
als IIC-Kommando fehlinterpretieren). Wenn der ADXL angesprochen werden 
soll liegt CS auf 0 und der Ausgang des Or-Gatters folgt dem SDI-Signal.
Gast #3401634
Lesenswert?

Ahh ok,
Also ist es entgegen der Zeichnung ein Or Gatter und kein NOR Gatter.
Macht Sinn.

Also

(ADXL) CS  <----------------------------- CS (AVR)
                                     |
(ADXL) SDI <-- Or-Out |  Or A    <---
                      |  Or B    <--- SDO (AVR)
                                   |
           (anderer Slave)   SDI<---


(ADXL) SDO ----------------------> SDI (AVR)
                        ^
                        |
(anderer Slave) SDO------

(ADXL) CLK <--------------------   CLK (AVR
                             |
(anderer Slave) CLK <---------


DANKE!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren