www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CD Player mit ATAPI Laufwerk - Initialisierung notwendig?


Autor: Sven H. (nobody1984)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich bastel gerade (auch) an einem CD-Player mit einem normalen IDE 
DVD-Laufwerk. Ein CD-ROM tät es ja auch, aber in meiner Schublade fand 
sich nur ein DVD-Laufwerk! Von der Schnittstelle her unterstützen ja 
beide die ATAPI Befehle.

Ich habe es auch schon soweit am Laufen, dass ich mittels Controller das 
Laufwerk öffnen, schließen und auch die Wiedergabe starten bzw. stoppen 
kann.

Ich habe allerdings das gleiche Problem wie schon im hier bekannt wurde: 
Beitrag "CD Laufwerk: packet command" (Post ist älter als 6 Monate, 
daher kam der Hinweis "neuen Beitrag erstellen").
Wenn ich ein Laufwerksreset mache, zeigt mir das Status-Register das 
BSY-Bit als gesetzt an. Schreibe ich dann in das ATA-Laufwerksregister 
und wähle das Master-Device aus (DVD-Laufwerk ist als Master gejumpert), 
dann ist kein Bit im Statusregister gesetzt. Also auch das DRDY-Bit 
nicht! Vermutlich, weil ja noch kein Befehl ausgeführt werden sollte. 
Sende ich dann den ATAPI Befehl zum Öffnen des Laufwerks reagiert es 
nicht, erst beim zweiten Mal senden Öffnet sich das Laufwerk. Dann 
funktioniert es aber ohne Probleme. Es ist immer nur nach einem 
Laufwerksreset, dass der erste Befehl quasi ins Leere geht.

Muss man nach einem Laufwerks-Reset eine spezielle Initialisierung des 
Laufwerks vornehmen? Gibt's mittlerweile neue Erkenntnisse?

Hier nochmal meine Sequenz:
01 Drive Reset
02 Status REG: BSY 
03 Delay: 2sec.
04 Drive Select: Master
05 Status REG: 
06 ATAPI Cmd (0x1B...)    // nichts passiert!
07 Status REG: DRDY DRQ 
08 ATAPI Cmd (0x1B...)    // Laufwerk öffnet sich!
09 Status REG: DRDY DSC DRQ 

Gruß,
Sven

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.