Forum: Mikrocontroller und Digitale Elektronik SPI Galvanisch trennen ( 8 chips )


von Mark P. (Gast)


Lesenswert?

Hallo,

ich muss eine SPI Verbindung mit 8 Chips auf einer galvanisch getrennten 
Seite aufbauen. Die SPI Signale werde ich mit einem ADUM auf die 
galvanisch getrennte Seite bringen, jedoch möchte ich nicht noch 2 ADUMs 
für die 8 CS Signale benutzen, da ich die Platine 5 mal brauche, was 
dann 10 ADUMS nur für die CS Signale sind. Gibt es eine günstigere 
Lösung die CS Signale auf die galvanisch getrennte Seite zu bringen ?

von Reinhard Kern (Gast)


Lesenswert?

Mark P. schrieb:
> Gibt es eine günstigere
> Lösung die CS Signale auf die galvanisch getrennte Seite zu bringen ?

Nein, es sei denn, du dekodierst erst auf der anderen Seite, dann musst 
du nur 3 Adressbit und 1 Enable übertragen. Ist also nicht viel weniger, 
das lohnt sich erst bei noch mehr Slaves.

Gruss Reinhard

von Reinhard Kern (Gast)


Lesenswert?

Nachtrag: bei 6 Slaves kannst du das Enable sparen und eine unbenutzte 
Adresskombination zum Abschalten nehmen, dann bleiben noch 3 Leitungen.

Gruss Reinhard

von H.Joachim S. (crazyhorse)


Lesenswert?

evtl. möglich: die SPI-Bausteine kaskadieren. Spart Leitungen (ist aber 
nicht immer möglich), kostet aber auf jeden Fall Zeit (um ein Byte zu 
schreiben, müssen 8 gesendet werden). Kann aber auch sehr effektiv sein, 
wenn z.B. sowieso alle 8 Bausteine beschrieben/gelesen werden sollen.

von (prx) A. K. (prx)


Lesenswert?

Da es bei den CS-Leitungen meist zeitlich nicht so eng zugeht wie bei 
Takt und Daten, wären billigere Optokoppler denkbar.

von (prx) A. K. (prx)


Lesenswert?

Reinhard Kern schrieb:
> Nachtrag: bei 6 Slaves kannst du das Enable sparen und eine unbenutzte
> Adresskombination zum Abschalten nehmen, dann bleiben noch 3 Leitungen.

Dann sollte man aber sicher sein, dass der auf CS möglicherweise 
auftretende Glitch die real verwendeten Slaves nicht stört.

von MaWin (Gast)


Lesenswert?

Da CS Signale nur unidirektional sind, und langsam, und von der Quelle 
wohl als TTL-Signal zur Verfügung gestellt werden, kannst du Optokoppler 
dafür verwenden.

von MCUA (Gast)


Lesenswert?

>ich muss eine SPI Verbindung mit 8 Chips auf einer galvanisch getrennten
>Seite aufbauen. Die SPI Signale werde ich mit einem ADUM auf die
>galvanisch getrennte Seite bringen, jedoch möchte ich nicht noch 2 ADUMs
>für die 8 CS Signale benutzen,
Weitere Möglichkeit, die CS's über SPI rauszushiften. Eine Leitung 
unterscheidet dabei zwischen Adressen/Nutzdaten. Also ges 4 Optokoppl. 
nötig.
  Oder die Adressen ins Protokoll einbauen, und nach Adressen-übergabe 
den Slaves Zeit zum Einstellen geben.

von Jens M. (Gast)


Lesenswert?

Mark P. schrieb:
> Gibt es eine günstigere
> Lösung die CS Signale auf die galvanisch getrennte Seite zu bringen ?

Ja, indem du Sie auf der kalten Seite belässt. Kein Takt kein SPI, also 
lässt du die den SPI clock nur an die Koppler wo er gerade gewollt ist.

von Andreas M. (amesser)


Lesenswert?

Wie wäre es mit einem 8Bit Tri-State Schieberegister auf der heißen 
Seite. Das einfach mit an den SPI Bus ran. Steuersignal per Optokoppler 
dann auf dessen Output-Enable und das selbe Signal invertiert noch auf 
dessen Latch-Leitung. Pull-Ups an die Ausgänge.

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.