
SAF784X_2
NXP B.V. 2008. All rights reserved.
Product data sheet
Rev. 02 — 9 May 2008
38 of 93
NXP Semiconductors
SAF784x
One chip CD audio device with integrated MP3/WMA decoder
Master (Flow Control) mode: selected when using a gated bit clock (bclk) at the I
2
S
interface, see
Section 6.5.9.9 on page 43
for more information. When a frame is
available in the FIFO, it is output via the I
2
S interface. When FIFO underflow is
imminent, the decoder gates the output interface by disabling bclk.
Slave (audio) mode: the bclk is continuously clocked in this mode. The application is
responsible for matching the input rate (EFM bit rate from the disc) to the selected
output rate (I
2
S bclk speed), keeping FIFO filling between 118 and 128 frames. This is
done by regulating the disc speed. See
Section 6.5.10
for more details.
The FIFO only stores data, not subcode. This means that the data will be delayed as it
comes from the demodulator, but the subcode is sent directly over the I
2
S interface. The
difference in delay between subcode and data is always fixed. It is absolutely fixed in
Master mode, but can have small local variations in Slave mode.
6.5.7.3
Safe and unsafe correction modes
The CD CIRC decoding standard uses a Reed-Solomon (RS) error correction scheme.
Reed-Solomon error correction has a very small chance of miscorrection, where a
corrupted code word is modified into a valid but wrong code word. This results in the code
word, after correction, being a valid existing RS code word but not the word that used to
be present at this location before corruption. The chance of miscorrections increases
exponentially for every extra byte that needs to be corrected in a code word, and is
greatest when performing the maximum number of corrections possible with a certain RS
correction scheme.
Miscorrections should be avoided, since they result in corrupted data being sent to the
back end, without their corresponding invalid flag being set. This is a problem for CD
audio, as unflagged wrong data will not get interpolated, which can result in audible clicks.
Both C1 and C2 correction logic can be programmed to operate in a ‘unsafe’ or ‘safe’
mode via register ErcoControl. In unsafe mode, the maximum number of corrections will
always be done (if required). In Safe mode, corrections will not be done when they are
considered too ‘unsafe’, which means there is a realistic chance that they could lead to a
miscorrection.
For C1, unsafe mode allows two bytes per code word to be corrected, Safe mode allows
only one byte per code word. For C2, both modes will allow up to four erasures per code
word to be corrected. When there are more than four erasures, and therefore ERCO
switches back to error correction, unsafe mode allows two bytes to be corrected, Safe
mode allows only one.
Remark:
From experiments and theory it is advised to use C1 unsafe and C2 safe for CD
audio as a good trade-off between safety and maximum error correction capability. For
CD-ROM, use C1 unsafe and C2 unsafe if there is at least a C3 error correction and if the
flywheels in the CD-ROM block decoder are robust against possible invalid, but not
flagged, headers.
6.5.8
Error corrector statistics
6.5.8.1
CFLG
The error corrector outputs status information on pin CFLG. The format of this information
is serial and similar to the Meas1 signal on pin CL1.