Hallo zusammen, die mittel-neuen AVRs tiny1 und mega0 bieten UARTs mit loop-back-mode und open-drain Betrieb. Damit lassen sich wunderbar half-duplex Busse realisieren. Etwa solche, wie im RC-Bereich verwendet (IBus, Hott-Telemetrie, ...). Es gibt aber auch Bus-Systeme, die benutzen invertierte Pegel (etwa S.Port). Dazu müsste man den UART-Output invertieren können und statt open-drain so etwas wie open-source (der FET-Anschluss ist gemeint) realisieren. Wenn man beides in einem Layout realisieren möchte (inverted / non-inverted bus), und dann SW-mäßig umschaltbar, wie würde man das realisieren. Im Moment fällt mir dazu nur ein: 1) auf LBME und ODMODE des AVR zu verzichten 2a) für non-inverted einen abschaltbaren OpenDrain-Treiber (Low-Side) für TX und abschaltbaren Puffer für RX, bzw. 2b) für inverted einen abschaltbaren OpenSource-Treiber (High-Side) für TX und einen abschaltbaren, invertierenden Puffer für RX 3) Richtungsumkehr per XDir zu verwenden. Geht es auch einfacher? Bin für jeden Hinweis dankbar.
Veit D. schrieb: > Hallo, > > hast du schon PINnCTRL und das INVEN Bit probiert? Nein, denn m.E. löst es das Problem OpenDrain (N-Channel) <-> OpenSource (P-Channel) nicht.
Hallo, ich dachte es geht ums invertieren des Pin Levels am TX? Was genau möchtest du invertieren? Ich habs nicht verstanden.
Randy B. schrieb: > Nein, denn m.E. löst es das Problem OpenDrain (N-Channel) <-> OpenSource > (P-Channel) nicht. Kann "OpenSource" überhaupt funktionieren?
Veit D. schrieb: > Hallo, > > ich dachte es geht ums invertieren des Pin Levels am TX? Richtig, allerdings in Kombination mit einem half-duplex bus. Im "normalen" Modus hat man einen OpenDrain-Output. D.h. mehrere Teilnehmer können gleichzeitig senden: elektrisch zwar ok, es ergibt aber eine Kollision, die man dann aber durch das read-back detektieren kann. > Was genau möchtest du invertieren? Ich habs nicht verstanden. Jetzt das ganze invertiert: also nicht per OpenDrain nach Gnd ziehen, sondern per Open-Source (P-Channel) nach High ziehen.
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.