www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Festplatte Pinbelegung


Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
weiss jemand die Pinbelegung der IDE-Festplatten?
Und wie könnte ich am einfachsten auf diese mit einem Mikrocontroller
zugreifen?
Danke schön.

Mit freundlichen Grüßen

Sencer Soylu

Autor: schneidertobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
besorg dir die ATA-Specs und lies sie. Danach benutz noch google.

Gruß Tobias

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meistens sind die Pins mit Gold belegt.

Zugreifen kannst Du am besten, wenn Du die Beinchen in Form eines
Greifers biegst und dann auf die Platte zugreifst.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch eine Möglichkeit:
Bau an den µC eine Baggerschaufel... damit lässt es sich ziemlich gut
greifen...

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den anschlüssen ist kein problem!
Ich habe jetzt den aufbau der IDE-Pins im Internet gefunden komme aber
nicht weiter!
Auf der Seite http://www.hardware-bastelkiste.de/ide.html sind die
pinbelegungen!
Kann mir jemand bitte sagen, wie ich jetzt auf die Festplatte schreibe
und lese?
Ich weiss leider nicht, was die einzelnen Pins machen!
Danke schön.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen Edding, das funktioniert am besten.

Aber zur Sicherheit nur auf das Gehäuse schreiben!

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat das denn mit einem Edding zutun?

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tom

Hatte ich auch schon dran gedacht. Das Problem ist aber, daß Du mit
einem Edding normalerweise nur einmal schreiben kannst. Da die
Festplatte wiederbeschreibbar sein sollte wäre vielleicht ein Bleistift
besser. Da kann man die Daten dann leichter ändern.

Autor: Dom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abwaschbare Folienstifte sollten auch gehen.

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bitte, wollt ihr mich auf den Arm nehmen?
Ich will nicht mit einem stift oder so auf die Platte in der Festplatte
schreiben sondern mit dem Lese-Schreibkopf in der Festplatte!
Ich muss nur noch wissen, welche Pins ich an der Festplatte ansteuern
muss!
Danke schön.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du armer...
Der Grund warum du verarscht wirst:
Eine Festplatte anzusteuern ist nicht schwer, das haben schon viele
geschafft, indem sie google bemüht haben. (So habe ich das auch
gemacht.)
Außerdem wurde das hier im Forum (und auch in anderen) schon oft genug
erklärt.

PS: schau mal auf www.t13.org, das müsste deine Fragen beantworten.

Autor: Ganove Nr.2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber der Mikrocontroller läuft schon oder? Wie hast denn rausgefunden,
was bei dem die ganzen Pins machen? Oder hast du einen Tiny genommen?
Ist eigentlich keine schlechte Idee, bei 8 pins bleibt das schon
überschaubar

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze einen ATtiny26!

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich muss nur noch wissen, welche Pins ich an der Festplatte
> ansteuern muss!

Du mußt mindestens mal DD[15:0], /CS0, /CS1, /RD, /WR und A[2:0]
ansteuern wenn du einfach nur im PIO-Modus arbeiten willst.

Ich hoffe, das hilft etwas.

GND muß natürlich auch angeschlossen werden, Details findest du in der
ATA-Spezifikation.

Mario

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,
habe auch unter google die Beschreibeung jedes einzelnen Pins
gefunden!
Hoffentlich kann ich damit was anfangen!?

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe mir die pinbelegung angeguckt!
Habe follgendes festgestellt:
Ich denke ich weiss wie ich auf die Festplatte schreiben und lesen
kann, aber die Festplatte muss doch wissen, welcher bereich gelesen
oder drauf geschrieben werden soll!
Mit welchem Pin und Signalverlauf mache ich das?
Danke.

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem linken, der rechte ist zum löschen da ;-)

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke für die Seite!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu dumm oder zu faul zum lesen ???

WWW.T13.ORG !!!!!

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf die Seite kann man nicht zugreifen, bin nicht dumm auch nicht
faul!!!!

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also bei mir geht die Seite einwandfrei....

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei mir nicht!!!

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann würd ich mir mal Gedanken machen woran es liegen könnte...

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
muss zu dumm sein, wenn man den link anklickt gehts tatsächlich nicht.
Wenn man ihn aber abtippt...

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht, wenn man ihn abtippt funktioniert es. Wer soll denn
wissen, dass die URL sich nach dem Forum richtet?
Und ausserdem ist das ganze in Englisch und Herr Nik Bamert hat mir
schon sehr geholfen.
Danke schön.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du Probleme mit Englisch hast, hast du dir echt das falsche Hobby
ausgesucht..
99,9% aller Datenblätter sind auf Englisch.

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiss, scheiße ne
Aber die Elektrotechnik ist mein Herz und Leben!!!
Ausserdem bin ich doch noch so Jung, dass lerne ich auch noch:)

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Zu dumm oder zu faul zum lesen ???

