Download Diplomarbeit - Dominik Mader - Weblearn

Transcript
Kapitel 2
Grundlagen
anschließend in das Receiver Holding Register geschrieben. Dies kann gelesen werden durch
einen Lesezugriff auf das UART Data Register. Die acht LSB enthalten das gelesene Zeichen.
Beim Empfang wird auch überprüft, ob das Format der gesendeten Information korrekt ist
und ob die Parität stimmt. Tritt ein Fehler auf, wird dies im UART Status Register gespeichert.
Werden empfangene Zeichen nicht schnell genug ausgelesen, kann es passieren, dass
Informationen verloren gehen. Enthält sowohl das Receiver Holding Register als auch das
Receiver Shift Register noch nicht gelesene Zeichen, wird bei erneutem Empfang eines
Zeichens das letztere Register überschrieben und das overrun Bit (OV) im UART Status
Register gesetzt.
Wenn Handshaking aktiviert ist, zieht die UART RTSN ab Erkennen eines Startbits solange
auf High, bis das empfangene Zeichen aus dem Receiver Holding Register gelesen worden ist.
Dann wird RTSN wieder auf Low gezogen, um dem (externen) Sender mitzuteilen, dass das
nächste Zeichen gesendet werden kann.
Ist die Interrupt Generierung für Empfangen aktiviert, wird ein Interrupt erzeugt, wenn das
Receiver Shift Register in das Receiver Holding Register geschrieben wird. Dies signalisiert,
dass ein Zeichen gelesen wurde.
UART Register
Jede UART hat ihren eigenen Registersatz. Die Adressierung ist in Kapitel 2.2.1.3
beschrieben.
Das UART Scaler Reload Register legt die Baudrate mit den 12 LSB fest. Alle anderen Bits
sind unbenutzt.
Das UART Data Register benutzt nur die unteren 8 Bit. Dort werden entweder Zeichencodes
hingeschrieben, um sie zu senden, oder empfangene Zeichen gelesen.
Mit dem UART Control Registern lassen sich die UARTs einstellen. Abb. 2-21 zeigt den
Aufbau dieses Registers.
Abb. 2-21
•
•
•
•
•
•
•
•
•
UART Control Register (Quelle: [L10])
External Clock (EC): Wenn gesetzt, wird der externe Takt an PIO(3) zur Erzeugung
des Bittaktes benutzt.
Loop Back (LB): Wenn gesetzt, wird der Loop Back Modus aktiviert.
Flow Control (FL):Wenn gesetzt, ist das Hardware Handshaking aktiviert.
Parity Enable (PE): Wenn gesetzt, wird beim Senden ein Paritätsbit erzeugt und beim
Empfangen die Parität überprüft.
Parity Select (PS): Schaltet zwischen even und odd parity um (1=odd, 0=even).
Transmitter Interrupt Enable (TI): Wenn gesetzt, ist Interrupt Generierung beim
Senden aktiviert.
Receiver Interrupt Enable (RI): Wenn gesetzt, ist Interrupt Generierung beim
Empfangen aktiviert.
Transmitter Enable (TE): Wenn gesetzt, ist der Sender aktiviert.
Receiver Enable (RE): Wenn gesetzt, ist der Empfänger aktiviert.
Das UART Status Register enthält Informationen über Zustand der UART und Fehler beim
Übertragen. Die Belegung des Registers ist in Abb. 2-22 dargestellt.
39