Hi, Gibt es eine Möglichkeit die Pegel des AVR UART Receivers und Transmitters invertiert auf den IO Pins zu betreiben? Könnte das extrem gut brauchen, hab aber in der UART Konfig mal nichts gefunden. Konkret geht es um einen ATMega162... Wäre sehr dankbar für einen Tipp!
Markus H. schrieb: > Hi, > Gibt es eine Möglichkeit die Pegel des AVR UART Receivers und > Transmitters invertiert auf den IO Pins zu betreiben? > Könnte das extrem gut brauchen, hab aber in der UART Konfig mal nichts > gefunden. Konkret geht es um einen ATMega162... > Wäre sehr dankbar für einen Tipp! Nicht direkt. Also entweder: externer Inverter oder Software UART. Allerdings ist es sehr selten, dass man so etwas benötigt. Verrätst du uns den Grund für dein Anliegen?
Es geht um eine direkte TTL Kommunikation mit verschiedenen Fremdgeräten. Neben Unterschieden des Protokolls und der Parity gibt es auch noch Geräte die einen Inverter brauchen und solche die keinen brauchen. Um das Softwaremäßig automatisieren zu können wäre es Toll man könnte gleich die UART einmal normal und einmal invertiert betreiben.
Markus H. schrieb: > Um das Softwaremäßig automatisieren zu können wäre es Toll man könnte > gleich die UART einmal normal und einmal invertiert betreiben. Geht leider nicht. Karl Heinz Buchegger schrieb: > Allerdings ist es sehr selten, dass man so etwas benötigt. Verrätst du > uns den Grund für dein Anliegen? Ich vermute mal, der Grund ist: "dumm gelaufen, weil nicht richtig verstanden". Blöd, wenn sich mal einer nicht an die Quasi-Spezifikation gehalten hat: Zustand TTL V.24 1 high 5V -12V 0 low 0V +12V Ruhezustand = '1' = 5V(TTL) bzw. -12V(V.24)
Hängen die Fremdgeräte alle an einem Bus? Wenn, kommen die damit klar dass sie andauernd für sie ungültige Daten erhalten? Würds eher aufsplitten in mehrere Bussysteme / Protokollinterfaces und alles das übers serielle Protokoll läuft über die Hardwareusart (Parity ändern usw. verursacht am inaktiven Bus keine Signale und die entsprechenden Empfänger verwerfen bei genau gegenteiliger Parität die Bytes einfach...), den Rest über Softwaretreiber.
Kenne mich mit Atmel nicht aus, aber bei vielen Mikrocontrollern kann man den UART durch ein Bit im UART Config-Register invertieren. Schau mal ins Datenblatt.
Lothar Miller schrieb: > Ich vermute mal, der Grund ist: "dumm gelaufen, weil nicht richtig > verstanden". Das hab ich mir jetzt gerade beim Autofahren auch überlegt. Ich kann mir nämlich nicht vorstellen, dass irgendein Hersteller eine TTL-RS232 verkauft, die sich nicht an den 'Standard' hält. Er würde sich damit selbst ein Bein stellen, weil er zu nichts und niemandem kompatibel ist. Ich kann mir aber vorstellen, dass es ein Hersteller bei einer richtigen RS232 nicht so ganz genau mit den Pegeln nimmt und sich drauf verlässt, dass die Gegenstelle schon noch genug Spielraum hat um ihn trotzdem zu verstehen. Ob man das unterstützen sollte oder nicht, steht dann auf einem anderen Blatt. > gibt es auch noch Geräte die einen Inverter brauchen denn mit diesem Inverter ist ja im Regelfall auch noch ein anderer Spannungshub verbunden. Aus TTL-RS232 mit 0..5V Pegeln wird dann invertiert 'richtige' RS232 mit -12V..+12V
Hier handelt es sich um eine p2p Verbindung und nicht um einen Bus. Es werden eben je nach Anlage verschiedene Fremdgeräte angeschlossen. Um den Monteueren das Leben zu erleichtern versuchen wir das so gut wie möglich zu automatisieren. Mittlerweile habe ich eine Lösung: Ich nehme ein XOR Gatter und steuere mit freien uP Pins die Invertierung des Signals. Freie IO Pins habe ich genügend zu Verfügung!
Karl Heinz Buchegger schrieb: > Lothar Miller schrieb: > >> Ich vermute mal, der Grund ist: "dumm gelaufen, weil nicht richtig >> verstanden". > > Das hab ich mir jetzt gerade beim Autofahren auch überlegt. Ich kann mir > nämlich nicht vorstellen, dass irgendein Hersteller eine TTL-RS232 > verkauft, die sich nicht an den 'Standard' hält. Er würde sich damit > selbst ein Bein stellen, weil er zu nichts und niemandem kompatibel ist. > Ich kann mir aber vorstellen, dass es ein Hersteller bei einer richtigen > RS232 nicht so ganz genau mit den Pegeln nimmt und sich drauf verlässt, > dass die Gegenstelle schon noch genug Spielraum hat um ihn trotzdem zu > verstehen. Ob man das unterstützen sollte oder nicht, steht dann auf > einem anderen Blatt. > >> gibt es auch noch Geräte die einen Inverter brauchen > denn mit diesem Inverter ist ja im Regelfall auch noch ein anderer > Spannungshub verbunden. Aus TTL-RS232 mit 0..5V Pegeln wird dann > invertiert 'richtige' RS232 mit -12V..+12V Natürlich ist es stumpfsinnig sich nicht an diverse Standards zu halten, leider habe ich keinen Einfluss auf diese Geräte und muss mit der idiotischen Ansteuerung leben! Ich würde niemals so was bauen!
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.