Funkamateur 04/90

 

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:

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:

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: 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:

Für die Variante "U2732-Bestückung" sind zusätzlich folgende Änderungen auszuführen: 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