UART Signal invertieren

Gast #5707393
Lesenswert?

Guten Tag,

ich möchte eine P2P TTL Kommunikation mit verschiedenen Fremdgeräten 
herstellen. Manche dieser Fremdgeräte brauchen teilweise invertiert 
Signale (RX, TX, CTS, DTR, RTS, ..).

Ich suche jetzt nach einer Möglichkeit softwareseitig diese Invertierung 
ein- und auszuschalten. Bei den ATMegas (bevorzugt) habe ich absolut 
nichts dazu gefunden (also geht es wohl auch nicht), bei den STM32 habe 
ich noch nicht ausgiebig geguckt. Der FT232 hat diese Möglichkeit 
(einzelne Signale können auf invertiert gestellt werden), aber leider 
suche ich keinen USB Converter.

Meine Idee wäre jetzt jedes Signal einzeln mit einem IC zu XOR'en.
Würde das so funktionieren? Könnt ihr mir ein Bauteil empfehlen? Die 
Datenrate liegt wohl so bei 1Mbps.

Habt ihr eine alternative Idee?

Beste Grüße
Werner.
Gast #5707407
Lesenswert?

Hallo Eimer,

warum sollte man das machen wollen?

Die TTL-Pegellage H = "0" und L = "1" sind genormt.

Bei einem AVR kann das über Hardware Usart nicht "umgeschaltet" werden.

Sonst siehst Du das richtig, man nehme einen Transistor in 
Kollektorschaltung, dann ist dies einfach möglich.
Sonst gibt es noch diverse Inverter aus der HC Serie.
74HC14, ist so einer.
#5707456
Lesenswert?

Eimer schrieb:

> Ich suche jetzt nach einer Möglichkeit softwareseitig diese Invertierung
> ein- und auszuschalten.

Nimm ein XOR-Gatter ala 74HC86.

> Bei den ATMegas (bevorzugt) habe ich absolut
> nichts dazu gefunden (also geht es wohl auch nicht),

Geht auch nicht.

> Meine Idee wäre jetzt jedes Signal einzeln mit einem IC zu XOR'en.
> Würde das so funktionieren?

Ja.

> Könnt ihr mir ein Bauteil empfehlen? Die
> Datenrate liegt wohl so bei 1Mbps.

Läppisch.

> Habt ihr eine alternative Idee?

Alternativen in Deutschland . . . ? Ja, eine gibt es wohl ;-)
Gast #5707472
Lesenswert?

> Es sollten wohl alle oder kein Signal invertiert sein.

Da habe ich mich wohl ungenau ausgedrückt. Es soll möglich sein einzelne 
Signale zu invertieren. Also z.B.: TX ist invertiert, RX jedoch nicht.

> Nimm ein XOR-Gatter ala 74HC86.

Danke! Der SN74HC86N würde doch auch gehen, oder? Im Datenblatt habe ich 
kein Argument gegen die Nutzung gefunden, aber vielleicht übersehe ich 
etwas.
Gast #5707478
Lesenswert?

Bist du sicher, dass die externen Geräte das auf TTL-Niveau
wollen? Wenn ja, haben die ein echt stümperhaftes Design.

An der früher üblichen lässigen Zuweisung von DTE und DCE
haben manche Adapterhersteller gut verdient. War ja nur
Steckerbelegung, keine Invertierung.

Auf TTL-Niveau die Polaritäten zu vertauschen ist ja noch
die Steigerung der Dummheit - bei dem kleinen Markt kann noch
nicht mal ein Adapterhersteller dran verdienen.
Gast #5707841
Lesenswert?

Karl M. schrieb:
> Die TTL-Pegellage H = "0" und L = "1" sind genormt.

Sehe ich anders. Bei TTL gilt:

hoher Spannungspegel     = H = logisch "1"
niedriger Spannungspegel = L = logisch "0"

https://de.wikipedia.org/wiki/Transistor-Transistor-Logik

Kann es sein, dass die Fremdgeräte einfach nur über RS232 verbinuden 
werden wollen? Da sing die signale invertiert (L="1" und H="0").
#5707986
Lesenswert?

Eimer schrieb:
> bei den STM32 habe
> ich noch nicht ausgiebig geguckt.

Bei STM32 geht das bei vielen Modellen, RX und/oder TX Pins sind einzeln 
invertierbar. Auch bei NXP Kinetis und auch bei GigaDevice GD32 
(STM32-Klone fürs halbe Geld). Wahrscheinlich bei den meisten 
vernünftigen MCUs heutzutage.

Ist auch ganz praktisch wenn man damit zum Beispiel sowas wie IO-Link 
oder dergleichen machen will. Auch in einigen anderen Fällen die mir 
schon untergekommen sind - insbesondere wenn man die selbe Leitung für 
mehrere Zwecke nutzt - kann es sehr praktisch oder sogar zwingend 
erforderlich sein wenn der Ruhepegel auf 0V liegt.
Gast #5708298
Lesenswert?

Wolfgang schrieb:
> tastendrücker schrieb:
>> Kann es sein, dass die Fremdgeräte einfach nur über RS232 verbinuden
>> werden wollen? Da sing die signale invertiert (L="1" und H="0").
>
> RS232 sieht für den H-Pegel (Space/Idle) eine negative Spannung (< 3V)
> vor

Yep, meinen Fehler habe ich auch schon bemerkt (kann aber den Beitrag 
nicht editieren). War noch zu früh am Morgen...

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