Funkamateur 02/90

 

Floppy-Disk-Interface für den PC/M

Dr.-Ing. A. MUGLER - Y27NN; Dipl.-Ing. H. MATHES

Floppy-Disk-Laufwerke gehören zur Standardausrüstung von Personalcomputern. Gegenüber RAM-Floppy-Systemen besteht der wesentliche Vorteil in der unmittelbaren Speicherung der Daten mit hoher Geschwindigkeit auf einer Diskette. Damit kann das Speichern der Daten auf der Magnetbandkassette entfallen. Nachteil der Floppy-Disk gegenüber der RAM-Floppy ist die wesentlich höhere Zugriffszeit. Dadurch laufen Programme mit häufigen Diskettenzugriffen (z.B. dBASE) auf einer RAM-Floppy wesentlich schneller. Für den PC/M-Computer steht mit der vorgestellten Floppy-Disk-Steuerung eine weitere Baugruppe zur Verfügung, die die Einsatzmöglichkeiten des Gerätes erweitert und auch den Austausch von Programmen wesentlich erleichtert. Die Schaltung wurde für folgende Laufwerke konzipiert; der Einsatz weiterer kompatibler Typen ist möglich:
- K 5600.10 (MFS 1.2), 40 Spuren, einseitig, MFM
- K 5600.20 (MFS 1.4), 80 Spuren, einseitig MFM
- K 5601 (MFS 1.6), 80 Spuren, doppelseitig, MFM (u.a. auch FD55FV-3-U, FD55FV-03-U, FD55FV-13-U)
- Laufwerke mit Shugart-Bus, 40 Spuren, zweiseitig, MFM (Standardlaufwerke in XT-kompatiblen Computern).
Die vorgestellte Schaltung ermöglicht es, bis zu vier Floppy-Disk-Laufwerke an den PC/M anzuschließen, dabei sind auch Mischbestückungen mit vier unterschiedlichen Laufwerken möglich.

Funktionsbeschreibung

Kernstück der in Bild 1 gezeigten Schaltung der Anschlußsteuerung ist ein Floppy-Disk-Controller vom Typ U 8272 (D8) mit 4 MHz Taktfrequenz (-04), der für den Betrieb von 5,25-Zoll-Laufwerken mit MFM-Aufzeichnungsverfahren ausreichend ist.
Die Steuerung enthält drei Ports, für die die folgenden Adressen ausgewählt wurden (D1, D2, D6):
- Steuerport des FDC: Adresse 0C0H
- Datenport des FDC: Adresse 0C1H
- Laufwerksauswahl: Adresse 0C2H
Die Daten vom und zum FDC werden (über D4 getrieben) auf den Systembus geschaltet. D3 übernimmt die Funktion eines Steuerregisters für die Auswahl eines der vier möglichen Laufwerke und dient zur Umschaltung der Laufwerkstypen.
Die Bedeutung der einzelnen Bits des Registers D3 sind wie folgt festgelegt:
B1 - SE0 und LCK0 (LW 0 = A, H = LW aktiv)
B2 - SE1 und LCK1 (LW 1 = B, H = LW aktiv)
B3 - SE2 und LCK2 (LW 2 = C, H = LW aktiv)
B4 - SE3 und LCK3 (LW 3 = D, H = LW aktiv)
B5 - zur Zeit nicht belegt
B6 - Prekompensation (für MFS 1.2; H = Ein)
B7 - Umschaltung /FR-/HS-Signal (Typumschaltung)
B8 - TC-Impuls-Eingang FDC.
Die Aktivierung der Select-Ausgänge (SE0 bis SE3) erfolgt bei jedem Zugriff auf den FDC. Mittels der Port-Dekodierung wird ein nachtriggerbarer Monoflop (D7) angestoßen. D30 aktiviert daraufhin die Select-Leitungen. Die Einschaltdauer der Floppy-Laufwerke nach dem letzten Zugriff ist durch R39 und C3 auf etwa 4 s festgelegt.
Die Prekompensationssteuerung ist für die 1.2-Laufwerke erforderlich (Kompensation unterschiedlicher Schreibdichte in Abhängigkeit von der Spur). Die Freigabe der Prekompensation erfolgt mit B6 von D3 (DS 8282). Die Realisierung dieser Funktion übernehmen im wesentlichen D16, D12, D17 und D18 (siehe auch [1], [2]). Die Umschaltung des Laufwerkstyps ist erforderlich, da verschiedene Laufwerkstypen am sei ben Bus betrieben werden sollen. Ausgewählt durch B7 von D3 wird entweder das Signal HS (Kopfauswahl) oder FR (Fehlerrücksetzen) vom FDC auf den Floppy-Bus (X2) gelegt.
Die Takterzeugung ist so aufgebaut, daß Quarze unterschiedlicher Frequenz zum Einsatz kommen können. Entsprechend sind die Brücken an X3 einzusetzen:
 4-MHz-Quarz: X3/2 - X3/5
 8-MHz-Quarz: X3/1 - X3/4
16-MHz-Quarz: X3/3 - X3/6
In Abhängigkeit vom Zustand des Ausgangs RW/SEEK des FDC werden die jeweiligen Signale des FDC vom Floppy-Bus oder zum Floppy-Bus geschaltet.
Die Phasenregelschleife (PLL) dient der Synchronisation des vom Floppy-Laufwerk kommenden Datenstroms mit einer Bezugstaktfrequenz. Dazu schwingt ein VCO auf einer Frequenz von 2 MHz (D31, V1, D24). Diese Frequenz wird auf 250 kHz geteilt (D23, D18) und mit der Taktfrequenz der empfangenen Daten synchronisiert. Dadurch erfolgt ein Ausgleich von Abweichungen und Drehzahlschwankungen des Laufwerks. Dies ist besonders beim Austausch von Disketten, die auf anderen Computern aufgezeichnet wurden, von Bedeutung.
Die über den Eingang RD empfangenen Daten werden über D19 mit dem Oszillator der PLL synchronisiert und über eine Impulsaufbereitung (D22, D28) an den FDC geliefert [1], [2].

Inbetriebnahme

Die Inbetriebnahme der Steuerung sollte in folgender Reihenfolge vorgenommen werden:
1. Bestücken der Leiterplatte außer FDC nach Bild 4 und Kontrolle auf Kurzschlüsse und Unterbrechungen;
2. Einbau der Brücke an X3 entsprechend dem vorhandenen Quarz;
3. Anlegen der Betriebsspannung (- 5 V für die PLL über den Steckverbinder X1 oder direkt zuführen);
4. Kontrolle der Taktfrequenz des FDC (4 MHz) an Pin 19 von D8;
5. Einstellen der Oszillatorfrequenz der PLL mittels R1 und C12 auf 250 kHz an Pin 22 des FDC (DW), (±20 kHz bei 2 MHz am Oszillator), damit wird gleichzeitig die gesamte PLL-Strecke überprüft;
6. Einsetzen des FDC und Anschließen des Laufwerks entsprechend dem jeweiligen Typ und der Laufwerksnummer (0, 1, 2, 3), siehe Tabelle.
Beim Anschluß der Laufwerke ist auf deren Stromaufnahme zu achten. Es ist in jedem Falle empfehlenswert, die Laufwerke aus einer separaten Stromversorgung zu betreiben, da zum einen je nach Typ die Stromaufnahme sehr hoch ist (z.B. MFS 1.2 bis zu 2 A) und zum anderen es insbesondere durch den Schrittantrieb (zumeist Schrittmotor) zu Störungen auf den Betriebsspannungszuleitungen kommen kann.
Nun benötigt man das für diese FD-Steuerung erarbeitete Betriebssystem (Austausch der EPROMs der Systemleiterplatte oder von Kassette nachladbare Version). Nach dessen Start wird das Laufwerk angewählt (vorzugsweise B, C oder D). Mittels eines Dienstprogrammes (z.B. POWER) sind die Funktionen Schreiben und Lesen zu überprüfen.
Im Fehlerfall sollte zunächst der FDC wieder entfernt werden. Die Laufwerksauswahl und die Umschaltung der Steuerleitungen des Steuerregisters D8 ist leicht mit einem kleinen Testprogramm zu überprüfen (BASIC, PASCAL ... ). Dazu wird auf Adresse 0C2H die gewünschte Bitbelegung ausgegeben. Durch ein Einlesen von Port 0C1H werden D7 aktiviert und die Select-Signale zum Laufwerk weitergeschaltet. Damit sollte das Laufwerk aktiviert sein (Motor dreht sich, LED zeigt Aktivierung an). Alle weiteren Funktionen lassen sich statisch durch Anlegen der jeweiligen Pegel bzw. mittels eines einfachen TTL-Generators zur Lesedatensimulation prüfen. Somit ist z.B. die Datenstrecke zwischen D19 und Pin 23 (RDD) des Controllers sowie das Rasten der PLL kontrollierbar.

