Forum: Mikrocontroller und Digitale Elektronik Atmel AT89C51SND1c - IDE Interface


von Manuel Fegerl (Gast)


Lesenswert?

Hi...

Bin gerade am Arbeiten an einem Projekt mit einem AT89C51SND1C.. als
speicher soll eine IDE HDD mit FAT32 verwendet werden.

Leider konnte ich bislang keine Informationen darüber finden, mit
welchen Funktionen man das IDE Interface anspricht. Im Beispielfile
find ich ca. 213x den Befehl hard_read_byte(), aber was genau der tut,
wie man ihn verwendet, und was es für andere befehle etc gibt wäre
intressant.

Auch in der Dokumentation find ich darüber nichts, deshalb hoffe ich
ihr könnt mir da weiterhelfen.

Vielen Dank
Grüße
Manuel

von Stefan (Gast)


Lesenswert?

http://www.pjrc.com/tech/8051/ide/wesley.html

Sind die Grundfunktionen/Ansteuerung eines IDE-Interfaces ohne FAT, ist
-relativ- einfach zu verstehen. Achtung: Im CHS-Modus muß -vor- dem
eigentlichen Lese/Schreibebefehl (Dezimal 32/48) der Init-Befehl
erfolgen (Dez.145), ansonsten will das Teil nicht. Bin selbst gerade am
programmieren eines IDE-Interface mit Bascom (ich komme mit C nicht
zurecht, kann "nur" Assembler und Bascom), hab noch ein paar
Schwierigkeiten damit (irgendwas stimmt mit der RW-Sektorgröße nicht,
über 64 Bytes liefert die Festplatte Fehler)....



Grüsse

von Manuel Fegerl (Gast)


Lesenswert?

Was mir noch nicht ganz klar ist... der µc verfügt ja angeblich
hardwaremäßig über ein IDE interface.. was bedeutet das für mich? also
was ist der unterschied zu einem µc ohne IDE interface, dort würd ich
ja genauso über die ports zugreifen?.. hab eigendlich erwartet dass es
fertige funktionen o.ä. gibt..

von Benedikt (Gast)


Lesenswert?

Das IDE Interface ist eigentlich nur ein 16bit Datenbus, da IDE die
Daten ja als 16bit Word überträgt. Ein normaler 8bit uC kann aber keine
8bit hardwaremäßig einlesen.

von Stefan (Gast)


Lesenswert?

Dann halt über zwei 8-Bit-Ports, so hab ich's mitm 8535 geregelt. Ein
Port für Commands, ein zweiter mitm Command-Port für Daten-I/O......

Gruß

von Jochen (Gast)


Lesenswert?

"Dann halt über zwei 8-Bit-Ports, so hab ich's mitm 8535 geregelt.
Ein
Port für Commands, ein zweiter mitm Command-Port für Daten-I/O......"

Oder über ein Latch (CPLD) und externen Speicherzugriff auf zwei
Speicheradressen.

von Benedikt (Gast)


Lesenswert?

Oder einfach 2x 74HC574 und ein 74HC138, da braucht man kein CPLD
dafür...

von Manuel Fegerl (Gast)


Lesenswert?

Danke mal für eure Hilfe.. hätte aber noch ne Frage

bin gerade am durchackern des ganzen.. was mich daweil etwas verwirrt,
und was mein altes board in frage stellt: hier steht man müsse die
reset, rd, wr, cs1 und cs0 eingänge umbedingt invertieren, weil sonnst
durch den i/o switch die ports zurückgesetzt werden und ein reset
ausgelöst wird..

jetzt frag ich mich: muss ich das beim 89c51snd1c auch?

denn im datasheet ist davon keine rede..

danke weiterhin für eure hilfe :)

von David Stanlay (Gast)


Lesenswert?

Hy!
ich brauche einen (oder mehrere) Atmel AT 9058515 8PC 0202 chips.
Weiß jemand wos die gibt??


danke

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
Noch kein Account? Hier anmelden.