Hardware-Aufbau der 1541

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Dieser Artikel beschreibt den Hardware-Aufbau des Diskettenlaufwerks Commodore 1541. Grundlagenwissen zum Thema Computerhardware und Schaltungstechnik wird vorausgesetzt. Eine allgemeinverständliche Erklärung zu den Fähigkeiten des Laufwerks findet sich im Überblicksartikel zur 1541.


Hinweise[Bearbeiten | Quelltext bearbeiten]

Die Chipbezeichnungen und weiteren Erklärungen beziehen sich auf die Original-1541. Der Aufbau neuerer Varianten des Laufwerks weicht davon etwas ab.

Detaillierter Schaltplan[Bearbeiten | Quelltext bearbeiten]

Zusammenspiel[Bearbeiten | Quelltext bearbeiten]

  • Die meisten Chips sind direkt an den 16bittigen Adress- und 8bittigen Datenbus der CPU MOS 6502 (UC4) angekoppelt.
  • UB2 ist ein statisches RAM. Ein RAM-Refresh wie beim C64 ist damit nicht nötig.
  • UB3 und UB4 beinhalten das CBM DOS-ROM.
  • UC5, UC6 und UC7 steuern die Enable-Leitungen der einzelnen Chips an, übernehmen bei der 1541 also gewissermaßen die Aufgabe der PLA beim C64.
  • VIA 1 (UC3, $1800) übernimmt die Ansteuerung des IEC-Bus.
  • VIA 2 (UC2, $1C00) stellt das Interface zum Daten-Schieberegister in UC1 dar und übernimmt ebenfalls im Zusammenspiel mit UC1 die Ansteuerung des Stepper-Motors.
  • P5 ist die Stromversorgung und Steuerung des Spindle-Motors.
  • P7 ist die Richtungsansteuerung des Stepper-Motors.
  • P6 ist die Zugriffs-LED und Schreibschutz-Lichtschranke.
  • P8 ist die Verbindung zum Schreib-/Lesekopf.
  • P2 und P3 gehen zu den IEC-Buchsen.
  • P4 geht zur Power-LED.

UC1[Bearbeiten | Quelltext bearbeiten]

UC1 übernimmt mehrere Aufgaben:

  • Es enthält ein Schieberegister, das die vom Schreib-/Lesekopf kommenden GCR-Bits zwischenspeichert.
  • SYNC-Signale (zehn oder mehr 1-Bits) werden detektiert und an Pin PB7 der VIA 2 weitergeleitet.
  • Der BYTE_READY-Pin von UC1 ist mit Pin SO des 6502 und CA1 der VIA 2 verbunden.
    • Entsprechend wird das Overflow-Flag im Statusregister gesetzt, sobald ein GCR-Byte im Schieberegister von UC1 vollständig ist (siehe ROM $F4D4).
    • Außerdem wird das komplette GCR-Byte in Port A der VIA 2 geladen. Bei der maximalen Bitrate hat die CPU dann etwa 26 Taktzyklen Zeit, das Byte von dort auszulesen.
    • BYTE_READY wird von einem Zähler gesteuert, der immer dann weiterzählt, wenn das SYNC-Flag nicht aktiv ist, und der bei aktivem SYNC auf Null gesetzt wird.
  • Es enthält einen Teil der Steppermotor-Ansteuerungslogik.

Takt[Bearbeiten | Quelltext bearbeiten]

  • UD5 erzeugt den 1MHz-CPU-Takt aus einem 16MHz-Signal.
  • UE6 ist ein Binärzähler, der mit 16MHz-Takt aufwärts zählt, dessen Zählerstand von der VIA UC2 im Zusammenspiel mit UC1 gesetzt werden kann und dessen Ausgang UC1 taktet.
    • Dadurch können unterschiedliche Bitraten programmiert werden, mit denen das Schieberegister von UC1 gefüllt wird.

Weblinks[Bearbeiten | Quelltext bearbeiten]