Forum: Mikrocontroller und Digitale Elektronik CD-Player


von Tobias (Gast)


Lesenswert?

Hallo zusammen!

Da bei mir zu Hause noch ein ganzer Haufen CD-ROM Laufwerke rumliegt,
habe ich mir überlegt, ob man damit nicht CD-Player aufbauen könnte
(aber nicht mit den Audio Ausgängen der Laufwerke!).

Da ich schonmal eine Festplatte mit meinem AVR angesteuert hab kenn ich
mich mit dem IDE-Interface schon gut aus, nur finde ich keine
brauchbaren Daten in bezug auf CD-ROM Laufwerke.

Konnte noch nix bezüglich größe der Sektoren und Register rausfinden,
oder sind die bei CD-ROM gleich wie bei Festplatten?
Außerdem würde es mich interessieren, wie das Protokoll einer Audio CD
überhaupt aussieht?

Bei Google find ich nix gescheites und würd mich deshalb sehr über
Tipps freuen.

Gruß Tobias

von Nik Bamert (Gast)


Lesenswert?

Hey, falls du Gcc zum programmieren verwendest könntest du dir evtl
mal den yampp3 code anschauen(gibts für hdd oder cd)

Hier mal ein Link für yammp3 und cd.
http://republika.pl/romek_by/download/MIS_yampp_CD_020818.zip

Der yampp spielt zwar mp3 ab, aber du kanns aus den sources sicher
etwas
über das Atapi protokoll herausfinden. Ich hab allerdings keinerlei
Erfahrung mit dem Code, ich bin selbst geraude am austüfteln,
wie ich meinen yampp(aber einer mit hdd) zum laufen kriege...

von Rufus T. Firefly (Gast)


Lesenswert?

Ich hab' vor längerem mal eine Schaltung (nebst Sourcecode) gesehen,
bei der jemand ein IDE-CD-ROM an einem 8051 betrieb, allerdings
verwendete der die Audiofunktionen des CD-ROMs.

Audio-CDs "selbst" abzuspielen ist 'ne sehr knifflige
Angelegenheit, weil solche CDs im Gegensatz zu Daten-CDs ganz anders
aufgebaut sind.

Daten-CDs haben eine Sektorgröße von 2048 Bytes; Audio-CDs haben
hingegen eine Sektorgröße von 2352 Bytes.
Damit ist ein Sektor exakt 588 Audio-Stereosamples groß, was 1/75
Sekunde entspricht.

Daten-CDs verwenden die "überschüssigen" 304 Bytes für eine
zusätzliche Fehlerkorrekturebene und um Sektoradressinformationen zu
speichern.

Der riesengroße Nachteil der größeren Audiosektoren ist der, daß eben
jene Sektoradressinformationen fehlen und es dadurch keine genaue
Sektorpositionierungsmöglichkeit gibt. Wenn ein CD-Laufwerk mehrfach
hintereinander den gleichen Audiosektor lesen soll, können durchaus
unterschiedliche Daten geliefert werden.

Etwas Hintergrundinformationen kann man beispielsweise der
Dokumentation des Programmes EAC (exact audio copy) entnehmen; der
Autor dieses Programmes hat sehr großen Aufwand getrieben, um an dieser
Problemstelle vorbeizukommen.

Daher meine Empfehlung: Nutze für Audio-CDs die laufwerkseigenen
Audiofähigkeiten und lese Sektoren nur bei Daten- (also mp3-) CDs aus.

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.