Anschluß von 8-Zoll-Laufwerken

Prinzipiell ist mit der vorgestellten Baugruppe auch der Anschluß dieser Laufwerke möglich. Dazu haben wir das Signal LCT (Schreibstromsteuerung) mit auf den Floppy-Bus X3 geführt. Allerdings ist dann ein 8-MHz-Controller (U 8272 DC 08) erforderlich, der Quarzoszillator ist entsprechend mit einem 8 oder 16-MHz-Quarz zu bestücken. Die PLL kann weiterhin auf 2 MHz arbeiten; diese Frequenz ist aber nun auf 500 kHz zu teilen (D23.2 kann entfallen). Damit ist die Hardware allerdings nicht mehr für 5,25-Zoll-Laufwerke einsetzbar. Eine elektronische Umschaltung (z.B. über B5 von D3) zwischen 5,25- und 8-Zoll-Laufwerken ist möglich.

Software

Der derzeitige Entwicklungsstand der Software (Version 3.25) unterstützt den Betrieb von 5,25-Zoll-Laufwerken der o.g. Typen. Damit ist eine Mischkonfiguration von 5,25-Zoll-Laufwerken beliebig an den PC/M anschließbar. Dazu existiert ein Assemblerprogramm, mit dessen Hilfe unterschiedliche Versionen nach Bedarf erzeugbar sind. Es enthält sowohl die Generierung einer neuen Betriebssystemversion für die System-EPROMs als auch zum Nachladen von einer Diskette.
Folgende Möglichkeiten sind u.a. implementiert:
Bildschirm:
1. 16 Zeilen mit je 64 Zeichen und mit 16 Zwischenzeilen (Original-PC/M), dazu ist eine Statuszeile mit Angaben über Laufwerk, User, freie Speicherkapazität, maximale Speicherkapazität, Laufwerkstyp und Systemversion möglich)
2. 24 Zeilen mit je 80 Zeichen (Adresse 0F800H, Bit 7 = H: Kursor Ein).
Tastatur:
1. Original PC/M-Tastatur
2. K 7659
3. K7672 über IFSS
4. S 3004 als Tastatur
Drucker:
4. SIO-Drucker SD 1152
5. K6313/14 oder EPSON usw. über V.24
3. S 3004 als Drucker
Floppy:
1. Vier FD-Laufwerke unterschiedlicher Typen in mehreren Formaten (u.a. 148, 200, 308, 400, 624, 780, 800 KByte)
2. RAM-Floppy
Da eine Veröffentlichung des umfangreichen Quelltextes nicht möglich ist, besteht die Möglichkeit, das Betriebssystem auf Diskette zu beziehen. Zusätzlich wurden Programme zum Formatieren (PCMFORM) und zum Erstellen (PCMDISK) unterschiedlicher Diskettenformate (je nach Laufwerkstyp bis über 20 Formate) erstellt. Dazu ist die Zusendung einer Diskette 5,25 Zoll an folgende Anschrift erforderlich (nur Briefe, keine Pakete oder Päckchen!):
Klubstation Y56ZN
Kennwort: PC/M-Computer
Oberlungwitz

Literatur

[1] Beschreibung K 5122 - Ansteuerung Magnetfolienspeicher, VEB Kombinat Robotron
[2] Böhl, E.: Anwendung des FDC U 8272 D, Mikroprozessortechnik, 3 (1989), H.2, S. 39 bis 41
[3] Kühne, E.: Floppy-Disk-Laufwerke am A 5120, radio fernsehen elektronik, 38 (1989), H.4, S.219 bis 221


464 KByte 212 KByte 546 KByte
Titelseite Anschlußbelegung Bild 1, Stromlaufplan


637 KByte 280 KByte
Bild 2 und 3, Platinenlayout Bild 4, Bestückungsplan