Error correction and host interface
IC for CD-ROM (SEQUOIA)
Preliminary specification
File under Integrated Circuits, IC01
1996 Jun 19
Page 2
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
Page 3
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
Page 4
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
Page 6
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
Page 7
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
Page 8
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
Page 9
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
Page 11
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
Page 12
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
Page 13
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
Page 14
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
Page 15
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
Page 16
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
Page 17
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
Page 18
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
Page 19
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
Page 20
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
Page 21
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 10 INTRFLG field descriptions
FIELDDESCRIPTION
FRM_STRset one when one complete frame is stored
STR_LSTset at the start of the last frame
FE_2352set if the front-end data exceeds 2352 bytes
FE_HDRfront-end interrupt for header (or Q channel) ready
ECC_CORECC interrupt for correction complete
RFERXINTfront-end interrupt for receive ready
FETXINTfront-end interrupt for transmit ready
8.4Microcontroller RAM organization
MICFRM# is used to determine the frame address for the microcontroller access through the frame window 0x8000 to
0x8FFF. To obtain the actual byte location within the buffer RAM, the lower 12 bits of the microcontroller address form
the relative offset and hence the absolute address is found.
Note that the microcontroller has the option of addressing memory in a linear fashion using the 32 kbyte address space
between 0x000 and 0x7FFF. If this 32 kbyte page is used, the PAGEREG must be programmed with the required page
address. PAGEREG is used to select the required page when the microcontroller makes a linear access to the buffer
memory using the address space 0x7000 to 0x7FFF. The actual address is the fifteen LSBs from the microcontroller plus
32768 times the value in PAGEREG.
Table 11 Microcontroller frame number address registers: 0xF0F6 and 0xF0F7
Registers 0xF0F6 and 0xF0F7 provide the frame number address for the microcontroller access to memory. The counter
associated with these registers is loaded after the most significant byte is written; the least significant byte must be written
first to ensure that the counter is loaded correctly. If a DRAM access is in progress that uses the address from the
counter, the update will be delayed until the access is complete.
Register 0xF0FF is used by the buffer manager for the upper address lines when the microcontroller addresses
non-frame memory. These registers overlap frame memory, so register 0xF0FF must be programmed with an address
in the top part of the memory if no overlap is required. The microcontroller page address line is selected from this register.
The outputs are used directly to control DRAM access cycles, and will affect any current DRAM cycle in progress.
It is possible to access three contiguous frames from the microcontroller by reading the three data sector windows,
0x8000 to 0x8FFF, 0x9000 to 0x9FFF and 0xA000 to 0xAFFF. This function is required for the decoding of the sub-code
information. If the ‘next’ frame wraps past the last frame pointer (LASTFRM) then the pointers are modified to wrap back
to the start pointer onwards (FEFRM#); this section is transparent to the microcontroller.
Table 13 Program memory control register: 0xF09F
DATA BYTE
(1)
MA_19MA_18MA_17MA_16MA_15
MNEMONICR/W
76543210
PRGMEMR/WDATAPRG EN_WIN SEL_TOP INV_A15−−−−
Register 0xF09F controls a system test feature where an SRAM is used for the 80C32 external program memory;
note DATAPRG must be set for any of these features to be enabled.
Table 14 PRGMEM field descriptions
FIELDLOGICDESCRIPTION
INV_A150normal operation
1invert A(15) to program memory for data memory access
SEL_TOP0select bottom 32 kbyte window
1select top 32 kbyte window
EN_WIN0windowing disabled
132 kbyte windows are enabled and SEL_TOP is used to determine window selected
DATAPRG0normal operation
1data memory is mapped to program memory and data memory DRAM accesses are
disabled
DATA BYTE
1996 Jun 1922
Page 23
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, halfpage
0000
SCRATCH PAD RAM
7FFF
8000
DATA SECTOR WINDOW
9000
DATA SECTOR WINDOW
A000
DATA SECTOR WINDOW
AFFF
80C32
(FRAME 0)
(FRAME 1)
(FRAME 2)
SAA7385
F000
FFFF
SAA7385
CONTROL REGISTERS
MGE398
Fig.12 Address map for the microcontroller.
Table 15 SAA7385 address map details for the 80C32
ADDRESSFUNCTION
0000 to 7FFFThis 32 kbyte window is used to address and portion the DRAM buffer. It is intended for non-frame
mapped memory to be addressed through this window. The upper page address bits (to address the
full range of the DRAM buffer) are set by the linear address page register (PAGEREG).
8000 to 8FFFAll accesses to frame memory use this window to read or write to the buffer memory. The actual
address to the DRAM buffer is Micro Frame Number (MICFRM#) times 3 k plus the 12 LSBs from the
80C32.
9000 to 9FFFThis frame window is identical to the frame 0 window with the exception that one is added to the
value from the Micro Frame Number (MICFRM#).
A000-AFFFThis frame window is identical to the frame 0 window with the exception that two is added to the
value from the Micro Frame Number (MICFRM#).
B000-EFFFNot used; outputs are driven LOW
F000-FFFFSAA7385 control registers
1996 Jun 1923
Page 24
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
9FRONT PANEL AND MISCELLANEOUS CONTROL SIGNALS
This chapter describes the various SAA7385 control signals; front panel and basic engine signals, jumper settings and
use of the general purpose signals.
Table 16 Start clock doubler: 0xF091
MNEMONICR/W
76543210
CLKSELW−−−−−−−−
A write of any value to this address will engage the clock doubler. The state of the doubler may be obtained by reading
C_34_16 in BRGSEL (see Table 30). If this bit is set then the clock doubler is engaged. On power-on, the clock doubler
is disabled. Once the clock doubler is engaged, it can only be reset by one of the reset sources; a power-on reset, a SCSI
reset or a reset from the watch-dog timer. The clock doubler must not be engaged when a 33.8688 MHz clock is
connected to OSCIN (pin 117).
Table 17 Frequency synthesizer test register: 0xF0D8; note 1
MNEMONICR/W
76543210
FSTESTR/W−−USE_INCPSELFVCODFS_LOCK−−
DATA BYTE
DATA BYTE
Note
1. Register 0xF0D8 is used for IC-level testing and to power down the frequency synthesizer. Only bit USE_IN should
be asserted in normal operation.
Table 18 FSTEST field description
FIELDLOGICDESCRIPTION
FS_LOCK0normal operation
13-state
FVCOD0normal operation
1test mode for FVCOD from the synthesizer
CPSEL0normal operation
1test mode for CPSEL from the synthesizer
USE_IN0use internal synthesizer
1power down the synthesizer and operate off a 33.87 MHz input clock
Error correction and host interface IC for
CD-ROM (SEQUOIA)
Table 20 General logic control register: 0xF0B9; note 1
MNEMONICR/W
76 5 4 3210
WTGCTLW−−PWMSEL
Note
1. Register 0xF0B9 controls the audio mixing and the LED.
Table 21 WTGCTL field description
FIELDLOGICDESCRIPTION
CHANNELS00mute
01right data sent to both channels
10left data sent to both channels
11stereo
RA_MUTE−right channel digital mute
LA_MUTE−left channel digital mute
LED−active LOW control for the light emitting diode
PWMSEL−PWM is disconnected
DATA BYTE
LEDLA_MUTE RA_MUTE CHANNEL1 CHANNEL0
SAA7385
Table 22 Drive switches register: 0xF0BA; note 1
MNEMONICR/W
76543210
RDSWR−−−
Note
1. Register 0xF0BA is used for sensing the drive switches.
Table 23 RDSW field description
FIELDLOGICDESCRIPTION
TRAYSW0tray position in
1tray position out
EJECT−user is requesting the drive tray to open (active LOW)
SKIPBACK−user is requesting a track skip backwards (active LOW)
SKIPFWD−user is requesting a track skip forwards (active LOW)
PLAY−user is requesting the drive to play (active LOW)
Table 24 Jumper status register: 0xF0C9; note 1
MNEMONICR/W
76543210
RDJMPRSRJUMPER7 to JUMPER0
DATA BYTE
PLAYSKIPFWD SKIPBACKEJECTTRAYSW
DATA BYTE
Note
1. The bit fields for the jumpers are explained in Table 25.
1996 Jun 1925
Page 26
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 25 RDJMPRS field description
FIELDDESCRIPTION
JUMPER7 to JUMPER0Indicates the value of the DRAM data bus on power-up. The data bus may be pulled HIGH
or LOW using weak pull-ups and pull-downs hence up to eight jumper settings are
accommodated.
1. Register 0xF0C2 controls the direction and output state of the general purpose I/O bits on the SAA7385. Reading
the GPIO direction bits reflects the last value that was written to the register. The four GPIO data bits shows the
current value of the input signals in the input mode. In the output mode, the last value written to the output latches is
that which is read back.
Table 27 GPIOCTL field description
DATA BYTE
FIELDDESCRIPTION
GPDIR1General purpose bit direction control. Default LOW puts GPIO1 into the input mode, setting this HIGH
puts GPIO1 in output mode.
GPDAT1GPIO1 data bit.
GPDIR2General purpose bit direction control. Default LOW puts GPIO2 into the input mode, setting this HIGH
puts GPIO2 in output mode.
GPDAT2GPIO2 data bit.
GPDIR3General purpose bit direction control. Default LOW puts GPIO3 into the input mode, setting this HIGH
puts GPIO3 in output mode.
GPDAT3GPIO3 data bit.
GPDIR4General purpose bit direction control. Default LOW puts GPIO4 into the input mode, setting this HIGH
puts GPIO4 in output mode.
GPDAT4GPIO4 data bit.
1996 Jun 1926
Page 27
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
9.1S2B UART registers
This section describes the registers used for the S2B UART control.
Table 28 S2B UART transmit, receive and status buffer: 0xF0A1, F0A2 and F0A3
1. WTS2B is for the transmit data byte from the S2B UART and RDS2B is for the receive data byte from the S2B UART.
Table 29 S2BSTAT field description
RXDRDYA logic 1 indicates that the receive data is valid.
OVRRUNA logic 1 indicates that the data in the receive buffer was not read before it was over written by the next
PEA logic 1 indicates that a parity error was detected in the receive data byte; this is usually caused by the
TXDRDYA logic 1 indicates that the transmit data buffer is empty and ready for another byte.
CPRS2B handshake bit which may be interpreted as ‘clear to send’; this is generated automatically by the
SPRS2B handshake bit which may be interpreted as ‘request to send’; this is received from the CD-ROM
(1)
FIELDDESCRIPTION
WDATA7DATA6DATA5DATA4DATA3DATA2DATA1DATA0
byte.
wrong baud rate.
UART. It is asserted whenever the UART receiver is ready for a byte and negated as soon as the stop
bit is shifted in. It is again asserted as soon as the received byte is read by the 80C32.
engine UART transmitter and will generate an interrupt to the 80C32 if the TXRDY bit is set and the
1. Register 0xF0C0 controls the S2B UART baud rate and selective inversion of the sub-code information. Control over
the parity and the clock doubler is also included together with the ability to invert the sub-code and Q-channel
information.
1996 Jun 1927
DATA BYTE
Page 28
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 31 BRGSEL field description
FIELDLOGICDESCRIPTION
ICESEL1 to 000 31.25 kbaud transfer rate
0162.5 kbaud transfer rate
10187.5 kbaud transfer rate
11not specified
INVQ−inverts all Q-channel information if set
INVSUBC−inverts all sub-code information if set
EVENPAR−selects even parity for S2B UART is set
LOCK−read only information; indicates clock synthesizer is stable (after reset) and it is ready to set
C_34_16
C_34_16−once LOCK is HIGH, asserting this bit engages the clock doubler
Table 32 UART special control register: 0xF09E; note 1
1. Register 0xF09E allows the 80C32 UART clock to be derived from 16.945 MHz. This external UART clock is required
for reliable operation of the UART if the 80C32 is used for other functions during the transfer.
Table 33 UARTCTL field description
FIELDLOGICDESCRIPTION
DIVIDE5 to 0−value 0 produces a 0.264 MHz clock and 58 produces a 2.82 MHz clock for the UART ; this is
the maximum accepted by the 80C32, a smaller number is required for guaranteed
operation e.g. 15
UARTCNT0normal UART data input sampled by the external clock
1select a UART data input sampled by the clock from the internal counter
1switch external UART clock input from pin to this internal counter
1996 Jun 1928
Page 29
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
9.2Miscellaneous control registers
Table 34 53CF90 direction and audio mode control: 0xF0C1; note 1
MNEMONICR/W
7 6 543210
AUSWPR/WTEST−−−OVER4XBSB−−
Note
1. Register 0xF0C1 controls the audio mode byte swapping and a test mode bit.
Table 35 WTDIR field descriptions
FIELDDESCRIPTION
BSBByte swap bit. Defaults to swapping the most significant byte and least significant byte in the audio
mode such that the least significant byte of all audio samples is stored at even addresses in the
DRAM. Setting this HIGH causes the audio data to be stored in the same way as in the data mode.
OVER4X4× over-sampling bit selection; default LOW select transmit, or no over-sampling, mode for the
sub-code and C-flag UARTs. Setting this bit HIGH will cause the sub-code and C-flag data to be
sampled at one quarter the data rate allowing Q-channel information to be correctly stored in the
registers while the CD-60 is outputting audio data at 4× over-sampling.
TESTEnables internal signals to be multiplexed out when the TEST pin (pin 125) is HIGH.
DATA BYTE
Table 36 SCSI mode control register: 0xF0FD; note 1
MNEMONICR/W
76543210
SCSIMODR/W−−−OFF_ADR OFF_END OFF_STRRD_BUFBYT/PAG
Note
1. Register 0xF0FD controls the operation of the interface to the SCSI controller. The outputs of these registers are
used to directly control DRAM access cycles, and will affect any current DRAM cycle in progress.
Table 37 SCSIMOD field description
FIELDLOGICDESCRIPTION
BYT/PAG0SCSI DRAM byte mode access
1SCSI DRAM page mode access
RD_BUF0SCSI read/write control; read from buffer memory
1SCSI read/write control; write to buffer memory
OFF_STR0SCSI offset start A/B control; select A registers
1SCSI offset start A/B control; select B registers
OFF_END0SCSI offset end A/B control; select A registers
1SCSI offset end A/B control; select B registers
OFF_ADR0SCSI transfers use only A registers
1SCSI transfers use A and B registers
DATA BYTE
1996 Jun 1929
Page 30
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 38 DRAM selection/test mode: 0xF0FE; note 1
MNEMONICR/W
DRAMSELR/WTESTRESTEST3 to RESTEST0DBL_SPD1_MEG2_DRAMS
Note
1. After power-up or reset, DRAMSEL should be the first register that is programmed. This register is used to select the
number and the type of DRAMs used. The output of this register is used to control the DRAM access directly and will
affect any current DRAM cycle.
Table 39 SCSIMOD field description
FIELDLOGICDESCRIPTION
2_DRAMS0single DRAM used
1two DRAMs used
1_MEG0256 k ×4
11M×4
DBL_SPD0single speed refresh; condition after reset
1double speed refresh; only set if system is running at 0.5 master clock speed
RESTEST3
to
RESTEST0
TEST0normal operation
−reserved for test: enable DRAM access test; switch multiplexer control, enable interrupts
1test mode; read back of RESTEST3 to RESTEST0 is gated by this bit
76543 2 1 0
DATA BYTE
1996 Jun 1930
Page 31
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
10 FRONT-END
This Chapter explains the information of the front-end circuitry.
10.1Minute Second Frame (MSF) addressing and header information
Table 40 Header mode and MSF from block decoder: 0xF092, F093, F09A and F09B
MNEMONICR/W
76543210
MODERMODE7 to MODE0
MINSRMINUTES7 to MINUTES0
SECSRSECONDS7 to SECONDS0
FRMSRFRAME7 to FRAME0
These registers contain the mode, minute, second and frame information from the header when in data mode. This data
is valid whenever the HDDRDY bit in the RDDSTAT register is set. In audio mode, the MSF address is taken from the
Q-channel information.
Table 41 Q-channel information: 0xF0A9, F0AA, F0AB, F0B1 and F0B2
DATA BYTE
MNEMONICR/W
76543210
RDTKRTRACK7 to TRACK0
RDMDRMODE7 to MODE0
RDMNRABSMIN7 to ABSMIN0
RDSCRABSSEC7 to ABSSEC0
RDFMRABSFRM7 to ABSFRM0
These registers contain the information taken from the raw sub-channel information from the CD decoder. Due to the fact
that this data has not had any error correction applied to it, it is necessary to perform a CRC check for validity. Twelve
bytes of Q-channel information are assembled from each sector of data; the last two bytes contain the CRC parity.
Therefore the validity of the contents of these registers can only be determined after the last bit has been loaded and
checked.
Table 42 Times from QCHRDY to BADQ (RDDSTAT)
SPEEDTIME (µs)
n = 12177
n = 21089
n = 4545
n = 6363
n = 8273
DATA BYTE
For example, at the n = 4 data rate, the BADQ flag
(in RDDSTAT) should be checked 545 µs after the
QFRMRDY interrupt (from RDDSTAT) is asserted.
If BADQ is LOW then the contents of the Q-channel
registers are valid; otherwise the CRC check failed and the
Q-channel information may be incorrect. If the data clock
is running (ECMD LOW or ENABRED HIGH) then BADQ
will be valid until the end of the sector; otherwise BADQ is
valid until the end of the next Q frame.
1996 Jun 1931
Page 32
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
10.2Front-end status and control
Table 43 Front-end control: 0xF0BB; note 1
MNEMONIC R/W
7654 3 2 10
FECTLR/W SIM_EOFRSMDBREAKRWMDENABRED AUDMODE
Note
1. Register 0xF0BB controls the front-end of the SAA7385. The naming convention used here is similar to that used in
the block decoders.
Table 44 FECTL field description
FIELDLOGICDESCRIPTION
ECMD0Data is shifted in and stored when the next synchronization pattern is detected;
(SYNASYN = 1 and AUDMODE = 0).
1 Data flow stop just before next synchronization pattern.
(SYNASYN = 1).
SYNASYNSynchronous/asynchronous selection; this controls the method by which data is started and
stopped by the block decoder, only operates in data mode.
0Causes a ‘panic stop’. A partial frame will reside in current and subsequent buffers unless
SIM_EOF is set then cleared; (ECMD = 1).
1Data is started and stopped on frame boundaries (on synchronization patterns).
AUDMODE0Data mode. Cleared on reset.
1Audio mode, where the bit clock is shifted to accommodate EIAJ format. HQRDY in
INTRFLG follows HDRRDY in data mode and QFRMDRY in audio mode.
ENABREDEnable red book to data path; while in audio mode, this is equivalent to
mode. No asynchronous stop is provided in the audio mode.
0Data flow will stop when the next F1 C-flag is detected. Cleared on a reset condition.
1Red book data is input to buffer after the detection of the next F1 C-flag.
RWMD−This must be pulsed HIGH then LOW every 212 ms to prevent the watch-dog timer from
resetting the SAA7385 and the drive. The length of the reset pulse is 967 µs. If RWMD is set,
the watch-dog timer is disabled.
BREAK−When set, the S2B UART transmitter output is held HIGH.
RSMD−When the pulse is HIGH then LOW, the block decoder begins to search for a synchronization
pattern in the data bitstream. Once a synchronization pattern is found, MODE, MINS, SECS,
and FRMS become valid.
SIM_EOF−This provides a firmware reset to the frame sequencer and parts of the buffer manager.
This would be required if an asynchronous stop of the data stream occurs. Pulsing this HIGH
then LOW resets all counters and establishes a ‘beginning of frame’ state. DCOACT in
RDDST AT must be LOW to allow SIM_EOF to have any effect. If SIM_EOF is set, no data or
1. The information in register 0xF0C3 is a copy of the status byte written to the data buffer at the end of every frame.
SYNCERR, DATERR and CRCERR are essentially unusable since they are valid only long enough to be written to
the buffer.
Table 46 RDDSTAT field description
FIELDLOGICDESCRIPTION
SYNCERR0Good synchronization detected (valid for 120 ns at the end of a sector).
DATERR0Good data (valid for 120 ns at the end of a sector).
CRCERR0Good CRC (valid for 120 ns at the end of a sector).
HDRERR0Good header.
If the automatic storage is selected, assertion of HDRERR inhibits data storage.
1EFAB during reception of header (valid while HDRRDY set).
If the automatic storage is selected, assertion of HDRERR inhibits data storage.
HDRRDY−When set, a valid header is available. If the header is not read within a frame time, this
remains set until the next synchronization pattern and will be set again when the next
header arrives. It is cleared when any of the header bytes are read. This bit generates an
interrupt to the microcontroller when in data mode.
QFRMRDY−When set, all ten Q-channel bytes are received waiting to be read (BADQ is known). It is
reset at the end of frame or when any of the Q-channel bytes are read. This bit generates an
interrupt to the microcontroller when in audio mode.
BADQ−If Q-channel information failed CRC then BADQ is set. It is reset on next good CRC check or
on end of frame if DCOACT is running. If DCOACT is not running (i.e. audio mode) BADQ is
reset on next detection of sub-code gap. If AUTOSTR in WTDIR is selected, assertion of
BADQ inhibits audio data storage.
DCOTACT−Set when data is being shifted an and stored in the buffer: this will remain HIGH for the
entire transmission.
DATA BYTE
1996 Jun 1933
Page 34
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
11 BUFFER MANAGER
11.1Front-end to buffer manager interface
The buffer manager interface to the front-end is write only with no handshaking. The front-end passes one byte of data
and a write strobe to the buffer manager; this byte will be one of five types of data (see Table 47). The data byte is latched
and the interface is given the highest priority thus no wait signal is required. The other signals passed from the front-end
logic are an end-of-frame strobe (which is the same as the status byte write strobe), a software-generated reset pulse
(used to reset the front-end counters), and a reset pulse for the Q-channel and sub-code offset counters.
The buffer manager provides the remainder of the logic to write the data into the RAM and keep track of the frame
addresses and offset addresses. This logic consists of a 12-bit frame offset counter FEOFF, for data and an 9-bit frame
counter; this is a relative frame number and is not related to the CD-ROM frame number. Offset counters are also
provided for the four other types of data. The other offset address generators are based on fixed addresses, and they
will be loaded with the start address at the beginning of each frame. The five types of data from the front-end are loaded
into the frame map as shown in Table 47.
Table 47 Data types from the front-end
STARTENDLENGTHDATA TYPE
0x0000x92F0x930header, data and parity
0x9300x93F0x010Q-channel
0x9400x99F0x060sub-channel
0x9A00xAC50x126error flags
0xBDE0xBDE0x001status byte
Initially the front-end frame counter and all of the offset counters are cleared by reset or loaded with the contents of
FEFRM# when the last frame as specified by LASTFRM is filled; therefore FEFRM# should be loaded with the required
starting frame number. The data frame offset counter, FEFRMOFF, may be loaded for test purposes, but is cleared at
the end of each frame.
LASTFRM establishes the limit of the frame memory. This register should be loaded with the required number of frames;
the amount of memory used is 3 kbytes times the number of frames. The front-end frame address counter uses this value
to determine the correct location to clear the counter.
Once the data load process starts, the offset counter (FEFRMOFF) increments after each byte is written into memory.
This process continues until an end of frame signal is received from the front-end logic. If an error occurs and the offset
counter increments past the maximum 2352, an interrupt will be issued to the microcontroller.
Table 48 Front-end frame offset: 0xF0E2, F0E3
MNEMONICR/W
76543210
FEFRMOFFR/WOFFSET7 to OFFSET0
FEFRMOFFR/W−−−−OFFSET11 to OFFSET8
This register allows the front-end frame offset counter to be read and reloaded. The counter associated with these
registers is loaded after the most significant byte is written; the least significant byte must be written first to ensure that
the counter is loaded correctly. If a DRAM access is in progress that uses the address from the counter, the update will
be delayed until the access is complete. This counter is cleared on reset or after each frame is loaded into buffer memory.
Therefore, this register should not be loaded during normal operation.
This register allows the front-end frame number counter to be read and reloaded. The counter associated with these
registers is loaded after the most significant byte is written; the least significant byte must be written first to ensure that
the counter is loaded correctly. If a DRAM access is in progress that uses the address from the counter, the update will
be delayed until the access is completed. This counter is cleared on reset or when the last frame, as specified by
LASTFRM, is filled. Therefore, this register should only be loaded if a non-zero start frame number is required. The frame
counter is automatically cleared at the end of the frame buffer memory and thus multiple passes of a non-zero start
address will require a re-load for each pass; it is not practical to do this in real-time.
Table 50 Last frame number for storage: 0xF0F8, F0F9
These registers are used by the buffer manager to set the top of frame storage memory (wrap point). Any memory past
this point is available for general usage by the microcontroller. The outputs of the registers are used directly to control
DRAM access cycles, and will affect any current DRAM cycle in progress. Both the SCSI address counter and the
front-end frame address counter use this value to determine the correct location to clear their respective frame counters.
11.2Microcontroller to buffer manager interface
The microcontroller interface allows the microcontroller to read or write any register or the frame store memory. Frame
and offset registers are used to update the counters after the most significant byte has been loaded. Frame store memory
is addressed using a frame number register controller by the microcontroller. Logic is provided to allow the frame number
of the last complete frame received (LSTCMPFM) from the front-end to be read by the microcontroller for the purpose of
setting the microcontroller frame address. Memory beyond the last frame number is available to the microcontroller using
the microcontroller bottom 32 kbyte located at 0x0000 to 0x7FFF. The 4 kbyte segment at 0x8000 to 0x8FFF is used to
address the current frame memory. Also, the next frame may be accessed at 0x9000 to 0x9FFF, and the current frame
plus 2 may be accessed at 0xA000 to 0xAFFF. A page register is provided to allow the microcontroller to address the
complete memory range in 32 kbyte pages. All microcontroller accesses to memory are single byte read or write cycles.
All microcontroller accesses to memory will generate a wait state. If no other accesses to memory are in progress then
a minimum wait state cycle will be generated. If, however, other cycles are in progress then the microcontroller is forced
to wait until the lower priority access cycles finish and any high priority access cycles are completed. The worst case wait
is four complete access cycles; a total of 20 clock cycles in byte mode and 32 cycles in nibble mode.
The ECC logic is able to access the buffer manager frame memory in either byte or burst mode. The ECC logic provides
an offset address and uses a frame address programmed by the microcontroller, ECCFRM#. The logic can write a single
byte or variable number of bytes. In the event of an access to a variable number of bytes, the ECC logic will assert the
signal BURST and EREQ to indicate that a large number of cycles are requested. For each read or write cycle, the buffer
manager will toggle EACK HIGH for one clock cycle to indicate that one byte of data has been read from or written to the
memory. A single byte cycle will be the same with the exception that BURST will remain negated (LOW). In the event of
a higher priority memory access request during a burst cycle, EACK will remain LOW for the duration of the higher priority
access cycle. At the end of the higher priority access, the burst cycle will resume and EACK will again toggle HIGH after
each read or write is completed.
Table 52 ECC frame number address registers: 0xF0F4, F0F5; notes 1 and 2
1. These registers provide the frame number address for ECC access to memory. The counter associated with these
registers is loaded after the most significant byte is written; the least significant byte must be written first to ensure
that the counter is loaded correctly. If a DRAM access is in progress that uses the address from the counter, the
update will be delayed until the access is completed.
2. ECCFRM# is used to determine the frame address for all ECC operations. This register must be reloaded for each
frame accessed by the ECC.
11.4SCSI to buffer manager interface
The SCSI registers should be loaded prior to starting an
SCSI transfer. The SCSIMOD register should be loaded
first. BYT/PAG from this register is used to control the type
of DRAM access used by the SCSI interface. If BYT/PAG
is HIGH then burst mode access cycles are selected;
multiple CAS access cycles are used to access data as
fast as possible. RD_BUF from SCSIMOD controls the
direction of data flow to the buffer memory; this bit is kept
LOW to allow reading of data from the DRAM buffer. If
RD_BUF is asserted then SCSI data will be written to the
DRAM buffer. OFF_ADR from SCSIMOD is used to select
between one and two offset mode for the SCSI transfer.
OFF_ADR LOW selects single offset mode in which one
block of data is transferred for each frame of the buffer.
DATA BYTE
The transfer block is specified by registers SCSIOFFS and
SCSIOFFE. For each frame, the transfer will start at the
address specified by SCSIOFFS and continue until the
address specified by SCSIOFFE is transferred. After each
block is transferred, the frame address SCSICFRM will be
incremented and the transfer will continue with the same
address block from the next frame. If OFF_ADR is set,
then two blocks of data are transferred. In the two offset
mode, both SCSIOFFS and SCSIOFFE are used to
access two independent register pairs; for simplicity, these
are called the A registers and the B registers. In this event,
the transfer for each frame is a two step process.
First, the offset block specified by SCSIOFFS-A and
SCSIOFFE-A is transferred; the transfer address range is
from SCSIOFFS-A to SCSIOFFE-A and includes both the
start and end addresses. After the first offset block is
1996 Jun 1936
Page 37
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
transferred, the second offset block as specified by
SCSIOFFS-B and SCSIOFFE-B is transferred. The frame
address will not be incremented until after both offset
blocks are transferred. Once both offset blocks are
transferred, the frame address is incremented and again
the two offset blocks are transferred for the next frame.
Reading and writing of the A and the B registers is
controlled by an automatic switching after the most
significant bytes of the registers are written. After
power-up or reset the pointer to the A registers will be
selected. If the dual offset mode is selected, the A/B switch
will be toggled when the most significant bytes of the
registers are written; either the most significant bytes of
SCSIOFFS or SCSIOFFE. Any future reads or writes will
access the B registers.
The process of loading and reading the two SCSI offset
address pairs can be monitored and controlled by
OFF_STR and OFF_END from SCSIMOD. Reading
OFF_STR shows the status of the A/B switch for the
SCSIOFFS-A/B registers; reading OFF_END shows the
status of the A/B switch for the SCSIOFFE-A/B registers.
A write to SCSIMOD with OFF_STR LOW will clear the
A/B switch for the SCSIOFFS registers; a write to
SCSIMOD with OFF_END LOW will clear the A/B switch
for the SCSIOFFE registers.
SAA7385
when the last frame as specified by LASTFRM is
transferred. To update the SCSI frame address counter,
SCSISFRM must be rewritten. The current SCSI frame
address is available by reading SCSICFRM. The frame
counter is automatically cleared at the end of the frame
buffer memory and thus multiple passes of a non-zero start
address will require a re-load for each pass; it is not
practical to do this in real-time.
The SCSIOFFS registers access either one or two register
pairs as controlled by SCSIMOD. SCSIOFFS determines
the starting offset address for a SCSI transfer.
The SCSIOFFE register accesses either one or two
register pairs as controlled by SCSIMOD. SCSIOFFE
determines the ending offset address for a SCSI transfer.
Remarks:
• If two offset pairs are used, the A start offset must be
written last to ensure that the correct offset start address
is loaded into the counter.
• In the two offset mode, reading the register after loading
is not possible due to the automatic switching feature; if
the A offset pair is written, and the register pair is read,
the B offset pair would be read.
SCSISFRM is used to determine the starting frame
address for all SCSI operations. The associated counter is
automatically incremented after each frame, and is cleared
Table 53 SCSI offset start register (A and B): 0xF0E8, F0E9; note 1
MNEMONICR/W
76543210
SCSIOFFSR/WOFFSET7 to OFFSET0
SCSIOFFSR/W−−−−OFFSET11 to OFFSET8
Note
1. These registers, together with the offset end registers, allow full control over the number of frame bytes that will be
transferred to the SCSI port.
DATA BYTE
1996 Jun 1937
Page 38
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 54 SCSI offset end registers (A and B): 0xF0EA, F0EB; note 1
MNEMONICR/W
76543210
SCSIOFFER/WOFFSET7 to OFFSET0
SCSIOFFER/W−−−−OFFSET11 to OFFSET8
Note
1. These registers together with the offset start registers, allow full control over the number of frame bytes that will be
transferred to the SCSI port.
1. This register determines the starting frame number for an SCSI transfer. The outputs of the registers are used to
directly control DRAM access cycles, and will affect any current DRAM cycle in progress. The SCSI frame pointer
will wrap back to this point.
DATA BYTE
DATA BYTE
Table 56 SCSI current transfer frame: 0xF0EE, F0EF; note 1
1. This register allows the current SCSI frame transfer number to be read.
11.5Miscellaneous buffer manager considerations
The following bandwidth limitation must be observed in normal operation:
• All burst mode operations (SCSI and ECC) take twice as long in nibble mode, and single cycle operations take 60%
longer; 236 ns compared with 147.5 ns. For this reason, operation of the DRAM interface at the maximum 8 times
transfer rate in nibble mode is not supported.
• In byte mode, only 833 ns is available between each data write from the front-end at the maximum 8 times transfer
rate. At the end of the frame, multiple front-end byte writes may stack up and therefore it is recommended that the
80C32 avoids DRAM access at the end of the frame.
If two SCSI offset pairs are used, the A start must be written last to ensure that the correct offset start address is loaded
into the counter.
In the two SCSI offset mode, reading the register after loading is not possible due to the automatic switching feature.
DATA BYTE
1996 Jun 1938
Page 39
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
11.653CF94 related registers
In the 53CF94 SCSI controller, some registers are read only and others are write only. These share the same address
and the multiplexing between the two depends on the read or write select.
This part contains only a brief description of the register definitions. For a more detailed definition, see the data sheet for
the SCSI device.
Table 57 Transfer count registers: 0xF0A4, F0A5 and F0BE- 53CF94 addresses: 0x00, 01, 0E; note 1
MNEMONICR/W
76543210
TCLOWR/WDATA7DATA6DATA5DATA4DATA3DATA2DATA1DATA0
TCMIDR/WDATA7DATA6DATA5DATA4DATA3DATA2DATA1DATA0
TCHIGHR/WDATA7DATA6DATA5DATA4DATA3DATA2DATA1DATA0
Note
1. These registers form the 24-bit transfer count value for DMA operations; they specify the number of bytes that are
transferred.
1. The FIFO is a 16 × 9-bit buffer between the SCSI interface and the memory. The SCSI command packet will be
present in this FIFO ready to be read by the microcontroller at the end of the SCSI command phase.
1. The command register is a two-deep read/write register used to pass commands to the SCSI controller; up to two
commands can be stacked at the same time. When ENDMA is set, the command is a DMA instruction.
Table 60 Status register and destination ID: 0xF0AC - 53CF94 address 0x04; note 1
MNEMONICR/W
76543210
STATRINTGEPETCVGCMSGC/DI/O
STATW−−−−−ID2ID1ID0
DATA BYTE
DATA BYTE
DATA BYTE
Note
1. This register contains the flags indicating the occurrence of certain events.
1996 Jun 1939
Page 40
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
Table 61 STAT field description
FIELDDESCRIPTION
MSG, C/D, I/O These indicate the phase on the SCSI bus.
VGCValid Group Code; set if the group code matches code defined in ANSI X3.131-1986.
TCTerminate Count; set when transfer count decrements to zero.
PEParity Error; set if parity checking is enabled and a SCSI parity error occurs.
GEGross Error; set on various error conditions. These errors do not cause interrupts.
INTInterrupt. Indicates whether device is trying to interrupt the microcontroller.
ID2 to ID0Specifies the encode destination for selection or re-selection.
INTRSRSTILCMDDISBSFCRESELSATNSEL
INTWTIMEOUT7 to TIMEOUT0
Note
1. This register is used in conjunction with STAT and SEQSTP to determine the cause of an interrupt.
SAA7385
Table 63 INT field description
FIELDDESCRIPTION
SELSelected; set during selection phase if selected as a target with ATN negated.
SATNSelected with ATN; set during selection if selected as a target with ATN asserted.
RESELReselected; set during reselection phase if reselected as an initiator.
FCFunction complete; set after any target mode command has been completed.
BSBus service. Indicates that another device is requesting service; in target mode it is asserted
whenever the initiator asserts ATN.
DISDisconnect. In target mode this is asserted and as a Terminate Sequence or a Command Complete
Sequence command causes disconnection.
ILCMDIllegal command; set when a reserved code is placed in CMD or when the command is from a mode
group.
SRSTSCSI reset detect. This may be set if a reset on the SCSI bus is detected.
TIMEOUT7 to
TIMEOUT0
Table 64 Sequence step register and synchronous transfer register: 0xF0AE - 53CF94 address 0x06; note 1
MNEMONICR/W
SEQSTPR−−−−SOMSS2SS1SS0
SEQSTPW−−−TRANSPERIOD4 to TRANSPERIOD0
Time-out period for response to selection or re-selection.
DATA BYTE
76543210
Note
1. The register fields are described in Table 65.
1996 Jun 1940
Page 41
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
Table 65 SEQSTP field descriptions
FIELDDESCRIPTION
SS2 to SS0Sequence step. Counter increments at various points in a command; may be used for error
recovery.
SOMSynchronous offset maximum. When clear, the synchronous offset has reached the maximum
value.
TRANSPERIOD Synchronous transfer period. Specifies minimum time between successive REQ or ACK pulses.
1. This register is enabled by setting the test mode in CONFIG1; after test mode is entered, a hardware reset or reset
command must occur before normal operation may resume.
Table 73 TEST field descriptions
FIELDDESCRIPTION
TARtarget mode
INITinitiator mode
HI-Zall outputs set to high impedance
Error correction and host interface IC for
CD-ROM (SEQUOIA)
13 SUMMARY OF CONTROL REGISTER MAP
Table 77 Control register map for the SAA7385
ADDRESSMNEMONICREAD/WRITEDESCRIPTION
F085ECCCTLR/WECC control register
F086ECCSTATRECC status register
F08ENUM_CORRECC register for the number of corrections
F091CLKSELWstart the clock synthesizer (doubler)
F092MODERheader mode byte from block decoder
F093FRMSRheader frame byte from block decoder
F09ASECSRheader seconds byte from block decoder
F09BMINSRheader minutes byte from block decoder
F09EUARTCTLR/WUART special control registers
F09FPRGMEMR/Wprogram memory control registers
F0A1WTS2BWS2B UART transmit buffer
F0A2RDS2BRS2B UART receive buffer
F0A3S2BSTATRS2B UART status register
F0A4TCLOWR/W53CF94 (00); transfer counter low
F0A5TCMIDR/W53CF94 (01); transfer counter middle
F0A6FIFOR/W53CF94 (02); FIFO
F0A7CMDR/W53CF94 (03); command register
F0A9RDTKRQ channel track number
F0AARDMDRQ channel mode number
F0ABRDMNRQ channel minutes number (absolute)
F0ACSTATR/W53CF94 (04); status register and destination ID
F0ADINTR/W53CF94 (05); interrupt register and time-out
F0AESEQSTPR/W53CF94 (06); sequence step and synchronous transfer period
F0AFFIFOFLGR/W53CF94 (07); FIFO flags and synchronous offset
F0B1RDSCRQ channel seconds (absolute)
F0B2RDFMRQ channel frames (absolute)
F0B3WTPWMR/Wpulse width modulator duty cycle select
F0B4CONFIG1R/W53CF94 (08); configuration register number 1
F0B5CLOCKW53CF94 (09); clock conversion factor
F0B6TESTW53CF94 (0A); test mode
F0B7CONFIG2R/W53CF94 (0B); configuration register number 2
F0B9WTGCTLWGLIC control registers (audio control)
F0BARDSWRdrive control switches register
F0BBFECTLR/Wfront-end control register
F0BCCONFIG3R/W53CF94 (0C); configuration register number 3
F0BDCONFIG4R/W53CF94 (0D); configuration register number 4
F0BETCHIGHR/W53CF94 (0E); transfer count high and SCSI ID
F0BFFIFOBTMW53CF94 (0F); FIFO bottom
F0C0BRGSELR/Wbaud rate generator select register
SAA7385
1996 Jun 1945
Page 46
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
ADDRESSMNEMONICREAD/WRITEDESCRIPTION
F0C1AUSWPR/Waudio byte swap control
F0C2GPIOCTLR/Wgeneral purpose bits control register
F0C3RDDSTATRdata status register
F0C9RDJMPRSRoption jumper register
F0D8FSTESTR/Wfrequency synthesizer test register
F0E2FEFRMOFFR/Wfront-end 8 LSBs; frame offset
F0E3FEFRMOFFR/Wfront-end 4 MSBs; frame offset (bit 0 to bit 3)
F0E4FEFRM#R/Wfront-end 8 LSBs of the frame
F0E5FEFRM#R/Wfront-end 3 MSBs of the frame (bit 0 to bit 2)
F0E6LSTCMPFMR8 LSBs; last complete frame number
F0E7LSTCMPFMR3 MSBs; last complete frame number (bit 0 to bit 2)
F0E8SCSIOFFSR/WSCSI 8 LSBs; offset start (A and B)
F0E9SCSIOFFSR/WSCSI 4 MSBs; offset start (bit 0 to bit 3)
F0EASCSIOFFER/WSCSI 8 LSBs; offset end (A and B)
F0EBSCSIOFFER/WSCSI 4 MSBs; offset end (bit 0 to bit 3)
F0ECSCSISFRMR/WSCSI 8 LSBs; start transfer frame number
F0EDSCSISFRMR/WSCSI 3 MSBs; start frame number (bit 0 to bit 2)
F0EESCSICFRMR/WSCSI 8 LSBs; current frame number
F0EFSCSICFRMR/WSCSI 3 MSBs; current frame number (bit 0 to bit 2)
F0F4ECCFRM#R/WECC 8 LSBs; frame number (frame address)
F0F5ECCFRM#R/WECC 3 MSBs; frame number (bit 0 to bit 2)
F0F6MICFRM#R/Wmicrocontroller 8 LSBs; frame number (frame address)
F0F7MICFRM#R/Wmicrocontroller 3 MSBs; frame number (bit 0 to bit 2)
F0F8LASTFRMR/Wlast frame number for storage 8 LSBs
F0F9LASTFRMR/Wlast frame number 3 MSBs (bit 0 to bit 2)
1. The EIAJ timing is directly related to the overspeed factor ‘n’ in the normal operating mode. In the lock-to-disc mode
‘n’ is replaced by the disc speed factor ‘d’.
1996 Jun 1948
Page 49
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
CLAB
DAAB
WSAB
EFAB
(error flags)
CLAB
DAAB
WSAB
EFAB
1
0
left
left LSB valid
15 14 13 12 11 10
right MSB validright LSB valid
clock period T
t
h
cy
76543210
8
9
right
t
CL
t
su
VDD − 0.8 V
0.8 V
t
CH
V
DD
0.8 V
SAA7385
− 0.8V
MGE399
handbook, full pagewidth
CLAB
DAAB
WSAB
EFAB
CLAB
DAAB
WSAB
EFAB
10
Fig.13 I2S-bus timing diagram.
17
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
left
clock period T
t
h
cy
t
CL
t
VDD − 0.8 V
0.8 V
right
t
CH
V
− 0.8V
DD
0.8 V
su
MGE400
Fig.14 EIAJ timing diagram.
1996 Jun 1949
Page 50
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
15.3R-W timing (see Fig.15)
The data from sub-code R-W may be read via the V4 pin
from the CD-decoder and has a format similar to RS232.
The sub-code synchronization word is formatted by a
pause of 200 µs minimum. Each sub-code byte starts with
a logic 1 followed by seven bits (Q to W). The gap between
bytes is variable between 1.3 and 90 µs.
handbook, full pagewidth
200 µs min
W96
11.3
µs
1 Q1R1S1T1U1V1W1
SAA7385
15.4C-flag timing (see Fig.16)
A 1-bit flag signal is input to the CFLAG pin. This signal
shows the status of the error corrector and interpolator and
is updated every frame.
11.3 µs min
90 µs max
1
MGE401
handbook, full pagewidth
Fig.15 Sub-code formatting and timing from the V4 pin.
11.3
µs
F1F2F3F4F5F6F7
45.4 µs
(nominal speed)
Fig.16 C-flag output timing.
MGE402
1996 Jun 1950
Page 51
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
15.5S2B interface timing
The S2B serial interface consists of four lines (see Fig.17):
Transmit data (TXD)
Receive data (RXD)
Data path ready to accept data; active LOW (CPR)
Basic engine ready to accept data; active LOW (SPR).
These are used for communication. TXD and CPR for
sending acknowledges and information data to the data
path and RXD and SPR for receiving commands and
parameters from the data path. The data is transferred
frame-wise and asynchronously.
handbook, halfpage
data path
SAA7385
A data frame is proceeded by a start-bit (active LOW),
followed by the actual data byte, and again followed by a
parity bit (even parity), and a stop bit (active HIGH),
see Fig.18. In total, eleven bits per frame are incorporated.
The interface is full duplex, meaning data frames may be
transmitted and received simultaneously.
The bit-rate is selectable:
187.5 kbits/s with a 2.6% error
62.5 kbits/s with a 0.4% error
31.25 kbits/s with a 0.4% error.
basic engine
handbook, halfpage
CPR
RXD
CPR
TXD
SPR
sequoia
TXD
CPR
RXD
SPR
MGE403
Fig.17 S2B interface.
S0TXD01234567PS1
MGE404
Fig.18 S2B Timing.
1996 Jun 1951
Page 52
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
15.6SCSI interface timing
V
= 4.75 to 5.25 V; VSS=0V; T
DD
SYMBOLPARAMETERCONDITIONSMIN.MAX.UNIT
Target asynchronous send; see Fig.19
t
1
t
2
t
3
t
4
Data set-up time to REQ LOW60−ns
ACK LOW to REQ HIGH−40ns
Data hold time from ACK LOWFIFO not empty5−ns
ACK HIGH to REQ LOWdata already set-up−40ns
Target asynchronous receive; see Fig.20
t
1
t
2
t
3
t
4
ACK LOW to REQ HIGH−40ns
ACK HIGH to REQ LOWFIFO not full−40ns
Data set-up time to ACK LOW0−ns
Data hold time from REQ HIGH0−ns
Fast SCSI-2 single-ended transfers (10 Mbytes/s)
ARGET SYNCHRONOUS OUTPUT; see Fig.21
T
t
1
t
2
t
3
t
4
REQ or ACK assertion period35−ns
REQ or ACK negation period35−ns
Data set-up time to REQ or ACK LOW33−ns
Data hold time from ACK or REQ LOW45−ns
TARGET SYNCHRONOUS INPUT; see Fig.22
t
1
t
2
t
3
t
4
REQ or ACK assertion period20−ns
REQ or ACK negation period20−ns
Data set-up time to REQ or ACK LOW0−ns
Data hold time from ACK or REQ LOW10−ns
= −10 to +70 °C; unless otherwise specified.
amb
handbook, full pagewidth
SD7 to SD0
REQ
ACK
t
1
t
Fig.19 Target asynchronous send signal transitions.
1996 Jun 1952
t
3
2
t
4
MGE407
Page 53
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
REQ
ACK
SD7 to SD0
t
1
t
3
Fig.20 Target asynchronous receive signal transitions.
SAA7385
t
2
t
4
MGE408
handbook, full pagewidth
handbook, full pagewidth
SD7 to SD0
REQ/ACK
SD7 to SD0
REQ/ACK
t
3
t
4
t
1
Fig.21 Target synchronous output.
t
3
t
4
t
1
t
2
MGE409
t
2
MGE410
Fig.22 Target synchronous input.
1996 Jun 1953
Page 54
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
15.7Microprocessor interface
V
= 4.75 to 5.25 V; VSS=0V; T
DD
SYMBOLPARAMETERMIN.MAX.UNIT
Program memory fetch timing; see Fig.23
t
AVLL
t
LLAX
t
LLPL
t
PLPH
t
PLIV
t
PXIX
t
PXIZ
t
AVIV
t
PLAZ
address valid to ALE LOW15−ns
address hold after ALE LOW35−ns
ALE LOW to PSEN LOW25−ns
PSEN pulse width80−ns
PSEN LOW to valid input instruction−65ns
Input instruction hold after PSEN0−ns
Input instruction float after PSEN−30ns
address to valid input instruction−130ns
PSEN low to address float−6ns
= −10 to +70 °C; unless otherwise specified.
amb
handbook, full pagewidth
PSEN
LA7 to LA0
A15 to A8
t
PLAZ
t
PLIV
t
PLPH
t
AVLL
t
LLAX
+ t
+ t
LLPL
AVLL
t
AVIV
Fig.23 Program code fetch cycle.
t
PXIX
t
PXIZ
MGE411
1996 Jun 1954
Page 55
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
15.8DRAM interface (the SAA7385 is designed to operate with standard 70 ns DRAMs)
V
= 4.75 to 5.25 V; VSS=0V; T
DD
SYMBOLPARAMETERMIN.MAX.UNIT
DRAM interface timing; see Figs 24 to 28
t
acc;CA
t
hCA;RAS
t
su;CA
t
su;RA
t
acc;CAS
t
h;CA
t
W;CAS
t
h;CAS
t
CASLZ
t
pCAS
t
acc;pCAS
t
pCAS;RAS
t
h;CAS
t
su;CAS
t
wCASL
t
h;DAT
t
hDAT;RAS
t
su;DAT
t
d;OFF
t
cy;FPR/W
t
cy;FPR-W
t
acc;RAS
t
dRAS;CA
t
h;RA
t
W;RAS
t
W;RASFP
t
CA;RASL
t
cy;R/W
t
dRAS;CAS
t
su;R
t
hrR;CAS
t
REF
t
pRAS
t
pRAS;CAS
t
hr;RAS
t
h;RAS
t
cy;R-W
access time from column address−35ns
column address hold time from RAS55−ns
column address set-up time0−ns
row address set-up time0−ns
access time from CAS−20ns
column address hold time15−ns
CAS pulse width2010000ns
CAS hold time (CBR refresh)15−ns
CAS to output in low impedance3−ns
CAS precharge time10−ns
access time from CAS precharge−40ns
CAS to RAS precharge time5−ns
CAS hold time70−ns
CAS set-up time (CBR refresh)5−ns
write command to CAS lead time20−ns
data input hold time15−ns
data input hold time from RAS55−ns
data input set-up time0−ns
output buffer turn off delay320ns
fast page mode read or write cycle time40−ns
fast page mode read-write cycle timenote 1−ns
access time from RAS−70ns
RAS to column address delay time1535ns
row address hold time10−ns
RAS pulse width7010000ns
RAS pulse width (fast page mode)70100000ns
column address to RAS lead time35−ns
random read or write cycle time130−ns
RAS to CAS delay time2050ns
read command set-up time0−ns
read command hold time (referenced to CAS)0−ns
refresh period−32ns
RAS precharge time50−ns
RAS to CAS precharge time0−ns
read command hold time (referenced to RAS)0−ns
RAS hold time20−ns
read-write cycle timen/a
= −10 to +70 °C; unless otherwise specified.
amb
(1)
−ns
1996 Jun 1955
Page 56
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
SYMBOLPARAMETERMIN.MAX.UNIT
t
RASL;W
t
trans
t
hW
t
hW;RAS
t
su;WE
t
W;W
t
h;WE
t
su;WE
Note
1. Not applicable.
write command to RAS lead time20−ns
transition time (rise or fall)350ns
write command hold time15−ns
write command hold time (referenced to RAS)55−ns
WE command set-up time0−ns
write command pulse width15−ns
WE hold time (CBR refresh)10−ns
WE set-up time (CBR refresh)10−ns
handbook, full pagewidth
RAS
CAS
ADDRESS
DATA
t
pCAS;RAS
t
su;RA
ROW
t
dRAS;CA
t
h;RA
t
dRAS;CAS
t
hCA;RAS
t
su;CA
t
W;RAS
t
h;CAS
COLUMN
t
t
h;CA
t
CASLZ
cy;R/W
t
t
acc;CA
t
acc;RAS
t
acc;CAS
t
h;RAS
W;CAS
t
CA;RASL
t
pRAS
t
d;OFF
ROW
MGE412
Fig.24 DRAM read cycle.
1996 Jun 1956
Page 57
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
RAS
CAS
t
pCAS;RAS
t
su;RA
t
dRAS;CA
t
h;RA
t
dRAS;CAS
t
hCA;RAS
t
su;CA
t
W;RAS
t
h;CAS
t
h;CA
t
cy;R/W
t
h;RAS
t
W;CAS
t
CA;RASL
t
pRAS
SAA7385
ADDRESS
DATA
ROW
COLUMN
t
t
su;DAT
hDAT;RAS
t
h;DAT
Fig.25 DRAM early write cycle.
ROW
MGE413
1996 Jun 1957
Page 58
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
h;RAS
t
CA;RASL
W;CAS
t
pCAS
t
t
h;CA
t
su;CA
t
COLUMN
acc;CA
t
t
d;OFF
t
acc;CAS
acc;pCAS
t
d;OFF
t
CASLZ
t
SAA7385
MGE414
ndbook, full pagewidth
W;RASFP
t
W;CAS
t
cy;FPR/W
t
pCAS
t
W;CAS
t
h;CAS
t
dRAS;CAS
t
pCAS;RAS
t
hCA;RAS
t
dRAS;CA
t
h;CA
t
su;CA
t
h;CA
t
su;CA
t
h;RA
t
su;RA
t
COLUMNCOLUMN
ROW
acc;CA
t
t
acc;CA
t
t
acc;CAS
acc;pCAS
t
d;OFF
t
acc;CAS
t
acc;pCAS
CASLZ
t
CASLZ
t
Fig.26 Fast page mode DRAM read cycle.
RAS
CAS
1996 Jun 1958
DATA
ADDRESS
Page 59
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
h;RAS
t
W;CAS
t
pCAS
t
CA;RASL
t
h;CA
t
su;CA
t
COLUMN
h;DAT
t
su;DAT
t
SAA7385
MGE415
ndbook, full pagewidth
W;RAS
t
W;CAS
t
cy;FPR/W
t
pCAS
t
W;CAS
t
h;CAS
t
dRAS;CAS
t
pCAS;RAS
t
hCA;RAS
t
dRAS;CA
t
h;CA
t
su;CA
t
h;CA
t
su;CA
t
h;RA
t
su;RA
t
COLUMNCOLUMN
ROW
h;DAT
t
su;DAT
t
h;DAT
t
su;DAT
t
hDAT;RAS
t
Fig.27 Fast page mode DRAM write cycle.
RAS
CAS
1996 Jun 1959
DATA
ADDRESS
Page 60
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
handbook, full pagewidth
t
W;RAS
RAS
t
pCAS;RAS
CAS
t
h;RA
ROWROW
ADDRESS
t
su;RA
t
cy;R/W
t
pRAS
t
pRAS;CAS
SAA7385
MGE416
Fig.28 DRAM refresh cycle.
1996 Jun 1960
Page 61
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
16 PACKAGE OUTLINE
SQFP128: plastic shrink quad flat package; 128 leads (lead length 1.6 mm); body 14 x 20 x 2.8 mm
c
y
X
A
10265
103
64
SOT387-2
pin 1 index
128
1
w M
b
e
DIMENSIONS (mm are the original dimensions)
A
A
UNIT
max.min.
mm
3.40
Note
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.
1
A
2
3.05
2.55
p
D
H
D
0510 mm
A
b
3
p
0.27
0.17
0.20
0.09
0.250.25
(1)
cE
D
39
38
scale
(1)
14.020.00.50
e
H
E
w M
b
p
v M
A
B
v M
B
eH
H
D
17.2
23.2
A
E
LL
E
A
2
0.95
0.65
A
1
p
detail X
0.080.100.201.60
(A )
L
p
L
ywvθ
3
θ
o
7
o
0
OUTLINE
VERSION
SOT387-2
IEC JEDEC EIAJ
REFERENCES
1996 Jun 1961
EUROPEAN
PROJECTION
ISSUE DATE
96-03-14
Page 62
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
CD-ROM (SEQUOIA)
17 SOLDERING
17.1Introduction
There is no soldering method that is ideal for all IC
packages. Wave soldering is often preferred when
through-hole and surface mounted components are mixed
on one printed-circuit board. However, wave soldering is
not always suitable for surface mounted ICs, or for
printed-circuits with high population densities. In these
situations reflow soldering is often used.
This text gives a very brief insight to a complex technology.
A more in-depth account of soldering ICs can be found in
our
“IC Package Databook”
17.2Reflow soldering
Reflow soldering techniques are suitable for all QFP
packages.
The choice of heating method may be influenced by larger
plastic QFP packages (44 leads, or more). If infrared or
vapour phase heating is used and the large packages are
not absolutely dry (less than 0.1% moisture content by
weight), vaporization of the small amount of moisture in
them can cause cracking of the plastic body. For more
information, refer to the Drypack chapter in our
Reference Handbook”
Reflow soldering requires solder paste (a suspension of
fine solder particles, flux and binding agent) to be applied
to the printed-circuit board by screen printing, stencilling or
pressure-syringe dispensing before package placement.
Several techniques exist for reflowing; for example,
thermal conduction by heated belt. Dwell times vary
between 50 and 300 seconds depending on heating
method. Typical reflow temperatures range from
215 to 250 °C.
Preheating is necessary to dry the paste and evaporate
the binding agent. Preheating duration: 45 minutes at
45 °C.
(order code 9398 652 90011).
“Quality
(order code 9397 750 00192).
SAA7385
17.3Wave soldering
Wave soldering is not recommended for QFP packages.
This is because of the likelihood of solder bridging due to
closely-spaced leads and the possibility of incomplete
solder penetration in multi-lead devices.
If wave soldering cannot be avoided, the following
conditions must be observed:
• A double-wave (a turbulent wave with high upward
pressure followed by a smooth laminar wave)
soldering technique should be used.
• The footprint must be at an angle of 45° to the board
direction and must incorporate solder thieves
downstream and at the side corners.
Even with these conditions, do not consider wave
soldering the following packages: QFP52 (SOT379-1),
QFP100 (SOT317-1), QFP100 (SOT317-2),
QFP100 (SOT382-1) or QFP160 (SOT322-1).
During placement and before soldering, the package must
be fixed with a droplet of adhesive. The adhesive can be
applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the
adhesive is cured.
Maximum permissible solder temperature is 260 °C, and
maximum duration of package immersion in solder is
10 seconds, if cooled to less than 150 °C within
6 seconds. Typical dwell time is 4 seconds at 250 °C.
A mildly-activated flux will eliminate the need for removal
of corrosive residues in most applications.
17.4Repairing soldered joints
Fix the component by first soldering two diagonallyopposite end leads. Use only a low voltage soldering iron
(less than 24 V) applied to the flat part of the lead. Contact
time must be limited to 10 seconds at up to 300 °C. When
using a dedicated tool, all other leads can be soldered in
one operation within 2 to 5 seconds between
270 and 320 °C.
1996 Jun 1962
Page 63
Philips SemiconductorsPreliminary specification
Error correction and host interface IC for
SAA7385
CD-ROM (SEQUOIA)
18 DEFINITIONS
Data sheet status
Objective specificationThis data sheet contains target or goal specifications for product development.
Preliminary specificationThis data sheet contains preliminary data; supplementary data may be published later.
Product specificationThis data sheet contains final product specifications.
Limiting values
Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or
more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation
of the device at these or at any other conditions above those given in the Characteristics sections of the specification
is not implied. Exposure to limiting values for extended periods may affect device reliability.
Application information
Where application information is given, it is advisory and does not form part of the specification.
19 LIFE SUPPORT APPLICATIONS
These products are not designed for use in life support appliances, devices, or systems where malfunction of these
products can reasonably be expected to result in personal injury. Philips customers using or selling these products for
use in such applications do so at their own risk and agree to fully indemnify Philips for any damages resulting from such
improper use or sale.
1996 Jun 1963
Page 64
Philips Semiconductors – a worldwide company
Argentina: see South America
Australia: 34 Waterloo Road, NORTH RYDE, NSW 2113,
United States: 811 East Arques Avenue, SUNNYVALE, CA 94088-3409,
Tel. +1 800 234 7381, Fax. +1 708 296 8556
Uruguay: see South America
Vietnam: see Singapore
Yugoslavia: PHILIPS, Trg N. Pasica 5/v, 11000 BEOGRAD,
Tel. +381 11 825 344, Fax.+381 11 635 777
For all other countries apply to: Philips Semiconductors, Marketing & Sales Communications,
Building BE-p, P.O. Box 218, 5600 MD EINDHOVEN, The Netherlands, Fax. +31 40 27 24825
The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed
without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license
under patent- or other industrial or intellectual property rights.
Printed in The Netherlands517021/50/01/pp64 Date of release: 1996 Jun 19Document order number: 9397 750 00917
Internet: http://www.semiconductors.philips.com/ps/
(1)ADDRESS CONTENT SOURCE June 19, 1996
Loading...
+ 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.