Atmel AT89C51SND1c - IDE Interface

Gast #117964
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
Gast
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
Gast
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..
Gast
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.
Gast
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ß
Gast
"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.
Gast
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 :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.