Error correction and host interface
IC for CD-ROM (SEQUOIA)
Preliminary specification
File under Integrated Circuits, IC01
1996 Jun 19
Philips SemiconductorsPreliminary specification
Error correction and host interface IC
for CD-ROM (SEQUOIA)
CONTENTS
1FEATURES
1.1General
1.253CF94 SCSI controller
1.380C32 high-speed microcontroller
1.4Front-end interface logic
1.5Buffer controller
1.6Hardware third-level error correction
1.7Additional product support
2GENERAL DESCRIPTION
3QUICK REFERENCE DATA
4ORDERING INFORMATION
5BLOCK DIAGRAM
6PINNING
7FUNCTIONAL DESCRIPTION
7.180C32 microcontroller
7.253CF94 fast SCSI controller
7.3Input clock doubler
7.4Front-end
8MICROCONTROLLER INTERFACE
8.1Microcontroller interface status register
8.2Microcontroller interface command register
8.3Microcontroller interrupts
8.4Microcontroller RAM organization
9FRONT PANEL AND MISCELLANEOUS
CONTROL SIGNALS
9.1S2B UART registers
9.2Miscellaneous control registers
10FRONT-END
10.1Minute Second Frame (MSF) addressing and
header information
10.2Front-end status and control
SAA7385
11BUFFER MANAGER
11.1Front-end to buffer manager interface
11.2Microcontroller to buffer manager interface
11.3ECC to buffer manager interface
11.4SCSI to buffer manager interface
11.5Miscellaneous buffer manager considerations
11.653CF94 related registers
12FRAME BUFFER ORGANIZATION
13SUMMARY OF CONTROL REGISTER MAP
14LIMITING VALUES
15OPERATING CHARACTERISTICS
15.1I2S-bus timing; data mode
15.2EIAJ timing; audio mode
15.3R-W timing (see Fig.15)
15.4C-flag timing (see Fig.16)
15.5S2B interface timing
15.6SCSI interface timing
15.7Microprocessor interface
15.8DRAM interface (the SAA7385 is designed to
operate with standard 70 ns DRAMs)
16PACKAGE OUTLINE
17SOLDERING
17.1Introduction
17.2Reflow soldering
17.3Wave soldering
17.4Repairing soldered joints
18DEFINITIONS
19LIFE SUPPORT APPLICATIONS
1996 Jun 192
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
1FEATURES
1.1General
• Single chip digital solution for an 8 × speed CD-ROM
controller chip
• 10 Mbytes/s NCR53CF94 equivalent SCSI controller
included
• High-speed 80C32 microcontroller with 256 × 8
scratch-pad SRAM included
• High performance CD-ROM interface logic
• 128 pin QFP package.
1.253CF94 SCSI controller
• Separate clock input to allow operation up to the
maximum 10 Mbytes/s
• Fast synchronous SCSI-2 compatible
• 24-bit transfer counter for single transfers up to
16 Mbytes
• High-speed 16-bit DMA interface to the buffer manager
DRAM
• On-chip 48 mA SCSI drivers
• Software compatible with members of the 53C90 family
• Allows for SCAM support.
SAA7385
1.5Buffer controller
• Ten level arbitration logic
• Utilizes low cost 70 ns DRAMs
• Page mode DRAM access for high-speed error
correction and SCSI data transfer
• Data organization by 3 kbyte frames
• 256 kbyte or 1 Mbyte DRAM supported.
1.6Hardware third-level error correction
• Third-level correction provides superior performance in
unfavourable conditions
• Full hardware error correction to reduce microcontroller
overhead
• Corrections are automatically written to the DRAM
frame buffer.
1.7Additional product support
• All control registers mapped into 80C32 special function
memory space
• Dedicated S2B interface UART
• Input clock synthesizer
• Red book audio pass through.
1.380C32 high-speed microcontroller
• 33.87 MHz full system speed operation
• Three timers/event counters
• Programmable full duplex serial channel
• Eight general purpose microcontroller I/O pins
• External program ROM.
1.4Front-end interface logic
• Full 8 × speed hardware operation
• Block decoder
• Sector sequencer
• CRC checking of Mode 1 and Mode 2, Form 1 sectors
• 212 ms watch-dog timer
• Sub-code interface with synchronization
• C-flag interface for absolute time stamp.
2GENERAL DESCRIPTION
The SAA7385 is a high integration ASIC that incorporates
all of the digital electronics necessary to connect a CD
decoder to a SCSI host. An 80C32 microcontroller and a
53CF94 SCSI controller are embedded in the ASIC.
The following functions are supported:
• Input clock doubler
• Block decoder
• CRC checking of Mode 1 and Mode 2, Form 1 sectors
• Red book audio pass through to SCSI
• Buffer manager
• Third-level error correction
• Sub-code and Q-channel support
• Dedicated S2B interface UART
• Embedded 80C32 microcontroller
• Embedded 53CF94 SCSI controller.
1996 Jun 193
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
The SAA7385 uses a 33.8688 MHz clock and is capable
of accepting data at eight times (n = 8 or 1.4 Mbytes/s) the
normal CD-ROM data rate.
Third level error correction hardware is included to
improve the correction efficiency of the system. The buffer
manager hardware utilizes a ten-level arbitration unit and
can stop the clock to the microcontroller to emulate a wait
condition when necessary.
The SAA7385 comprises five major functional blocks:
• The 80C32 microcontroller is an industry standard core
• The 53CF94 is an industry standard core
• The front-end block connects to the external CD-60
based decoder and fully processes the incoming data
stream to provide bytes of data that are stored in the
external buffer
• The buffer manager block provides the address
generation and timing control for the external DRAM
buffer
• The ECC block performs the error correction functions in
hardware on the data in the DRAM buffer.
SAA7385
Supply of this Compact Disc IC does not convey an
implied license under any patent right to use this IC in
any Compact Disc application.
DA21OS4DRAM address bus; bit DA2
DA32OS4DRAM address bus; bit DA3
DA43OS4DRAM address bus; bit DA4
V
SS1
4−−ground 1
DA55OS4DRAM address bus; bit DA5
DA66OS4DRAM address bus; bit DA6
DA77OS4DRAM address bus; bit DA7
DA88OS4DRAM address bus; bit DA8
DA99OS4DRAM address bus; bit DA9
V
DD1
10−−power supply 1
1996 Jun 195
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
SYMBOLPINI/OPADDESCRIPTION
RAS11OS4DRAM row address section; active LOW
CAS12OS4DRAM column address selection; active LOW
DWR13OS4DRAM write; active LOW
DOE14OS4DRAM output enable; active LOW
V
SS2
DD016I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD0
DD117I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD1
DD218I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD2
DD319I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD3
V
DD2
DD421I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD4
DD522I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD5
DD623I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD6
DD724I/O4 mA, Schmitt, PD25 DRAM data bus; bit DD7
V
SS3
LED26O24 mA, CMOS testpanel LED; active LOW; WTGCTL(4)
TRAYSW27ISchmitt, PU25active LOW when tray is in
EJECT28ISchmitt, PU25opens tray; active LOW
LQDATA29O2 mAserial data to DAC
LWCLK30O2 mAword strobe to DAC
V
SS4
SCLK32O2 mAdata serial clock
V
SS5
SYSRES34O2 mA, PU25system reset; OR of
CFLAG35ISchmitt, PU400C1 and C2 status
CPR36O2 mAS2B interface ready to accept data; active LOW
SPR37ISchmittS2B interface ready to send data; active LOW
SKIPFWD38ISchmitt, PU25skip forwards; active LOW; RDSW(3)
SKIPBACK39ISchmitt, PU25skip backwards; active LOW; RDSW(2)
SCSICLK40IstandardSCSI interface clock
V
DD3
AD042I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD0
AD143I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD1
AD244I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD2
AD345I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD3
AD446I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD4
AD547I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD5
AD648I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD6
AD749I/OS4, Schmittmicrocontroller multiplexed data bus; bit AD7
V
SS6
LA051OCMOS S2, PU25EPROM latched lower address; bit LA0
15−−ground 2
20−−power supply 2
25−−ground 3
31−−ground 4
33−−ground 5
POR, SCSIRST and watch-dog timer
41−−power supply 3
50−−ground 6
SAA7385
1996 Jun 196
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
SYMBOLPINI/OPADDESCRIPTION
LA152OCMOS S2, PU25EPROM latched lower address; bit LA1
LA253OCMOS S2, PU25EPROM latched lower address; bit LA2
LA354OCMOS S2, PU25EPROM latched lower address; bit LA3
V
DD4
LA456OCMOS S2, PU25EPROM latched lower address; bit LA4
LA557OCMOS S2, PU25EPROM latched lower address; bit LA5
LA658OCMOS S2, PU25EPROM latched lower address; bit LA6
LA759OCMOS S2, PU25EPROM latched lower address; bit LA7
V
SS7
A861OCMOS S2, PU25EPROM upper address; bit A8
A962OCMOS S2, PU25EPROM upper address; bit A9
A1063OCMOS S2, PU25EPROM upper address; bit A10
A1164OCMOS S2, PU25EPROM upper address; bit A11
A1265OCMOS S2, PU25EPROM upper address; bit A12
A1366OCMOS S2, PU25EPROM upper address; bit A13
A1467OCMOS S2, PU25EPROM upper address; bit A14
A1568OCMOS S2, PU25EPROM upper address; bit A15
PSEN69OCMOS 2, PU25program store enable; active LOW
V
SS8
IO71I/OSCSISCSI phase signal, active LOW
REQ72I/OSCSISCSI request, active LOW
CD73I/OSCSISCSI phase signal, active LOW
SEL74I/OSCSISCSI select, active LOW
V
SS9
MSG76I/OSCSISCSI phase signal, active LOW
ACK77I/OSCSISCSI acknowledge, active LOW
BSY78I/OSCSISCSI busy, active LOW
V
SS10
ATN80I/OSCSIoutput in initiator mode; input in target mode, active LOW
V
DD5
SDP82I/OSCSISCSI parity, active LOW
SD783I/OSCSISCSI data bus; bit SD7
SD684I/OSCSISCSI data bus; bit SD6
SD585I/OSCSISCSI data bus; bit SD5
V
SS11
SD487I/OSCSISCSI data bus; bit SD4
SD388I/OSCSISCSI data bus; bit SD3
SD289I/OSCSISCSI data bus; bit SD2
SD190I/OSCSISCSI data bus; bit SD1
SD091I/OSCSISCSI data bus; bit SD0
V
SS12
55−−power supply 4
60−−ground 7
70−−ground 8
75−−ground 9
79−−ground 10
81−−power supply 5
86−−ground 11
92−−ground 12
1996 Jun 197
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
SYMBOLPINI/OPADDESCRIPTION
RXS2B93ISchmitt, PU25S2B interface receive
TXS2B94O4 mAS2B interface transmit
TRAYIN95I/O4 mA, PD25tray extend control; active LOW (general purpose signal)
TRAYOUT96I/O4 mA, PD25tray retract control; active LOW (general purpose signal)
SCSIRST97ISchmittSCSI reset, active LOW; also causes a system reset
POR98ICMOSpower-on reset; active LOW
V
DD6
UC_PORT1.7100I/OCMOS 2, PU25drive speed select; microcontroller port 1.7
RAB_MUSB101I/OCMOS 2, PU25RD/WR, acknowledge; microcontroller port 1.2
NRST_SEQ102I/OCMOS 2, PU25reset to engine; microcontroller port 1.5
UC_PORT1.4103I/OCMOS 2, PU25general purpose microcontroller I/O port; port 1.4
UC_PORT1.3104I/OCMOS 2, PU25general purpose microcontroller I/O port; port 1.3
UC_PORT1.1105I/OCMOS 2, PU25general purpose microcontroller I/O port; port 1.1
HOMESW106I/O2 mA, PU25actuator sled home; active LOW; microcontroller port 1.0
PLAY107ISchmittlaser on and focused status; active LOW; RDSW(4)
UC_PORT1.6108I/OCMOS 2, PU25general purpose microcontroller I/O port; port 1.6
V
SS13
GPI1110ISchmitt, PU25general purpose input; microcontroller port 3.4
GPI2111ISchmitt, PU25general purpose input; microcontroller port 3.5
KILL112ISchmitt, PU25shut off audio; active LOW
TXICE113O4 mAdebug UART output; from 80C32 serial port
RXICE114ISchmitt, PU25debug UART input; to 80C32 serial port
RXSUB115ISchmitt, PU25sub-code input
V
DD7
OSCIN117Istandardmaster input clock; 34 or 16 MHz
V
SS14
CLAB119ISchmittclock
V
SS15
DAAB121ISchmittdata
WSAB122ISchmittword strobe
EFAB123ISchmitterror flag
CLK34124O2 mA34 MHz output clock
TEST125ISchmitt, PD25test pin; must be ground
V
SS16
DA0127OS4DRAM address bus; bit DA0
DA1128OS4DRAM address bus; bit DA1
99−−power supply 6
109−−ground 13
116−−power supply 7
118−−ground 14
120−−ground 15
126−−ground 16
1996 Jun 198
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
Error correction and host interface IC for
CD-ROM (SEQUOIA)
left
right
dbook, full pagewidth
output
output
AUDIO
TDA1308
PROCESSOR
DAC
TDA1305
S
2
I
CD
DECODER
S
2
I
LO9585
DECODER
INTERFACE
SCSI BLOCK
Q to W
SCSI-2
with fast
interface
synchronous
SAA7385GP +
256K/1M DRAM
EN
and SCAM
64K (P)ROM
SERVO
CONTROL
XTAL
RESET
DATA
CDT665
S2B
MICRO
CLOCK
MGE389
CDT663
OM5234/FBx
SAA7385
OFF track
focus and
radial data
HF signal
sledge home switch
CDM 12.6
DIGITAL
DIODE
LASER
AMPLIFIER
SERVO
CONTROL
SUPPLY
3-BEAM
OQ8868
laser on
OQ8866
laser drive
MECHANISM
DIGITAL
sledge drive
single/double/
quadruple speed
SERVO
DRIVERS
OQ8844 +
motor drive
focus servo
radial servo
TDA7072A(T)
loader in
loader out
loader status
L1266
CD
LOADER
Fig.3 Example of CD-ROM system with SCSI-2 interface.
1996 Jun 1910
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
7FUNCTIONAL DESCRIPTION
7.180C32 microcontroller
The standard specification for details of the operation for
this part may be found in any data sheet covering the
80C32 microcontroller. The one deviation from a normal
80C32 is the addition of all of the control registers for the
special function register map for the 80C32. All of the
SAA7385 control registers, including the 53CF94 control
registers appear within this space.
7.253CF94 fast SCSI controller
The details of operation of this block may be found in the
“53CF94 data manual”
of a normal 53CF94 have been made. The first is that the
part supports single-ended SCSI bus operation only.
The second deviation is the additional feature of mapping
the control registers into the 80C32 special function
register map as previously mentioned.
. Two deviations from the operation
SAA7385
7.4.2S
The sector sequencer de-serializes the data and error
flags from the block decoder and determines when to:
• Write data to the buffer
• Write flags to the buffer
• Test the header to determine the Mode
• Test the sub-header to determine the Form
• Test the CRC
• End the sector and write the status byte to the buffer.
Included in the sector sequencer is the CRC generator
which checks each Yellow Book or Green Book sector as
it is shifted into the SAA7385 in accordance with the
following polynomial:
32+X31+X16+X15+X4+X3
X
The status of each sector is saved and written to the buffer
at the end of the sector.
ECTOR SEQUENCER
+X+1
7.3Input clock doubler
To facilitate compatibility of the SAA7385 with the
maximum number of CD decoders, a clock doubler has
been included. This clock doubler may take a
16.9344 MHz clock and double this when requested to do
so by the microcontroller. Logic has been included to
remove the possibility of a ‘runt’ clock pulse when the
doubler is engaged. Once engaged, the only way to
disengage it is via a reset condition.
7.4Front-end
The front-end is comprised of many sub-sections.
7.4.1B
The block decoder first reverses the bits of each received
byte and then runs them through a linear feedback shift
register to be de-scrambled. The polynomial used to
de-scramble the serial data is as follows: X
It also detects and tests the synchronization field and will
start the data clock when commanded. The de-scrambled
header is assembled into four registers (MODE, MINS,
SECS and FRMS) with header ready and header error
status (see HDRRDY and HDRERR in RDDSTAT).
The data clock does not have to be enabled to receive
valid headers.
Also included in this section is the logic required to decide
when to start collecting data and sub-code information
taken from the synchronization signal.
LOCK DECODER
15
+X+1
7.4.3S
A UART which samples asynchronous bits on a 24 clocks
per bit basis is included. This is required because Philips
decoders output the sub-code data at nominally 24 clocks
per bit, but not synchronized to the data. Also included is a
sub-code synchronization detector which senses the
beginning of each new sector of sub-code information.
The serial sub-code information is assembled into bytes in
the following order:
Data bits 7 to 0 = 0, Q, R, S, T, U, V and W.
As each byte is assembled, it is sent to the buffer manager
to be written to the DRAM buffer. At the same time, the
Q-channel bits are assembled into bytes and sent to the
buffer. All Q-channel bytes except CRC are sorted in
registers for use by the microcontroller. The track, mode,
minutes, seconds and frames bytes (RDTK, RDMD,
RDMN, RDSC and RDFM) are also stored in registers for
use by the microcontroller. The Q-channel CRC (last two
bytes) is checked just before the end of the sub-code
sector. If the CRC check fails, BADQ in RDDSTAT is
available to the microcontroller and is written into the buffer
at the end of the sector. When the five Q-channel registers
have been updated, QFRMRDY in RDDSTAT is set.
The five Q-channel registers are valid while QFRMRDY is
set. In the audio mode, HDRRDY in RDDSTAT generates
this interrupt, but the QFRMRDY bit will still be available as
status to the microcontroller.
UB-CODE RECEIVE AND Q-CHANNEL EXTRACTOR
1996 Jun 1911
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
7.4.4C-FLAG RECEIVER
The C-flag bits, or corrector flags, are also 24 data clocks
long and reception of these bits is achieved using the
same method as for the sub-code; in this event, the C-flag
data is synchronized to the data. The difference is that only
one bit is used; F1, the absolute time synchronization
information. When in audio mode and ENABRED in
FECTL is set, receipt of F1 set will start the internal data
clock after the next rising edge of word strobe (WSAB)
which is the left channel sample when the CD decoder is
programmed for EIAJ audio format. When in audio mode,
the Q-channel information provides the MSF address and
the F1 flag provides the start of frame information; together
these provide an absolute byte address on the disc.
7.4.5S2B UART
This UART is provided for remote debugging of the
firmware. It is hard-wired for one start-bit, eight data bits,
a parity bit and one stop bit. Parity testing can be
programmed to be either odd parity or even parity. Parity
error and over-run status are provided via PE and
OVRRUN in S2BSTAT. Selectable baud rates of 31.25,
62.5 and 187.5 kbaud are available via ICESEL1 and
ICESEL0 in BRGSEL.
7.4.6W
A pair of counters are included which output a 967 µs reset
pulse to the entire chip and the SYSRES pin if the timer is
not reset during the 212 ms time-out period.
The watch-dog timer is reset by setting RWMD in FECTL
HIGH then LOW. If RWMD is left HIGH, the watch-dog
function is disabled.
7.4.7G
The final block of logic in the front-end consists of:
a programmable, linear pulse-width modulator for
spindle-motor control; an address de-multiplexer for the
address/data bus of the microcontroller; plus audio
multiplexing and muting circuitry for full control of Red
Book audio data to an external Digital-to-Analog Converter
(DAC).
ATCH-DOG TIMER
LUE LOGIC (GLIC)
SAA7385
7.4.8B
The buffer manager provides the arbitration for the
different processes that wish to access the DRAM buffer.
These processes include the front-end, microcontroller
requests, ECC accesses, SCSI interface requests and
DRAM refreshing. The DRAM control logic will start an
access on the next rising edge of the clock after a request
is received. If two or more requests are pending then the
priority is as follows:
1. Front-end (highest priority)
2. Microcontroller requests
3. SCSI interface requests
4. ECC requests (lowest priority).
A refresh cycle is required every 15.6 µs and will be
granted priority for one access. A burst access by ECC or
SCSI will only be interrupted by a higher priority access
request.
In addition to the priority logic, logic is required for the
front-end sources of data. The priority is: frame data
(highest), flag data, sub-code data, Q-channel data and
finally status byte. All front-end sources are granted
priority over the SCSI logic, ECC, refresh and data will be
written into the frame store during the next cycle. However,
the microcontroller has priority over the lower three
front-end sources and will be granted an access after
front-end frame data or flag data is written to memory.
The required timing (see Figs 4 to 11) operate with the
industry standard 70 ns DRAMs. The interface is designed
to operate with one or two DRAMs using: 256 kbit × 4 or
1 Mbit × 4 devices. If a single DRAM is connected, all
access cycles require a page mode cycle to load both the
high and the low nibble of data. With a byte-wide memory
attached, a single byte cycle takes five clock cycles of
29.5 ns each, totalling 147.5 ns. In nibble mode, a single
byte cycle takes 236 ns.
UFFER MANAGER
1996 Jun 1912
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESSROWCOLCOL
DATA
DOE
latch
low nibble
SAA7385
latch
high nibble
MGE390
handbook, full pagewidth
Fig.4 Nibble access read cycle.
CLOCK
RAS
CAS
ADDRESSROWCOLCOL
DATA
WRITE
low-nibblehigh-nibble
MGE391
Fig.5 Nibble access write cycle.
1996 Jun 1913
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESSROWCOL
DATA
DOE
SAA7385
latch data
MGE392
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESS
DATA
WRITE
Fig.6 Byte mode single access read cycle.
ROWCOL
DATA
MGE393
Fig.7 Byte mode single access write cycle.
1996 Jun 1914
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESSROWCOL1COL2COL3COL4
DATA
DOE
latchlatchlatch
SAA7385
MGE394
handbook, full pagewidth
CLOCK
ADDRESSROWCOL1COL2COL3COL4
DATA
WRITE
Fig.8 ECC burst access read cycle.
RAS
CAS
DATA1DATA2DATA3DATA4
MGE395
Fig.9 ECC burst access write cycle.
1996 Jun 1915
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESSROWCOL1COL2COL3COL4
DATA
DOE
latch datalatch datalatch data
SAA7385
MGE396
handbook, full pagewidth
CLOCK
RAS
CAS
ADDRESSROWCOL1COL2COL3COL4
DATA
WRITE
Fig.10 SCSI standard burst access read cycle.
DATA1DATA2DATA3DATA4
MGE397
Fig.11 SCSI standard burst access write cycle.
1996 Jun 1916
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
8MICROCONTROLLER INTERFACE
8.1Microcontroller interface status register
Table 1 NUM_COR register: 0xF08E
MNEMONICR/W
76543210
NUM_CORRNUM_COR7 to NUM_COR0
Register 0xF08E indicates the number of corrections performed during the most recently executed
CORRECT_P_SYNDROMES or CORRECT_Q_SYNDROMES command. Note that NUM_COR is only valid after
completion of the CORRECT_P_SYNDROMES or CORRECT_Q_SYNDROMES command, and becomes invalid upon
execution of any other command.
Table 2 ECC_STATUS register: 0xF086
MNEMONICR/W
76543210
ECC_STATUSR−−−FLG_EQ0 CRC_EQ0PS_EQ0QS_EQ0ECC_ACT
DATA BYTE
DATA BYTE
Register 0xF086 provides status information on the current or last ECC command.
Table 3 ECC_STATUS definitions
MNEMONICDESCRIPTION
ECC_ACTasserted while a command other than ASSERT_ABORT or RELEASE_ABORT remains active
QS_EQ0asserted when all Q syndromes are zero
PS_EQ0asserted when all P syndromes are zero
CRC_EQ0asserted when the CRC remainder calculated by the CRC_CALCULATE command is all zeros
FLG_EQ0asserted when all flag bytes in ECC RAM are zero
The ECC_COMMAND definitions are explained in Table 5.
DATA BYTE
1996 Jun 1917
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
Table 5 Definitions of ECC_COMMAND3 to ECC_COMMAND0
EEC_COMMANDDESCRIPTION
0000ASSERT_ABORT
0001RELEASE_ABORT
0010CALCULATE_SYNDROMES (not Mode 2, Form 1)
0011CALCULATE_SYNDROMES (Mode 2, Form 1)
0100CRC_RECALCULATE (not Mode 2, Form 1)
0101CRC_RECALCULATE (Mode 2, Form 1)
0110COPY_RESULTS (not Mode 2, Form 1)
0111COPY_RESULTS (Mode 2, Form 1)
1000CORRECT_P_SYNDROMES
1001CORRECT_Q_SYNDROMES
1100TEST_ECC_ROM
1101TEST_ECC_RAM_READ
1110TEST_ECC_RAM_WRITE
Table 6 Command descriptions
SAA7385
COMMANDDESCRIPTION
ASSERT_ABORTTerminates any currently active operation and re-initializes the ECC logic. Remains in
reset state until occurrence of the RELEASE_ABORT command. At power-on reset,
the ECC is in the ASSERT_ABORT state. All microcontroller status bits are reset
when the ECC is in the ASSERT_ABORT state.
RELEASE_ABORTTerminates the ASSERT_ABORT command and enables activation of other
commands.
CRC_RECALCULATECalculate CRC remainder buffer data, storing result in ECC RAM and updating
microcontroller status bit CRC_EQ0. Mode 2, Form 1 uses address 16 : 2075, or
0 : 2067; note 1.
CALCULA TE_SYNDROMESPrepares buffer for correction, calculates P and Q syndromes, and copies error flags
and CRC remainder from buffer to ECC RAM. The microcontroller status bits
PS_EQ0, QS_EQ0 and FLAGS_EQ0 are updated at the end of this operation.
1. Copy header from buffer to ECC RAM (Mode 2, Form 1 only)
3. Read header and frame data from buffer to calculate P and Q syndromes
psyn[0 : 85].s1, psyn[0 : 85].s0, qsyn[0 : 51].s1 and qsyn[0 : 51].s0, storing
results in ECC RAM; see Table 76
4. Copy error flags from buffer to ECC RAM
5. Copy CRC remainder from buffer to ECC RAM
6. Update microcontroller status bits PS_EQ0, QS_EQ0 and FLAGS_EQ0.
1996 Jun 1918
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
COMMANDDESCRIPTION
COPY_RESULTS
CORRECT_P_SYNDROMESScan all P syndromes and perform P-syndrome calculation. The microcontroller
CORRECT_Q_SYNDROMESScan all Q syndromes and perform Q-syndrome calculation. The microcontroller
TEST_ECC_ROMRead each exponent and log in the alpha ROM to the NUM_COR register.
TEST_ECC_RAM_READRead ECC RAM addresses 0 : 591 and copy to buffer addresses 0 : 591.
TEST_ECC_RAM_WRITERead buffer addresses 0 : 591 and copy to ECC RAM addresses 0 : 591.
Copies current ECC RAM contents to the buffer memory:
1. Copy header flags from ECC RAM to buffer (Mode 2, Form 1 only)
2. Copy error Flags from ECC RAM to buffer
3. Copy CRC remainder from ECC RAM to buffer
4. Copy P syndromes from ECC RAM to buffer
5. Copy Q syndromes from ECC RAM to buffer.
status bits PS_EQ0, QS_EQ0 and FLAGS_EQ0 are updated at the end of this
operation.
status bits PS_EQ0, QS_EQ0 and FLAGS_EQ0 are updated at the end of this
operation.
This command may only be terminated by the ASSERT_ABORT command.
Note
1. 16 : 2075 and 0 : 2067 are address frame offsets. The frame buffer organization is shown in Table 75.
8.3Microcontroller interrupts
An interrupt pulse is generated upon completion of any of the following commands:
• CALCULATE_SYNDROMES (not Mode 2, Form 1)
• CALCULATE_SYNDROMES (Mode 2, Form 1)
• CRC_RECALCULATE (not Mode 2, Form 1)
• CRC_RECALCULATE (Mode 2, Form 1)
• COPY_RESULTS (not Mode 2, Form 1)
• COPY_RESULTS (Mode 2, Form 1)
• CORRECT_P_SYNDROMES
• CORRECT_Q_SYNDROMES
• TEST_ECC_ROM
• TEST_ECC_RAM_READ
• TEST_ECC_RAM_WRITE.
If a command is aborted by the ASSERT_ABORT command, a spurious interrupt may be generated within five clock
cycles of the ASSERT_ABORT command.
1996 Jun 1919
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 7 Command execution times
COMMANDCYCLES
CALCULATE_SYNDROMES (not Mode 2, Form 1)5604186.82658
CALCULATE_SYNDROMES (Mode 2, Form 1)5600186.72654
CRC_RECALCULATE (not Mode 2, Form 1)4136137.92068
CRC_RECALCULATE (Mode 2, Form 1)4120137.32060
COPY_RESULTS (not Mode 2, Form 1)114838.3574
COPY_RESULTS (Mode 2, Form 1)115638.5578
CORRECT_P_SYNDROMES
(maximum addition per correction)
CORRECT_Q_SYNDROMES
(maximum addition per correction)
TEST_ECC_RAM_READ118439.5592
TEST_ECC_RAM_WRITE118439.5592
All times indicated reflect two clock cycles per memory access for all accesses other than P and Q corrections. P and Q
corrections reflect seven clock cycles per memory access. Execution times will be extended due to refresh timing, other
buffer traffic, and configuration of nibble-wide memory.
1466
157
888
167
TIME (µs)
at 33 MHz
48.9
5.2
29.6
5.6
MEMORY
ACCESSES
0
2
0
2
8.3.1I
Two registers are used to control the operation of the interrupt logic. The register INTRMSK allows each interrupt to be
enabled or disabled. INTRMSK and INTRFLG are cleared on reset to initially disable and clear all interrupts; the output
latch controlling the INT line is set on a reset; this must be cleared by writing 0x00 to INTRFLG. To enable an interrupt,
the bit that corresponds to the interrupt in INTRFLG must be set. The INTRFLG register shows the status of the
interrupts. If any bit is HIGH then an interrupt has occurred since the last time the bit was cleared. Writing a zero to any
bit location in INTRFLG will clear the corresponding interrupt. If a masked interrupt occurs, the microcontroller can still
detect the occurrence because the event is still posted in INTRFLG.
Each bit in register 0xF0FB corresponds to the interrupt at the same bit location in register 0xF0FC. To enable an
interrupt, the bit in this register must be set HIGH.
If any bit is set in this register (Table 9) then an interrupt may be sent to the microcontroller. Table 10 shows when the
interrupts are asserted; assuming the corresponding mask bit is set.
1996 Jun 1920
Loading...
+ 44 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.