K1520-Ethernet-Netzwerkkarte

Die Netzwerkkarte für Rechner mit K1520-Bus ist eine Abwandlung des KCNet bzw. des Netzwerk/USB-Moduls M052 für KC85/4 und soll Computern mit K1520-Bus eine Kopplung per Ethernet ermöglichen. Die Grundlagen dazu sind auf SUSOWAs Homepage nachzulesen.


Fertig aufgebaute Leiterplatte

Layout der Leiterplatte

Da die Anbindung der Netzwerkfunktion über PIO (AVR-Controller, Wiznet-Modul) erfolgt, sind minimal nur vier I/O-Adressen notwendig. Die Schaltung ist für Interrupt vorbereitet, die Software nutzt es bisher aber nicht. Bei allen getesteten Rechnern (K8924, neuer K8915, A5120, BIC, KC85/1 und KC87) verwendet die Software standardmäßig die Adresse C0h. Alternativ könnte auch 28h gejumpert werden (J5). Durch einen weiteren Jumper J6 und durch entsprechende Anpassung der GALs ist es möglich, zwei weitere I/O-Adressen nutzbar zu machen. Dieser Jumper ist ansonsten offen zu lassen. Auf der Platine ist für eigene Funktionen ein entsprechendes Beschriftungsfeld vorgesehen.

Obwohl alle Rechner den gleichen Bus benutzen, verhalten sie sich bei der Nutzung bzw. Booten von einem EPROM doch sehr unterschiedlich.

Für das Netzwerkmodul wird ein 32-KB-EEPROM verwendet. Dieser ist in vier Blöcke zu acht Kilobyte unterteilt. Die Umschaltung erfolgt über die PIO-Ports B5 und B6. Durch ein Reset schaltet die PIO ihre Ports auf Eingang. Der Bootvorgang, wenn der Boot-Jumper J2 gesetzt ist, erfolgt also immer vom Segment 0. Wird der Rechner statt dessen ganz normal gestartet, kann man hinterher durch den PIO-Port B1 dem Signal BTB den Zugriff auf den EEPROM ermöglichen. Mit den Jumpern J3, J4, J7 und J8 ist die jeweilige Rechner-Konfiguration einzustellen.


Bürocomputer

Der Urlader der Standard-ZRE K2526 macht zwecks Lokalisierung von ROM Schreibzugriffe im gesamten Speicher-Adressbereich in 1 KB-Schritten. Die angesprochene Hardware erzeugt das Signal /RDY = READY. Dieses wird durch die PIO auf der ZRE ausgewertet und ein Interrupt erzeugt. Dabei muss beachtet werden, dass die CTC auf der ZRE das letzte Glied in der normalen Interruptkette IEI-IEO und die PIO das letzte Glied in der zweiten Interruptkette IEI1-IEO1 ist. Diese ist auf dem Koppelbusstecker A26-C26 zu finden. In der ISR wird auf RAM / ROM geprüft, und wenn ROM erkannt wird, dieser angesprungen. Wenn also die zweite Interruptkette nicht geschlossen ist, kann man nicht von einem EPROM starten, es wird von Floppy gebootet (K1520-TGL).

Der GAL U6 erzeugt in der Bürocomputer-Konfiguration (J3/J4 offen) in Abhängigkeit vom Boot-Jumper J2 bzw. vom Signal BTB beim Zugriff auf 8000h-9FFFh das Signal /RDY (Pin 15). GAL U11 erzeugt MEMDILTS durch RDY, welches über Jumper J7 /MEMDI auf den Bus schaltet, und damit den RAM deaktiviert.

Systembedingt ist es beim neuen K8915 leider nicht möglich, den EEPROM zu nutzen. Auf der ZRE ist 128k RAM verbaut. Per Register (DS8212) kann die ZRE die RAM-Blöcke schalten und /MEMDI für den Bus erzeugen. Für externe Hardware ist es aber nicht möglich, den RAM auf der ZRE durch /MEMDI abzuschalten. Einzige Möglichkeit bestünde darin, den EPROM auf der ZRE zu patchen.

Bei Rechnern mit einem StandBy-Netzteil, wie K8924 oder A5120, ist es möglich, diesen per Netzwerk über "Wake-on-LAN" aufzuwecken. Dazu ist die Stromversorgung getrennt ausgeführt. Will man das nicht nutzen bzw. bei Rechnern, wo das nicht möglich ist, ist die Brücke 5P-5PH zu schalten. Ein Teil der Karte, z.B. Wiznet-Modul und AVR-Controller, welche das Netzwerk dann ständig überwachen, wird aus dem StandBy-NT gespeist. Die Signale "5PH" und "/SA", durch die der Rechner bei Erkennen des richtigen WOL-Pakets eingeschaltet wird, können am einfachsten vom Stecker der ZRE abgenommen werden.


BIC

