Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:programmierung [2011/12/08 12:18] – angelegt volkerp | cpm:programmierung [2025/03/24 08:28] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
===== PIO ===== | ===== PIO ===== | ||
- | {{: | + | {{: |
===== CTC ===== | ===== CTC ===== | ||
- | {{: | + | {{: |
+ | ===== SIO ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Int-Vektor-Register WR2 in Kanal B beschreiben.\\ | ||
+ | Register WR4 sollte zuerst beschrieben werden. | ||
+ | |||
+ | < | ||
+ | Beschreibung der Bit-Stellen der Steuerregister WR0 bis WR7, | ||
+ | und der Statusregister RR0 bis RR2 | ||
+ | |||
+ | WR0: | ||
+ | D0..D2 Nr. des nächsten zu ladenden oder zu lesenden Registers. | ||
+ | D3..D5 RESET-Kommandos | ||
+ | SEND ABORT (nur SDLC) . Es wird eine Folge von 8 bis 13 " | ||
+ | RESET EXT STATUS INT löscht die im RR0 bei Statusinterrupt eingetragenen Bit. | ||
+ | CHANNEL RESET führt zum Rücksetzen eines Kanals. Alle Steuer- und Statusregister sind gelöscht. | ||
+ | RESET R x INT ON FIRST CHAR. Nach Erscheinen eines Interrupt im Interruptmodus 1 | ||
+ | muß durch RESET R x INT ON FIRST CHAR der Kanal für weitere Interrupt freigegeben werden. | ||
+ | RESET T x INT PENDING. Im Interruptmodus 2 erscheint bei leerem Sendepuffer ein Interrupt. Dieses | ||
+ | Kommando verhindert, daß dieser Interrupt mehrmals kommt. Nach dem Kommando tritt so | ||
+ | lange kein Interrupt auf, bis wieder ein Zeichen in den Sendepuffer gekommen ist. | ||
+ | ERROR RESET veranlaßt das Rücksetzen der Fehler-Bit (Parität und Empfängerüberlauf) in RR1 | ||
+ | RETURN FROM INT erzeugt einen RETI-Befehl auf dem Datenbus. | ||
+ | D6..D7 setzt die CRC-Logik zurück. | ||
+ | |||
+ | WR1: | ||
+ | D0 EXT INTERRUPT ENABLE. Gestattet Interrupt bei Wechsel von /DCD, /CTS, /SYNC, -bei BREAK, | ||
+ | bei Sendebeginn von CRC oder SYNC-Zeichen. | ||
+ | D1 TRANS INTERRUPT ENABLE. Erlaubt INT, wenn der Sendepuffer leer ist. | ||
+ | D2 STATUS AFFECTS VECTOR (nur Kanal B). Ist dieser Modus ausgewählt, | ||
+ | in WR2 wie folgt modifiziert: | ||
+ | v3 v2 v1 | ||
+ | 0 0 0 Kanal B Sendepuffer Leer | ||
+ | 0 0 1 Kanal B externer Statuswechsel | ||
+ | 0 1 0 Kanal B empfangenes Zeichen verfügbar | ||
+ | 0 1 1 Kanal B spezielle Empfangsbedingung* | ||
+ | 1 0 0 Kanal A Sendepuffer Leer | ||
+ | 1 0 1 Kanal A externer Statuswechsel | ||
+ | 1 1 0 Kanal A empfangenes Zeichen verfügbar | ||
+ | 1 1 1 Kanal A spezielle Empfangsbedingung* | ||
+ | *) spezielle Empfangsbedingung: | ||
+ | Blockende (SDLC) | ||
+ | D3..D4 Durch D3 und D4 werden spezielle Interruptbildungsmöglichkeiten für Empfänger eingestellt. | ||
+ | D5 D5 = 1 Der / | ||
+ | D5 = 0 Der / | ||
+ | D6 D6 = 0 / | ||
+ | D6 = 1 / | ||
+ | WAIT-Funktion: | ||
+ | READY-Funktion: | ||
+ | D7 Freigabe des WAIT-/ | ||
+ | |||
+ | WR2: | ||
+ | Dieses Register enthält den lnterruptvektor. Er existiert nur im Kanal B. Bei STATUS AFFECTS | ||
+ | VECTOR werden die Bit-Stellen V1 bis V3 entsprechend der Interrupterzeugung eingetragen. | ||
+ | |||
+ | |||
+ | WR3: | ||
+ | D0 Erlaubt Empfangsfunktion. | ||
+ | D1 Bei D1 = 1 werden die SYNC-Zeichen nicht in die Empfangspufferregister geladen. CRC erfolgt normal. | ||
+ | D2 D2 = 1 verhindert im SDLC-Modus Interrupt, wenn keine Übereinstimmung zwischen empfangener und | ||
+ | programmierter Adresse oder wenn keine Globaladresse (11111111) vorliegt. | ||
+ | D3 Mit D3 = 1 beginnt die CRC-Konrolle beim Start des letzten Zeichens vom Empfangsregister zum Puffer. | ||
+ | D4 HUNTMODE. Die Übertragung wird abgebrochen, | ||
+ | D5 AUTOENABLE. Bei D5 = 1 arbeiten die DCD und CTS-Eingänge als Empfangs- und Sendesteuerung. | ||
+ | Bei D5 = 0 wirken DCD und CTS nur auf ihre Bit im Statusregister. | ||
+ | D6..D7 Bestimmt empfangene Bit/ | ||
+ | |||
+ | WR4: | ||
+ | D0 D0 = 1, SIO arbeitet mit Paritäts-Bit, | ||
+ | D1 D1 = 0, Parität gerade. | ||
+ | D1 = 1, Parität ungerade. | ||
+ | D2..D3 Bestimmt die Anzahl der Stop-Bit bei Senden. | ||
+ | D4..D5 Bestimmt die Art des Synchronmodus. | ||
+ | D6..D7 Bestimmung des Multiplikationsfaktors zwischen Takt und Übertragungsrate. | ||
+ | |||
+ | WR5: | ||
+ | D0 TRANSMIT CRC-ENABLE. CRC-Freigabe bei Senden. | ||
+ | D1 D1 = 1, /RTS geht auf 0. | ||
+ | D1 = 0, /RTS geht auf 1, wenn der Sender leer ist. | ||
+ | D2 CRC/SDLC | ||
+ | D2 = 0, CRC-Kontrolle mit SDLC-Polynom X^16 + X^12 + X^5 + 1 . | ||
+ | D2 = 1, CRC-Kontrolle mit Polynom X^16 + X^15 + X^2 + 1 . | ||
+ | D3 TRANSMIT ENABLE. | ||
+ | Sendeerlaubnis. Bei Rücksetzen wird das letzte Zeichen noch voll ausgegeben. | ||
+ | D4 BREAK. Bewirkt Aussenden von " | ||
+ | D5..D6 Bestimmt auszugebende Bit/ | ||
+ | 1 1 1 1 0 0 0 D sendet 1 Bit | ||
+ | 1 1 1 0 0 0 D D sendet 2 Bit | ||
+ | 1 1 0 0 0 D D D sendet 3 Bit | ||
+ | 1 0 0 0 D D D D sendet 4 Bit | ||
+ | 0 0 0 D D D D D sendet 5 Bit | ||
+ | D7 DTR | ||
+ | D7 = 1 bewirkt /DTR = 0 (aktiv). | ||
+ | |||
+ | WR6: | ||
+ | SYNC-Zeichen bei Monosynchronisation, | ||
+ | |||
+ | WR7: | ||
+ | 2. Zeichen bei Bisynchronisation oder das Synchronzeichen bei Monosynchronisation. | ||
+ | Bei SDLC muß WR7 = 01111110 sein. | ||
+ | |||
+ | RR0: | ||
+ | D0 RECEIVE CHARACTER AVAILABLE; gesetzt, wenn mindestens 1 Zeichen im Puffer. | ||
+ | D1 INTERRUPT PENDING; wird bei jeder INT-Anmeldung gesetzt (nur Kanal A). | ||
+ | D2 TRANSMIT BUFFER EMPTY; gesetzt, wenn der Sendepuffer leer ist (außer bei CRC). | ||
+ | D3 DCD; zeigt Zustand /DCD. | ||
+ | D4 SYNC/ | ||
+ | D4 = 0, Zeichensynchronisation erreicht, | ||
+ | D4 = 1, keine Synchronisation. | ||
+ | D5 CTS; zeigt Zustand /CTS. | ||
+ | D6 BREAK/ | ||
+ | nachdem der Sendepuffer leer geworden ist. | ||
+ | D7 CRC/SYNC | ||
+ | D7 = 1 bei Erkennen von BREAK (bei ASYNC) . | ||
+ | Im SDLC-Format bei Erkennen einer Abbruchfolge (7 oder mehr Einsen). | ||
+ | |||
+ | RR1: | ||
+ | D0 ALL SENT wird gesetzt, wenn alle Zeichen im Asynchronmode gesendet sind. | ||
+ | D1..D3 Falls bei Empfang im SDLC-Modus die Anzahl der Bit/Zeichen nicht aufgehen, | ||
+ | zeigt D1/D2/D3 die restlichen Bit an. | ||
+ | D4 Paritätsfehler, | ||
+ | D5 Empfängerüberlauf, | ||
+ | D6 Formatfehler im Asynchronmode, | ||
+ | CRC-Fehler im Synchronmode. | ||
+ | D7 Blockende bei SDLC mit gültigem CRC erkannt. | ||
+ | |||
+ | RR2: | ||
+ | Enthält Interruptvektor. Die Bit sind entsprechend STATUS AFFECTS VECTOR verändert. | ||
+ | </ |