Naja, mit 15 hab ich mir auch noch nicht die ATA-3 Spec. reingezogen.

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, bin nicht dumm!
Ist nit nett so was zu sagen!
Ausserdem weiss ich jetzt wie ich eine Festplatte ansteuern kann, nur
an einem Tag und mit 15. He He He
Sie waren damals nicht so fitt oder?

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe, stimmt das mit 15?-Ich bin nämlich auch erst 14..bal 15:) ich
versuch gerade eine SD Karte anzusteuern, klappt aber leider nicht so
wie es soll..siehe
http://www.mikrocontroller.net/forum/read-1-88411.html

MFG Nik

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist nicht unbedingt eine Frage des Alters. Ich war 15 als ich
Internet bekommen habe, vorher hatte ich keine Möglichkeit mir
Datenblätter o.ä. zu besorgen.
Ich bin 20 und habe vor etwa 1,5 Jahren mit uC quasi bei Null
angefangen. Festplatten Ansteuern habe ich mir selbst nur durch google
beigebracht (Anschlußbelegung + Dateisystem). Die resliche Elektronik
mit 16bit <-> 8bit Wandler habe ich mir selbst ausgedacht. Alles was
ich sonst nocht brauchte stand auf T13.org.
Ich habe aber auch mehrere Tage gebraucht, bis ich die Grundlagen
verstanden habe. Einige Beispielprogramme aus dem Internet (-> google)
helfen alles zu verstehen.
Beim ersten Mal funktionierts sicher nicht, aber nicht verzweifeln.
Eine Nacht schlafen, am nächsten Tag nochmals die Schaltung und
Software durchgehen. Wenns immer noch nicht geht, alles weglegen und
nach einer Woche nochmal versuchen, dann bekomme ich meistens alles
hin...

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, dass werde ich machen

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, hier komme ich nicht mehr weiter:
Wenn ich jetzt auf den Sektornummern-Register zugreifen will, muss ich
nur die Pins CS0,CS1 und DA0-DA2 mit 10011 beschreiben, aber wie sage
ich ihm, welcher Sektor es sein soll?

Sencer

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal meine Schaltung, die einwandfreu am Datenbus läuft.

Um Sektoren zu adressieren verwendet man entweder LBA oder CHS.
Bei LBA werden alle Sektoren der Reihe nach gezählt, angefangen bei 0.
Bei CHS (Cylinder, Head, Sector) werden die Sektoren so adressoiert,
wie sie real in der Festplatte vorkommen.

Lad dir mal eine der älteren Datien von t13.org runterl, da ist das
alles genau erklärt:
Im Head Register kann man zwischen CHS und LBA umschalten. Ich würde
LBA verwenden, ist einfacher (wird ab etwa 400-800MB aufwärts
unterstützt).
Im Register Sector Count gibst du an, wieviele Sektoren gelesen werden
sollen (1-256, wobei 0=256). Dann schreibst du in die Sector Number,
CylinderLow, CylinderHigh und Heads Register eine 28bit lange Zahl, die
den Sektor adressiert. Nun noch den Lesebefehl ans Command Register und
dann kannst du 256x 16bit am DataRegister lesen.

Die Schaltung wandlet 16bit Werte in 2 8 bit Werte: Um einen 16bit Wert
zu lesen, liest man erst das LowByte aus dem Dataregister (Adresse 0)
und dann das HighByte aus dem Latch (Adresse 9)

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber wie sage ich der Festplatte z.B. dass er Zylinder 100 ansteuern
soll?
Wenn ich jetzt den Wert für die Zylinder in den Register schreibe, wo
soll ich die Zylindernummer reinschreiben?
Danke.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versteh ich nicht ganz.
Wenn du Zylinder 100 lesen willst, schreibst du 100 in CylinderLow und
0 in CylinderHigh...

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, dazu muss ich auf den Kommandoblock 10100 schreiben um den
Zylinderblock-register 0 anzuwählen!
Aber wo schreibe ich jetzt den Zylinderwert(100) rein?
Etwa in DD0-DD15 oder was?
Danke.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso machst du die Datentransfers per Software ? Unterstützt der AVR
keinen Daten/Adressbus ???
Mit dem Adress/Datenbus hast du schon eine Fehlerquelle ausgeschlossen,
da du dann nicht nie unterste Low-Level Ebene programmieren musst.

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt verstehe ich nichts mehr!
Könntest du mir bitte eine art stichwortliste schreiben, auf welchen
register ich zugreifen muss,welchen Pin ich ansteuern muss um auf die
Festplatte einen Wert zu schreiben?
Bitte Bitte.

