Renesas R5S72640 Doll User Manual


  Open as PDF
of 2152
 
Section 23 CD-ROM Decoder
R01UH0134EJ0400 Rev. 4.00 Page 1257 of 2108
Sep 24, 2014
SH7262 Group, SH7264 Group
23.6.3 Link Blocks
The CD-ROM decoder uses the header information before ECC correction to detect link blocks.
Accordingly, an input data stream that contains an error may be erroneously detected as a link
block. To prevent this, the following measures should be implemented in software.
During buffering (BUF_ACT = 1 in the CBUFST0 register), check the LINK_OUT1 bit in the
CROMST5 register on each ISEC interrupt. If it is set to 1, check to see if an IERR interrupt
has also occurred; if an IERR interrupt has not occurred, save the MFS values from the
HEAD20 to HEAD23 registers. If an IERR interrupt has occurred, do not save the MSF
values.
Perform the following processing for seven sectors (indicated by ISEC being generated seven
times) after finding that the LINK_OUT1 bit has been set to 1.
In either of cases 1 and 2 below,
1. LINK_ON = 1 (in the CROMST5 register) is confirmed at each ISEC interrupt, and
LINK_ON = 1 is detected again within the subsequent two-sector period
2. LINK_ON = 1 was not detected at any ISEC interrupt
Forcibly stop decoding, set the CROMSY0 register to place the decoder in external sync mode,
and retry decoding by specifying the MSF value stored above + 7 as the MSF value for the
target sector. The start sector address will be the address where RUN_OUT is stored + 7.
23.6.4 Stopping and Resuming CD-DSP Operation
When stopping and resuming the stream data input to the CD-ROM decoder, note that the input
data stream does not stop immediately before a sync code and that the CD-ROM decoder may
recognize the data as incorrect when the input stream is resumed. This happens because the system
holds a combination of the data up to the point where input was stopped and data that is input from
the point of resumption. Take care on this point when stopping and resuming input.
23.6.5 Note on Clearing the IREADY Flag
To clear the IREADY flag to 0 in interrupt processing etc., be sure to read one sector of data (2768
bytes) beforehand. If the IREADY flag is cleared to 0 before reading of one sector of data is
complete, decoding of the subsequent sectors will not be possible. For recovery from this
situation, write 1 to the LOGICRST bit in the CD-ROM decoder reset control register
(ROMDECRST), and then clear the bit to 0.