In der BIC-Konfiguration (J3 gesetzt, J4 offen) wird das Signal /SL = Slot ausgewertet. Auch hier erfolgt der Zugriff auf den EEPROM bei 8000h-9FFFh. Erkennt der BIC im Speicher eine bestimmte Bytefolge, erkennt er ROM und springt ihn an. Es ist also durchaus möglich, in einem Schacht des BIC mehrere Module zu stecken. Man muss nur darauf achten, dass sich sich adressseitig nicht in die Quere kommen und nur ein Modul gesteckt ist, welches die speziellen Eigenschaften des BIC ausnutzt. Dazu kann man die Modulträger-Platine des KC87 nutzen. Möglich sind in einem Schacht Ulrichs Alba-FDC-Modul und RAF2008. Oder RAF2008 und Netzwerkmodul. FDC-Modul und Netzwerk sind auch möglich, da der EPROM des FDC-Moduls die 4000-7FFFh, der EEPROM auf der Netzwerkkarte aber 8000h-9FFFh belegt.


KC85/1 und KC87

Hier (J3 offen, J4 gesetzt) ersetzt der EEPROM der Netzwerkkarte das Boot-Modul der CPM-Erweiterung, statt 2 KB stehen aber 8 KB ab Adresse C000h zur Verfügung. Vorausgesetzt, dass der Boot-Jumper J2 gesetzt ist, ist der EEPROM durch /RESET oder durch Schreibzugriff auf 0F800h einzuschalten. Schreiben auf Adresse 0FC00h schaltet ihn aus (siehe Schaltplan des Boot-Moduls auf Ulrichs HP). Ist J2 nicht gesetzt, darf diese Funktion nicht greifen, da man auch davon aus gehen muss, dass ein Boot-Modul gesteckt sein kann. Dann wird der EEPROM über PIO Port B1 (BTB) geschaltet. Ausschließlich beim KC87 ist der Jumper von J7 auf J8 umzustecken. Dort dient das Signal /MEMDI als /ROMDI.

Die vierte Möglichkeit, J3 und J4 gesetzt, steht zur freien Verwendung.


Aufbau

Als erstes muss man sich entscheiden, ob die Karte in einem Bürorechner oder BIC bzw. KC eingesetzt werden soll. Für BIC / KC ist die Platine auf Modulgröße zurecht zu sägen. Dafür sind die Linien aufgedruckt. Die vier Löcher zum Arretieren der Platine im Gehäuse sind auf 5 mm aufzubohren. Wie üblich bei diesen Modulen, zeigt die Netzwerkbuchse nach links. Es sind J9, R1, R2, C19 und C20 zu bestücken. Genau wie die Mühlhäuser Module sind auch die Module von Robotron nicht hoch genug für die Netzwerkbuchse. Da muss man also selber Hand anlegen.

Für den Einsatz in Bürocomputern ist die Durchkontaktierung neben R2, der Pfeil zeigt's, aufzubohren:


Aufbohren der Durchkontaktierung

Dort liegt +5 Volt an, man erreicht einen höheren Abstand zur masseführenden Führungsschiene. Es sind J9a, R1a, R2a, C19a und C20a zu bestücken.

Aus der 28 poligen IC-Fassung gewinnt man wieder Carrier-Fassungen für U3 und dem Wiznet-Modul.


IC-Fassung

Nach dem diese und der Spannungsregler U5 bestückt sind, geht es mit den Bauteilen unter den Fassungen weiter.


Aufbau, Schritt 1

Aufbau, Schritt 2

Anschließend sind die Fassungen und die restlichen Bauteile dran.


Aufbau, Schritt 3

Aufbau, Schritt 4

Die Netzwerkbuchse muss wieder vom Wiznet-Modul runter und auf die Platine gelötet werden. Damit man das Modul auswechseln kann, kommen statt der NW-Buchse Steckadapter rein.

Die Inbetriebnahme sollte problemlos klappen. Falls doch nicht, kann man das Debug-Interface nachrüsten.


Beschreibung des EEPROM-Speichers

Die K1520-Netzwerkkarte enthält einen 32 KByte großen EEPROM, der in vier Segmente zu je 8 KByte unterteilt ist. Diese sind in vier Speicherebenen organisiert, von denen genau eine im Adressbereich der CPU aktiv sein kann. Der EEPROM kann entweder abgeschaltet sein, was dem normalen Betrieb des Rechners unter CP/M entspricht. Oder aber es ist genau eines der Segmente in den Adressbereich der CPU eingeblendet. Dann kann dieses Segment durch die CPU gelesen und geschrieben werden. Die vier Speicherebenen werden durch die Nummer 0 bis 3 angesprochen.

Bei einigen Rechnertypen ist ein Bootvorgang per ROM möglich. Der EEPROM der Netzwerkkarte ist dafür ausgelegt, diese Bootvorgänge zu unterstützen. Es wird immer Segment 0 für den Bootvorgang verwendet. Die Bootfunktion ist auf der Netzwerkkarte ein- und abschaltbar.



Bearbeitung des EEPROM

