ADXL345/375 und weitere SPI-Peripherie

OP #5777135
Lesenswert?
• ▲
▼
Liebe Leute,

ich baue zur Zeit eine Fluglagesteuerung mit Teensy 3.2, dazu mit 
MPU9250, BMP280 und FL127S am SPI-Bus, und einem ADXL375 am I2C-Bus.

Ich würde den ADXL375 jedoch gerne häufiger als mit 800Hz auslesen. Laut 
Datenblatt reicht dazu I2C mit 400kHz nicht aus; stattdessen sollte SPI 
benutzt werden: "Use of the 3200 Hz and 1600 Hz output data rates is 
recom-
mended only with SPI communication speeds greater than or equal to 2 
MHz."

Die SPI-Implementierung des ADXL375 hat jedoch ein gravierendes Problem: 
Wenn auf dem SPI-Bus mit anderer Peripherie als dem ADXL375 kommuniziert 
wird, die !CS-Leitung also High bleibt, dann interpretiert der ADXL375 
solche Kommunikation als I2C und wird womöglich, falls zufällig 
adressiert, auch antworten!

Dazu empfiehlt das Datenblatt: "Unless bus traffic can be adequately 
controlled to ensure that such a condition never occurs, it is 
recommended that a logic gate be added in front of Pin 13 
(SDA/SDI/SDIO), as shown in Figure 24. This OR gate holds the SDA line 
high when CS is high to prevent SPI bus traffic at the ADXL375 from 
appearing as an I2C start command."

Mit welchen Komponenten lässt sich ein solches Oder-Gatter am 
einfachsten realisieren?

Reichen zwei 1N4148 (eine zwischen !CS und SDI, eine zwischen MOSI und 
SDI) und ein 100kΩ zwischen SDI und GND aus? Kann diese Diode an MOSI 
einen negativen Effekt auf die 25MHz-SPI-Kommunikation mit dem FL127S 
haben?

Vielen Dank im Voraus,
Sebastian
Gast #5777150
Lesenswert?
• ▲
▼
Sebastian W. schrieb:
> Mit welchen Komponenten lässt sich ein solches Oder-Gatter am
> einfachsten realisieren?

Wie wäre es mit einem Oder-Gatter, z.B. SN74LVC1G32

> Reichen zwei 1N4148 ...

Mit Dioden kannst du nur ein wired-OR aufbauen. Die eine Flanke der 
Signale wird dabei langsam. Bau's auf und guck es dir mit einem Oszi an.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.