UART Single Wire Signal Invertierung

OP #6451773
Lesenswert?

Hallo zusammen,

gibt es einen einfachen Weg (=IC) ein serielles TTL Signal Single Wire 
(ein-Draht-Verbindung für RX und TX) zu invertieren. Ich habe das 
Problem das der SAMD21 Cortex M0+ beim SoftwareSerial im Single Wire 
Mode nicht invertieren kann, also muss eine Hardwarelösung her. :(
#6451820
Lesenswert?

Arno W. schrieb:
> ....gibt es NOT GATTER auch bi-direktional

Verdammt, das mit dem einen Draht hatte ich übersehen.
Aber gut, es kann ja immer nur eine Quelle die Leitung treiben. Und da 
gibt es schon Schaltungen die bidirektional funktionieren. In 
Spannungsübersetzern sind die drinnen.
https://www.ti.com/lit/gpn/TXB0102
Nur das selber zu bauen und um zwei NOT Gatter zu erweitern ist eher 
eine große Baustelle.

Ist denn wenigstens ein weiterer Pin als Ausgang verfügbar? Dann könnte 
man ein Gatter verwenden mit enable Eingang dessen Ausgang man also 
hochohmig schalten kann.
Gast #6451853
Lesenswert?

Gustl B. schrieb:
> Aber gut, es kann ja immer nur eine Quelle die Leitung treiben.

Du hast wired-or nicht verstanden.

Bei CAN, LIN oder 1-wire sind mehrere Datenquellen auf einer Leitung 
(Bus) sogar zum Prinzip erhoben. Man spricht dann von dominantem und 
rezessivem Pegel. Um das friedliche Miteinander kümmert sich das 
Protokoll.
#6452224
Lesenswert?

Arno W. schrieb:

> gibt es einen einfachen Weg (=IC) ein serielles TTL Signal Single
> Wire (ein-Draht-Verbindung für RX und TX) zu invertieren.

Nein.

> Ich habe das
> Problem das der SAMD21 Cortex M0+ beim SoftwareSerial im Single Wire
> Mode nicht invertieren kann, also muss eine Hardwarelösung her. :(

Das ist gleich doppelt Blödsinn. Denn natürlich wäre es trivial, den 
Pegel bei Verwendung einer Soft-UART zu invertieren. Es geht aber nicht. 
Der Witz bei singe-wire UART ist ja, daß TxD ein open-collector (bzw. 
open-drain) Ausgang ist. Damit die Gegenseite auch senden kann, muß der 
passive (rezessive) Pegel H sein. Realisiert durch einen 
Pullup-Widerstand.

Im Prinzip könnte man das mit invertiertem Pegel mit einem Pulldown und 
einem PNP open-collector Ausgang machen. Hat ein µC aber nicht. Und 
extern läßt sich das nur dann nachrüsten, wenn man getrennte Sende- und 
Empfangspins hat.
#6453818
Lesenswert?

Oder man klemmt einen ATtiny13a o.ä. dawzischen. Der übersetzt dir das 
Signal in beide Richtungen. Damit wird der Bus entkoppelt.

Vorsicht mit dem PullUp/Down. Wenn idle auf 0V ist, gehen ich von einem 
PullDown aus. Die 0V darf dann nicht aktiv auf den Pin gelegt werden, 
sonst kann es zu einem Kurzschluss kommen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren