DIY CD drive based on a computer CDROM

I think I managed to find the three signals BCK, LRCLK and SDATA on the print of my Pioneer 24x CD-ROM 😎 . The TDA1541A should arrive by mail soon so I'll see if I succeed converting the signal. Has anyone used this method as well instead of going the painful way of SPDIF? I'd be thankful for experiences and hints.
 
The model is: Pioneer DR-502S. It's an IDE 24x slot-in CD-ROM. One button is used for ejecting the CD (duh!) and the other one is used for playing & skipping audio tracks. So it has limited but functional cd-player functionality.
By the way, I went to a bazaar this weekend and found a like-new Sony CDP-101! It is from 1982 and the first commercially available cd-player ever. Man, talk about quality! This thing weighs about 8 kg and is superb, both mechanically and sonically. It also has no oversampling nor digital filtering. To my suprise, it plays back all of my CD-Rs. Nevertheless, I'm still planning on building a DAC. I think I will make an external DAC with coax inputs for BCLK, DATA , APTR and APTL which I think can be fed to the TDA1514A if configured properly. It would help if I knew the specs on the Sony CX20017 DAC which is used in the CDP-101. Anyone? 🙄
 
Hey all, Im new to this thread so I would like some clarification.
I have read the thread from the start, and I thaught the origional idea was to extract the audio data through the IDE interface instead of just using it to control the CDROM. My question is, why does it look like this project is turning into a small computer? You don't need a very powerful micro or dsp to extract the audio data as the audio stream is only 176kB/s.
The only problems I see with the idea are:
1) It is a fact that while reading from the CD (from a specific place) there is a positional error and so you cannot read and extract the same data from the same place twice. This is why you need software to be able to join data streams together IF the stream is broken. This seems to be overcome these days with some CDROMs having protection agains this and so it does not exist.
2) A micro can easily extract the 176kB/s of data into an external buffer, but you need to feed that data to a DAC at a constant rate. This may be too much for one micro as you guys are saying, but if you can get two chips, one feeding the DAC and the other filling the buffer?? Or a DAC with a buffer that you only need to fill periodically (like a MP3 decoder chip!).

I have been researching this sort of project for some time, and am now designing a CD player for my masters project for a HiFi company. But am still deciding wether to use a mechanism module or CDROM.

Sorry if this is long, but if you guys can think about these things, it would be much appreciated. I have been looking at such a design for a while, but don't really think it needs to go to the extent of putting an OS on it. 🙂

Carl
 
Hi Madscience,

thanks for your info on Pioneer type... 🙂

CarlBenton,

please check again... this forum is discussing about making cd transport using cd-rom drive... Some suggest to use additional IDE circuit to give more control for the cd-rom drive (to provide "Play", "Stop", "Skip", "Back", "FF" and "FFW" fuctionality) but on some cd-rom drive it is ready with "Play", "Stop" and "Skip" button...

Discussion about extracting audio output through IDE is somewhere on this DIYAudio forum, you can search it...

REgards,
---
David
 
Re: Re: MCLL rev 2 compatibility

MCLL said:


Hi jondavis,
I'm sorry too late to reply...
No. at89c2051 or at89c4051 are not enough I/O lines to control CD-Rom.


how about 87c51? sorry for asking those are the only chips I got.
thanks.

is there any schematic and code for cdrom controller which can use LED instead of LCD?
 
I've been interested in building a micro based cd controller for some time, only just read this topic in the last couple of days.

I've already designed a prototype board for my chip of choice, the ATmega64/128. My board has the advantage of being quite small (6cm by 6.5cm) and is single sided, so very easy to home produce. That's what I do, anyway. Haven't started on the code yet, still getting myself lost in the ATA/ATAPI specifications drafts.

I've read many comments about people not wanting to have to use surface mount stuff, but there really isn't anything to worry about. I realise it seems easy for me becuase I've got experience, now, but it's not like my hands are all that steady or anything. The 'secret' is to get a tub of paste flux, I found some at the local hardware store. you wipe on some of this gunk under where the chips pins go, then sit the chip down, and just wipe a big blob of solder over all the pins in one go. the flux means it basically removes bridges on it's own. I can put a mega128 on a board in under a couple of minutes like this. Don't try soldering them one pin at a time, that's what makes it hard. Any stubbrn bridges can usually be removed by putting more flux over them, and then wiping the soldering iron's tip along the bridge away from the chip.



I was going to wait until I had the code going before touting my design...but then found this page that might be very interesting to some other people as well:

http://www.atmel.com/journal/documents/issue2/JOURNAL_2.pdf

specifically the article "Construct an ATA Hard Drive Controller'

It's basically an entire design article on building an interface from ethernet to a hard drive. So it covers reading data off the hard drive (ATA) and manipulating it to send it over ethernet (a serial line). Includes schematics and c code. I haven't studied it much yet but it'll have to be a pretty easy re-write and shuffle of code to get it to read data off a cd and spit it over a spdif (or whatever you want to use) serial line instead.

Hope no one minds the large post, but if you don't like it you don't have to read it ;-)

Andrew
 

Attachments

  • pcb-r1.gif
    pcb-r1.gif
    37.9 KB · Views: 2,169
Re: Re: Re: MCLL rev 2 compatibility

jondavis said:



how about 87c51? sorry for asking those are the only chips I got.
thanks.

is there any schematic and code for cdrom controller which can use LED instead of LCD?

Hi Jondavis,

87c51 may be ok refer to datasheet...:bawling:
if using LED instead of LCD, source code & schematic must be modify... But I'm so busy for my tube headphone amp...🙂
 
MCLL,
Does it compile with the demo Keil?

I don't get this part ????:
Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2K Bytes of on-chip ROM.

( compiler, assembler, linker, and de****** are limited to 2 Kbytes of object code. )


edit: ok, de-bu-gg-er is a bad word? 🙂
 
davesaudio said:
MCLL,
Does it compile with the demo Keil?

I don't get this part ????:
Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2K Bytes of on-chip ROM.

( compiler, assembler, linker, and de****** are limited to 2 Kbytes of object code. )


edit: ok, de-bu-gg-er is a bad word? 🙂


Hi Davesaudio,

you should use other free 8051 compiler such as SDCC but some coding may be need to modify...

http://sdcc.sourceforge.net/