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.
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.
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 ;-)
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.
oder ne Soft-Uart, kommt aber auf die Baudrate an und was du sonst noch so machst
> 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.
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.
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").
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
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.
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...
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.