Welchen Bus für Galv. Trennung

OP #951405
Hallo!

Ich bin zur Zeit auf der suche nach einem geeigneten Bus, mit dem ich 
zwischen 2 Microcontroller (AVR, oder AT91SAM) bidirektional 
kommunizieren kann. Dabei ist es aber wichtig, dass sich der Bus 
möglichst einfach (mit möglichst wenig zusäzlichen Bauteilen) galvanisch 
trennen lässt.

Die beiden Controller sitzen dabei auf der gleichen Leiterplatte, der 
abstand sollte also die 20cm im Normalfall nicht übersteigen.

Welche möglichkeiten fallen euch da so ein?

danke euch schom mal!


mfg

AiM
Gast
UART? Dazu dann dann entweder Optokoppler oder digitale Isolations ICs 
(ADUMXXXX von Analog oder ISOxxxx von TI). Ein einfacher DC7DC Wandler 
erzeugt dann die galvanisch getrennte Spannungsversorgung für die 
Sekundärseite.
OP
Hallo!

Danke für die Antworten.
Das Problem ist allerdings, dass ich am verwendeten AT91 die beiden 
vorhandenen Hardware UARTs bereits belegt habe, wodurch diese Lösung 
vermutlich ausscheidet?
Oder übersehe ich da was??

mdf

AiM
Mit LEDs ohne Widerständen grillst du nur die Koppler und Controller.

Beim CS vom Slave macht sich GND besser.

Aber sonst passt es, wenngleich traditioneller gestimmte Leute wohl aus 
alter TTL-Gewohnheit nicht gegen VCC mit Pulldown sondern gegen GND mit 
Pullup schalten würden (die LEDs auch).

Der Haken liegt im SPI der AVRs, die sich eher wenig für Slave-Betrieb 
eignen.
@ Michael A. (aim)

>In wie fern kann das ein Problem sein?? Bzw. wie kann sich dieser
>"Haken" äußern??

Es wird langsamer. Du musst nach dem Auswählen des Slave per CS ne ganze 
Weile warten, um sicher zu gehen, dass der AVR per Interrupt die Daten 
ins SPI register geschrieben hat. Grössenordungsmässig ein paar 
Mikrosekunden.

MFg
Falk
Es ist bei AVRs und vielen anderen ungepufferten SPI-Implementierungen 
ein bischen schwierig, genau den Zeitpunkt zu treffen zu dem man auf das 
Transferregister zugreifen darf. Mittendrin im Transfer geht ja nicht. 
Und danach herrscht etwas Zeitdruck, weil man das getan haben muss bevor 
der Master mit dem nächsten Byte loslegt.

Muss man also entweder das Zeitverhalten sehr sauber konstruieren, ggf. 
mit Wartezeiten seitens des Masters, oder der Slave quittiert jedes Byte 
mit einem Interrupt (zusätzliche Leitung).
Moderator (Firma: Titel) Persönliche Seite
>Optokoppler
Diese Beispielschaltung (von Michael A.) funktioniert nur bei 
schneckenlangsamen SPI-Bussen, weil die Standard-OK so langsam sind. 
10us tr und tf sind da keine Seltenheit.
Das ergibt eine Grenze bei gerade mal 50kHz. SPI kann da mehr.

Aber die Rettung ist nahe und bereits angesprochen:
>ADUMXXXX von Analog Devices oder ISOxxxx von TI
oder ISOLoop ILxxx von NVE

ADUM und ISOLoops gibts auch pinkompatibel...

Und wenns unbedingt optisch sein soll:
Hier ist der gute alte 6N137 angesagt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.