Funkamateur 10/84

zurück zu Teil 8

Funkamateure entwickeln Amateurcomputer "AC1" (9)

Dipl.-Ing. F. HEYDER - Y21SO

An den /CS-Eingängen der EPROMs D5 bis D7 muß ständig High-Pegel anliegen, da diese durch die Verknüpfung des Anwahlsignals mit RD gegen Schreibzugriffe geschützt sind.
Nun können in der neunten Aufbauetappe die acht RAM-Schaltkreise des Rechnerteils bestückt werden. Bei diesem Speicher gibt es zwei kleine Veränderungen gegenüber dem in Bild 4 dargestellten Stromlaufplan des Rechnerteils. Zur Vereinfachung der Leiterzugführung und zur Entlastung des Adreßbusses sind die Adreßeingänge dieser U 202 D an den negierten Adreßbus angeschlossen. Auf die Funktion des Rechnerteils, wie sie in Teil 2 erläutert wurde, hat das keinen Einfluß. Für die ZVE ist es uninteressant, auf welche interne Speicheradresse die Daten abgelegt werden. Wichtig ist nur, daß diese von der gleichen Busadresse, auf die sie geschrieben wurden, wieder gelesen werden können. Bei den EPROMs hätte aber eine solche Beschaltung Konsequenzen für die Programmierung dieser Schaltkreise gehabt.
Die zweite Änderung ist einzufügen, wenn mit nur 1-KByte-RAM-Speicher auf dem Rechnerteil mit der Grundsoftware gearbeitet werden soll, was im Regelfall zutreffen wird. Hier hat sich nachträglich herausgestellt, daß es in bezug auf eine einfache Verdopplung des Arbeitsspeichers, speziell für das Mini-BASIC, günstiger ist, mit dem RAM-Speicher ab der Adresse 1800H zu beginnen, und die Erweiterung dann ab 1C00H anzufügen. Das läßt sich sehr einfach auf der Grundleiterplatte durchführen. Dazu ist die Durchkontaktierung zwischen D3/Pin 1 und DG6/Pin 2 noch nicht zu löten bzw. wieder zu entfernen, und dafür Pin 1 und Pin 2 von DG6 mit etwas Zinn zu verbinden. Wenn dann der RAM-Speicher mit weiteren acht U 202 D im Huckepackverfahren verdoppelt wird, ist diese Änderung wieder aufzuheben.
Diese U 202 D werden dann einfach auf den vorhandenen RAM-Speicher aufgelötet, ausgenommen die CS-Anschlüsse. Die werden leicht abgebogen untereinander verbunden und an Pin 1 von DG6 geführt. Diese Erweiterung sollte aber erst dann erfolgen, wenn der Grundmodul des "AC1" vollständig funktioniert. Bei der Bestückung des RAM-Speichers ist größte Sorgfalt geboten, da hier gemachte Fehler relativ schwierig zu finden sind. Die Stromaufnahme beträgt etwa 1,4 A. Auf dem Bildschirm und in den Oszillogrammen entsprechend dem Bild 27 dürfen keine Veränderungen gegenüber der vorangegangenen Etappe auftreten. Ansonsten sind das RAM-Feld, insbesondere die Anschlüsse an den Adreß- und den Datenbus, zu überprüfen.
In der zehnten Aufbauetappe wird nun der EPROM D4 mit dem ersten Teil des Monitorprogramms in die Fassung gesteckt. Hier sind nun alle vier Betriebsspannungen erforderlich. In Bezug auf die Betriebsspannungen ist das in Teil 4 bereits Gesagte zu beachten. Die Stromaufnahme der Spannung +5 V erhöht sich kaum merklich. Die Spannung -5 V wird mit etwa 30 mA und +12 V mit etwa 40 mA belastet. Nach dem Einschalten bzw. dem RESET wird der Bildschirm gelöscht, und es erscheint die Überschrift "AC 1 U 880 - Monitor V 3.1" und am Anfang der übernächsten Zeile ein Doppelkreuz. Ist das nicht oder nicht vollständig der Fall, so ist zuerst zu überprüfen, ob auch alle Pins des EPRROM richtig durch die Fassung kontaktiert sind. Es könnte weiter ein Fehler im RAM-Speicher bzw. Bildwiederholspeicher vorliegen. Der RAM-Speicher ist besonders darauf zu überprüfen, ob alle Adreß- und Datenleitungen anliegen, und ob auch die Verbindungen der Datenausgänge der U 202 D über D 104 und D 103 zum Datenbus bestehen.
Zur Fehlersuche gibt es noch die Möglichkeit, den Takt der ZVE stark herabzusetzen. Das entspricht zwar dann nicht mehr den Forderungen des Datenblattes des U 880 D [2] an den Takt, aber wie Versuche zeigten, wird das Programm trotzdem ordnungsgemäß abgearbeitet. Wenn man X29 der Taktversorgung mit X13 der Bildschirmsteuerung verbindet, beträgt der Systemtakt noch etwa 1,9 kHz. Das Programm wird damit 1024mal langsamer abgearbeitet. Der Prozeß des Bildschirmlöschens, der nun natürlich erst mehrere Sekunden nach dem RESET beginnt, erstreckt sich etwa über 45 s. Er beginnt auf dem Bildschirm rechts unten und endet links oben, d.h., der Bildschirm wird sozusagen "rückwärts" mit Leerzeichen beschrieben. Werden hierbei z.B. mehrere Zeichen gleichzeitig durch Leerzeichen ersetzt, deutet dies auf einen Fehler in der Adreßverdrahtung des Bildwiederholspeichers hin. Nach einer weiteren Pause muß dann genauso langsam die Überschrift auf dem Bildschirm erscheinen.
In der elften und damit letzten Aufbauetappe der Grundleiterplatte des "AC1" werden nun der PIO- und der CTC-Schaltkreis in die Fassung gesteckt. Die +5-V-Stromaufnahme vergrößert sich auf etwa 1,5 A. Auf dem Bildschirm ist die gleiche Ausschrift wie in der vorhergegangenen Etappe zu sehen, zusätzlich blinkt jetzt auf der zweiten Zeichenposition hinter dem Doppelkreuz der Cursor, ein Tiefstrich, der die aktuelle Schreibposition auf dem Bildschirm kennzeichnet.
Damit ist die Grundleiterplatte des "AC1" fertig bestückt. Jetzt können noch maximal drei weitere EPROMs aufgesteckt (z.B. vollständiges Monitorprogramm und 2-KByte-Mini-Basic-Interpreter) und die Tastatur, die man am besten vorher schon separat auf die richtige Funktion überprüft hat, angeschlossen werden. Tastatureingaben erscheinen nun auf dem Bildschirm, sonst sind noch Fehler in der Tastaturverdrahtung oder im Anschluß des PIO-Schaltkreises vorhanden. Werden ordnungsgemäße Kommandoeingaben an den Monitor (siehe z.B. Bild 17 und Bild 20), die auch richtig auf dem Bildschirm geschrieben stehen, nach dem Kommandoabschluß mit Wagenrücklauf CR, mit der Ausschrift "WHAT" quittiert oder falsch ausgeführt, so ist der Anschluß des Bildwiederholspeichers an den Datenbus über D104/D103 zu kontrollieren, da im Monitorprogramm der Bildwiederholspeicher gleichzeitig als Kommandozwischenspeicher genutzt wird.
Als einziger Schaltkreis ist nun noch der CTC-Schaltkreis zu überprüfen. Er wird im Monitorprogramm nicht benutzt. Seine Funktion testet man am besten mit einem kleinen Testprogramm. Ein Beispiel dafür wird später noch angegeben. Ansonsten dürfte der Grundmodul des "AC1"" nun voll einsatzfähig sein. Zur Vervollständigung der Unterlagen sind in den Tabellen 3 und 4 die Belegungen der beiden Anschlußbuchsen Xl und X2 angegeben.

