ebps.de.vu > Schaltungen > AVR > RS232-Interface

RS232-Interface

Beschreibung

Dieses Interface ist RS232-kompatibel - man braucht also nicht, wie bei den vorhergehenden Interfaces für die serielle Schnittstelle, die Steuerleitungen einzeln ein- und auszuschalten, sondern kann direkt Bytes an das Interface senden bzw. vom Interface empfangen.

Aufbau

Die Eingänge werden durch die internen Pullups des AVR automatisch auf 1 gehalten, wenn sie nicht angeschlossen sind, man könnte also direkt Taster gegen Masse anschließen. Ein "Problem" gibt es aber doch: das Interface sendet nur Spannungspegel von 0V/5V an die serielle Schnittstelle des PCs, laut den Spezifikationen müssten es jedoch mindestens -5V/5V sein. Die meisten PCs kommen aber auch mit den "verstümmelten" Signalen klar, falls nicht, braucht man noch einen kleinen TTL-zu-RS232-Konverter anstelle des PNP-Transistors (oder man benutzt nur die Ausgänge). Und noch ein Hinweis zum RS232-Anschluss: im Schaltplan ist eine Buchse vorgesehen, dafür benötigt man ein 1:1-Kabel zum Anschluss an den PC. Wird hingegen ein Nullmodem-Kabel (Pin 2 und 3 gekreuzt) verwendet, so muss an der Schaltung ein Stecker montiert werden, gegenüber dem Schaltplan sind dann Pin 2 und 3 vertauscht anzuschließen!

Programmierung

Das Protokoll ist sehr einfach: sollen die Ausgänge gesetzt werden, sendet man einfach das Byte, das ausgegeben werden soll, an das Interface und wartet mindestens 20ms, bevor man das nächste mal etwas an das Interface sendet. Sollen hingegen die Eingänge gelesen werden, so muss das gleiche Byte zweimal direkt hintereinander gesendet werden (Ausnahme: 0), dann wird ein Byte zurückgesendet, dass in Bit 0 bis 4 den Status der Eingänge enthält. Die Einstellungen der Schnittstelle sind: 9600 Baud, 8 Bits, 1 Stoppbit, kein Parity, kein Handshaking (kutz 9600,n,8,1).

Fotos

[Foto]
640
Mein Aufbau mit Anschlussklemmen an den Ein- und Ausgängen