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

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.