Forum: Mikrocontroller und Digitale Elektronik SPI kurzzeitig zwei DOUT aktiv


von Torsten G. (razzal)


Lesenswert?

Hallo zusammen,
ich versuche grade einen SPI-Bus für eine Raspberry-Erweiterungs-Platine 
auszulegen. Da sind unter anderem zwei ADC (AD7691) dabei. Weil ich mehr 
als zwei CS brauche, muss ich auf GPIO's zurückgreifen. Diese sind beim 
booten jedoch erst mal LOW. Das soll zwar durch ein Skript beim booten 
geändert werden, ich kann jedoch nicht mit Sicherheit sagen ob die 
beiden SDO der ADC kurzzeitig beide aktiv und damit niederohmig sind. 
Nun ist die Idee an die SDO's einen 1k Widerstand in reihe zu schalten 
um den Strom zu begrenzen. Die Hoffnug ist das der MISO so hochmig ist, 
das der Pegel bei der Datenübertragung noch hoch genug ist. Hat da schon 
mal jemand Erfahrung mit gemacht?

Gruß
Razzal

von Arduinoquäler (Gast)


Lesenswert?

Zwei aktive Chip Selects am SPI machen noch keinen Buskonflikt.

Erst wenn die SPI Maschine Clocks generiert wird es schwierig.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Sind die Pin beim Booten aktiv low? Ich denke eher, die Pins floaten. 
Dann wuerden Dir Pull-Ups an den Chip Select Leitungen helfen.

Ansonsten wuerde ich als Kollisionsschutz eher 100 ... 200 Ohm nehmen. 
Dann sind die sich ergebenden Zeitkonstanten guenstiger.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Torsten G. schrieb:
> Weil ich mehr als zwei CS brauche, muss ich auf GPIO's zurückgreifen.
> Diese sind beim booten jedoch erst mal LOW.
Unüblich. Vermutlich sind da irgendwelche Pulldown im Spiel...

> ich kann jedoch nicht mit Sicherheit sagen ob die beiden SDO der ADC
> kurzzeitig beide aktiv und damit niederohmig sind.
Davon gehen die nicht kaputt...

> Nun ist die Idee an die SDO's einen 1k Widerstand in
> reihe zu schalten um den Strom zu begrenzen.
1k ist da schon zu hochohmig. Bei 3V3 wären das ja nur 1,6mA im 
Fehlerfall. Fazit: 100Ohm reichen auch. Dazu kommt nämlich noch der 
Bahnwiderstand der Ausgangstreiber und schon bist du bei 250 Ohm in 
Reihe. Und das sind bei 3V3 dann letztlich noch 15mA.

> Hat da schon mal jemand Erfahrung mit gemacht?
Aus der Praxis: sieh die Widerstände einfach mal vor. Wenn sich 
hinterher herausstellt, dass keiner nötig wäre, dann machst du da 
einfach 10 Ohm widerstände rein. Kostet in kleiner SMD Ausführung gerade 
mal 0,1 Cent...

von Arduinoquäler (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Zwei aktive Chip Selects am SPI machen noch keinen Buskonflikt.

Hängt natürlich ein wenig davon ab welche Art von SPI
Hardware dranhängt .....

von Torsten G. (razzal)


Lesenswert?

Danke für die hilfreichen Antworten :)

von holger (Gast)


Lesenswert?

ein externer Adressdecoder, z.B. 74xx138, wäre die wasserdichte 
Alternative bei jedem Betriebszustand.
Gruß.

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
Noch kein Account? Hier anmelden.