Forum: Mikrocontroller und Digitale Elektronik UART Signal invertieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Eimer (Gast)


Bewertung
0 lesenswert
nicht 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.

von Karl M. (Gast)


Bewertung
-2 lesenswert
nicht 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.

von Karl M. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Sorry,

Du willst ja im laufenden Betrieb die Pegel umschalten können.

Ich nutze gerne den 74HC132.

von Falk B. (falk)


Bewertung
1 lesenswert
nicht 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 ;-)

von A. S. (achs)


Bewertung
0 lesenswert
nicht lesenswert
Es sollten wohl alle oder kein Signal invertiert sein.

Am einfachsten sind 2 Stecker (alternativ 2 uarts) mit RX (TX) 
entsprechend verodert.

XOR geht aber auch.

von Julian B. (julinho)


Bewertung
-1 lesenswert
nicht lesenswert
oder ne Soft-Uart, kommt aber auf die Baudrate an und was du sonst noch 
so machst

von Eimer (Gast)


Bewertung
0 lesenswert
nicht 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.

von Jacko (Gast)


Bewertung
0 lesenswert
nicht 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.

von tastendrücker (Gast)


Bewertung
0 lesenswert
nicht 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").

von Bernd K. (prof7bit)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von tastendrücker (Gast)


Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.