Es gibt für die Bearbeitung des EEPROMs die Programme: Voraussetzung ist der Betrieb der Netzwerkkarte auf Portadresse C0h. Die Programme sind auf folgenden Plattformen lauffähig: Die Unterteilung in diese drei Plattformen ist in der unterschiedlichen Einbindung des EEPROM in den Speicher begründet.

Es ist egal, ob das Booten eingeschaltet oder abgeschaltet ist. In beiden Fällen kann der EEPROM bearbeitet werden. War man jedoch für den Start des Rechners auf den EEPROM angewiesen, muss man auch dafür sorgen, dass bei Neustart wieder ein bootfähiges Segment 0 zur Verfügung steht.


Löschen des EEPROM

Hierzu dient das Programm EEPDEL.COM. Es werden die 8 KByte einer Speicherseite mit Nullen gefüllt. Der Start des Programms erfolgt durch den Aufruf EEPDEL <Segmentnummer>.

Der EEPROM ist in vier Speicherebenen unterteilt. Der Parameter <Segmentnummer> gibt das zu beschreibende Speichersegment (0-3) an.

Zum Beschleunigen des Vorgangs werden Speicherzellen, die bereits das Soll-Byte enthalten, nicht erneut geschrieben.


EEPDEL auf dem A5120

EEPDEL auf dem A5105

EEPDEL auf dem KC87



Laden des EEPROM

Hierzu dient das Programm EEPLOAD.COM <datei> <Segmentnummer>.
Parameter 1: Hier ist der Name der Datei zu übergeben, in dem sich das zu schreibende ROM-Abbild befindet.
Parameter 2: Aktive EEPROM Bank

Auch hier werden Speicherzellen, die bereits das Soll-Byte enthalten, nicht erneut geschrieben.


EEPLOAD auf dem A5120

EEPLOAD auf dem KC87

Beim BIC ist der Betrieb im oberen Schacht (Slot3) oder im hinteren Schacht (Slot1) möglich:


EEPLOAD auf dem BIC

EEPLOAD auf dem BIC



Speicheranzeige

EEPDISP.COM
Das Programm schaltet die Speicherbank entsprechend Parameter um. Der EEPROM wird geschaltet, wenn notwendig. Dann wird der Speicherinhalt angezeigt. Abbruch erfolgt mit ESC, jede andere Taste setzt die Speicheranzeige fort.

Parameter 1: Startadresse
Parameter 2: Aktive Speicherebene

Obwohl dies nur eine Lese-Operation ist, darf der Schreibschutz des EEPROM nicht gesetzt sein. Ansonsten wird bei der Suche ein ROM erkannt und der EEPROM nicht gefunden.


EEPDISP auf dem A5120

EEPDISP auf dem A5105

EEPDISP auf dem A5105

EEPDISP auf dem KC87

Offene Punkte:
- Beim A5105 (BIC) wird es bei der Anzeige des Speichers 0000-3FFFh bzw C000-FFFFh Probleme geben, da das Programm nicht auf die Wegschaltung selbst genutzter Bereiche vorbereitet ist.


Beispiel-BootROMs

Es sind im Rahmen der Tests einige ROM-Abzüge entstanden, die zum Testen der Bootfunktionen verwendet werden können.

A5120 / K8924

Es ist das Booten eines SCPX-Betriebssystems aus dem ROM möglich. Um von der Diskette unabhängig zu werden, wird die RAM-Floppy (RAF2008) eingebunden. Der EEPROM ist wie folgt zu beschreiben:

VSOLRAF.COM -> Segment 0
RAFCCPBD.SYS -> Segment 1
RAFBIOS.SYS -> Segment 2

Folgende Konfigurationen stehen zur Verfügung: Im Bootmenü kann alternativ der originale Urlader gestartet werden.


Bootmenü auf dem A5120

Gestartetes SCP



A5105 (BIC)

Ein kleines Bootmenü ermöglicht entweder den normalen Start (SCPX/RBASIC) oder den Aufruf einer (fiktiven) eigenen Boot-Routine (momentan noch eine Endlosschleife). Die Datei BICBOOT.COM ist auf Segment 0 zu schreiben.


Booten auf dem A5105



Z9001 / KC8x

Es können die ROM-Abzüge für die Floppystation in der Rossendorf- oder Robotron-Variante verwendet werden. Das passende ROM-Abbild ist auf Segment 0 zu schreiben. Wird von der Netzwerkkarte gebootet, entfällt der originale Boot-ROM und es kann z.B. als viertes Modul die RAM-Floppy gesteckt werden.


RAMFloppy auf dem KC87



Angepasste Netzwerkprogramme:

- KC87 Anpassung auf 40 Zeichen pro Zeile

CPMN1587.COM -> angepasstes CPMNET Version 15
TFTP1287.COM -> angepasstes TFTP Version 12


CPMNET auf dem KC87

TFTP auf dem KC87



Downloads





Letzte Änderung dieser Seite: 19.10.2014Herkunft: www.robotrontechnik.de