Das Kassetteninterface

Nach einer erfolgreich absolvierten Testphase kann nun auch das Interface zur Datenabspeicherung auf Magnetband bzw. Magnetbandkassetten, kurz Kassetteninterface genannt, aufgebaut werden. Das Prinzip entspricht dem in [12] vorgestellten Kassetteninterface. Die dort angegebene Interfaceschaltung wurde dem Grundmodul des "AC1" angepaßt. Die Software dazu wurde neu geschrieben, das Aufzeichnungsformat entspricht etwa den in [10] verwendeten.
Die Aufzeichnungsgeschwindigkeit beträgt 1500 bit/s. Das bedeutet, daß bei einer Bandgeschwindigkeit von 4,76 cm/s auf 1 mm Bandmaterial etwa 4 Byte (genau 31,5 Bit) Platz finden. Anders gesagt, auf einer zweiseitig bespielten C-60-Kassette kann man etwa 640 KByte an Daten bzw. Programm unterbringen. Wenn man außerdem in Betracht zieht, daß bei diesem Verfahren ein 16 KByte langes Programm in nur knapp 90 s geladen wird, so wird doch deutlich, daß dies ein ökonomisches und auch einigermaßen schnelles Mittel zur Programmspeicherung ist.
Das Prinzip des hier angewandten Aufzeichnungsverfahrens ist in Bild 32 am Beispiel des zur Synchronisation verwendeten Bitmusters dargestellt. Für die Aufzeichnung eines Bit wird eine Periode einer 1,5-kHz-Rechteckschwingung abgelegt. Mit dem hier verwendeten Bitmuster 0E6H bzw. dessen Negation 19H werden dann die Aufzeichnungen beim Einlesen wieder auf den Byteanfang synchronisiert. Das negierte Synchronisationsmuster muß mit ausgewertet werden, da man nicht einfach voraussetzen kann, daß das aufgezeichnete Signal in der gleichen Phasenlage vom Band kommt, in der es abgespeichert wurde. Schon gar nicht, wenn man auch noch von einem anderen Gerät einlesen will, mit dem die Aufnahme nicht gemacht wurde. Und genau das dürfte ja beim Programmaustausch der Regelfall sein.
Ebenfalls zur Anpassung an die Gegebenheiten der Aufzeichnungsgeräte ist eine zweite Ergänzung notwendig, die mit dem eigentlichen Aufzeichnungsverfahren nichts zu tun hat. Geräten mit einer Aussteuerungsautomatik muß man nämlich etwas Zeit geben, damit diese sich einpegeln können. Zu diesem Zweck werden dem Synchronisationsbyte 512 Null­bytes vorangefügt. Das heißt, für etwa 3 s ist ein 1,5-kHz-Ton zu hören, und dann beginnt erst die eigentliche Information. Dieser charakteristische Ton erleichtert dann gleichzeitig das Auffinden der einzelnen Programmanfänge. Beim Einlesen wird am besten innerhalb dieses Kenntones das Ladeprogramm mit der CR-Taste aktiviert.
Nun muß auch noch etwas für ein Kriterium getan werden, das angibt, ob die eingelesenen Daten richtig sind, da natürlich Störimpulse oder Fehler im Band Fehlauswirkungen zur Folge haben können. Dazu gelangt die Information in Blöcken zu 256 Byte mit einer Prüfsumme je Block auf das Band. Während des Einlesens wird diese Prüfsumme dann wieder aus den gelesenen Bytes berechnet und mit der am Blockende aufgezeichneten verglichen. Sollten beide nicht übereinstimmen, so erfolgen eine Fehleranzeige und Abbruch des Ladeprogramms. Es muß dann erneut ausgeführt werden.
Zur Kontrolle der ordnungsgemäßen Funktion des Einlesens blinkt auf dem Bildschirm hinter dem gelesenen Programmnamen im Blockrhythmus ein Stern. Dieser bis hier beschriebene Aufzeichnungs- bzw. Leseprozeß wird mit Software realisiert. An Hardware ist nur noch ein minimaler Aufwand erforderlich, der die Impulse vom Rechner in Pegel und Form anpaßt, und der die Information vom Band wieder zu einer Rechteckfolge regeneriert. Die dazu erforderliche Schaltung ist im Bild 31 dargestellt. Sie findet auf einer 40 x 70 mm großen Leiterplatte Platz. Die Leiterzugführung und der Bestückungsplan sind in den Bildern 33 und 34 zu sehen (diese Bilder werden im Teil 10 veröffentlicht). Der Aufbau dieser Platine ist unproblematisch. Der OPV im Wiedergabeteil arbeitet als Nulldurchgangskomparator. D1 und R5 schützen den PIO vor negativen Überspannungen, bzw. bei versehentlicher falscher Programmierung den entsprechenden Ausgangstreiber vor der Zerstörung. Bei der Verwendung des B 176 D ist R3 mit zu bestücken. Dieser Schaltungsteil wurde mit beiden angegebenen OPV-Typen erprobt. Die Funktion der Schaltung läßt sich leicht überptüfen, wenn man z.B. den Kennton vom Band an den Eingang anlegt. Das Eingangssignal sollte man dem Lautsprecherausgang des Geräts entnehmen, um eine einwandfreie Begrenzung des Signals zu ermöglichen, da der Pegel des Diodenausgangs bei den meisten Geräten zu gering ist. Das Netzwerk im Aufnahmezweig dient zur Reduzierung des Pegels, um das Kassettenbandgerät nicht zu übersteuern, und zur Unterdrückung der Oberwellen, die mit der Löschfrequenz Interferenzen bilden könnten. Mit R7 stellt man den Ausgangspegel so ein, daß die Aussteuerungsautomatik noch nicht begrenzt. Das sind meist 10 bis 20 mV.
Dieses Kassetteninterface wurde mit mehreren "AC1" und mit verschiedenen Kassetten- und Magnetbandgeräten unter Verwendung normalen, handelsüblichen Bandmaterials getestet. Der Aufbau der Interfaceschaltung war dabei immer problemlos. Als Kassettenbandgeräte wurden z.B. "Mira" und "Sonett" verwendet, auch der Programmaustausch mit verschiedenen Geräten wurde simuliert. Einlesefehler traten so gut wie gar nicht auf, bzw. waren auf fehlerhafte Geräteeinstellung oder zu große Abweichungen in der Tonkopfsteilung zurückzuführen. Bei Geräten mit Tonblende bzw. Höhenregler muß dieser voll aufgedreht werden. Bei Fehlern infolge zu großer Tonkopfabweichungen genügt eine Einstellung des Tonkopfes auf helle Wiedergabe nach Gehör. Selbst relativ extreme Geschwindigkeitsschwankungen, die z.B. die Wiedergabe von Musikaufzeichnungen zur Qual machen würden, haben nicht zu Einlesefehlern geführt. Auch leichte Pegelschwankungen infolge des Bandmaterials konnten durch die Begrenzung des OPV ausgeglichen werden. Gegen vollständige "Drop out's" (magnetische Fehlstellen) ist natürlich auch dieses Verfahren empfindlich, wobei diese in der Testphase bis jetzt nicht auftraten. Um einigermaßen sicher zu gehen, empfiehlt es sich, jede Aufzeichnung zweimal zu machen oder die gemachte Aufzeichnung mit einem Kontrolleseprogramm zu überprüfen. Ein solches Programm wird für den Monitor des "AC1" noch erstellt werden.
Zusammenfassend kann gesagt werden, daß dieses Verfahren mit der gewählten Geschwindigkeit wohl einen guten Kompromiß zwischen Schnelligkeit und sicherem Programmaustausch bei minimalen Anforderungen an das Aufzeichnungsgerät darstellt. Bei der Verwendung hochwertiger Geräte sind sicher noch weitaus höhere Bitraten mit der gleichen Sicherheit möglich. Auch ist eine komfortablere Software denkbar, die dann z.B. Namenerkennung und wählbare Geschwindigkeiten gestattet, aber dafür auch weitaus mehr Speicherplatz benötigt und somit erst bei einer Speichererweiterung sinnvoll ist.

weiter mit Teil 10