Autor: hmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss sagen ich finde den Thread ziemlich amüsant.
Ich bin zwar selbst noch Anfänger was uC angeht, aber das hier finde
ich einfach zu gut...

@Sencer: was hast du egtl. schon mit deinem Conrtoller gemacht?

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, einfach IO-Port angesteuert, ADC, Timer und das war eigentlich.
Aber der µController ist ja nicht das Problem, sondern die Festplatte.
Wenn ich wüsste wie ich auf die Register der festplatte zugreifen kann,
dann würde ich das auch hinkriegen!

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi sencer,

auf der seite http://www.inf.hs-zigr.de/~boehm/rt001/Modsching/ hat es
unter 2.5 auch ein bildchen. Es ist eine Tabelle mit den Adressen zu
den Registern. Dort steht welche pins für welche adressen high/low sein
müssen usw. Dann einfach noch daten anlegen und schreiben. achtung:
reset, cs0, cs1, wr und  rd sind low aktiv. Es gibt noch mehr low
aktive Leitungen, aber die sind auf der oben genannten seite ja auch
gekennzeichent(mit einem fetten strich über der signalbezeichnung)

MFG Nik

Autor: Sencer Soylu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist sehr gut, wenn ich jetzt einen register makiert habe!
z. B. denn Sektornummernregister(10011), muss ich dann die Sektornummer
in DD0-DD7 schreiben und dann muss ich nacheinander den
ZylinderRegister und dann den Laufwerksregister ansteuern und dann in
dem ich an DIOW auf masse schalte, müsste ich eigentlich ein 8Bit
Datenwort über DD0-DD7 auf die Festplatte schreiben können, oder?

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt - Beitrag Datum: 31.05.2004 07:33 - Betreff: Festplatte
Pinbelegung - Dateianhang: IDE.gif (25.7kB, 74 Downloads)

Ich versuch mich grad mit 'ner gescheiten Verkabelung zwischen
Mikrocontroller und ATmega128. Das ganze via Adress- und Datenbus zu
bewerkstelligen, halte ich für geschickt - wenn's denn geht. Den
Schaltplan aus obigem Beitrag versteh ich aber nicht so recht. Was ist
mit /CS1 passiert? /CS1 fest auf 5V kann ja wohl nicht stimmen. Wie
soll  denn der Ablauf der Kommunikation bei der Verdrahtung erfolgen?
Hab den noch nicht ganz ausgeräumten Eindruck, dass in bestimmten
Konstellationen es zum Datenkonflikt kommen kann.

Im Forum hier wird ja viel erzählt, dass das ganze Vorhaben soooo
einfach ist. Nur, wenn's konkret wird, schweigen sich hier viele stark
aus. Konkrete Tipps und Erfahrungen wären hier schön. Bei den (älteren)
MP3-Player-Projekten im Netz wird häufig mit GALs gearbeitet, mit denen
ich mich eher nicht befassen möchte.

Mein Vorhaben wird ausnahmsweise kein MP3-Player sondern ein
Datenlogger für ca. 10GB werden.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit /CS1 wird auf die control block registers zugegriffen und die
braucht man i. d. R. nicht und von daher kann man /CS1 auf High legen.
Siehe hierzu auch die ATA-Spezifikation (z. B. ATA-3 Rev. 7b, Tabelle
6).

Gruß
Thorsten

Autor: Birger* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, aber das Device-Conrol-Register und sein Interruptflag könnte
vielleicht interesant sein/werden. Aber das ist letztlich nur ein
Randdetail.
Ich versteh bis jetzt nicht, ob und wie obige Schaltung genau
funktionieren soll. Funktioniert sie wirklich für 16 Bit lesen und
schreiben? Wie ist das dann mit der Adressierung?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Adressen 0-7 adressieren ganz normal die Festplattenregister 0-7.
Zusätzlich wird bei jedem Lesezugriff das High Byte der Festplatte
gespeichert und kann durch einen Lesezugriff von Adresse 9 gelesen
werden.
Für Schreiben gilt dasselbe: Bei jedem 8bit Schreibzugriff wird der
Festplatte auch das gespeicherte High Byte angeboten. Dieses muss zuvor
an Adresse 8 geschrieben werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.