Forum: Mikrocontroller und Digitale Elektronik AVR UART als 1-Wire-Bus missbrauchen, Bustreiber?


von Paul H. (powl)


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

von Max (Gast)


Lesenswert?

Warum nicht die diode drehen und nen pullup nehmen ?
warum anders als alle machen wenn das so klare nachteile hat ?

von holger (Gast)


Lesenswert?

>Warum nicht die diode drehen und nen pullup nehmen ?
>warum anders als alle machen wenn das so klare nachteile hat ?

Oder so wie geplant nicht funktionieren wird.
Aber so ist unser Paul nun mal.

von Paul H. (powl)


Lesenswert?

Hmm auch machbar! Aber das ändert doch trotzdem nichts an der 
Triebfähigkeit meines AVR Portpins. Oder gibts noch mehr Probleme, die 
dadurch beseitigt werden?

von Max (Gast)


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)...

von Lothar S. (loeti)


Lesenswert?

Was hältst Du von einer geschalteten Konstantstomquelle mit einem 
Kleinleistungs-PNP?

Grüße Löti

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.