Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The real Agent D
Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 13.09.2006, 12:47 Titel: Diskettenlaufwerk ansteuern |
|
|
Hi,
ich such schon seit Monaten Informationen, wie man ein Diskettenlaufwerk ansteuern kann. Ich hab außer der Pinnbelegung des Diskettenlaufwerks noch nichts sinvolles gefunden. Ich hab in diversen Microcontrollerforen gesucht, aber nur Threads gefunden, in dennen die Fragenden verarscht wurden, oder darauf hingewießen wurden, sie sollen das ganze aufgeben, da man aus einer Diskette eh nur 'popellige 1.44 MB' herausholen kann. Das ist auch der Grund, warum ich meine Frage dort nicht posten will.
Hat jemand vllt. eine Sinvolle Antwort auf die Frage?
mfg
The real Agent D |
|
Nach oben |
|
|
A.K.
Anmeldungsdatum: 02.05.2005 Beiträge: 467 Wohnort: HH
|
Verfasst am: 13.09.2006, 13:15 Titel: |
|
|
Hi,
wofür brauchst du das ganze denn?
Willst du wirklich komplett die Hardware selber ansteuern (eigenen Treiber schreiben) oder gehts dir nur darum auf jeden Sektor der Diskette zugreifen zu können? (z.B. den Bootsektor)
Falls das zweite zutrifft kann man dies über BIOS-Int's machen. Anleitung:
http://www.iconsoft.de/index.php?show=tutorial_disk
MFG A.K. _________________
http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU* |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2514 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 13.09.2006, 13:18 Titel: |
|
|
Das Einfachste unter reinem DOS: INT 13h vom BIOS verwenden, ähnlich wie dies mein Festplattenlöschtool auch macht.
Für das direkte Ansteuern der Hardware sei auf den Linux-Kernelquelltext verwiesen, speziell der /dev/fd0-Treiber. Wenn Du Dich mit C/C++ etwas auskennst, sollte es kein Problem sein, das Ganze zu portieren. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
The real Agent D
Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 13.09.2006, 14:48 Titel: |
|
|
Eigentlich will ich ja einen Microcontroller an das Diskettenlaufwerk anschließen und mit dem auf einzelne Sektoren/Spuren zugreifen und darauf lesen oder schreiben |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 13.09.2006, 20:43 Titel: |
|
|
Hallo
Geht es dir nur darum, Daten zu speichern oder muss es unbedingt ein Diskettenlaufwerk sein? Wenn letzteres der Fall ist, kann ich dir nicht weiterhelfen. Ein Diskettenlaufwerk über Mikrocontroller anzusteuern, ist wahrscheinlich sehr schwierig. Ich habe auch noch nie von etwas ähnlichem gelesen. Das würde wohl darauf hinauslaufen, einen kompletten Minicomputer zu bauen mit Betriebssystem etc.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 14.09.2006, 11:44 Titel: |
|
|
Dürfte in der Tat etwas kompliziert werden, aber müsste eigentlich mit einem Microcontroller umzusetzen sein.
Würde mich auch mal interessieren, ein Floppy an nen µC zu koppeln
Pinout: http://www.interfacebus.com/PC_Floppy_Drive_PinOut.html
Und auf einer anderen Seite ebenfalls: http://mirror.href.com/thestarman/sony/SONY.htm
Gezäht werden die Pins so:
Code: | 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 |
Also die untere Pinreihe ist GND und die oberen sind die Steuersignale.
Ich spekuliere jetzt einfach mal, wie man das Ding ansteuern _könnte_.
Keine Funktionsgarantie ...
Pin 2 gibt den Diskettentyp an. 0 = 1.44MB, 1 = 720kB. Den also auf 0 setzen.
Pin 8 gibt ein Index-Signal an den FDC (=Floppy Disk Controller, in deinem Fall der Microcontroller). Ich schätze mal, dass dieses Signal irgendwie zur Synchronisation verwendet wird, weiß es aber nicht genau.
Mit Pin 10 und 16 schaltest du den Floppymotor von entweder Laufwerk A oder Laufwerk B an und dieser dreht sich dann, bei einem Puls auf Pin 20, in die Richtung, die du an Pin 18 angegeben hast. Da du ja nur 1 Floppy anschließen willst, setzt du einfach Pin 10 auf 1.
Mit Pin 14 wird signalisiert, dass sich alle Schreib-/Leseoperationen auf Floppy A beziehen. Also auf 1 setzen.
Pin 18 gibt die Richtung des Schrittmotors an. Musst ausprobieren in welche Richtung er sich bei 1 bzw. 0 dreht.
An Pin 20 musst du einen Puls (1) geben, damit sich der Motor um einen Schritt weiter dreht.
An Pin 22 werden wohl irgendwie die zu schreibenden Daten übermittelt.
Und Pin 24 signalisiert dann, ob die Daten geschrieben werden sollen.
Pin 26 gibt ein Signal an den FDC zurück, ich vermute mal, dass das noch ein Synchronisationssignal ist (für Spur 0).
Pin 28 gibt ein Signal an den FDC, ob bei der Diskette der Schreibschutz aktiviert ist (also an der Diskette unten diese Loch).
Und Pin 30 überträgt wohl irgendwie die gelesenen Daten an den FDC.
Mit Pin 32 wird die Diskettenseite ausgewählt (oben/unten).
Pin 34 ist Disk Change, also gibt an ob eine Diskette im Laufwerk ist. (0=Diskette im Laufwerk)
Puh... jetzt bleibt nur noch zu klären, wie die Read/Write-Daten übertragen werden .. ich vermute mal sehr stark Seriell (muss ja)... aber keine Ahnung wie das genau geht, es gibt ja keine Clock oder so.
Gruß, Paul _________________
|
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.09.2006, 11:27 Titel: |
|
|
Hm, hab da irgendwo einen Code zum Ansteuern rumliegen, muss ich mal suchen. Ist allerdings für x86-Assembler.
Du könntest das Ganze sonst auch mit einer SD-Karte machen: wenn du einen AVR verwendest und mit BASCOM schreibst, schaue hier. (Falls du das nicht schon kennen solltest.) _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
The real Agent D
Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 15.09.2006, 15:46 Titel: |
|
|
Skilltronic hat Folgendes geschrieben: |
Das würde wohl darauf hinauslaufen, einen kompletten Minicomputer zu bauen mit Betriebssystem etc.
|
Es läuft auch darauf hinaus.
Mao hat Folgendes geschrieben: |
wenn du einen AVR verwendest und mit BASCOM schreibst, schaue hier.
|
Das ist auch tatsächlich der Fall. Das auf der Seite vorgestellte ist recht interessant. Ich muss da halt erst mal durchblicken.
mfg
The real Agent D |
|
Nach oben |
|
|
The real Agent D
Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 20.09.2006, 15:41 Titel: |
|
|
sry. wegen dem Doppelpost, aber es muss sein, damit das hier auch gelesen wir...
Wie dem auch sei. Ich hab mir bei dieser Seite hier eine Bibliothek heruntergeladen, um unter BASCOM eine HDD an zu steuern. Ich wundere mich über dieses Bild hier:
Links ist der AVR angeschlossen, aber was ist das rechts? Ist das der IDE Stecker, oder ein IC oder sowas, der an den IDE Stecker angeschlossen ist? Wen ja, welcher ist es und wie ist er an den Stecker angeschlossen? Und muss man da überhaupt wie beschrieben einen ATmega128 verwenden?
mfg
The real Agent D |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 20.09.2006, 18:00 Titel: |
|
|
Da ich von AVR keine Ahung habe, kann ich dir nicht sagen, ob es ATmega128 sein muss.
Anyway.
Das rechts ist für mich eindeutig der IDE Stecker der Festplatte,
Wenn du eine Festplatte hast mit 40 Pins, siehst du die Belegung auf Wikipedia.
Edit//
Ich sollte Zählen statt setzen ... _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
|