Wait a second!. CD players other than Philips ones
have _4_ servo loops
AFIAK. There's the spindle speed, controlled roughly by how full the RAM
buffer is (when it gets too full, the spindle slows down).
That is the easy one to figure. Compare the queue length with a
threshold value, and feed a value into a DAC (motor drive circuits are
assumed). Something along the lines of Mspeed = Kspeed + (Qoptimal
- Qlength). Here, if the queue's length (Qlength) is greater that the
optimal queue length (half full, half empty, Qoptimal), a negative value
is added to constant (optimal) Kspeed, and the result is Mspeed, a value
thrown at a DAC. The DAC then feeds a simple DC motor driver. There are
lots of proven circuits for that last bit.
Of course, if one reads of the bitstream and stores it on a hard disk or a
mountain of RAM, the queue could be considered infinitely large, and the
spindle would never race ahead and fill it. I believe that the pits in the
aluminum (or gold) are encoded with a clocking reference (probably PCM),
so clock recovery might not be too bad if the spindle is kept at a
reasonable velocity. One could even vary the velocity by the position of
the head, to making the clocking "window" a bit more controlled.
Focus, which is contiually adjusted. Disks warp, and
old disks (we are
talking about recovering data from old media) are likely to be worse than
new ones.
Warped? Yes, if the disks are treated poorly. I just took a sample of some
of my CDs, and they are definitely not warped - I can stick them face to
face and they match perfectly. I would certainly hope that archival copies
of things on CD-ROMs would be treated gingerly. Having to deal with
scratches and scuffs would be a big hassle.
I don't think a fixed focus unit has much of a
chance of
working. Focus is a voice coil on the lens assembly. Focus error is
detected by the relative amplitude of signals from a number of
photodiodes. While simple in theory, figuring out what the signals are
without a manual is not going to be trivial
OK, big deal. You could figure out the basic characteristics of the focus
system by monitoring the circuit while it does its initial looking for the
disk (put no disk in the drawer, and watch the lenses move to its
extremes), and while spinning a disk, so you can get an idea of what the
optimal signal levels are. I assume that the photodiodes will output the
most when things are in focus. If not in focus, some of the light will not
hit the detector.
Coarse tracking, which is a motor/gear assembly to
move the pickup. This
is the one used to move to a different track, and comes into operation
when the fine tracking servo offset gets too large.
As I said before, forget the seek function. Read the whole track and
figure out what you want later, with it sitting on a hard disk (or even
RAM). Adding seek functionality does complicate things greatly.
Fine tracking. A rotary 'meter movement like'
coil on the lens assembly.
This one move the lens by individual tracks - when it gets near the end
of its range, the coarse tracking servo shifts the pickup a bit, and the
fine tracking servo relocks near the other end of its range. This servo
also compensates for radial errors in the disk - which can be quite
significant. I've even seen disks (poorly produced disks) where the
coarse tracking servo has to wobble a bit to keep on track.
Yes, I have seen this, where the worm lurches back and forth. Solving this
problem would involve adding one more input to the fine tracking
controller, basically a value stating how far off the coarse tracker
thinks it is. I would condition the input a bit to get rid of any gear
chatter and motor "cogging", probably with an integrator. Not doing so
might cause the the fine movement to buck around wildly every time the
coarse drive motor "coggs" (unofficial term for the unevenness caused by
the magnets in motor, much like a stepping motion).
Now, in theory all that can be built. After all, the
servo circuit of
older CD players was just a pile of op-amps, and a microcontroller to
handle track jumps only. The problem comes with actually doing it when
you don't know the electrical or mechanical properties of the mechanism.
Experimentation is called for! I remember making control systems with
analog parts (op amps are wonderful things!), and the easiest thing to do
was to chuck the equations out the window and place multiturn pots where
called for. It involves a bit of trial and error, but a good idea of how
things behave quickly emerges. In the above example with the integrator,
put a pot on the thing to vary the effect. Find out what value works
best, so the fine control system still tracks when the coarse system
adjusts itself, yet does not go nuts.
William Donzelli
william(a)ans.net