Re: How Does CD Player Anti Skip Work?



Jeff Wisnia wrote:
Wikipedia gave me this for "Electronic Skip Protection":
*********
Technology

When the buffering circuitry is in operation, the compact disc is read at a fixed read speed or CAV and the content is buffered (with optional ADPCM compression) and fed to RAM within the player. The audio content is read from RAM, optionally decompressed, and then sent to the amplifier. When the disc reading is interrupted, the player momentarily reads the data stored in RAM while the tracking circuitry finds the passage prior to the interruption on the CD.
********

The word "prior" in the last sentence confuses me, I would have expected it to say "after" there.

Could someone please give me a better explanation or a link to one?

Yes, that wording is a bit confusing. What's really happening is that
the audio to the DAC is *always* coming from the RAM, which is being
used as a FIFO buffer. When the CD-to-RAM transfer is interrupted by
a mechanical shock or whatever, the RAM-to-DAC transfer drains down
the FIFO while the CD reading mechanism re-seeks to the point of
interruption. It may seek to a point slightly "prior" to that point
in order to make resuming the reading process a little simpler.

The comment about CAV is a red herring. If the FIFO is full (no skips
are occurring), then the disc is "throttled back" to CLV by the flow
control mechanism, just as it would be without a skip buffer. But when
a skip occurs, the disc will speed up in order to refill the FIFO in
a relatively short time.

Note that none of this helps with a CD that "skips" as a result of
a physical defect in its surface.

Uncompressed CD audio runs about 10 MB per minute, so a CD player
with a "6 second" skip buffer has about 1 MB of RAM.

-- Dave Tweed
.



Relevant Pages

  • Re: Developing interrupt driven serial driver
    ... My next task is to make this driver codebase interrupt driven. ... deassert CTS so that the DTE would stop sending when the FIFO is full. ... interrupt handler for the receiver put the data into a larger buffer ...
    (comp.arch.embedded)
  • Re: Interrupt driven UART
    ... think I can implement the fifo with a fixed array size of n, ... and tail index rather than pointer. ... when the buffer is non-empty and when the buffer is full. ... I'm wondering how the retransmission will occur. ...
    (comp.arch.embedded)
  • Re: Interrupt driven UART
    ... think I can implement the fifo with a fixed array size of n, ... and the receivebyte function will simply wait for the rx ready ... when the buffer is non-empty and when the buffer is full. ... I'm wondering how the retransmission will occur. ...
    (comp.arch.embedded)
  • Re: Interrupt driven UART
    ... think I can implement the fifo with a fixed array size of n, ... and the receivebyte function will simply wait for the rx ready ... when the buffer is non-empty and when the buffer is full. ... I'm wondering how the retransmission will occur. ...
    (comp.arch.embedded)
  • Re: Interrupt driven UART
    ... think I can implement the fifo with a fixed array size of n, ... The rx isr ... when the buffer is non-empty and when the buffer is full. ... I'm wondering how the retransmission will occur. ...
    (comp.arch.embedded)

Loading