Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Diskettenlaufwerk ansteuern

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 13.09.2006, 12:47    Titel: Diskettenlaufwerk ansteuern Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 13.09.2006, 13:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 13.09.2006, 13:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 13.09.2006, 14:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 13.09.2006, 20:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 14.09.2006, 11:44    Titel: Antworten mit Zitat

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 zwinkern

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 ... durchgeknallt

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.09.2006, 11:27    Titel: Antworten mit Zitat

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.) lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 15.09.2006, 15:46    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 20.09.2006, 15:41    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.09.2006, 18:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz