![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
description the cxd1812q/r is a cd-rom decoder lsi with a built-in atapi i/f. features compatible with cd-rom, cd-i and cd-rom xa formats real time error correction automatic multi-block transfer function readable subcode-q data by byte from the sub cpu capable of transferring up to double speed playback and mode2 when the 33.8688 mhz clock is used transfer in mode3 is possible when the decoder is off (the transfer speed depends on playback speed and clock frequency.) supports pio/single-word dma/multiword dma data transfer mode iordy support available automatic reception of packet commands absolute maximum ratings (ta = 25?) supply voltage v dd ?.5 to +7.0 v input voltage v i ?.5 to v dd +0.5 v output voltage v o ?.5 to v dd +0.5 v operating temperature topr ?0 to +75 ? storage temperature tstg ?5 to +150 ? recommended operating conditions supply voltage v dd 4.5 to 5.5 (+5.0 typ.) v operating temperature topr ?0 to +75 ? applications cd-rom drives structure silicon gate cmos ic ?1 cxd1812q/r e95233-st atapi i/f cd-rom decoder sony reserves the right to change products and specifications without prior notice. this information does not convey any license by any implication or otherwise under any patents or other right. application circuits shown, if any, are typical examples illustrating the operation of the devices. sony cannot assume responsibility for any problems arising out of the use of these circuits. 100 pin lqfp (plastic) 100 pin qfp (plastic) cxd1812q cxd1812r
?2 cxd1812q/r block diagram -1 cxd1812q (qfp) 1 2 5 96 97 98 99 10 0 4 15 22 29 34 40 47 54 65 73 79 84 90 gnd c2po bclk mdat lrck exck sbin scor wfck cd?sp i/f 93 92 91 94 clock generator 6 7 8 9 17 to 21, 23 to 25 10 to 14, 16 subcpu i/f xtl2 xtl1 hclk mclk xcs xrd xwr xint d0 to 7 a0 to 5 66 67 63 68 61 62 64 52 59 89 57 58 60 55 56 69 to 72 74 to 77 80 to 83 85 to 88 hrst xpdi dasp redy xs16 hint hdrq xhac xhwr xhrd ha0 to 2 hcs0, 1 hdb0 to f host i/f 12 bytes packet fifo atapi registers dma fifo 95 3, 28, 53, 78 43 to 46, 48 to 51 42 41 39 26, 27, 30 to 33, 35 to 38 xrst mdb0 to 7 v dd ma0 to 9 xmwr xcas xras address gen dma sequencer priority resolver descrambler sync control main data error corection subcode s/p ?3 cxd1812q/r block diagram -2 cxd1812r (lqfp) 96 97 98 99 10 0 2 13 20 27 32 38 45 52 63 71 77 82 88 gnd c2po bclk mdat lrck exck sbin scor wfck cd?sp i/f 92 91 clock generator 6 7 15 to 19, 21 to 23 8 to 12, 14 subcpu i/f xtl2 xtl1 hclk mclk xcs xrd xwr xint d0 to 7 a0 to 5 66 61 64 55 56 58 53 54 67 to 70 72 to 75 78 to 81 83 to 86 hrst xpdi dasp redy xs16 hint hdrq xhac xhwr xhrd ha0 to 2 hcs0, 1 hdb0 to f host i/f 12 bytes packet fifo atapi registers dma fifo 1, 26, 51, 76 41 to 44, 46 to 49 39 24, 25, 28 to 31, 33 to 36 xrst mdb0 to 7 v dd ma0 to 9 xmwr xcas xras address gen dma sequencer priority resolver descrambler sync control main data error corection subcode s/p 3 94 95 90 89 4 5 65 60 59 62 50 57 87 93 37 40 ?4 cxd1812q/r pin description pin no. qfp symbol lqfp i/o description 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 bclk mdat v dd gnd lrck xint xcs xwr xrd a5 a4 a3 a2 a1 gnd a0 d7 d6 d5 d4 d3 gnd d2 d1 d0 ma0 ma1 v dd gnd ma2 ma3 ma4 ma5 gnd ma6 ma7 99 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 i i i o i i i i i i i i i i/o i/o i/o i/o i/o i/o i/o i/o o o o o o o o o bit clock signal from cd dsp data signal from cd dsp power supply ground lr clock signal from cd dsp interrupt request signal to cpu chip select negative logic signal from cpu strobe negative logic signal for writing data from cpu strobe negative logic signal for reading data from cpu cpu address (msb) cpu address cpu address cpu address cpu address ground cpu address (lsb) cpu data bus (msb) cpu data bus cpu data bus cpu data bus cpu data bus ground cpu data bus cpu data bus cpu data bus (lsb) dram address (lsb) dram address power supply ground dram address dram address dram address dram address ground dram address dram address ?5 cxd1812q/r pin no. qfp symbol lqfp i/o description 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ma8 ma9 xras gnd xcas xmwr mdb0 mdb1 mdb2 mdb3 gnd mdb4 mdb5 mdb6 mdb7 dasp v dd gnd hcs1 hcs0 ha2 ha0 xpdi ha1 xs16 hint xhac redy gnd xhrd xhwr hdrq hdbf hdb0 hdbe hdb1 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 o o o o o i/o i/o i/o i/o i/o i/o i/o i/o i/o i i i i i/o i o o i o i i o i/o i/o i/o i/o dram address dram address (msb) dram row address strobe negative logic signal ground dram column address strobe negative logic signal dram write enable negative logic signal dram data bus (lsb) dram data bus dram data bus dram data bus ground dram data bus dram data bus dram data bus dram data bus (msb) drive active/slave present negative logic signal; open drain output power supply ground chip select negative logic signal from host chip select negative logic signal from host host address (msb) host address (lsb) passed diagnostics negative logic signal; open drain output host address 16-bit i/o port select negative logic signal; open drain output interrupt request positive logic signal to host dma acknowledge negative logic signal from host i/o channel ready positive logic signal; open drain output ground strobe negative logic signal for reading data from host strobe negative logic signal for writing data from host dma request positive logic signal to host host data bus (msb) host data bus (lsb) host data bus host data bus ?6 cxd1812q/r pin no. qfp symbol lqfp i/o description 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 gnd hdbd hdb2 hdbc hdb3 v dd gnd hdbb hdb4 hdba hdb5 gnd hdb9 hdb6 hdb8 hdb7 hrst gnd xtl2 xtl1 mclk hclk xrst exck sbin scor wfck c2po 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i/o i o i o o i o i i i i ground host data bus host data bus host data bus host data bus power supply ground host data bus host data bus host data bus host data bus ground host data bus host data bus host data bus host data bus chip reset negative logic signal from host ground crystal oscillation circuit output crystal oscillation circuit input master clock (xtl1) output clock output with 1/2 the frequency of xtl1 chip reset negative logic signal subcode data read clock signal to cd dsp subcode data serial input signal from cd dsp subcode sync positive logic signal from cd dsp write frame clock signal from cd dsp c2 pointer positive logic signal from cd dsp ?7 cxd1812q/r electrical characteristics 1. dc characteristics (v dd = 5v 10%, v ss = 0v, topr = ?0 to +75?) item symbol conditions min. typ. max. unit high level input voltage (1) low level input voltage (1) high level input voltage (2) low level input voltage (2) high level input voltage (3) low level input voltage (3) ttl schmitt hysteresis high level input voltage (4) low level input voltage (4) cmos schmitt hysteresis high level output voltage (6) low level output voltage (6) high level output voltage (7) low level output voltage (7) high level output voltage (8) low level output voltage (8) input leakage current input leakage current * 1 input current of pull-up input input current of pull-up input * 1 output leakage current (9) (10) oscillation cell logic threshold value oscillation cell high level input voltage oscillation cell low level input voltage oscillation cell feedback resistance oscillation cell high level output voltage oscillation cell low level output voltage v ih1 v il1 v ih2 v il2 vt 1+ vt 1 vt 1+ ?vt 1 vt 2+ vt 2 vt 2+ ?vt 2 v oh1 v ol1 v oh2 v ol2 v oh3 v ol3 i il1 i il2 i il3 i il4 i iz lvth v ih v il r fb v oh v ol i oh1 = ?ma i ol1 = 4ma i oh2 = ?ma i ol2 = 12ma i oh3 = ?ma i ol3 = 4ma v in = 0v v in = 0v high-impedance state v in = v ss or v dd i oh = ?2ma i ol = 12ma 2.2 0.7v dd 2.2 0.8v dd v dd ?0.8 v dd ?0.8 v dd ?0.8 ?0 ?0 ?0 ?0 ?0 0.7v dd 250k 0.5v dd 0.4 0.6 ?00 ?00 0.5v dd 1m 0.8 0.3v dd 0.8 0.2v dd 0.4 0.4 0.4 10 40 ?40 ?40 40 0.3v dd 2.5m 0.5v dd v v v v v v v v v v v v v v v v ? ? ? ? ? v v v v v * 1 bidirectional pin ?8 cxd1812q/r 1-1. categories of input pins (1) ttl input level pin: d0 to d7, mdb0 to mdb7, hdb0 to hdbf, dasp, xpdi (2) cmos input level pin: mdat, lrck, sbin, scor, wfck, c2po (3) ttl schmitt input level pin: xcs, xwr, xrd, a0 to a5, ha0 to ha2, xhac, xhrd, xhwr, hcs0 to hcs1, hrst (4) cmos schmitt input level pin: bclk, xrst (5) input pin with pull-up resistor: d0 to d7, mdb0 to mdb7, hcs0 to hcs1, hrst 1-2. categories of output pins (6) normal output pin: d0 to d7, mdb0 to mdb7, xint, ma0 to ma9, xmwr, mclk, hclk, exck (7) powered output pin: hint, hdrq, hdb0 to hdbf, dasp, xpdi, xs16, redy (8) proportional output pin: xras, xcas (9) tristate output pin: xint, hint, hdrq (10) open drain output pin: dasp, xpdi, xs16, redy 1-3. bidirectional pins d0 to d7, mdb0 to mdb7, hdb0 to hdbf, dasp, xpdi 1-4. oscillation cell input: xtl1 output: xtl2 1-5. i/o capacitance (v dd = v i = 0v, f = 1mhz) item symbol min. typ. max. unit input capacitance output capacitance i/o capacitance c in c out c i/o 9 11 11 pf pf pf ?9 cxd1812q/r 2. ac characteristics (v dd = 5v 10%, v ss = 0v, topr = ?0 to +75?, output load = 50pf) 2-1. cpu interface (1) read tdf trdw tah tas tdd a0 to a5 xcs xrd d0 to d7 tdh twwr tah tas a0 to a5 xcs xwr d0 to d7 tds (2) write item symbol min. typ. max. unit address setup time (for xcs & xrd/xwr ) address hold time (for xcs & xrd/xwr - ) xrd pulse width data delay time (for xcs & xrd ) data float time (for xcs & xrd - ) xwr pulse width address setup time (for xcs & xwr - ) address hold time (for xcs & xwr - ) tas tah trdw tdd tdf twwr tds tdh 0 0 43 1 21 7 0 43 ns ns ns ns ns ns ns ns ?10 cxd1812q/r 2-2. dram interface (1) read aa aa aaa aaa aaa aaa aa aa aaa aaa aaaa aaaa row col row col tras trp trcd tcas tpc tasc tasr trah tcah tids tidh high xras xcas ma0 to ma9 xmwr mdb0 to 7 col aa aa aa aa aaa aaa aa aa aaaa aaaa aaaa aaaa row col row tras trp trcd tcas tpc tasr trah tdos tdof xras xcas ma0 to ma9 xmwr mdb0 to 7 aa aaa a col tasc tcah col (2) write item symbol min. typ. max. unit ras pulse width ras precharge width ras ?cas delay time cas pulse width page mode cycle time row address setup time (for ras ) row address hold time (for ras ) column address setup time (for cas ) column address hold time (for cas ) input data setup time (for cas - ) input data hold time (for cas - ) data output setup time (for cas ) data output float time (for cas ) tras trp trcd tcas tpc tasr trah tasc tcah tids tidh tdos tdof 3tw tw ?7 tw tw ?14 tw + 2 7 0 0 tw + 3 2tw 2tw tw 2tw ns ns ns ns ns ns ns ns ns ns ns ns ns (tw = 1/f) ?11 cxd1812q/r 2-3. host interface (1) pio txsl tas trww tah tas trww tah tds tdh tdf tdd trel trel hcs0, 1 ha0 to 2 xs16 xhrd xhwr hdb0 to f redy item symbol min. typ. max. unit address setup time (for xhrd/xhwr ) address hold time (for xhrd/xhwr - ) xhrd/xhwr pulse width data delay time (for xhrd ) data float time (for xhrd - ) data setup time (for xhwr - ) data hold time (for xhwr - ) xs16 fall time (for address valid) redy fall time (for xhrd/xhwr ) tas tah trww tdd tdf tds tdh txsl trel 20 5 50 5 20 5 26 21 8 14 ns ns ns ns ns ns ns ns ns ?12 cxd1812q/r (2) single-word dma trql tacs trww tach tdf tdh tds tdd hdrq xhac xhrd/ xhwr hdb0 to f (read) hdb0 to f (write) (3) multiword dma trql tach trww thpw trww tacs tdd tdf tdd tdf tds tdh tdh tds hdrq xhac xhrd/ xhwr hdb0 to f (read) hdb0 to f (write) item symbol min. typ. max. unit hdrq fall time (for xhac/xhrd/xhwr ) xhrd/xhwr low pulse width data delay time (for xhrd ) data float time (for xhrd - ) data setup time (for xhwr - ) data hold time (for xhwr - ) xhac setup time (for xhrd/xhwr ) xhac hold time (for xhrd/xhwr - ) xhrd/xhwr high pulse width trql trww tdd tdf tds tdh tacs tach thpw 50 5 20 5 0 0 25 tw +11 26 19 ns ns ns ns ns ns ns ns ns (tw = 1/f) ?13 cxd1812q/r 2-4. cd dsp interface (1) bckred = "h" tbck tbck tsb1 thb1 tsb2 thb2 bclk mdat lrck c2po tbck tbck tsb1 thb1 tsb2 thb2 bclk mdat lrck c2po (2) bckred = "l" item symbol min. typ. max. unit bclk frequency bclk pulse width mdat setup time (for bclk) mdat hold time (for bclk) lrck, c2po setup time (for bclk) lrck, c2po hold time (for bclk) fbck tbck tsb1 thb1 tsb2 thb2 25 12 12 12 12 20 mhz ns ns ns ns ns ?14 cxd1812q/r twed teck teck tds tdh sf97 sf0 sf1 sf2 sf3 wfck scor sbin exck sbin exck subcode frame 2-5. subcode interface item symbol min. typ. max. unit wfck ?exck delay time exck pulse width sbin setup time (for exck - ) sbin hold time (for exck - ) twed teck tds tdh 2atw 1/2atw ?2 12 12 3atw ns ns ns ns (tw = 1/f) a = 48: when excksl (config0 register bit 3) = high a = 32: when excksl (config0 register bit 3) = low ?15 cxd1812q/r tw twhx twlx vihx v dd /2 vilx 2-6. xtl1 and xtl2 pins (1) when using self-excited oscillation item symbol min. typ. max. unit oscillation frequency f 33.8688 40 mhz item symbol min. typ. max. unit high level pulse width low level pulse width pulse cycle twhx twlx tw 10 10 29 ns ns ns (2) when inputting a pulse to the xtl1 pin ?16 cxd1812q/r description of functions 1. pin description the pin description by function is given below. 1-1. cd player interface (8 pins) this enables direct connection with the sony's digital signal processor lsi for cd players. digital signal processor lsi for cd applications are hereafter called "cd dsp." (1) mdat (medium data: input) serial data stream from cd dsp. (2) bclk (bit clock: input) bit clock signal; mdat signal strobe. (3) lrck (lr clock: input) lr clock signal; indicates left and right channels of mdat signals. (4) c2po (c2 pointer: input) c2 pointer signal; indicates that an error is contained in mdat input. (5) wfck (write frame clock: input) write frame clock input signal. (6) scor (subcode sync or: input) subcode sync signal. (7) sbin (subcode serial input: input) subcode serial signal. (8) exck (external clock: output) clock output for reading sbin signals. 1-2. buffer memory interface (21 pins) this can be connected with up to a 512k-byte dram (4m bits). (1) xmwr (dram write enable: output) dram write enable negative logic output signal. (2) xcas (column address strobe: output) negative logic output signal to indicate that column addresses are valid. (3) xras (row address strobe: output) negative logic output signal to indicate that row addresses are valid. (4) ma0 to ma9 (dram address: output) dram address output. (5) mdb0 to mdb7 (dram data bus: input/output) dram data bus signal; pulled up by a standard 25k resistor. 1-3. sub cpu interface (18 pins) (1) xwr (sub cpu write: input) strobe negative logic signal for writing internal registers. (2) xrd (sub cpu read: input) strobe negative logic signal for reading internal registers status. (3) d0 to d7 (sub cpu data bus: input/output) 8-bit data bus; pulled up by a standard 25k resistor. (4) a0 to a5 (sub cpu address: input) address signal for selecting internal registers from sub cpu. (5) xint (sub cpu interrupt: output) interrupt request signal to sub cpu. polarity can be controlled by sub cpu. (6) xcs (chip select: input) chip select negative logic signal from sub cpu. ?17 cxd1812q/r 1-4. host interface (31 pins) (1) hcs0 (host chip select: input) chip select negative logic signal from host; pulled up by a standard 50k resistor. this is connected with the cs1fx pin of atapi i/f. (2) hcs1 (host chip select: input) chip select negative logic signal from host; pulled up by a standard 50k resistor. this is connected with the cs3fx pin of atapi i/f. (3) ha0 to ha2 (host address: input) address signal for selecting internal registers from host. (4) dasp (drive active/slave present: input/output) negative logic signal to indicate that slave drive is present or drive is active; open drain signal. (5) hdb0 to hdbf (host data bus: input/output) 16-bit host data bus signal. (6) xhrd (host read: input) data read strobe negative logic signal from host. (7) xhwr (host write: input) data write strobe negative logic signal from host. (8) xhac (host dma acknowledge: input) dma data request acknowledge negative logic signal from host. (9) hdrq (host dma request: output) dma data request positive logic signal to host; tristate output. (10) hint (host interrupt: output) interrupt request positive logic signal to host; tristate output. (11) xs16 (16-bit data transfer: output) negative logic signal to indicate that the 16-bit data port has been selected; open drain signal. this is connected with the iocs16 pin of atapi i/f. (12) redy (i/o channel ready: output) positive logic signal to be negated when the drive is not ready to respond to a data transfer reguest; open drain signal. this is connected with the iordy pin of atapi i/f. (13) xpdi (passed diagnostics: input/output) negative logic signal that indicates diagnostics of the slave drive has been completed; open drain signal. this is connected with the pdiag pin of atapi i/f. (14) hrst (host reset: input) reset negative logic signal from host; pulled up by a standard 50k resistor. 1-5. others (5 pins) (1) xrst (reset: input) chip reset negative logic input signal. (2) xtl1 (crystal 1: input) (3) xtl2 (crystal 2: output) a crystal oscillator is connected between xtl1 and xtl2. (the capacitor value depends on the crystal oscillator.) (4) mclk (clock: output) outputs a clock signal of the same frequency as that of xtl1. the output can be set at low when this clock signal is not used. (5) hclk (half clock: output) outputs a clock signal with 1/2 the frequency of xtl1. the output can be set at low when this signal is not used. 1-6. power supply (17 pins) v dd : 4 pins, gnd: 13 pins. ?18 cxd1812q/r 2. sub cpu write registers normally set at low for reserved registers and bits. 2-1. config0 (configuration 0) register (address 00 hex ) bit 7: cintpol (sub cpu interrupt polarity) high: the xint pin becomes high-active. when the register is inactive, the low state is established. low: the xint pin becomes low-active. when the register is inactive, high impedance is established. bit 6: m/s sel (master/slave select) this bit is valid only when m/s en (bit 5) is high. high: set this bit high when a slave drive is used. low: set this bit low when a master drive is used. bit 5: m/s en (master/slave mode enable) set this bit as follows according to the number of drives connected to atapi i/f. high: set this bit high when two drives are connected to atapi i/f. one is used as the master drive and the other is the slave drive. low: set this bit low when only one drive is connected to atapi i/f. bit 4: reserved bit 3: excksl (exck select) the frequency of exck clock signal for picking up subcodes from cd dsp is determined by this bit. the sub cpu sets this register according to the clock frequency and the playback speed of the xtl1 pin. (max. frequency of exck clock signal is 1mhz.) high: the exck frequency is 1/48 the frequency of xtl1. when the frequency of the xtl1 pin is more than 32mhz, this bit is set high. low: the exck frequency is determined to be 1/32 the frequency of xtl1. when the frequency of the xtl1 pin is not more than 32mhz, this bit is set low. bit 2: dismclk (disable mclk output) high: the mclk pin is fixed at low. low: the clock signal of the same frequency as that of the xtl1 pin is output from the mclk pin. bit 1: dishclk (disable hclk output) high: hclk pin is fixed at low. low: the frequency divider clock signal of half the frequency of xtl1 pin is output from hclk pin. bit 0: ramsize (ram size) high: when a 4m-bit dram is connected, set this bit high. low: when a dram of up to 2m bits is connected, set this bit low. 2-2. config1 (configuration 1) register (address 01 hex ) bit 7: swopen (sync window open) high: a window for sync mark detection is opened. in this case, the internal sync protection circuit is disabled. low: a window for sync mark detection is controlled by the internal sync protection circuit. bit 6 to 4: sycngc2 to 0 (sync ng count 2 to 0) set "010" for these bits. bit 3: reserved ?19 cxd1812q/r bit 2, 1: rfrsctl1, 0 (refresh control 1, 0) the refresh interval of the dram can be controlled by these bits. set these bits according to the clock frequency of xtl1. the refresh interval is designed as 512 cycle/8ms. rfrsctl1 rfrsctl0 "l" "l" "h" "h" "l" "h" "l" "h" xtl1 frequency: less than 24mhz xtl1 frequency: 24mhz or more xtl1 frequency: 32mhz or more xtl1 frequency: 33.8688mhz or more enbytfbt ram size "l" "h" "l" "h" "l" "h" "l" "h" "l" "h" 32kb 64kb 128kb 256kb 512kb lastara hex 0c 0a 19 16 34 2e 69 5e d3 bd bit0 reserved 2-3. lstara (last area) register (address 02 hex ) the last area is assigned by this register. the following table shows the set values of lastara when the buffer memory is fully used. 2-4. lhadr (last hadrc) register (address 03 hex ) assigns the upper limit (upper 8 bits) of hadrc when the automatic transfer mode to the host is disabled, or the upper limit (upper 8 bits) of the address when the row subcode buffering command is executed. the lower 11 bits are assigned to 7ff hex . 2-5. drvif (drive interface) register (address 04 hex ) this register controls the connection mode with the cd dsp. after the ic is reset, the sub cpu sets this register according to the cd dsp to be connected. any change of each bit in this register must be made in the decoder disable status. (after the ic is reset, the address is set 28 hex .) figs. 1-1 and 1-2 are input timing charts for sony's typical cd dsp. ?20 cxd1812q/r 1 2345 6789101112131415161718192021222324 l0 l1 l2 l3 l4 l5 l6 l7 l8 l9 l10 l11 l12 l13 l14 l15 r0 r1 lch lsb lch msb rch lsb c2 pointer for upper byte c2 pointer for lower byte lrck bclk mdat c2po 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132 r15 r14 r13 r12 r11 r10 r9 r8 r7 r6 r5 r4 r3 r2 r1 r0 l14 lch msb rch lsb rch msb c2 pointer for upper byte c2 pointer for lower byte lrck bclk mdat c2po l15 fig. 1-1. cdl40 and 50 series timing chart (48-bit slot mode) fig. 1-2. cdl40 and 50 series timing chart (64-bit slot mode) ?21 cxd1812q/r bit 7: c2pl1st (c2po lower byte first) high: when 2 bytes of mdat are input, c2po inputs the lower byte first followed by the upper byte. low: when 2 bytes of mdat are input, c2po inputs the upper byte first followed by the lower byte. here, "upper byte" means the upper 8 bits including msb from the cd dsp and "lower byte" means the lower 8 bits including lsb from the cd dsp. for example, the header minute byte is the lower byte and the second byte, the upper byte. bit 6: lchlow (lch low) high: when lrck is low, determined to be the left channel data. low: when lrck is high, determined to be the left channel data. bit 5: bckred (bclk rising edge) high: mdat is strobed at the rising edge of bclk. low: mdat is strobed at the falling edge of bclk. bit 4, 3: bckmd1, 0 (bclk mode 1, 0) these bits are set according to the number of clocks output for bclk during one wclk cycle by the cd dsp. bit 2: lsb1st (lsb first) high: connected with the cd dsp which outputs mdat with lsb first. low: connected with the cd dsp which outputs mdat with msb first. bit 1, 0: reserved 2-6. xfrfmt0 (transfer format 0) register (address 05 hex ) the transfer format for automatic data transfer is determined by this register. this ic transfers the buffer memory data to the host according to the mode/form value written by sctinf register (address 1e hex ) into the internal ram by sector and the values of xfrfmt1 and 0 registers. the mode/form of bits 3 to 1 depends on the values of bits 2 and 1 of sctinf register. regarding mode 2 in yellow book, don't care the form2 (bit 2) of sctinf register. set bits 3 to 1 of xfrfmt0 register high to transfer 2336 bytes of user data. bit 7, 6: reserved bit 5: sync high: the sync mark is transferred to the host. low: the sync mark is not transferred to the host. bit 4: header high: the header's 4 bytes are transferred to the host. low: the header's 4 bytes are not transferred to the host. bit 3: subheader high: mode1: this bit has no meaning. mode 2: the sub header's 8 bytes are transferred to the host. low: the bytes above are not transferred to the host. bckmd1 bckmd0 "l" "l" "h" "l" "h" "x" 16bclks/wclk 24bclks/wclk 32bclks/wclk ?22 cxd1812q/r bit 2: userdata (user data) high: mode1 and mode2/form1: user data (2048 bytes) are transferred to the host. mode2/form2: user data (2324 bytes) are transferred to the host. low: the bytes above are not transferred to the host. bit 1: parity high: mode1: the edc, ecc parity and eight 00hex bytes, for a total of 288 bytes, are transferred to the host. mode2/form1: the edc and ecc parity (280 bytes) are transferred to the host. mode2/form2: reserved bytes (4 bytes) (the final ones in the sector concerned) are transferred to the host. low: the bytes above are not transferred to the host. bit 0: reserved regarding cd-da data, set bits 5 to 1 high. 2-7. xfrfmt1 (transfer format 1) register (address 06 hex ) bit 7: enblkefl (enable block error flag) high: block error flag (1 byte + 00 hex ) is transferred to the host. here, block error flag means operating or by bit of the byte error flag. low: the bytes above are not transferred to the host. bit 6: reserved bit 5: enbytfbt (enable byte error flag buffering and transfer) when this bit is set high, the following operations are performed. when this bit is set low, the following operations are not performed. this bit is valid only when the userdata bit (bit 2) of xfrfmt0 register is set high. (1) when write-only, real-time correction, or cd-da command is being executed, byte error flag is buffered. (2) when the automatic transfer mode to the host is enabled (that is, the autoxfr bit of xfrctl register (bit 7) is high), byte error flag is transferred to the host. bit 4: reserved bit 3: ensbcbt (enable subcode buffering and transfer) when this bit is set high, the following operations are performed. when this bit is set low, the following operations are not performed. (1) when cd-da command is being executed, all the subcodes or the subcode-q are buffered. (2) when the automatic transfer mode to the host is enabled (that is, the autoxfr bit of xfrctl register (bit 7) is high), all the subcodes or the subcode-q are transferred to the host. bit 2: allsbc (all subcodes/subcode-q) when ensbcbt is set high, whether all the subcodes or the subcode-q are to be buffered or transferred to the host is determined. high: all the subcodes low: subcode-q bit 1: reserved bit 0: zasubq (zero after sub-q) this bit is valid only when ensbcbt is high and allsbc is low. high: 6-byte 00 hex in addition to the subcode-q are transferred to the host. low: 2-byte crc and 4-byte 00 hex in addition to the subcode-q are transferred to the host. ?23 cxd1812q/r 2-8. decctl0 (decoder control 0) register (address 07 hex ) bit 7: autodist (auto distinction) high: errors are corrected according to the mode byte and the form bit read by the drive. low: errors are corrected according to the modesel and formsel bits (bits 6 and 5). bit 6: modesel (mode select) bit 5: formsel (form select) when autodist is set low, the sector is corrected in the mode or form indicated below. bit 4: reserved bit 3: enfm2edc (enable form 2 edc check) high: edc check for form2 is enabled. low: edc check for form2 is disabled. the edcng bit of decsts0 register is set low. bit 2: mdbytctl (mode byte control) high: even if there are data other than 0 in the upper 6 bits of the header's mode byte, it is not determined to be an error. set this bit high when a cd-da command is executed or the disc such as cd-r is played back. low: if the upper 6 bits of the header's mode byte are not "000000," it is determined to be an error. bit 1: endla (enable drive last area (address)) high: dlar (drive last area)/sladr (subcode last address) is enabled. when buffering of the buffer memory area assigned by dlar is completed while the decoder is executing the write-only, real-time correction, or cd-da command, the drvovrn (drive over run) status is established. when buffering to the address assigned by sladr is completed while the subcode buffering command is being executed, the drvovrn status is established. in the drvovrn status,data writing into the buffer is stopped. low: dlar (drive last area)/sladr (subcode last address) is disabled. bit 0: atdlrnew (auto dlara renewal) high: when the data transfer to host is completed for one sector, dlara is renewed in the written area of the sector. low: renewal of dlara is executed by the sub cpu. modesel formsel "l" "h" "h" "l" "l" "h" mode1 mode2, form1 mode2, form2 ?24 cxd1812q/r 2-9. decctl1 (decoder control 1) register (address 08 hex ) bit 7: ensbqrd (enable subcode-q read) crc of subcode-q is checked by taking in the subcode from dsp. sub cpu can read subcode-q data from the subq register. bit 6: reserved bit 5 to 3: deccmd2 to 0 (decoder commands 2 to 0) bit 2 to 0: reserved 2-10. xfrmod (transfer mode) register (address 09 hex ) bit 7: enhintct (enable auto hint upon start of packet command transfer) high: when packet command transfer starts, there is an interrupt request to the host. low: when the transfer above starts, there is no interrupt request to the host. bit 6: enhintdt (enable auto hint upon start of data transfer) high: when data transfer with the host starts, there is an interrupt request to the host. low: when the transfer above starts, there is no interrupt request to the host. bit 5: enmdma (enable multiword dma) this bit is valid for dma transfer. high: dma transfer is executed in the multiword mode. low: dma transfer is executed in the single-word mode. bit 4: endmabit (enable atapi feature register dma bit) bit 3: piosel (pio transfer mode select) transfer mode is determined as shown below from the combination of these bits and the dma bit (bit 0) of atapi feature register. bit 2: autowait (enable auto wait state) this bit is valid for pio transfer. high: in the cases below, the redy pin is set low and a wait is automatically applied to the host. transfer to host: when the host asserts the xhrd signal while the data fifo is empty. transfer from host: when the host asserts the xhwr signal while the data fifo is full. low: the wait state above does not occur. deccmd2 deccmd1 decoder command "l" "l" "l" "l" "h" "h" "l" "l" "h" "h" "l" "h" deccmd0 "l" "h" "l" "h" "h" "h" decoder disable monitor only write only real-time correction raw subcode buffer cd-da piosel endmabit transfer mode "h" "l" "l" "l" "x" "h" "h" "l" dma "x" "h" "l" "x" pio dma pio dma ?25 cxd1812q/r bit 1, 0: waitcycl1, 0 these bits are valid for pio transfer. if the host asserts xhrd/xhwr during data transfer, the redy pin is set low by the cycle number set with these bits, and a wait is applied. one cycle is xtl1 cycle. 00: wait state does not occur. 01: wait state of 4 to 8 cycles occurs. 10: wait state of 8 to 12 cycles occurs. 11: wait state of 12 to 16 cycles occurs. 2-11. xfrctl0 (transfer control 0) register (address 0a hex ) bit 7: autoxfr (auto transfer) high: the automatic transfer mode to the host described later is enabled. low: the automatic transfer mode to the host above is disabled. transfer to the host is executed by setting hadrc and hxfrc. bit 6 to 4: reserved bit 3: cpudmaen (sub cpu dma enable) the buffer memory access by sub cpu is enabled by setting this bit high. the sub cpu sets this bit high after the head addresses of buffer access have been set on the cadrc. bit 2: cpusrc (sub cpu source) high: data are transferred from sub cpu to buffer memory. low: data are transferred from buffer memory to sub cpu. bit 1 to 0: reserved 2-12. xfrctl1 (transfer control 1) register (address 0b hex ) bit 7: pfifocl (packet fifo clear) when this bit is set high, the packet fifo is cleared. this bit is automatically set low after fifo has been cleared. bit 6: reserved bit 5: autoend (enable auto transfer termination) the following settings are automatically made upon completion of data transfer. high: atapi status register - bit 7/bit 6/bit 3: busy/drdy/drq = low/high/low atapi interrupt reason register - bit 1/bit 0: io/cod = high/high interrupt request signal to host: hint = high low: atapi status register - bit 7/bit 3: busy/drq = high/low interrupt request signal to host: hint = low bit 4: hstxfren (host transfer enable) when this bit is set high, transfer starts between the host and buffer memory. this bit is automatically set low when transfer is completed. the following settings are automatically operated by setting this bit high. atapi status register -bit 3: drq = high atapi status register -bit 7: busy = low (in the pio mode) bit 3, 2: reserved ?26 cxd1812q/r bit 1: io (host transfer direction) to set this bit, the atapi status register -bit 7: busy bit must be high. high: data are transferred from the buffer memory to the host. low: data are transferred from the host to the buffer memory. bit 0: cod (command or data) to set this bit, the atapi status register -bit 7: busy bit must be high. high: indicates that data transferred are command. low: indicates that the data transferred are user data. 2-13. reserved (address 0c hex ) 2-14. chpctl0 (chip control 0) register (address 0d hex ) bit 7: chiprst (chip reset) this ic is reset by setting this bit high. bit 6: tgtmet (target met) (1) if the target sector is found while the write-only or real-time correction command is being executed, the sub cpu sets tgtmet high. (2) tgtmet bit is sampled at the 3/4 sector (variable depending on playback speed) after the decoder interrupt. therefore, if the target sector has been found, the sub cpu must set the tgtmet bit high within this time after decint. (3) once the tgtmet bit is set high, the high state is held until the decoder is disabled. (4) when the sampled tgtmet is low, while write-only or real-time correction is executed, the buffering area of main data or subcode is not renewed. main data are not corrected. bit 5: inctgt (increment target register) when this bit is set high, target registers (tgtmin, tgtsec, tgtblk) are incremented. target registers use the bcd code. tgtmin, tgtsec, and tgtblk are connected in cascading fashion, and are incremented as follows: (1) the tgtblk register value is always incremented by this bit. the address number 0 follows 74. (2) the tgtsec register value is incremented when this bit is high while the tgtblk register value is 74. the address number 0 follows 59. (3) the tgtmin register value is incremented when this bit is high, while the tgtblk register value is 74 and the tgtsec register value 59. the address number 0 follows 99. bit 4: rpcortrg (repeat correction trigger) when this bit is set high with the decoder disabled, error correction for the cd-rom sector starts. the sector to be corrected is assigned by the bfara# register. bit 3 to 0: reserved ?27 cxd1812q/r 2-15. chpctl1 (chip control 1) register (address 0e hex ) bit 7 to 3: reserved bit 2: dasp (dasp pin control) when this bit is set high, the dasp signal is asserted. bit 1: pdiag (xpdi pin control) when this bit is set high, the xpdi signal is asserted. bit 0: clrhint (clear hint) hint is cleared by setting this bit high. this bit is automatically set low when hint has been cleared. 2-16. diskette change/drive address register (address 0f hex ) bit 7: reserved bit 6 to 2: optional values can be set by sub cpu. these values can be read from bits 6 to 2 of the diskette change/drive address register of the host. bit 1 to 0: reserved 2-17. atapi error register (address 10 hex ) this register corresponds to the atapi error register of the host. the sub cpu can set any optional values. bit 7 to 4: sense key bit 3: mcr (media change requested) bit 2: abrt (aborted command) bit 1: eom (end of media detected) bit 0: ili (illegal length indication) 2-18. atapi feature register (address 11 hex ) this register corresponds to the atapi feature register of the host. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. bit 0: dma 2-19. atapi interrupt reason register (address 12 hex ) this register corresponds to the atapi interrupt reason register of the host. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. bit 1: io this bit is equivalent to the xfrctl1 (address 0b hex ) register -bit 1. bit 0: cod this bit is equivalent to the xfrctl1 (address 0b hex ) register -bit 0. 2-20. ata sector number register (address 13 hex ) this register corresponds to the ata sector number register of the host. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. 2-21. atapi byte count high/low register (address 14, 15 hex ) this register corresponds to the atapi byte count high/low register of the host. the number of bytes to be transferred is set. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. ?28 cxd1812q/r 2-22. atapi drive select register (address 16 hex ) this register corresponds to the atapi drive select register of the host. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. bit 4: drv 2-23. ata command register (address 17 hex ) this register corresponds to the ata command register of the host. the sub cpu can set any optional values in this register when the atapi status register -bit 7: busy bit is high. however, the atapi soft reset command (08 hex ) can be set regardless of the value of the busy bit. 2-24. reserved (address 18 hex ) 2-25. atapi status 1 register (address 19 hex ) bit 7, 6: reserved bit 5: drdy1 (drive 1 ready) this bit corresponds to the atapi status register -bit 6: drdy bit of the host. the drdy status of the slave drive is set. bit 4: dsc1 (drive 1 seek complete) this bit corresponds to the atapi status register -bit 4: dsc bit of the host. the dsc status of the slave drive is set. bit 3: hst5 this bit corresponds to the atapi status register -bit 5 of the host. bit 2: hst1 this bit corresponds to the atapi status register -bit 1 of the host. bit 1: drdy0 (drive 0 ready) this bit corresponds to the atapi status register -bit 6: drdy bit of the host. the drdy status of the master drive is set. bit 0: dsc0 (drive 0 seek complete) this bit corresponds to the atapi status register -bit 4: dsc bit of the host. the dsc status of the master drive is set. 2-26. atapi status 2/drive control register (address 1a hex ) bit 7: busy this bit corresponds to the atapi status register -bit 7 of the host. this bit must be set high when the sub cpu accesses the group of command block registers. bit 6: reserved bit 5: corr this bit corresponds to the atapi status register -bit 2 of the host. bit 4: enhint (enable hint) an interrupt to the host can be made by setting this bit high. bit 3 to 1: reserved bit 0: check this bit corresponds to the atapi status register -bit 0 of the host. ?29 cxd1812q/r 2-27. unlock (release lock mode) register (address 1b hex ) the bits 5 to 0 of atapi status 1 register (address 19 hex ), the bits 1 and 0 of xfrctl1 register (address 0b hex ), and atapi interrupt reason register (address 12 hex ) are locked in the cases below, making setting from sub cpu impossible. ?when an atapi packet command (a0 hex ) is detected. ?when data transfer with the host is completed while the xfrctl1 register (address 0b hex ) bit 5: autoend is high. the sub cpu can release the lock mode above by accessing this register. 2-28. cpubwdt (cpu buffer write data) register (address 1c hex ) the sub cpu writes data to be written in the buffer memory into this register. 2-29. reserved (address 1d hex ) 2-30. sctinf (sector information) register (address 1e hex ) the current sector information is written into this register at decint. for automatic transfer of information to the host, make sure this register is set for each decint. the value of this register is written into the internal ram. bit 7 to 3: reserved bit 2: mode2 high: this sector is in mode2. low: this sector is in mode1 or cd-da. bit 1: form2 this bit is valid only when the mode2 bit is high. high: this sector is in form2. low: this sector is in form1. both low and high are available for this bit in the mode2 for yellow book. mode2 form2 "l" "h" "h" "l" "l" "l" "h" "x" mode1 mode2/form1 mode2/form2 cd-da bit 0: reserved 2-31. reserved register (address 1f, 20 hex ) 2-32. tgtmin (target minute) register (address 21 hex ) 0 to 99 2-33. tgtsec (target sector ) register (address 22 hex ) 0 to 59 ?30 cxd1812q/r 2-34. tgtblk (target block) register (address 23 hex ) 0 to 74 when the monitor-only, write-only, or real-time correction command is executed, set the addresses of the target sector in three target registers. this address is compared with the read sector address, and if they do not match, the tgtntmet (target not met) status (decsts0 register: bit 0) is established. 2-35. xfrcnt (transfer block counter) register (address 24 hex ) this 8-bit register indicates the remaining number of blocks to be transferred. the sub cpu sets the total number of blocks to be transferred before transfer starts. this register value is decremented after one block has been transferred. the sub cpu can read the value of xfrcnt at any time. however, take care over 1 error between the read value and actual one, because the reading from sub cpu does not synchronize with variations of xfrcnt. 2-36. bfara# (buffering area number) register (address 25 hex ) the buffer area is indicated by this register when write-only, real-time correction, or cd-da command is executed. the sub cpu, first assigns the area to start buffering before any of these commands is executed. the register value is incremented after one sector is buffered. buffering starts from the address 0 when the subcode buffering command is executed. 2-37. dlara (drive last area) register (address 26 hex ) while the decoder is executing the write-only, real-time correction, or cd-da command, the last area for buffering is assigned by this register. when the endla (bit 1) of the decctl0 register is set high and data from the drive (cd dsp) are written into the area assigned by dlara while the decoder is executing any of the above commands, all subsequent buffering is prohibited. 2-38. xfrara (transfer area) register (address 27 hex ) the first area for starting transfer is assigned in the automatic transfer mode. the register value is incremented after one block is transferred. the sub cpu can read the value of xfrara at any time. however, take care over 1 error between the read value and actual one, because the reading from sub cpu does not synchronize with the variation of xfrara. 2-39. reserved (address 28 hex ) 2-40. hxfrc-h, m, l (host transfer counter - high, middle, low) register (address 29 to 2b hex ) the number of bytes to be transferred is set in the manual transfer mode. (19 bits) 2-41. reserved (address 2c hex ) 2-42. hadrc-h, m, l (host address counter - high, middle, low) register (address 2d to 2f hex ) the head address to start transfer is assigned in the manual transfer mode. 2-43. reserved (address 30 hex ) 2-44. sladr-h, m, l (subcode last address - high, middle, low) register (address 31 to 33 hex ) while the subcode buffering command is being executed, the last address for buffering is set. when the endla (bit 1) of the decctl0 register is set high and data are written into the buffer address assigned by sladr while the decoder is executing the subcode buffering command, all subsequent buffering is prohibited. ?31 cxd1812q/r 2-45. reserved (address 34 hex ) 2-46. cadrc-h, m, l (sub cpu address counter - high, middle, low) register (address 35 to 37 hex ) the addresses are set by this register when the sub cpu accesses the buffer memory. the register value is incremented if the data concerned are read from the buffer memory or are written into it. 2-47. reserved (address 38 to 3b hex ) 2-48. clrint0 (clear interrupt status 0) register (address 3c hex ) when each bit of this register is set high, the corresponding interrupt status is cleared. the bit is automatically set low after its interrupt status has been cleared. therefore, there is no need for the sub cpu to reset to low. bit 7: decint (decoder interrupt) bit 6: dectout (decoder timeout) bit 5: drvovrn (drive overrun) bit 4: subcsync (subcode sync) bit 3, 2: reserved bit 1: softrst (srst detected) bit 0: hardrst (hrst detected) 2-49. clrint1 (clear interrupt status 1) register (address 3d hex ) when each bit of this register is set high, the corresponding interrupt status is cleared. the bit is automatically set low after its interrupt status has been cleared. therefore, there is no need for the sub cpu to reset to low. bit 7: pfifoful (packet fifo full) bit 6: reserved bit 5: rstcmd (reset command) bit 4: stsread (host status read) bit 3: hstcmd (host command) bit 2: piong (pio transfer ng) bit 1: xfrstop (transfer stop) bit 0: blxfrcmp (block transfer complete) 2-50. inten0 (interrupt enable 0) register (address 3e hex ) when each bit of this register is set high, the interrupt request to the sub cpu by the corresponding interrupt status is enabled. (that is, the xint pin becomes active in the interrupt status.) each bit value of this register has no effect on the corresponding interrupt status. bit 7: decint (decoder interrupt) bit 6: dectout (decoder timeout) bit 5: drvovrn (drive overrun) bit 4: subcsync (subcode sync) bit 3, 2: reserved bit 1: softrst (srst detected) bit 0: hardrst (hrst detected) ?32 cxd1812q/r 2-51. inten1 (interrupt enable 1) register (address 3f hex ) when each bit of this register is set high, the interrupt request to the sub cpu by the corresponding interrupt status is enabled. (that is, the xint pin becomes active in the interrupt status.) each bit value of this register has no effect on the corresponding interrupt status. bit 7: pfifoful (packet fifo full) bit 6: reserved bit 5: rstcmd (reset command) bit 4: stsread (host status read) bit 3: hstcmd (host command) bit 2: piong (pio transfer ng) bit 1: xfrstop (transfer stop) bit 0: blxfrcmp (block transfer complete) ?33 cxd1812q/r 3. sub cpu read registers descriptions that are identical with those for the write registers are omitted here. 3-1. drvsts (drive status) register (address 00 hex ) the values set by the sub cpu can be read by this register. bit 7: cintpol (subcpu interrupt polarity) bit 6: m/s sel (master/slave select) bit 5: m/s en (master/slave mode enable) bit 4, 3: reserved bit 2, 1: rfrsctl1, 0 (refresh control1, 0) bit 1: reserved 3-2. rawhdr (raw header) register (address 01 hex ) the header bytes of the sector sent from the cd dsp can be read by this register at decint. 3-3. bfhdr (buffer header) register (address 02 hex ) the header bytes of the current sector can be read when the write-only or real-time correction command is executed, or after repeat correction has been executed. this register is invalid when the decoder is executing the disable or the monitor-only command. 3-4. bfshdr (buffer sub header) register (address 03 hex ) the sub header bytes of the current sector can be read when the write-only or real-time correction command is executed, or after repeat correction has been executed. this register is invalid when the decoder is executing the disable or the monitor-only command. 3-5. rawhdrflg (raw header flag) register (address 04 hex ) indicates the c2po value in the rawhdr register. bit 7: minute bit 6: second bit 5: block bit 4: mode bit 3 to 0: reserved 3-6. bfhdrflg (buffer header flag) (address 05 hex ) indicates the error state of each byte of bfhdr and bfshdr registers. high means an error. bit 7: minute bit 6: second bit 5: block bit 4: mode bit 3: file bit 2: channel bit 1: submode bit 0: data type ?34 cxd1812q/r 3-7. reserved (address 06 hex ) 3-8. decsts0 (decoder status 0) register (address 07 hex ) bit 7: shrtsct (short sector) indicates that the sync mark interval was not more than 2351 bytes. this sector does not remain in the buffer memory. bit 6: nosync indicates that the sync mark was inserted, because one was not detected at the prescribed position. bit 5: corinh (correction inhibit) this is high if the current sector mode and form cannot be determined when the autodist bit of the decctl register is set high. ecc or edc is not executed in this sector. the corinh bit is invalid when autodist is set low. it is high under any of the conditions below when the autodist bit is set high. (1) when there is an error in the mode byte. (2) when the mode byte is a value other than 01 hex or 02 hex . (3) when the mode byte is 02 hex and the c2 pointer is high in the submode byte. bit 4: erinblk (erasure in block) when the decoder is operating in the monitor-only, write-only, or real-time correction mode, this indicates that at least a 1-byte error flag (c2po) has been raised in the data, excluding the sync mark from the current sector cd dsp. when the decoder is operating in the cd-da mode, this indicates that at least a 1-byte error flag (c2po) has been raised in the data from one sector (2352 bytes). bit 3: cordone (correction done) indicates that there is an error-corrected byte in the current sector. bit 2: edcng indicates that an error was found by the edc check in the current sector. bit 1: eccng indicates that there was an uncorrectable error from the header byte to the p parity byte in the current sector. (eccng = don't care in the mode2, form2 sectors.) bit 0: tgtntmet (target not met) indicates that the target addresses in the tgtmnt, tgtsec, and tgtblk registers do not correspond with that of the read sector. 3-9. decsts1 (decoder status 1) register (address 08 hex ) bit 7 to 3: reserved bit 2: edcall0 (edc all 0) this bit is high if there are no errors in the 4-edc parity bytes of the current sector and the value is 00 hex . bit 1: cmode (correction mode) bit 0: cform (correction form) indicates the mode and form the decoder has discriminated to correct errors of the current sector when the decoder is operating in the real-time correction or repeat correction mode. cmode cform "l" "h" "h" "x" "l" "h" mode1 mode2, form1 mode2, form2 ?35 cxd1812q/r 3-10. xfrmod (transfer mode) register (address 09 hex ) the values set by sub cpu can be read by this register. bit 7: enhintct (enable auto hint upon start of packet command transfer) bit 6: enhintdt (enable auto hint upon start of data transfer) bit 5: enmdma (enable multiword dma) bit 4: endmabit (enable atapi feature resister dma bit) bit 3: piosel (pio transfer mode select) bit 2: autowait (enable auto wait state) bit 1, 0: waitcycl1, 0 (wait cycle 1, 0) 3-11. xfrsts0 (data transfer status 0) register (address 0a hex ) bit 7 to 2: reserved bit 1: cbfwrrdy (sub cpu buffer write ready) the sub cpu can write in the cpubwdt register when this bit is high. bit 0: cbfrdrdy (sub cpu buffer read ready) the sub cpu can read the cpubwdt register when this bit is high. 3-12. xfrsts1 (data transfer status 1) register (address 0b hex ) bit 7, 6: reserved bit 5: autoend (enable auto transfer termination) value set by sub cpu can be read. bit 4: reserved bit 3: pfifoful (packet fifo full status) when a 12-byte packet command is written to the packet fifo from the host, this bit is set high. bit 2: pfifoemp (packet fifo empty status) when 12-byte data are read by sub cpu from the packet fifo, this bit is set high. these bits are automatically cleared when an atapi packet command (a0 hex ) or an atapi soft reset command (08 hex ) is issued. bit 1: io (host transfer direction) this bit can be set by both sub cpu and host. in the cases below, the bit is automatically set. high: when the xfrctl1 register (0b hex ) -bit 5: autoend is high and the data transfer has been completed. low: when an atapi packet command (a0 hex ) is issued. bit 0: cod (command or data) this bit can be set by both sub cpu and host. in the cases below, this bit is automatically set. high: when an atapi packet command (a0 hex ) is issued. low: when the xfrctl1 register (0b hex ) -bit 5: autoend is high and the data transfer has been completed. ?36 cxd1812q/r 3-13. reserved (address 0c, 0d hex ) 3-14. chpsts (chip status) register (address 0e hex ) bit 7 to 3: reserved bit 2: dasp bit 1: pdiag the dasp and xpdi pins can be monitored from these bits. positive logic. bit 0: reserved 3-15. rev (revision number) register (address 0f hex ) the revision number of this ic is 83 hex . 3-16. atapi error register (address 10 hex ) this register corresponds to the atapi error register of the host. the values set by sub cpu can be read. bit 7 to 4: sense key bit 3: mcr (media change requested) bit 2: abrt (aborted command) bit 1: eom (end of media detected) bit 0: ili (illegal length indication) 3-17. atapi feature register (address 11 hex ) this register corresponds to the atapi feature register of the host. the values set by sub cpu or host can be read. bit 0: dma 3-18. ata sector count register (address 12 hex ) this register corresponds to the ata sector count/atapi interrupt reason register of the host. the values set by sub cpu or host can be read. 3-19. atapi sector number register (address 13 hex ) this register corresponds to the ata sector number register of the host. the values set by sub cpu or host can be read. 3-20. atapi byte count high/low register (address 14, 15 hex ) this register corresponds to the byte count high/low register of the host. the values set by sub cpu or host can be read. 3-21. atapi drive select register (address 16 hex ) this register corresponds to the atapi drive select register of the host. the values set by sub cpu or host can be read. bit 4: drv 3-22. ata command register (address 17 hex ) this register corresponds to the ata command register of the host. the values set by sub cpu or host can be read. ?37 cxd1812q/r 3-23. atapi packet command register (address 18 hex ) this register is a 12-bytes fifo. the atapi packet command issued from the host can be read by reading this register 12 times. 3-24. atapi status 1 register (address 19 hex ) the values set by sub cpu can be read. bit 7, 6: reserved bit 5: drdy1 (drive1 ready) bit 4: dsc1 (drive1 seek complete) bit 3: hst5 bit 2: hst1 bit 1: drdy0 (drive0 ready) bit 0: dsc0 (drive0 seek complete) 3-25. atapi status 2 register (address 1a hex ) bit 7: busy in the cases below, the bit is set automatically. the bit can also be set directly by the sub cpu. high: when the host writes a command into the atapi command register. high: when the transfer of a 6-words (12-bytes) packet command from the host has been completed. high: when the xfrctl1 register (0b hex ) -bit 5: autoend is low and the data transfer with the host has been completed. high: when various reset signals have been asserted. low: when an atapi packet command (a0 hex ) is issued and the setting of packet command transfer has been completed. low: when the data transfer with the host is activated in the pio mode. low: when the xfrctl1 register (0b hex ) -bit 5: autoend is high and the data transfer with the host has been completed. bit 6: reserved bit 5: corr the values set by sub cpu can be read. bit 4: hint the hint signal can be monitored. in the cases below, this bit is set automatically. ?when the xfrmod register (09 hex ) -bit 7: enhintct is high and the setting of packet command transfer is completed. ?when the xfrmod register (09 hex ) -bit 6: enhintdt is high and the data transfer with the host is activated. ?when the xfrctl1 register (0b hex ) -bit 5: autoend is high and the data transfer with the host is completed. the bit is reset in the cases below. ?when the host has read the atapi status register. ?when the transfer of 12-bytes packet command has been completed before the host reads the atapi status register. ?when the xfrctl1 register (0b hex ) -bit 5: autoend is low and the data transfer with the host has been completed before the host reads the atapi status register. bit 3: hrst the hrst pin can be monitored. bit 2: srst bit 1: xhinen this bit corresponds to the atapi device control register - bit 2, 1 of the host. the values set by the host can be read. bit 0: check the values set by sub cpu can be read. ?38 cxd1812q/r 3-26. csctara (current sector area) (address 1b hex ) indicates the area number being written in the current sector. 3-27. cpubrdt (cpu buffer read data) register (address 1c hex ) the sub cpu reads data from the buffer memory via this register. 3-28. sbcsts (subcode status) register (address 1d hex ) the error status of the subcode written to the buffer while the cd-da command is executed is indicated by this register. the period of validity is from a decint to the next decint. bit 7: sbcovrn (subcode overrun) the sbcovrn status is established when the ensbcbt (bit 3) of the xfrfmt1 register is set high and subcode buffering to the area assigned by dlara is completed while the decoder is executing the cd-da command. establishment of drvovrn and sbcovrn states involves a time difference. bit 6: overflow indicates that the fifo of sbcsts has overflowed with frequent occurrences of the subcode short sync. subcode buffering is stopped by this overflow. subcode has not been buffered in sectors obtained by subsequent interrupts of the decoder. bit 5: bfntval (buffer not valid) indicates that valid data have not been written to the buffer due to the short subcode sector. bit 4: nosync0 indicates that the sync mark was inserted because subcode sync mark was not detected at the prescribed position. bit 3 to 1: reserved bit 0: subqerr0 (subcode-q error 0) indicates that the subcode-q was determined to be an error by the crc check when allsbc is low. 3-29. sbqsts (subcode-q status) register (address 1e hex ) this register indicates the error status of the subcode-q taken from cd dsp. the period of validity is from a sbcsync to the next sbcsync. bit 7 to 3: reserved bit 2: shtsbcs1 (short subcode sector 1) indicates that the subcode sync mark interval after the previous sbcsync interrupt occurred was less than 98wfck. bit 1: nosync1 indicates that the sync mark was inserted because subcode sync mark was not detected at the prescribed position. bit 0: subqerr1 (subcode-q error 1) indicates that the subcode-q was determined to be an error by the crc check. 3-30. sbqdt (subcode-q data) register (address 1f hex ) the subcode-q value can be read by reading this register 10 times. the read subcode-q is data just before the sbcsync interrupt. 3-31. reserved (address 20 hex ) 3-32. tgtmin (target minute) register (address 21 hex ) 3-33. tgtsec (target second) register (address 22 hex ) ?39 cxd1812q/r 3-34. tgtblk (target block) register (address 23 hex ) 3-35. xfrcnt (transfer block counter) register (address 24 hex ) 3-36. bfara# (buffering area number) register (address 25 hex ) 3-37. dlara (drive last area) register (address 26 hex ) 3-38. xfrara (transfer area) register (address 27 hex ) 3-39. reserved (address 28 hex ) 3-40. hxfrc-h, m, l (host transfer counter - high, middle, low) register (address 29 to 2b hex ) 3-41. reserved (address 2c hex ) 3-42. hadrc-h, m, l (host address counter - high, middle, low) register (address 2d to 2f hex ) 3-43. reserved (address 30 hex ) 3-44. sldr-h, m, l (subcode last address - high, middle, low) register (address 31 to 33 hex ) 3-45. reserved (address 34 hex ) 3-46. cadrc-h, m, l (sub cpu address counter - high, middle, low) register (address 35 to 37 hex ) 3-47. reserved (address 38 hex ) 3-48. sadrc-h, m, l (subcode address counter - high, middle, low) register (address 39 to 3b hex ) the buffer address can be read in the subcode buffering command. ?40 cxd1812q/r 3-49. intsts0 (interrupt status 0) register (address 3c hex ) the value of each bit in this register is the value of corresponding interrupt status. these bits are not affected by the values of the inten0 register bits. bit 7: decint (decoder interrupt) this interrupt occurs when the decoder is operating a command. (1) the decint status is established if the header byte is received from cd dsp when the sync mark is detected or inserted while the decoder is executing the write-only, monitor-only, or real- time correction command. however, it is not established if the sync mark interval is less than 2352 bytes when its detection window is open. (2) the decint status is established each time one correction is completed when the decoder is in the repeat correction mode. (3) the decint status is established each time 2352 bytes of data are written while the decoder is executing the cd-da command. (4) the decint status is established when the subcode sync mark is detected or is inserted when the decoder is executing subcode buffering. however, it is not established if the interval from the decint to the next subcode sync mark detected is less than 98wfck. bit 6: dectout (decoder timeout) the dectout status is established when the sync mark is not detected even after the time it takes to search three sectors (40.6ms at normal speed playback) has elapsed after the decoder has been set to the monitor-only, write-only or real-time correction mode. bit 5: drvovrn (drive overrun) the drvovrn status is established when the buffering into the area assigned by dlara is completed while the decoder is executing the write-only, real-time correction or cd-da command. the drvovrn status is also established when the buffering into the address assigned by sladr is completed while the decoder is executing the subcode buffering command. bit 4: subcsync (subcode sync) the subcsync status is established when the subcode sync mark is detected or inserted while taking-in of subcode is enabled. however, it is not established if the interval from the subcsync to the next subcode sync mark detected is less than 98wfck. if the subcsync interrupt is not cleared within 95wfck from the interrupt, the subcsync status is not established when the next subcode sync mark is detected or inserted. in this case, the subcode-q read from the sbqdt register is not renewed. bit 3, 2: reserved bit 1: softrst (srst detected) the softrst status is established when the host asserts the atapi device control register -bit 2: srst. bit 0: hardrst (hrst detected) the hardrst status is established when the host asserts the hrst pin. ?41 cxd1812q/r 3-50. insts1 (interrupt status 1) register (address 3d hex ) the value of each bit in this register is that of the corresponding interrupt status. these bits are not affected by the values of the inten1 register bits. bit 7: pfifoful (packet fifo full) the pfifoful status is established when the transfer of a 6-words (12 bytes) packet command from the host is completed. bit 6: reserved bit 5: rstcmd (reset command) the rstcmd status is established when an atapi soft reset command (08 hex ) is issued from the host. bit 4: stsread (host status read) the stsread status is established when the atapi status register is read by the host after data transfer with the host has been completed. bit 3: hstcmd (host command) the hstcmd status is established when the command is written into the ata command register from the host. bit 2: piong (pio transfer ng) the piong status is established if a read/write operation is executed by the host when the io channel ready signal: redy is low (not ready) during data transfer in the pio mode. bit 1: xfrstop (transfer stop) the xfrstop status is established when all transfers are completed when the automatic transfer mode to the host is enabled. the xfrstop status is also established after transfer to the host is completed by hxfrc when the automatic transfer mode to the host is disabled. bit 0: blxfrcmp (block transfer complete) the blxfrcmp status is established after one block transfer is completed when the automatic transfer mode to the host is enabled. 3-51. inten0 (interrupt enable 0) register (address 3e hex ) the values written to the inten0 register can be read as they are. 3-52. inten1 (interrupt enable 1) register (address 3f hex ) the values written to the inten1 register can be read as they are. ?42 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 config0 config1 lstara lhadr drvif xfrfmt0 xfrfmt1 decctl0 decctl1 xfrmod xfrctl0 xfrctl1 chpctl0 chpctl1 dischg drvadr error featur int reason sector number byte cnt-h byte cnt-l 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 cint pol sw open b7 b7 c2po l1st "l" blke flag auto dist ensb qrd enhi ntct auto xfr pfif o cl "l" chip rst "l" "l" b7 b7 b7 b15 b7 m/s sel "l" b6 b6 lch low "l" "l" mode sel "l" enhi ntdt "l" "l" "l" tgt met "l" b6 b6 b6 b6 b14 b6 m/s en "h" b5 b5 bclk red sync enby tfbt form sel dec cmd2 en mdma "l" auto end "l" inc tgt "l" b5 b5 b5 b5 b13 b5 "l" "l" b4 b4 bclk md1 head er "l" "l" dec cmd1 endm abit "l" hstx fren "l" rpco rtrg "l" b4 b4 b4 b4 b12 b4 exck sel "l" b3 b3 bclk md0 sbhe ader ensb cbt enfm 2edc dec cmd0 pio sel cpud maen "l" "l" "l" "l" b3 mcr b3 b3 b3 b11 b3 dis mclk rfrs ctl1 b2 b2 lsb 1st user data all sbc mdby tctl "l" auto wait cpu src "l" "l" "l" dasp b2 abrt b2 b2 b2 b10 b2 dis hclk rfrs ctl0 b1 b1 "l" pari ty "l" en dla "l" wait cycl1 "l" io "l" "l" pdiag "l" eom b1 io b1 b9 b1 ram size "l" b0 b0 "l" "l" za subq atdl rnew "l" wait cycl0 "l" cod "l" "l" clr hint "l" ili dma cod b0 b8 b0 sub cpu write registers (1) sense key ?43 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 drive select host cmd atapi sts 1 atapi sts 2 un lock cpubw dt sctinf tgtmin tgtsec tgtblk xfrcnt bfara# dlara xfrara hxfrc -h hxfrc -m hxfrc -l 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b b7 b7 "l" "l" busy b7 "l" "l" "l" "l" b7 b7 b7 b7 b7 b7 b7 "l" "l" b15 b7 b6 b6 "l" "l" "l" b6 "l" "l" "l" "l" b6 b6 b6 b6 b6 b6 b6 "l" "l" b14 b6 b5 b5 "l" drdy1 corr b5 "l" "l" "l" "l" b5 b5 b5 b5 b5 b5 b5 "l" "l" b13 b5 drv b4 "l" dsc1 en hint b4 "l" "l" "l" "l" b4 b4 b4 b4 b4 b4 b4 "l" "l" b12 b4 b3 b3 "l" hst5 "l" b3 "l" "l" "l" "l" b3 b3 b3 b3 b3 b3 b3 "l" "l" b11 b3 b2 b2 "l" hst1 "l" b2 "l" mode2 "l" "l" b2 b2 b2 b2 b2 b2 b2 "l" b18 b10 b2 b1 b1 "l" drdy0 "l" b1 "l" form2 "l" "l" b1 b1 b1 b1 b1 b1 b1 "l" b17 b9 b1 b0 b0 "l" dsc0 check b0 "l" "l" "l" "l" b0 b0 b0 b0 b0 b0 b0 "l" b16 b8 b0 sub cpu write registers (2) ?44 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 hadrc -h hadrc -m hadrc -l sladr -h sladr -m sladr -l cadrc -h cadrc -m cadrc -l clrint0 clrint1 inten0 inten1 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f "l" "l" b15 b7 "l" "l" b15 b7 "l" "l" b15 b7 "l" "l" "l" "l" dec int pfif oful dec int pfif oful "l" "l" b14 b6 "l" "l" b14 b6 "l" "l" b14 b6 "l" "l" "l" "l" dec tout "l" dec tout "l" "l" "l" b13 b5 "l" "l" b13 b5 "l" "l" b13 b5 "l" "l" "l" "l" drv ovrn rst cmd drv ovrn rst cmd "l" "l" b12 b4 "l" "l" b12 b4 "l" "l" b12 b4 "l" "l" "l" "l" subc sync sts read subc sync sts read "l" "l" b11 b3 "l" "l" b11 b3 "l" "l" b11 b3 "l" "l" "l" "l" "l" hst cmd "l" hst cmd "l" b18 b10 b2 "l" b18 b10 b2 "l" b18 b10 b2 "l" "l" "l" "l" "l" pio ng "l" pio ng "l" b17 b9 b1 "l" b17 b9 b1 "l" b17 b9 b1 "l" "l" "l" "l" soft rst xfr stop soft rst xfr stop "l" b16 b8 b0 "l" b16 b8 b0 "l" b16 b8 b0 "l" "l" "l" "l" hard rst blxf rcmp hard rst blxf rcmp sub cpu write registers (3) ?45 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 drvsts rawhdr bfhdr bfshdr rawhdr flg bfhdr flg decsts0 decsts1 xfrmod xfrsts0 xfrsts1 chpsts rev error featur sector count sector number byte cnt-h byte cnt-l 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 cint pol b7 b7 b7 min ute min ute shrt sct "z" enhi ntct "h" "l" "l" "h" b7 b7 b7 b15 b7 m/s sel b6 b6 b6 sec ond sec ond no sync "z" enhi ntdt "h" "l" "l" "l" b6 b6 b6 b14 b6 m/s en b5 b5 b5 blo ck blo ck cor inh "z" en mdma "h" auto end "l" "l" b5 b5 b5 b13 b5 "l" b4 b4 b4 mode mode erin blk "z" endm abit "h" "l" "l" "l" b4 b4 b4 b12 b4 "l" b3 b3 b3 "h" file cor done "z" pio sel "h" pfif oful "l" "l" mcr b3 b3 b3 b11 b3 rfrs ctl1 b2 b2 b2 "h" chan nel edc ng edc all0 auto wait "h" pfif oemp dasp "l" abrt b2 b2 b2 b10 b2 rfrs ctl0 b1 b1 b1 "h" sub mode ecc ng c mode wait cycl1 cbfw rrdy io pdiag "h" eom b1 b1 b1 b9 b1 "l" b0 b0 b0 "h" data type tgtn tmet c form wait cycl0 cbfr drdy cod "l" "h" ili dma b0 b0 b8 b0 sub cpu read registers (1) sense key ?46 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 drive select host cmd packet cmd atapi sts 1 atapi sts 2 csct ara cpubr dt sbcsts sbqsts subqdt tgtmin tgtsec tgtblk xfrcnt bfara# dlara xfrara hxfrc -h hxfrc -m hxfrc -l 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b b7 b7 b7 "l" busy b7 b7 sbc ovrn "h" b7 b7 "l" "l" b7 b7 b7 b7 "z" b15 b7 lba b6 b6 "l" "l" b6 b6 over flow "h" b6 b6 b6 b6 b6 b6 b6 b6 "z" b14 b6 b5 b5 b5 drdy1 corr b5 b5 bfnt val "h" b5 b5 b5 b5 b5 b5 b5 b5 "z" b13 b5 drv b4 b4 dsc1 hint b4 b4 nosy nc0 "h" b4 b4 b4 b4 b4 b4 b4 b4 "z" b12 b12 b3 b3 b3 hst5 hrst b3 b3 "h" "h" b3 b3 b3 b3 b3 b3 b3 b3 "z" b11 b3 b2 b2 b2 hst1 srst b2 b2 "h" shts bcs1 b2 b2 b2 b2 b2 b2 b2 b2 b18 b10 b2 b1 b1 b1 drdy0 xhin ten b1 b1 "h" nosy nc1 b1 b1 b1 b1 b1 b1 b1 b1 b17 b9 b1 b0 b0 b0 dsc0 check b0 b0 subq err0 subq err1 b0 b0 b0 b0 b0 b0 b0 b0 b16 b8 b0 sub cpu read registers (2) ?47 cxd1812q/r reg adr bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 hadrc -h hadrc -m hadrc -l sladr -h sladr -m sladr -l cadrc -h cadrc -m cadrc -l sadrc -h sadrc -m sadrc -l intsts0 intsts1 inten0 inten1 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f "l" b15 b7 "l" b15 b7 "h" b15 b7 "l" b15 b7 dec int pfif oful dec int pfif oful "l" b14 b6 "l" b14 b6 "h" b14 b6 "l" b14 b6 dec tout "l" dec tout "l" "l" b13 b5 "l" b13 b5 "h" b13 b5 "l" b13 b6 drv ovrn rst cmd drv ovrn rst cmd "l" b12 b4 "l" b12 b4 "h" b12 b4 "l" b12 b4 subc sync sts read subc sync sts read "l" b11 b3 "l" b11 b3 "h" b11 b3 "l" b11 b3 "l" hst cmd "l" hst cmd b18 b10 b2 b18 b10 b2 b18 b10 b2 b18 b10 b2 "l" pio ng "l" pio ng b17 b9 b1 b17 b9 b1 b17 b9 b1 b17 b9 b1 soft rst xfr stop soft rst xfr stop b16 b8 b0 b16 b8 b0 b16 b8 b0 b16 b8 b0 hard rst blxf rcmp hard rst blxf rcmp sub cpu read registers (3) ?48 cxd1812q/r 4. host interface the following atapi registers are supported. address register control block registers command block registers data ata sector number atapi byte count low atapi byte count high atapi drive select hcs0 hcs1 ha2 ha1 ha0 read (xhrd) write (xhwr) atapi status ata command alternate atapi status diskette change/drive address atapi device control unused atapi error atapi interrupt reason atapi feature ata sector count 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 the bit width of all registers excluding the data register is 8 bits. the bit width of the data register is 16 bits. command block registers the host can read/write to the command block registers only when the busy bit (atapi status register -bit 7) is low. when the busy bit is high, the value of the alternate atapi status register is read. 4-1. data register (read/write) this register is valid only when the drq bit (atapi status register -bit 3) is high. the bit width of this register is 16 bits. 4-2. atapi error register (read) the error status of the command finally executed by the drive is read by this register. bit 7 to 4: sense key bit 3: mcr (media change requested) bit 2: abrt (aborted command) bit 1: eom (end of media detected) bit 0: ili (illegal length indication) 4-3. atapi feature register (write) bit 7 to 1: optional values can be set. bit 0: dma (optional) set this bit high for data transfer in the dma mode. however, the transfer mode is determined by the combination of this bit and the endmabit (bit 4) and piosel (bit 3) bits of the sub cpu transfer mode register (address 09 hex ). ?49 cxd1812q/r 4-4. atapi interrupt reason (read)/ata sector count (write) register this 8-bytes register can be read/written by both host and sub cpu. bit 1: io (in or out) bit 0: cod (command or data) the direction and type of data transfer are determined by the three bits: io, cod, and drq (atapi status register -bit 3). 4-5. ata sector number register (read/write) this 8-bytes register can be read/written by both host and sub cpu. 4-6. atapi byte count low/high register (read/write) this register sets the number of bytes transferred by one data transfer request (drq). (16 bits) this register can be read/written by both host and sub cpu. 4-7. atapi drive select register (read/write) this 8-bytes register can be read/written by both host and sub cpu. bit 4: drv this bit allows the host to select the drive. high: selects the slave drive. low: selects the master drive. 4-8. atapi status register (read) this register allows the host to read the drive status. the interrupt request signal: hint to the host is cleared by reading this register. bit 7 busy bit 6 drdy (drive ready) bit 4 dsc (drive seek complete) bit 3 drq (data request) bit 2 corr (corrected data) bit 0 check bit 5, 1: the values set by sub cpu can be read. 4-9. ata command register (write) this register allows the host to write the ata command. the interrupt request is applied to sub cpu by writing a command to this register. drq io status of transfer "h" "h" "h" "h" "l" "l" "l" "h" "h" "h" cod "l" "h" "l" "h" "h" data transfer from host packet command transfer from host data transfer to host reserved data transfer termination status ?50 cxd1812q/r control block registers 4-10. alternate atapi status register (read) this register is identical to the atapi status register. however, the interrupt request signal: hint to the host is not cleared by reading this register. 4-11. atapi device control register (write) bit 7 to 3: reserved bit 2: srst this bit is the ata soft reset bit. (see appendix.) bit 1: nien when this bit is set low while a drive is selected, the interrupt request signal: hint to the host is enabled. when this bit is high or the drive is not selected, the hint pin generates a high impedance. bit 0: reserved 4-12. diskette change/drive address register (read) bit 7: hi-z bit 6 to 2: the values set by sub cpu can be read. bit 1: nds1 this is low when the slave drive is selected. bit 0: nds0 this is low when the master drive is selected. ?51 cxd1812q/r appendix: reset condition xrst: xrst pin crst: chpctl0 register (0d hex ) -bit 7 hrst: hrst pin rcmd: atapi soft reset command (08 hex ) srst: atapi software reset 1. sub cpu write registers bit76543210 reg adr xrst crst hrst rcmd srst 000x0000 0010x01x xxxxx0 1x 00000000 00000000 001010x0 xx00000x 0x0x00x0 100x0101 0x000xxx 01001000 xx0xxxxx 1xxx00xx 0x00xx00 xx0 0xx0 0 0000xxxx xxxxx1 0x x00000xx 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 xx000000 1x0 0xxx0 1xxxxxxx 00000000 xxxxx0 0x config0 config1 lstara lhadr drvif xfrfmt0 xfrfmt1 decctl0 decctl1 xfrmod xfrctl0 xfrctl1 chpctl0 chpctl1 dischg error featur ireason sectno. bytcnt-h bytcnt-l drvsel hstcmd asts1 asts2 unlock cpubwdt sctinf 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h 19h 1ah 1bh 1ch 1eh o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ?52 cxd1812q/r bit76543210 reg adr xrst crst hrst rcmd srst 00000000 00000000 00000000 00000000 00000000 00000000 00000000 xxxxx0 0 0 00000000 00000000 xxxxx0 0 0 00000000 00000000 xxxxx0 0 0 00000000 00000000 xxxxx0 0 0 00000000 00000000 0000xx00 0x000000 0000xx00 0x000000 tgtmin tgtsec tgtblk xfrcnt bfara dlara xfrara hxfrc-h hxfrc-m hxfrc-l hadrc-h hadrc-m hadrc-l sladr-h sladr-m sladr-l cadrc-h cadrc-m cadrc-l clrint0 clrint1 inten0 inten1 21h 22h 23h 24h 25h 26h 27h 29h 2ah 2bh 2dh 2eh 2fh 31h 32h 33h 35h 36h 37h 3ch 3dh 3eh 3fh o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ?53 cxd1812q/r 2. sub cpu read registers bit76543210 reg adr xrst crst hrst rcmd srst 00000010 00000000 00000000 00000000 00001111 00000000 00000100 xxxxx0 0 0 01001000 xx0xxxxx 11111100 00000100 000001x0 10000011 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 1000x010 10001010 1000xxx0 1 0xxx1xx 00000000 00000000 xxxxxxxx 11111000 xxxxxxxx 00000000 00000000 00000000 00000000 drvsts rawhdr bfhdr bfshdr rawhdfg bfhdrfg decsts0 decsts1 xfrmod xfrsts0 xfrsts1 chpsts rev error featur ireason sectno. bytcnt-h bytcnt-l drvsel hstcmd paccmd asts1 asts2 csctara cpubrdt sbcsts sbqsts sbqdt tgtmin tgtsec tgtblk xfrcnt 00h 01h 02h 03h 04h 05h 07h 08h 09h 0ah 0bh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1ah 1bh 1ch 1dh 1eh 1fh 21h 22h 23h 24h o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ?54 cxd1812q/r bit76543210 reg adr xrst crst hrst rcmd srst 00000000 00000000 00000000 xxxxx0 0 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11111000 00000000 00000000 00000000 00000000 00000000 00000000 xxxx0 0x1 xxxx0 0 1x 00000000 00x000xx 001000xx 00000000 00000000 bfara dlara xfrara hxfrc-h hxfrc-m hxfrc-l hadrc-h hadrc-m hadrc-l sladr-h sladr-m sladr-l cadrc-h cadrc-m cadrc-l sadrc-h sadrc-m sadrc-l intsts0 intsts1 inten0 inten1 25h 26h 27h 29h 2ah 2bh 2dh 2eh 2fh 31h 32h 33h 35h 36h 37h 39h 3ah 3bh 3ch 3dh 3eh 3fh o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ?55 cxd1812q/r application circuit 2 5 1 10 0 96 97 98 99 32 34 35 44 65 64 63 62 94 93 55 53 30 lrck mdat bclk c2po exck sbin scor wfck lrck da16 da15 c2po exck sbso scor wfck mclk hclk pssl xtsl xtai cxd2500 9 8 7 6 91 92 95 10 to 14, 16 17 to 21, 23 to 25 subcpu xcs xrd xwr xint d0 to 7 a0 to 5 66 67 63 68 61 62 64 52 59 89 57 58 60 55 56 hrst xpdi dasp redy xs16 hint hdrq xhac xhwr xhrd ha0 to 2 hcs0, 1 69 to 72 74 to 77 80 to 83 85 to 88 10k w atapi bus 43 to 46, 48 to 51 42 41 39 mdb0 to 7 ma0 to 9 xmwr xcas xras 26, 27, 30 to 33, 35 to 38 dram cxd1812q 33.8688mhz xtl2 xtl1 xrst hdb0 to f application circuits shown are typical examples illustrating the operation of the devices. sony cannot assume responsibility for any problems arising out of the use of these circuits or for any infringement of third party patent and other right due to same. ?56 cxd1812q/r package outline unit: mm sony code eiaj code jedec code package material lead treatment lead material package weight epoxy resin solder plating copper / 42 alloy package structure 23.9 0.4 qfp-100p-l01 detail a m 100pin qfp (plastic) 20.0 ?0.1 + 0.4 0?to 15 0.15 ?0.05 + 0.1 15.8 0.4 17.9 0.4 14.0 ?0.01 + 0.4 2.75 ?0.15 + 0.35 a 0.65 0.12 0.15 0.8 0.2 (16.3) * qfp100-p-1420-a 1.4g sony code eiaj code jedec code package material lead treatment lead material package weight epoxy/phenol resin solder plating 42 alloy package structure detail a lqfp-100p-l01 * qfp100-p-1414-a 100pin lqfp (plastic) 16.0 0.2 * 14.0 0.1 75 51 50 26 25 1 76 0.5 0.08 0.18 ?0.03 + 0.08 (0.22) a 1.5 ?0.1 + 0.2 0.127 ?0.02 + 0.05 0.5 0.2 (15.0) 0?to 10 0.1 0.1 0.5 0.2 100 0.1 note: dimension * ?does not include mold protrusion. |
Price & Availability of CXD1812QR
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |