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
...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!
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 |
:
Bearbeitet durch User
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
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.
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!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.