18.07.2011

IDETrol

Ein Projekt zu dem ich die letzten Monate nicht mehr gekommen bin, ist ein Mikrocontroller der praktisch aus jedem alten CDROM Laufwerk ein CD-Player macht:
Alle ATAPI-CDROM-Laufwerke haben die Fähigkeit von sich aus Audio-CDs abzuspielen. Also nicht wie es heute meist von den Betriebssystemen gemacht wird, die Audiodaten als normale Daten einzulesen und dann über den Softwareweg zur Soundkarte, sondern das Laufwerk spielt die Audiodaten selber ab und stellt der Soundkarte das Audiosignal als Lineout zur Verfügung.

Bei manchen, vor allem älteren Laufwerken, konnte man über ein paar Knöpfe an der Front, eine eingelegte Audio CD abspielen - und das sogar ohne das Laufwerk an einen Rechner angeschlossen zu haben. Aber nur noch wenige Laufwerke haben mehr als einen Eject-Button. Die einzige Möglichkeit an solchen Geräten eine CD abzuspielen ist es, die Befehle zum Abspielen über das IDE-Interface zu schicken. Aber warum gleich einen ganzen Rechner verwenden, nur um einem Laufwerk zu sagen was es spielen soll - das sollte auch über einen kleinen Mikrocontroller zu schaffen sein. Und so ist es auch.

Nachdem ich nach tagelanger Blätterei in den ATA und ATAPI Spezifikationen einen ganz brauchbaren Code produziert habe, habe ich diesen jetzt ein wenig aufgeräumt. (gitorious.org/idetrol)
Nach dem Einlegen einer CD wird das Inhaltsverzeichnis (TOC) ausgelesen, und die Wiedergabe beginnt. Die wichtigsten Funktionen die ein CD-Player haben sollte sind auch vorhanden: Play, Pause, Stop, Next/Previous, Rewind, Fast Forward, Eject.

Bislang ist die einzige funktionierende Hardware auf einem Steckbrett aufgebaut, aber ein Platinenlayout ist vorhanden - die fertige Platine hingegen ist noch nicht so weit.

Keine Kommentare:

Kommentar veröffentlichen