SER

Aus test.nkc-wiki.de
Version vom 13. Juni 2023, 13:51 Uhr von Dementor (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<br> <br>''Hier sollte der Author der Baugruppe eine Beschreibung einfügen'' <br> <br> <br> == Versionen == '''Achtung, es gibt verschiedene Leiterplatten-Versionen !''' <br> In der Version V1.0 7/2017 sind die Einstellungen JMP7 (RTS/CTS) abweichend zu JMP4 (Rx/Tx)! Die Piktogramme links neben dem Jumper unbedingt beachten! In der Version V1.0 8/2017 werden die Jumperstellungen JMP7 und JMP4 gleich verwendet. <br> <br> == weiterführende Erläuterung…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen



Hier sollte der Author der Baugruppe eine Beschreibung einfügen


Versionen

Achtung, es gibt verschiedene Leiterplatten-Versionen !
In der Version V1.0 7/2017 sind die Einstellungen JMP7 (RTS/CTS) abweichend zu JMP4 (Rx/Tx)! Die Piktogramme links neben dem Jumper unbedingt beachten!

In der Version V1.0 8/2017 werden die Jumperstellungen JMP7 und JMP4 gleich verwendet.

weiterführende Erläuterungen

Bei der Fehlersuche um die Serielle-Schnittstelle liegt es oftmals am Verständnis zum Hardware-Handshake.

Hilfreich ist es zu betrachten, wie der 6551 seine Handshake-Pins verwendet. Dabei will ich mich auf /RTS und /CTS beschränken:

/RTS (Anfrage zum Senden)
"Der /RTS-Ausgangspin dient zur Steuerung des Modems von der Prozessor. Der Zustand des RTS-Pins wird bestimmt durch den Inhalt des Befehlsregisters." (Datenblatt)

Das bedeutet der Pin wird per Out-Befehl beliebig gesetzt.
[Out(0F2h),0Bh = aktiv = L / Out(0F2h),03h = inaktiv = H]
Im GP2.0 wird der sandardmäßig aktiviert, also L am 6551.Pin8.


/CTS (Klar zum Senden)
"Der /CTS-Eingangspin dient zur Steuerung des Senderbetriebs. Der Freigabezustand ist bei CTS niedrig. Der Sender wird automatisch deaktiviert, wenn CTS hoch ist." (Datenblatt)

Das ist der eigentliche Steuereingang für den Datenfluss!
Wird der Eingang am 6551.Pin9 = H unterbricht der 6551 seine Übertragung.
Der /CTS-Eingangspin müsste also eigentlich die Bezeichnung /TxEnable tragen!
Nur wenn dieser Eingang auf L liegt sendet der 6551, sofern er Daten zum Übertragen hat!


Da beim Verbinden zweier NKC über die SER die Signale Tx/Rx und RTS/CTS gekreutzt werden müssen, ergibt sich folgender Handshake:

Der empfangene NKC signalisiert seine Empfangsbereitschaft durch /RTS = L durch Out(0F2h).
Das bedeutet für den sendenden NKC am Eingang /CTS = L: "OK, Sender kann eingeschaltet werden."
Da im GP2.0 der /RTS-Ausgang nicht verändert wird, findet also faktisch kein Handshake statt! Der PC "rotzt" eine Datei raus und der NKC kommt u.U. nicht hinterher oder "war noch nicht os weit".

Sinnvoll wäre es, den Ausgang /RTS nur dann zu aktivieren, wenn der NKC auch tatsächlich im Polling ist, also auf Empfangsdaten wartet.
In manchen Terminalprogrammen [HTERM] wird das aktivierte RTS-Signal mit "connect" gleichgesetzt.
Also:
/RTS = L.....bin Empfangsbereit -->.../CTS = L.....TxEnable
/CTS = L.....TxEnable <--.................../RTS = L.....bin Empfangsbereit