Hallo, ich möchte gerne mit einem uC Daten von 3,5" Floppys lesen und brauch dafür noch ein paar Informationen bezüglich der elektrischen Ansteuerung des Laufwerks. Ich habe zwar eine Belegungsplan für das Laufwerk, aber keine Informationen darüber, was für Spannungen wann / wo angelegt werden müssen. Vielleicht hat das ja schon mal jemand versucht ? Ich weiss das das Thema hier schön öfter besprochen wurde, aber die meisten Antworten waren: "zu schwierig.." . Wär schön wenn jemand ein paar Informationen für mich hat.
Ist wirklich nicht einfach, da man IMHO das ganze Timing und auch die Track/Sector Ansteuerung selber machen muß. Schon mal über MMC-Karten nachgedacht? Wenns um Datenaustausch zwischen PC<->MC geht, wäre das auch eine Alternative.
Du brauchst einen Floppy-Controller, z.B. den WD1797, WD2979 oder nichtkompatibel: U 8272-04, NEC: µPD 765, Intel: 8272), wenn ich mich nach 20 Jahren recht erinnere. An den kannst Du über Treiber (z.B.74LS244) direkt das Laufwerk anschließen. Der ursprüngliche 34-polige Bus heißt übrigens Shugart. Den gab es auch mal differenziell mit 50 Pins. Der im PC verwendete ist dem serh ähnlich, bis auf die Drehung der Leitungen für Drive A:. Das bewirkt, dass der PC das MotorOn für jedes LW extra steuern kann, dafür aber nur 2 statt 4 LWe. s.z.B: http://www.buchty.net/emr/casio/drive-if.html Geht wunderbar. Zum Thema FAT und DIR-Einträge gibts hier im Forum und im ganzen iNet mehr als genug zu Lesen.
Erstmal danke für die antworten. @thkais Es geht mir nicht primär darum Daten zu speichern. @Profi Auf einen Disk Controller möchte ich mangels Verfügbarkeit gerne verzichten. Ich weiss das das mit dem Timing schwierig ist ( Bitbreite < 2uS bei DD-Disketten im MFM Format). Würde es aber trotzdem gerne mal versuchen. Falls also jemand ein paar Infos über die elektrische Ansteuerung ( Pegel, Reihenfolge usw.) hat, würde ich mich sehr freuen.
Du möchtest also einen Floppy-Controller in Software emulieren? Igittigitt. Die Pegel sind alle TTL-Pegel, immerhin. Die Ansteuerung ist bis auf die Datenaufbereitung eigentlich auch recht einfach; hier mal einige Kommentare zu den einzelnen Signalen: Vom Controller zum Laufwerk: /DSx [14,12] ("Drive Select") dient zur Auswahl des anzusprechenden Laufwerkes /MOx [10,16] ("Motor on") dient zum Ein/Ausschalten des Motors des anzusprechenden Laufwerks /HS [32] ("Head Select") wählt einen der beiden Schreib-/Leseköpfe aus STEP [20] steuert den Schrittmotor der Schreib-/Leseköpfe an; für jeden Impuls wird der Kopfträger um eine Spur verschoben. Die Richtung (nach innen/nach außen) wird mit der Leitung DIR [18] festgelegt. /WE [24] ("write enable") schaltet das Schreiben ein DATA_W [22] dient zum Schreiben, hier sind MFM-codierte Daten zu übertragen. Vom Laufwerk zum Controller: Index [8] löst bei jeder Umdrehung der Diskette einen Impuls aus und signalisiert so den Anfang einer Spur TRACK0 [26] wird beim Positionieren des Kopfträgers auf Spur 0 (die innerste) aktiviert /WP [28] ("write protect") liefert den Status der Schreibschutzlichtschranke/des Schreibschutztasters DATA_R [30] liefert die vom Laufwerk gelesenen Daten (alle ungeraden Nummern sind Masse). Warum Igittigitt? Eklig sind folgende Aspekte: - Aufbereitung der MFM-Daten - Auswertung und Erzeugung der CRC-Daten in den Sektorheadern - Schreiben von Sektordaten an die richtige Stelle in einer Spur ... Controllerlose Diskettenansteuerung war früher mal sehr verbreitet: Das Diskettenlaufwerk 1541 des VC 64 von Commodore wurde so angesteuert (und wertet das Indexloch nicht aus, was die Kompatibilität zu anderen Diskettenlaufwerken gegen Null optimierte); auch die Diskettenlaufwerke des Apple II arbeiteten so. Neuere Apples verwendeten ein GCR genanntes Format, das auch niemand anderes lesen konnte, da die Anzahl der Sektoren pro Spur unterschiedlich war und die Datenrate dynamisch angepasst wurde. Dieses Verfahren findet heutzutage bei allen Festplatten Anwendung, war damals aber ein Kompatibilitäts-K.O. "mangels Verfügbarkeit" - sowas dürfte eigentlich nicht schwer zu bekommen sein.
@Rufus "Igittigitt" glaub ich gerne, aber ich will ja vorerst "nur" lesen. Floppy Controller sind doch heutzutage direkt in die Chipsätze der PCs inegriert (wenn überhaupt). Wenn du noch einen Floppy Controller kennst, den man heutzutage bei Reichelt und Co bekommt, dann her damit ! Die Belegung, hab ich ja, nur was mich interessiert sind Sachen wie, Pos. oder neg. Beschaltung. Wenn ich nur ein Laufwerk benutze was muss ich dann an "Motor Enable A", "Motor Enable B", "Drive Select A", "Drive Select A" anlegen damit das Teil erst mal anfänt mit Daten lesen.
Also ich bin mir sicher das ich den korrekten Pegel der Steuerleitungen in 5min rausfinden kann wenn ich Google bemuehe. Aber dein Problem sind die MFM Daten. Der Grund warum Commodore und Apple damals nicht kompatible waren, war IMHO das die Prozessoren fuer MFM Kodierung nicht Leistungsfaehig genug war und damals passte bloss 140kb auf die Seite einer Diskette. Die ersten Floppycontroller bestanden aus einem SpezialIC und hatten zusaetzlich noch einen extra Datenseparator weil die es damals nicht anders hin bekommen haben. Selbst mit so einem WD297 den man sicherlich noch irgenwo auftreiben kann ist das nicht einfach weil die Teile keinen Puffer haben. Du musst eine komplette Spur am Stueck lesen oder schreiben. Sowas wuerd ich mir im leben nicht freiwillig antun! Solltest du uebrigens an ein eigenes Datenformat denken, das wird nicht unbedingt einfacher. Wenn du andere Frequenzen zur aufzeichnung benutzt dann kommen die nicht durch die internen Filter in der Floppy. Jedenfalls musste ich damals Shurgartlaufwerke umbauen damit die am Apple liefen. Olaf p.s: Ich vermute uebrigens das die Steuerleitungen alle Lowaktiv sind weil eine Floppy anfaengt zu laufen wenn man sie verkehrt rum an das Kabel steckt. :-]
@Olaf Bei Google finde ich nur ungefähr 1million Seiten wo steht, "Das würd ich mir im Leben nicht antun" ! Das mit dem Lowaktiv stimmt wohl, zumindest habe jetzt herausgefunden das man den Motor mit GND an Motor Enable B ans laufen kriegt. Nur den Schreib-Lesekopf krieg ich einfach nicht in Bewegung... Bevor ich das nicht hinkriege brauche ich mir über die MFM-Dekodierung keine Gedanken machen.
http://www.teac.de/dspd/downloads/datasheets/dl_fd05hf8630.pdf Also ich hab genau 5s gebraucht um das Datenblatt zu finden. http://pluto.njcc.com/~hjohnson/drive.txt Und jetzt will ich spaetestens zu Weihnachten eine Homepage sehen wo du das ans laufen gebracht hast. :-) Olaf
Das Datenblatt ist GENAU das was ich gesucht habe, Danke ! >Und jetzt will ich spaetestens zu Weihnachten eine Homepage >sehen wo du das ans laufen gebracht hast. :-) Kein Problem ! Ich denke bis Weihnachten 2020 müsste das zu schaffen sein...
Also zur Zeit progge ich mir nen FDD emulator auf AVR basis. Ziel ist es den ganzen mechanischen Kram über Board zu werfen, und als Speicher medium ne SM-Card zu verwenden. Am 34Pol. Shugard Interface soll das aber wie ne normale Floppy aussehen (o.k. mit sehr schnellen Trackwechseln). Den MFM codec Part hab ich schon fertig. In der Simulation fubbt das Ding auf einem 16MHz Atmel Mega16 unter VMLAB 3.10C, und verträgt sogar noch einem um +- 3% eiernden FDD-Controler (laut spec sind nur +-0,5% erlaubt). Da nen part dranzuhängen der das dekodierte Daten Signal in 8bit par. an einen Port rauszuhauen. ist auch kein Problem. Evt. könnte ich auch nen 2. Port für das dekodierte Clock Signal proggen (damit man die fehlenden Signalflanken bei den Index usw. Marken erkennt). Sag beischeid wenn Interesse besteht. cu Hauke
"Floppy Controller sind doch heutzutage direkt in die Chipsätze der PCs inegriert (wenn überhaupt). Wenn du noch einen Floppy Controller kennst, den man heutzutage bei Reichelt und Co bekommt, dann her damit !" Ich hab in meiner Krams-Kiste noch jede Menge alter ISA_8 und ISA_16 Platinen drin. Wenn die nicht inzwischen verfault sind, schick ich dir gerne eine zu, und du lötest dir die 40 poligen DIL Floppy-Controller-Klötze da raus. Zur Not hab ich in selbiger Kramkiste auch noch einen Floppycontroller aus Urzeiten rumgeistern. War übrigens mein "erstes Projekt": Sharp MZ80K (ist was PET ähnliches, nur Z80 Prozessor), und die Floppy-Controller-Platine kam damals 500 DM. Die einseitigen Diskettenlaufwerke kamen den gleichen Preis. Da hab ich mir doch lieber in Dortmund bei der Hobbytronic den Krempel zusammen für 250 DM gekauft, und 2 Wochen schönen bastelkram gemacht (gefädelte Floppycontroller haben durchaus ihren ästhethischen (brech)Reiz ).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.