Umbau des PRC 1 Y2 zum "PRC 2"
Prof. Dr. U. HÜBNER - Y28PN
Mit den Veröffentlichungen [1], [2] zu Modems und Controllern für "Packet Radio" hat dieses moderne Betriebsverfahren
beachtlichen Auftrieb erfahren. Der PRC 1 Y2 hat vielen Amateuren den Einstieg in diese interessante Technik ermöglicht.
Mit zunehmenden Erfahrungen kamen eine Reihe von Verbesserungswünschen auf:
- Unterstützung der Protokollversion 2 der Schicht 2,
- gleichzeitige Behandlung von Modem- und Terminal-Schnittstelle (keine Beeinträchtigung der PRC-Funktion
durch Terminaleingaben oder schlecht funktionierende Signalerkennung auf der Modem-Seite),
- Lauffähigkeit neuer Softwarevarianten, höhere Datenraten, Duplexbetrieb ...
Mit einer reinen Softwareänderung (d.h. EPROM-Tausch) sind die letzten beiden Punkte kaum erfüllbar.
Konzeption
Aus diesem Grund habe ich diesen Weg nicht weiter verfolgt und stattdessen eine Hardware-Ergänzung (Bild 1) aufgebaut.
Sie enthält als Kern einen seriellen Schnittstellenschaltkreis U865 - SIO und einen NRZI-Koder/Dekoder.
Die Zusatzhardware übernimmt Funktionen, die vorher (mit Kompromissen) in der Software realisiert wurden:
- Empfang und Senden im asynchronen Datenformat (zum Terminal) mit Kanal B des SIO-Schaltkreises,
- Empfang und Senden im AX.25-HDLC-Format (zum Modem) mit Kanal A des SIO-Schaltkreises,
- Bereitstellung des Basistakts (Baudrate x 16) zu den Datenraten 300, 600, 1200, 2400, 4800, 9600 Baud für Modem- und
Terminalschnittstelle (D30 bis D32),
- Bereitstellung einer Zeitbasis für Uhr und Timerfunktionen im PRC (über D32 an /SYNCB von D27),
- Erzeugung und Auswertung der auf der Modemseite verwendeten NRZI-Kodierung (D33 bis D36).
Die konkrete Hardwareauslegung (Adressen ... ) ist so gewählt, daß "Standard"-Software für
TNC 2-kompatible Hardware ohne Änderungen lauffähig ist.
Diese neueren Softwarepakete sind (meist) nicht mehr in dem 8-K-EPROM-Bereich des PRC 1 unterzubringen.
Zur Lösung dieses Problems wurden zwei Wege erprobt:
- Es kommt nur noch ein EPROM U2716 zum Einsatz. Dieser enthält einen Urlader, d.h. ein kleines Programm,
das die eigentliche Software vom Terminalsystem einliest. Nach Abschluß dieses Vorgangs wird das EPROM-Teil abgeschaltet
(D28, 29, 27); es stehen jetzt 64 KByte RAM für den Ablauf beliebiger Software zur Verfügung.
- Die PRC 1-Leiterplatte läßt sich leicht auf EPROMs vom Typ U2732 umrüsten. Dann stehen 16 KByte EPROM zur Verfügung,
die bei Weglassen entbehrlicher "help"-Funktionen für einige Softwarevarianten ausreichen.
Wegen der größeren Flexibilität im Hinblick auf weiterentwickelte Software sollte der erste Weg bevorzugt werden.
Dessen einziger Nachteil ist, daß man nach dem Einschalten des PRC etwa 30 s Geduld haben muß, bis der PRC betriebsbereit
ist (bei 9600- Baud- Terminalschnittstelle).
Falls das Terminalsystem nur ein gewöhnliches Kassettengerät als Massenspeicher hat, kommen zusätzlich 2 min hinzu,
die vorher für das Laden vom Magnetband in das Terminalsystem gebraucht werden (bei einer Magnetband-Datenrate von 2400 Baud).
Etwas umständlich wird die Angelegenheit, wenn der als Terminalsystem benutzte Rechner weniger als etwa 36 KByte RAM hat,
da dann das Programmladen zum PRC "schluckweise" erfolgen müßte.
Am Rande ergab sich, daß der Einsatz eines hochintegrierten Peripherieschaltkreises eine verbesserte (prellfreie)
Reset-Logik erfordert (D38).
Aufbau
Die Zusatzschaltung wurde auf einer Leiterplatte 35 mm x 180 mm aufgebaut (Bild 2) und neben der PRC 1-Leiterplatte angeordnet.
Da der Rechnerbus des PRC 1 nicht herausgeführt ist, muß man die Verbindungen von der Zusatzhardware mit Schaltdraht direkt
an die angegebenen Schaltkreisanschlüsse des PRC 1 führen.
Der Quarz des PRC 1 ist gegen einen mit f = 9,8304 MHz auszutauschen. Als Rechner-Taktfrequenz ergeben sich dann 2,4576 MHz,
für die CPU und SIO genügen damit 2,5 MHz-Typen.
Auf dem PRC 1 sind folgende Leiterzüge zu trennen:
- Quarzgenerator abtrennen: D22 (6) - D1 (6), R3; C4 = D22 (6), CLK = D1 (6), R3
- Parallelport abschalten: D23 (6) - D14 (19), D15 (9) - Masse; dafür (D14 (19) und D15 (9) an +5 V (oder D14/15 entfernen)
- Interruptquelle RxD/V.24 entfernen: D1 (16) - RxD/V.24
- RAM-Ausblendung abschaltbar machen: D17 (8) - D16 (5); /RAMDIS = D17 (8), RAMENA = D16 (5)
- EPROMs abschaltbar machen: D1 (3) - D21 (3) - D18 (5); ROMDIS = D21 (3)
Brücken von D1 (3) zu D18 (5) einsetzen
Für die Variante "U2732-Bestückung" sind zusätzlich folgende Änderungen auszuführen:
- A11 an die EPROMs schalten: D2, 3, 4, 5 (23) von Masse trennen und mit D1 (1) verbinden
- A13 anstelle von A11 dekodieren: Trennen von D1 (1) - D21 (1) D19 (2),
Verbinden von D1 (1) mit D19 (2) und D1 (3) mit D21 (1)
Der EPROM-Adreßbereich ist dann 0 bis 3FFFH; die EPROM-Reihenfolge (von der CPU aus gesehen) ist 1, 3, 2, 4!
Mit X1 sind Datenraten von Terminal- und Modemschnittstelle einzustellen (Drahtbrücken oder Leitungen zu einem Schalter).
Eine sinnvolle Standardeinstellung ist:
Terminal: 9600 Baud
Modem: 1200 Baud (für 144 MHz)
Die Teilfunktion "Modem" wird von dem hier vorgeschlagenen Umbau nicht berührt (abgesehen davon, daß die bei [1] kritische
Einstellung der Signal-Ansprechschwelle entfallen könnte).
Die Schnittstelle zum Terminal besteht aus den Leitungen RD, TD, /CTS, /RTS (mit TTL-Pegel!) und Masse.
Wenn man die Steuersignalleitungen /CTS und /RTS nicht verwendet, sollte man /CZS mit Masse verbinden; /RTS kann frei bleiben.
Software
Zum umgebauten PRC gehört ein Urlader (Hexlisting). Dieser ist in den ersten EPROM zu programmieren
(die übrigen werden bei der Urladevariante nicht benötigt). Er realisiert folgenden Kommandoumfang an der Terminalschnittstelle:
+ Haaaall (CR)
Hexadezimale Anzeige von ll Bytes ab Adresse aaaa
+ Saaaabbcc ... (CR)
Abspeicherung (Store) der Datenbytes bb, cc, ... ab Adresse aaaa
+ Gaaaa(CR)
Programmstart (Go) ab Adresse aaaa
+ L(CR)
Ladeankündigung, Ladepaket folgt
Das Zeichen "+" ist die Eingabeaufforderung vom PRC. (CR) steht für die Return- oder Enter-Taste (Kode: 0DH).
Alle Angaben erfolgen hexadezimal.
Das Ladepaket hat folgenden Aufbau:
Zieladresse 32 Bit
Datenbyteanzahl 16 Bit
Daten n x 8 Bit
Prüfsumme 16 Bit
Bei den 16/32-Bit-Werten die niederwertigen Teile zuerst übertragen. Die Prüfsumme: byteweise Addition von Zieladresse,
Datenbyteanzahl und Daten.
Auf das Ladepaket sind vom PRC aus folgende Antworten möglich:
+ Ladepaket korrekt angekommen
# Prüfsummenfehler
? Speicherfehler (sonst auch Kommandofehler allgemein)
Für eine Diskussion der zahlreichen lauffähigen Softwareversionen liegt mir noch nicht genug Erfahrungsmaterial vor.
Beim Terminalprogramm sind ebenfalls viele Varianten möglich. Ich benutze eine sehr einfache Variante mit "Roll-Mode"-Bildschirm,
die im Unterschied zu vielen verbreiteten Lösungen unterbrechungsgesteuert arbeitet.
Die im Terminalrechner eingehenden Daten werden von einer Unterbrechungsroutine in einem Pufferspeicher nach
dem FIFO-Prinzip (First-In-First-Out) abgelegt.
Das Hintergrundprogramm leert diesen Speicher und bringt den Inhalt auf den Bildschirm (oder auf Platte ... ).
Bei dieser Arbeitsweise gehen bei höheren Terminal-Datenraten (9600 Baud) keine Daten verloren,
auch wenn einmal etwas mehr Zeit für die Verarbeitung gebraucht wird (beispielsweise beim Hochrollen der Bildschirmdarstellung).
Beim Aufruf des Terminalprogramms kann ein in den PRC zu ladendes Programm angegeben werden.
Dieses Programm wird mit einem kleinen "Vorsatz" als Ladepaket zum PRC geschickt und gestartet.
Der erwähnte Vorsatz schaltet die PRC-EPROMs ab; verschiebt das PRC-Programm auf Adresse 0 (wo es meist hingehört)
und startet es dort. Das PRC-Programm läuft dann genauso ab, als ob es sich in einem EPROM befinden würde.
Die konkrete Version des Terminalprogramms ist auf dem PC/M Computer lauffähig, für andere Systeme ist eine Anpassung erforderlich.
Ein solcher Umbau-PRC bewährt sich seit Oktober 1989 als Digitalteil des Digipeaters Y51N (mit spezieller Software).
Die Software (Urlader, Terminalprogramm usw.) verschicke ich gegen Einsendung einer Diskette (5 1/4", SCP-624-K-formatiert)
und Rückumschlag kostenlos.
Literatur
[1] |
AG Digitale Kommunikation im Amateurfunk: Ein Packet-Radio-MODEM mit dem V4046, Funkamateur 38 (1989), H.4, S.190 |
[2] |
AG Digitale Kommunikation im Amateurfunk: Steuerrechner für Packet-Radio PRC 1 Y2, Funkamateur 38 (1989), H.5, S.244 |