AVR UART als 1-Wire-Bus missbrauchen, Bustreiber?

OP #3168628
Lesenswert?
• ▲
▼
Hi,

um mehrere kleine Geräte miteinander zu verbinden und zu synchronisieren 
möchte ich diese mit einem kleinen Multimaster-Bus vernetzen, welchen 
man über Klinkenkabel miteinaner verbinden kann. Klinkenkabel sind zwar 
nicht optimal aber die Steckverbindung ist einfach, klein und 3-polig, 
und sie sind schweinegünstig.

Da ich CSMA/CD realisieren möchte verbinde ich die Busleitung mit einem 
1k-Pull-Down und lege den TX-Pin meines AVR µCs über eine Diode da 
drauf. Der RX-Pin wird direkt verbunden und hört einfach mit.

Da Klinkenstecker beim Einstecken einen Kurzschluss verursachen kann es 
natürlich passieren, dass der TX-Pin über die Diode einfach mal auf GND 
liegt. Ich nehm mal stark an, das ist dem UART-Interface von meinem AVR 
nicht so besonders arg zuträglich. Ein Widerstand zur strombegrenzung 
ist zwar ganz nett aber auch nicht so das wahre, da er mir auch die 
Anstiegszeit von den Schaltflanken auf dem Bus begrenzt. Besser wäre so 
eine Art Konstantstromquelle oder eben ein Bustreiber der 50mA treiben 
kann und ansonsten kurzschlussfest ist.

Gibts da was passendes, das ich verwenden kann? Oder wäre sogar ein 
J-FET-Konstantstromzweipol geeignet? Oder soll ichs doch mit dem 
Widerstand versuchen? Die Baudrate wird nicht hoch sein.. 32kBaud 
sollten locker reichen.

lg
Gast #3168751
Lesenswert?
• ▲
▼
Dein Hauptproblem schien der Kurzschluss gegen GND beim einsteckem zu 
sein, das drehen der diode löst dieses Problem vollständig. Die 
Triebfähigkeit sollte bei moderaten Kabellängen eigtl. kein problem sein 
(der PP haut eben doch 40 mA raus) und der 1k Pullup kann bei bedarf ja 
noch etwas reduziert werden (500 Ohm geben 10 mA). Eine ksq ist glaube 
ich etwas overkill für so einen UART bus (I²C geht mit pullups ja auch 
bis 400 kHz)...

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.