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 ?
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
Nachtrag: bei 6 Slaves kannst du das Enable sparen und eine unbenutzte Adresskombination zum Abschalten nehmen, dann bleiben noch 3 Leitungen. Gruss Reinhard
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.
Da es bei den CS-Leitungen meist zeitlich nicht so eng zugeht wie bei Takt und Daten, wären billigere Optokoppler denkbar.
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.
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.
>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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.