[sci.electronics] Decoding of CD player "digital out"

dave@onfcanim.UUCP (08/16/87)

I'm looking for information on how to extract the data from the
signal that is fed to the "digital output" jack of my Philips (Magnavox)
CDB 650 CD player.

Looking at the signal on an oscilloscope, it appears to consist of a framing
pulse, and then a block of bits transmitted using a simple modulation
technique.  I want to know:

  1) how to build a circuit that will find the framing signal and then
     demodulate the data into an N-bit parallel word plus strobe ready
     to be connected to a computer parallel interface

  2) how to interpret the various bits that I get from this.  Most of them,
     of course, are audio data, but there should also be an "uncorrected
     error" flag, and maybe subcode information.

  3) how to build a simple FIFO buffer to sit between the decoder
     circuitry and the "host" computer, since the computer
     will accept data in bursts.

The idea is to obtain high-quality digital audio to experiment with
(e.g. using the Fourier transform to look at the frequency spectrum)
without the cost of analog-to-digital conversion hardware.

I'd appreciate pointers to code standards, circuitry, or anything else
that seems relevant.

	Dave Martindale
	{watmath,musocs,micomvax}!onfcanim!dave

czei@osupyr.UUCP (Michael S Czeiszperger) (08/18/87)

In article <15368@onfcanim.UUCP> dave@onfcanim.UUCP (Dave Martindale) writes:
>I'm looking for information on how to extract the data from the
>signal that is fed to the "digital output" jack of my Philips (Magnavox)
>CDB 650 CD player.
>
>Looking at the signal on an oscilloscope, it appears to consist of a framing
>pulse, and then a block of bits transmitted using a simple modulation
>technique.  I want to know:
>
>I'd appreciate pointers to code standards, circuitry, or anything else
>that seems relevant.
>
Try looking up the AES/EBU digital audio standard.  Your CD player probably
is using that format, and it can be found at your closest Audio Engineering
Society reference source.


Michael S. Czeiszperger           | Disclaimer: "Sorry, I'm all out of pith" 
Sound Synthesis Studios           | Snail: Room 406 Baker     Phone: (614)
College of the Arts Computer Lab  |        1971 Neil Avenue            292-
The Ohio State University         |        Columbus, OH 43210           0895
UUCP : {decvax,ucbvax}!cbosgd!osupyr!czei

henkp@nikhefk.UUCP (Henk Peek) (08/23/87)

In article <15368@onfcanim.UUCP> dave@onfcanim.UUCP (Dave Martindale) writes:
|I'm looking for information on how to extract the data from the
|signal that is fed to the "digital output" jack of my Philips (Magnavox)
|CDB 650 CD player.
|
|Looking at the signal on an oscilloscope, it appears to consist of a framing
|pulse, and then a block of bits transmitted using a simple modulation
|technique.  I want to know:
|
|  2) how to interpret the various bits that I get from this.  Most of them,
|     of course, are audio data, but there should also be an "uncorrected
|     error" flag, and maybe subcode information.

The digital audio output consists of 32 bit words transmitted in
biphase-mark code. That is, two transitions for a logic 1 and one
transition for a logic 0. The 32 bits words are transmtted in blocks
of 384 words.
Composition of the 32 bit digital audio word.

bit number	description	information
1 to 4		sync
5 to 8		auxiliary	not used (always zero)
9 to 28		audio sample	bits 9 to 12 not used (always zero)
				bit 13 (LSB) to bit 20 (MSB)
				two's complement audio
29		audio valid	copy of the error flag
30		user data	used for subcode data
31		channel status	indication of control bits and catagory code
32		parity bit	even parity for all word bits excluding
				the sync pattern

The sync word is formed by violation pf the biphase rule and therefore
does not contain any data. Its length is equivalent to 4 data bits.
There are 3 different sync patterns:

Sync B; start of a block of 384 words, contains left sample (11101000)
Sync M; word contains left sample, but is not a start (11100010)
Sync W; word contains right sample (11100100)

The left and the right samples are transmitted alternately.

The channel status is the same for both left and right words.
Therefore a block of 384 words contains 192 channel status bits.

bit number	description	subcode provided	no subcode provided
1 to 4		control		copy of Q channel	bits 1 and 2 zero
							bit 3 image of SCAB
							bit 4 image of SDAB
5 to 8		reserved	always zero		always zero
9 to 16		category code	CD category		general category
				bit 9 logic 1
17 to 192			always zero		always zero

When there is no subcode the channel status wil switch over to
general format. No subcode is identified by the subcode detector
detector when SCAB is a continuous high or low.

The subcode is transmitted via the user bit and asynchronous with
the block rate.
|
|The idea is to obtain high-quality digital audio to experiment with
|(e.g. using the Fourier transform to look at the frequency spectrum)
|without the cost of analog-to-digital conversion hardware.
|	Dave Martindale
|	{watmath,musocs,micomvax}!onfcanim!dave

henk peek ..!seismo!mcvax!nikhefk!henkp.UUCP