NPC SM5904CF

SM5904CF
compression and non compression type
shock-proof memory controller
NIPPON PRECISION CIRCUITS INC.
Overview
The SM5904CF is a compression and non compression type shock-proof memory controller LSI for
compact disc players. The compression level can
be set in 4 levels, and external 4M DRAM can be
connected to expand the memory to 4M bits. Digital
attenuator, soft mute and related functions are also
incorporated. It operates from a 2.5 to 3.3 V supply
voltage range.
Features
- 2-channel processing
- Serial data input
⋅ 2s complement, 16-bit/MSB first, right-justified
⋅ Data residual detector:
format
- Wide capture function
(up to 3 × speed input rate)
8-bit setting
⋅ Soft attenuator function
- System clock input
⋅ 384fs (16.9344 MHz)
- Shock-proof memory controller
⋅ ADPCM compression method
⋅ 4-level compression mode selectable
4-bit compression mode 2.78 s/Mbit
5-bit compression mode 2.22 s/Mbit
6-bit compression mode 1.85 s/Mbit
Full-bit non compression mode 0.74 s/Mbit
⋅ External DRAM configurations usable
2 × 4M DRAM (1M × 4 bits)
Internal and External 4M DRAM
1 × 4M DRAM (1M × 4 bits)
Only Internal 4M DRAM
- Compression mode selectable
- Microcontroller interface
⋅ Serial command write and status read-out
15-bit operation, 16-bit output
⋅ Digital attenuator
Noiseless attenuation-level switching
(256- step switching in 23 ms max.)
⋅ Soft mute function
Mute ON in 23 ms max.
Direct return after soft mute release
⋅ Forced mute
- Extension I/O
Microcontroller interface for external control
using 4 extension I/O pins
- +2.5 to + 3.3 V operating voltage range
- Schmitt inputs
All input pins (including I/O pins) except CLK
(system clock)
- Reset signal noise elimination
Approximately 3.8 µs or longer (65 system
clock pulses) continuous LOW-level reset
- Digital audio interface (DIT)
- 44-pin QFP package (0.8 mm pin pitch)
Ordering Information
SM5904CF
44pin QFP
NIPPON PRECISION CIRCUITS-1
SM5904CF
Package dimensions (Unit: mm)
44-pin QFP
13.20 + 0.30
10.00 + 0.20
0.15 + 0.10
0.05
0 to 8
10.00 + 0.20
13.20 + 0.30
1.60
0.80
0.15 + 0.10
2.30MAX
2.05 + 0.10
0.80 + 0.20
0.10MAX
0.35 + 0.10
0.05
0.15MAX
A3
A2
A1
A0
A4
A5
A6
A7
A8
A9
NRAS
44
43
42
41
40
39
38
37
36
35
34
Pinout (Top View)
1
33
NWE
UC1
2
32
D1
UC2
3
31
D0
UC3
4
30
D3
UC4
5
29
D2
VSS2
6
28
NCAS2
DIT
7
27
NTEST2
NTEST1
8
26
YMCLK
25
YMDATA
SM5 9 0 4 C F
VDD2
15
16
17
18
19
20
21
22
ZSRDATA
YFLAG
YFCLK
YBLKCK
NRESET
ZSENSE
VDD1
YDMUTE
ZLRCK
23
14
11
ZSCK
YMLD
YSRDATA
13
24
YSCK
10
12
VSS1
YLRCK
CLK
9
NIPPON PRECISION CIRCUITS-2
SM5904CF
Pin description
Pin number
Pin name
I/O
Function
Setting
H
1
VDD2
-
VDD supply pin
2
UC1
Ip/O
Microcontroller interface extension I/O 1
3
UC2
Ip/O
Microcontroller interface extension I/O 2
4
UC3
Ip/O
Microcontroller interface extension I/O 3
5
UC4
Ip/O
Microcontroller interface extension I/O 4
6
VSS2
-
Ground
7
DIT
O
Digital audio interface
8
NTEST1
Ip
Test pin
9
CLK
I
16.9344 MHz clock input
10
VSS1
-
Ground
11
YSRDATA
I
Audio serial input data
12
YLRCK
I
Audio serial input LR clock
13
YSCK
I
Audio serial input bit clock
14
ZSCK
O
Audio serial output bit clock
L
Test
15
ZLRCK
O
Audio serial output LR clock
16
ZSRDATA
O
Audio serial output data
17
YFLAG
I
Signal processor IC RAM overflow flag
18
YFCLK
I
Crystal-controlled frame clock
19
YBLKCK
I
Subcode block clock signal
20
NRESET
I
System reset pin
21
ZSENSE
O
Microcontroller interface status output
22
VDD1
-
VDD supply pin
23
YDMUTE
I
Forced mute pin
24
YMLD
I
Microcontroller interface latch clock
25
YMDATA
I
Microcontroller interface serial data
26
YMCLK
I
Microcontroller interface shift clock
27
NTEST2
Ip
Test pin
28
NCAS2
O
DRAM2 CAS control(Use External DRAM)
29
D2
Ip/O
DRAM data input/output 2
30
D3
Ip/O
DRAM data input/output 3
31
D0
Ip/O
DRAM data input/output 0
32
D1
Ip/O
DRAM data input/output 1
33
NWE
O
DRAM WE control
34
NRAS
O
DRAM RAS control
35
A9
O
DRAM address 9
36
A8
O
DRAM address 8
37
A7
O
DRAM address 7
38
A6
O
DRAM address 6
39
A5
O
DRAM address 5
40
A4
O
DRAM address 4
41
A0
O
DRAM address 0
42
A1
O
DRAM address 1
43
A2
O
DRAM address 2
44
A3
O
DRAM address 3
Left channel
Right channel
Left channel
Right channel
Overflow
Reset
Mute
Test
Ip : Input pin with pull-up resistor Ip/O : Input/Output pin (With pull-up resistor when in input mode)
28, 33 to 44 pins for high-impedance output and 29 to 32 pins for input pull-up condition except for using external DRAM.
NIPPON PRECISION CIRCUITS-3
SM5904CF
Absolute maximum ratings
(VSS = 0V, VDD1, VDD2 pin voltage = VDD)
Parameter
Symbol
Rating
Unit
Supply voltage
VDD
- 0.3 to 4.6
V
Input voltage
VI
VSS - 0.3 to VDD + 0.3
V
Storage temperature
TSTG
- 40 to 125
˚C
Power dissipation
PD
600
mW
(*1) Refer to pin summary on the next page.
Note. Values also apply for supply inrush and switch-off.
Electrical characteristics
Recommended operating conditions
(VSS = 0V, VDD1, VDD2 pin voltage = VDD)
Parameter
Symbol
Rating
Unit
Supply voltage
VDD
2.5 to 3.3
V
Operating temperature
TOPR
−10 to 70
˚C
DC characteristics
Standard voltage: (VDD1 = VDD2 = 2.5 to 3.3 V, VSS = 0 V, Ta = −10 to 70 ˚C)
Parameter
Pin
Symbol
Condition
Rating
Min
Current consumption
Input voltage
VDD
IDD
CLK
H level
VIH1
L level
VIL1
VINAC
Output voltage
Input current
Input leakage current
Max
(*A)SHPRF ON
9
18
mA
(*A)Through mode
2.6
5
mA
0.7VDD
V
0.3VDD
AC coupling
VIH2
1.0
VP-P
V
H level
L level
VIL2
(*5)
H level
VIH3
L level
VIL3
(*4,6)
H level
VOH1
L level
VOL1
IOL = 0.5 mA
(*5,7)
H level
VOH2
IOH = - 0.5 mA
L level
VOL2
IOL = 0.5 mA
IIH1
VIN = VDD
10
30
0.2VDD
0.8VDD
V
V
0.2VDD
IOH = - 0.5 mA
V
0.8VDD
(*2,3,4)
CLK
Unit
Typ
VDD - 0.4
V
V
0.4
VDD - 0.4
V
V
0.4
V
60
µA
IIL1
VIN = 0V
10
30
60
µA
(*3)
IIL2
VIN = 0V
6
25
200
µA
3
(*4,5)
IIL3
VIN = 0V
1
6
µA
(*2,3,4,5)
ILH
VIN = VDD
- 10
10
µA
(*2)
ILL
VIN = 0V
- 10
10
µA
(*A) VDD1 = VDD2 = 3 V, CLK input frequency fXTI= 384fs = 16.9344 MHz, all outputs unloaded,
SHPRF: Shock-proof,
typical values are for VDD1 = VDD2 = 3 V.
NIPPON PRECISION CIRCUITS-4
SM5904CF
<Pin summary>
(*1)
Pin function
Clock input pin (AC input)
Pin name
CLK
(*2)
Pin function
Schmitt input pins
Pin name
YSRDATA, YLRCK, YSCK, YFLAG, YFCLK, NRESET,
YBLKCK, YDMUTE, YMLD, YMDATA, YMCLK
(*3)
(*4)
(*5)
(*6)
(*7)
Pin function
Schmitt input pin with pull-up
Pin name
NTEST1, NTEST2
Pin function
I/O pins (Schmitt input with pull-up in input state)
Pin name
UC1, UC2, UC3, UC4
Pin function
I/O pins (Schmitt input with pull-up in input state)
Pin name
D0, D1, D2, D3
Pin function
Outputs
Pin name
ZSCK, ZLRCK, ZSRDATA, ZSENSE
Pin function
Outputs
Pin name
NCAS2, NWE, NRAS, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, DIT
NIPPON PRECISION CIRCUITS-5
SM5904CF
AC characteristics
Standard voltage: VDD1 = VDD2 = 2.5 to 3.3 V, VSS = 0 V, Ta = −10 to 70 ˚C
(*) Typical values are for fs = 44.1 kHz
System clock (CLK pin)
Parameter
Symbol
Clock pulsewidth (HIGH level)
tCWH
tCWL
tCY
Condition
Rating
System clock
Clock pulsewidth (LOW level)
Clock pulse cycle
384fs
Unit
Min
Typ
Max
26
29.5
125
ns
26
29.5
125
ns
56
59
250
ns
System clock input
CLK
0.5VDD
t CWH
t CWL
t CY
Serial input (YSRDATA, YLRCK, YSCK pins)
Parameter
Symbol
YSCK pulsewidth (HIGH level)
tBCWH
tBCWL
tBCY
tDS
tDH
tBL
tLB
Rating
Min
YSCK pulsewidth (LOW level)
YSCK pulse cycle
YSRDATA setup time
YSRDATA hold time
Last YSCK rising edge to YLRCK edge
YLRCK edge to first YSCK rising edge
Typ
Unit
Max
75
ns
75
ns
150
ns
50
ns
50
ns
50
ns
50
ns
0
Condition
3fs
Memory system ON
YLRCK pulse frequency
(MSON=H)
See note below.
fs
fs
Memory system OFF
(MSON=L)
Note. When the memory system is OFF (through mode), the input data rate is synchronized to the system clock input (384fs), so input
data needs to be at 1/384 of this frequency. But, this IC can tolerate a certain amount of jitter. For details, refer to Through-mode
operation.
t BCY
t BCWH
t BCWL
YSCK
0.5VDD
t DS
t DH
YSRDATA
0.5VDD
t BL
YLRCK
t LB
0.5VDD
NIPPON PRECISION CIRCUITS-6
SM5904CF
Microcontroller interface (YMCLK, YMDATA, YMLD, ZSENSE pins)
Parameter
Symbol
Rating
Min
tMCWL
tMCWH
tMDS
tMDH
tMLWL
tMLS
tMLH
tr
tf
tPZS
YMCLK LOW-level pulsewidth
YMCLK HIGH-level pulsewidth
YMDATA setup time
YMDATA hold time
YMLD LOW-level pulsewidth
YMLD setup time
YMLD hold time
Rise time
Fall time
ZSENSE output delay
Unit
Typ
Max
30 + 2tCY
ns
30 + 2tCY
ns
30 + tCY
ns
30 + tCY
ns
30 + 2tCY
ns
30 + tCY
ns
30 + tCY
ns
100
ns
100
ns
100 + 3tCY
ns
Note. tCY is the system clock cycle time (59ns typ).
YMDATA
0.5VDD
t MDS
t MDH
YMCLK
0.5VDD
t MCWL
t MCWH
t MLS
t MLH
0.5VDD
YMLD
t PZS
t MLWL
0.5VDD
ZSENSE
tf
YMCLK
YMDATA
YMLD
tr
0.7 VDD
0.7 VDD
0.3 VDD
0.3 VDD
0.5VDD
Reset input (NRESET pin)
Parameter
Symbol
Rating
Min
First HIGH-level after supply voltage rising edge
NRESET pulsewidth
tHNRST
tNRST
0
64
Typ
Unit
Max
tCY (Note)
tCY (Note)
Note. tCY is the system clock (CLK) input (384fs) cycle time.
tCY = 59 ns, tNRST (min) = 3.8 µs when fs = 44.1 kHz
VDD1,VDD2
NRESET
t HNRST
t NRST
NIPPON PRECISION CIRCUITS-7
SM5904CF
Serial output (ZSRDATA, ZLRCK, ZSCK pins)
Parameter
Symbol
Condition
ZSCK pulsewidth
tSCOW
tSCOY
tDHL
tDLH
15 pF load
Rating
Min
ZSCK pulse cycle
ZSRDATA and ZLRCK output delay time
Unit
Typ
Max
1/96fs
15 pF load
1/48fs
15 pF load
0
60
ns
15 pF load
0
60
ns
ZSCK
0.5VDD
t SCOW
t SCOW
t SCOY
ZSRDATA
ZLRCK
0.5VDD
t DHL
t DLH
DRAM access timing (NRAS, NCAS2, NWE, A0 to A9, D0 to D3)
Parameter
Symbol
Condition
NRAS pulsewidth
tRASL
tRASH
tRCD
tCASH
tCASL
tRADS
tRADH
tCADS
tCADH
tCWDS
tCWDH
tCRDS
tCRDH
tWEL
tWCS
15 pF load
Rating
Min
NRAS falling edge to NCAS2 falling edge
NCAS2 pulsewidth
NRAS
Setup time
falling edge to address
Hold time
NCAS2
Setup time
falling edge to address
Hold time
NCAS2
Setup time
falling edge to data write
Hold time
NCAS2
Input setup
rising edge to data read
Input hold
NWE pulsewidth
NWE falling edge to NCAS2 falling edge
15 pF load
Refresh cycle
(fs = 44.1 kHz playback)
tREF
4M
Max
tCY(note)
tCY
tCY
tCY
tCY
tCY
tCY
tCY
tCY
tCY
tCY
5
3
15 pF load
15 pF load
Typ
Unit
2
5
15 pF load
3
15 pF load
1
15 pF load
1
15 pF load
1
15 pF load
5
15 pF load
3
15 pF load
3
40
ns
0
ns
15 pF load
6
15 pF load
3
tCY
tCY
Non compression
2.8
ms
6-bit compression
7.3
ms
Memory system ON
DRAM 5-bit compression
8.8
ms
Decode sequence operation(READ=H)
× 1 or × 2 4-bit compression
10.9
ms
Note. tCY is the system clock (CLK) input (384fs) cycle time. tCY = 59 ns when fs = 44.1 kHz
NIPPON PRECISION CIRCUITS-8
SM5904CF
DRAM access timing (with double DRAM) ∗ Use external DRAM.
t RASL
5 tCY
t RASH
3 tCY
NRAS
t RCD
2tCY
t CASH
5tCY
t CASL
3 tCY
NCAS2
A0 to A9
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
t RADS
1tCY
t RADH
1tCY
t CADS
1tCY
t CADH
5tCY
t CWDS
3tCY
,,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,
t CWDH
3tCY
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
D0 to D3
(WRITE)
t CRDS
D0 to D3
(READ)
t CRDH
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
t WCS
3tCY
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
t WEL
6 tCY
NWE
(WRITE)
The NWE terminal output is fixed HIGH during read timing.
DIT Interface (DIT pin)
Parameter
Symbol
Condition
Rating
Min
0 data H level
0 data L level
1 data H level
1 data L level
tDI0H
tDI0L
tDI1H
tDI1L
Typ
15 pF load
6
15 pF load
6
15 pF load
3
15 pF load
3
Unit
Max
tCY(Note)
tCY
tCY
tCY
Note. tCY is the system clock (CLK) input (384fs) cycle time. tCY = 59 ns when fs = 44.1 kHz.
0.5VDD
DIT
tDI0H
6tCY
tDI0L
6tCY
tDI1H tDI1L
3tCY 3tCY
NIPPON PRECISION CIRCUITS-9
SM5904CF
YBLKCK
YFCLK
YSRDATA
YSCK
YLRCK
ZSRDATA
ZSCK
SM5904
ZLRCK
Block diagram
Output Interface
Input Interface
Attenuator
Input Buffer
Control
Input 1
YFLAG
YMDATA
YMCLK
YMLD
Microcontroller
Interface
ZSENSE
DIT
Compression
Mode
UC1 to UC4
Through
Mode
General
Port
Decoder
Encoder
YDMUTE
Control
Input 2
NTEST1,2
D0 to D3
A0 to A9
NWE
NCAS2
CLK
4M DRAM / External DRAM Interface
NRAS
NRESET
NIPPON PRECISION CIRCUITS-10
SM5904CF
Functional description
SM5904CF has two modes of operation; shockproof mode and through mode.
The operating sequences are controlled using commands from a microcontroller.
Microcontroller interface
Commands from the microcontroller are input using
3-wire serial interface inputs; data (YMDATA), bit
clock (YMCLK) and load signal (YMLD).
In the case of a read command from the microcontroller, bit serial data is output (ZSENSE) synchronized to the bit clock input (YMCLK).
Write command format (Commands 80 to 86)
DATA 8bit
YMDATA
D7
D6
D5
D4
D3
COMMAND 8bit
D2
D1
D0
B7
B6
B5
B4
B3
B2
B1
B0
B1
B0
YMCLK
YMLD
Write command format (Commands 87)
DATA 12bit
YMDATA
D11 D10
D4
D3
D2
COMMAND 8bit
D1
D0
B7
B6
B5
B4
B3
B2
YMCLK
YMLD
Read command format (Commands 90, 91, 93)
COMMAND 8bit
YMDATA
B7
B6
B5
B4
B3
B2
B1
B0
YMCLK
YMLD
STATUS 8bit
ZSENSE
S7
S6
S5
S4
S3
S2
S1
S0
Read command format (Command 92 (memory residual read))
COMMAND 8bit
YMDATA
B7
B6
B5
B4
B3
B2
B1
B0
YMCLK
YMLD
RESIDUAL DATA 16bit
ZSENSE
S7
S6
S1
S0
M1 M2
M7
M8
NIPPON PRECISION CIRCUITS-11
SM5904CF
Command table
Write command summary
B3
B2
B1
B0
B7
B6
B5
B4
MS command 80
80hex = 1000 0000
Shock-proof memory system settings
Bit
Name
Function
H operation Reset level
D7
MSWREN
Encode sequence start/stop
Start
L
D6
MSWACL
Write address reset
Reset
L
D5
MSRDEN
Decode sequence start/stop
Start
L
D4
MSRACL
Read address reset
Reset
L
D3
MSDCN2
MSDCN2=H, MSDCN1=H: 3-pair comparison start
L
MSDCN2=H, MSDCN1=L: 2-pair comparison start
D2
MSDCN1
MSDCN2=L, MSDCN1=H: Direct-connect start
L
D1
WAQV
Q data valid
Valid
L
D0
MSON
Memory system ON
ON
L
MSDCN2=L, MSDCN1=L: Connect operation stop
81hex = 1000 0001
Extension I/O port input/output settings
Bit
B3
B2
B1
B0
B7
B6
B5
B4
Extension I/O settings 81
Name
Function
D3
UC4OE
Extension I/O port UC4 input/output setting
Output
L
D2
UC3OE
Extension I/O port UC3 input/output setting
Output
L
D1
UC2OE
Extension I/O port UC2 input/output setting
Output
L
D0
UC1OE
Extension I/O port UC1 input/output setting
Output
L
H operation Reset level
D7
D6
D5
D4
B7
B6
B5
B4
Extension port HIGH/LOW output level
A port setting is invalid if that port has already been defined as an input using the 81H command above.
Bit
B3
B2
B1
B0
Extension I/O output data settings 82
82hex = 1000 0010
Name
Function
D3
UC4WD
Extension I/O port UC4 output data setting
H output
L
D2
UC3WD
Extension I/O port UC3 output data setting
H output
L
D1
UC2WD
Extension I/O port UC2 output data setting
H output
L
D0
UC1WD
Extension I/O port UC1 output data setting
H output
L
H operation Reset level
D7
D6
D5
D4
NIPPON PRECISION CIRCUITS-12
SM5904CF
B3
B2
B1
B0
B7
B6
B5
B4
ATT, MUTE settings 83
83hex = 1000 0011
Bit
Name
Function
H operation
Reset level
D7
ATT
Attenuator enable
Attenuator ON
L
D6
MUTE
Forced muting (changes instantaneously)
Mute ON
L
D5
SOFT
Soft muting (changes smoothly when ON only)
Soft mute
L
D4
NS
Includes noise shaper function when encoding
NS ON
L
D3
CMP12
12-bit comparison connect/ 16-bit comparison connect
12-bit comparison
L
D2
D1
D0
Refer to "Attenuation", "Soft mute", "Force mute", "12-bit comparison connection".
B3
B2
B1
B0
B7
B6
B5
B4
Attenuation level settings 84
84hex = 1000 0100
Bit
Name
D7
K7
Function
MSB 2 -1
L
D6
K6
2
-2
H
D5
K5
2
-3
L
D4
K4
2
-4
L
-5
L
H operation Reset level
D3
K3
2
D2
K2
2 -6
L
D1
K1
2
-7
L
LSB 2
-8
D0
K0
L
Refer to "Attenuation", "Soft mute", "Force mute".
B3
B2
B1
B0
B7
B6
B5
B4
Option settings 85
85hex = 1000 0101
Bit
Name
Function
D6
RAMX2
External DRAM select
D5
YFLGS
H operation Reset level
D7
used
FLAG6 set conditions (reset using status read command 90H)
L
L
- When YFLGS=0, YFCKP=0, YFCLK input falling edge, YFLAG=L
- When YFLGS=0, YFCKP=1, YFCLK input rising edge, YFLAG=L
D4
YFCKP
- When YFLGS=1, YFCKP=0, YFLAG=L
L
- When YFLGS=1, YFCKP=1, YFLAG=H
D3
COMPFB
Full-bit compression mode
L
D2
COMP6B
6-bit compression mode
H
D1
COMP5B
5-bit compression mode
L
D0
COMP4B
4-bit compression mode
L
When the number of compression bits is set incorrectly (2 or more bits in D0 to D3 are set to 1 or all bits are set to 0),
6-bit compression mode is selected.
NIPPON PRECISION CIRCUITS-13
SM5904CF
B3
B2
B1
B0
B7
B6
B5
B4
Digital Audio Interface settings 86
86hex = 1000 0110
Bit
Name
D7
CP1
Function
H operation Reset level
Channel status and clock accuracy setting
L
CP1= 0, CP2= 0 Level 2 (max ± 300 ppm)
D6
CP2
CP1= 0, CP2= 1 Level 3 (max ± 10 %)
L
CP1= 1, CP2= 0 Level 1 (max ± 50 ppm)
CP1= 1, CP2= 1 Not supported
D5
LBIT
Digital audio signal generation logic. 0 = post-recording software
Unassigned
L
D4
DIT
Digital audio interface (DIT) enable. 0 = DIT output LOW
DIT= ON
L
D3
D2
D1
D0
B3
B2
B1
B0
B7
B6
B5
B4
Sub code Q data settings 87
87hex = 1000 0111
Bit
Name
Function
D11
QAD3
Q data setting and word address specification
L
D10
QAD2
QAD3 (MSB) to QAD0 (LSB) specify one of 10 valid addresses in the range 0000 to 1001.
L
D9
QAD1
* If an address in the range 1010 to 1111 is specified, the data on QD7 to QD0 is ignored.
L
D8
QAD0
Note that writing to address 1001 also functions as the write stop command.
D7
QD7
D6
MSB
H operation Reset level
L
Q data setting ward data
Indefined
QD6
Q data setting ward data
Indefined
D5
QD5
Q data setting ward data
Indefined
D4
QD4
Q data setting ward data
Indefined
D3
QD3
Q data setting ward data
Indefined
D2
QD2
Q data setting ward data
Indefined
D1
QD1
Q data setting ward data
Indefined
D0
QD0
Q data setting ward data
Indefined
LSB
Adderss map for Q data setting beuffer
QAD3
QAD2
QAD1
QAD0
QD7
QD6
QD5
QD4
QD3
QD2
QD1
QD0
0
0
0
0
CTL0
CTL1
CTL2
CTL3
ADR3
ADR2
ADR1
ADR0
0
0
0
1
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ8
0
0
1
0
DQ9
DQ10
DQ11
DQ12
DQ13
DQ14
DQ15
DQ16
0
0
1
1
DQ17
DQ18
DQ19
DQ20
DQ21
DQ22
DQ23
DQ24
0
1
0
0
DQ25
DQ26
DQ27
DQ28
DQ29
DQ30
DQ31
DQ32
0
1
0
1
DQ33
DQ34
DQ35
DQ36
DQ37
DQ38
DQ39
DQ40
0
1
1
0
DQ41
DQ42
DQ43
DQ44
DQ45
DQ46
DQ47
DQ48
0
1
1
1
DQ49
DQ50
DQ51
DQ52
DQ53
DQ54
DQ55
DQ56
1
0
0
0
DQ57
DQ58
DQ59
DQ60
DQ61
DQ62
DQ63
DQ64
1
0
0
1
DQ65
DQ66
DQ67
DQ68
DQ69
DQ70
DQ71
DQ72
When shockproof mode is ON, the Q data is specified according to the data output from the SM5904CF.
NIPPON PRECISION CIRCUITS-14
SM5904CF
Read command summary
B3
B2
B1
B0
B7
B6
B5
B4
Shock-proof memory status (1) 90
90hex = 1001 0000
Bit
Name
Function
S7
FLAG6
Signal processor IC jitter margin exceeded
HIGH-level state
Exceeded
S6
MSOVF
Write overflow (Read once only when RA exceeds WA)
DRAM overflow
S5
BOVF
Input buffer memory overflow
Input buffer memory overflow
because sampling rate of input data is too fast
S4
S3
DCOMP
Data compare-connect sequence operating
S2
MSWIH
Encode sequence stop due to internal factors
Compare-connect sequence operating
Encoding stopped
S1
MSRIH
Decode sequence stop due to internal factors
Decoding stopped
S0
Refer to "Status flag operation summary".
B3
B2
B1
B0
B7
B6
B5
B4
Shock-proof memory status (2) 91
91hex = 1001 0001
Bit
Name
Function
HIGH-level state
S7
MSEMP
Valid data empty state (Always HIGH when RA exceeds VWA)
No valid data
S6
OVFL
Write overflow state (Always HIGH when WA exceeds RA)
Memory full
S5
ENCOD
Encode sequence operating state
Encoding
S4
DECOD
Decode sequence operating state
Decoding
S3
QRDY
Subcode Q data write-buffer write enable
Write enabled
S2
S1
S0
Refer to "Status flag operation summary".
NIPPON PRECISION CIRCUITS-15
SM5904CF
B3
B2
B1
B0
B7
B6
B5
B4
Shock-proof memory valid data residual 92
92hex = 1001 0010
Bit
Name
Function
S7
AM21
Valid data accumulated VWA-RA (MSB) 8M bits
S6
AM20
4M bits
S5
AM19
2M bits
S4
AM18
1M bits
S3
AM17
512k bits
S2
AM16
256k bits
S1
AM15
S0
AM14
128k bits
64k bits
M1
AM13
32k bits
M2
AM12
16k bits
M3
AM11
8k bits
M4
AM10
4k bits
M5
AM09
2k bits
M6
AM08
M7
AM07
M8
AM06
1k bits
512 bits
256 bits
Note. The time conversion factor varies depending on the compression bit mode.(M = 1,048,576 K= 1,024)
Residual time (sec) = Valid data residual (Mbits) × Time conversion value K
where the Time conversion value K (sec/Mbit) ≈ 2.78(4 bits), 2.22 (5 bits), 1.85 (6 bits) and 0.74 (Full bits).
Bit
Name
Function
B3
B2
B1
B0
Input data entering (or output data from) an extension port terminal is echoed to the microcontroller.
(That is, the input data entering an I/O port configured as an input port using the 81H command,
OR the output data from a pin configured as an output port using the 82H command.)
B7
B6
B5
B4
Extension I/O inputs 93
93hex = 1001 0011
HIGH-level state
S7
S6
S5
S4
S3
UC4RD
S2
UC3RD
S1
UC2RD
S0
UC1RD
NIPPON PRECISION CIRCUITS-16
SM5904CF
Status flag operation summary
Flag
Read
name
method
FLAG6
READ
Meaning
- Indicates to the CD signal processor DSP (used for error correction, de-interleaving) that a
Set
- Set according to the YFLAG input and the operating state of YFCKP and YFLGS.
90H
bit 7
disturbance has exceeded the RAM jitter margin.
FLAG6 set conditions
When YFLGS=0, YFCKP=0, YFCLK input falling edge, YFLAG=Low
When YFLGS=0, YFCKP=1, YFCLK input rising edge, YFLAG=Low
When YFLGS=1, YFCKP=0, YFLAG=Low
When YFLGS=1, YFCKP=1, YFLAG=High
Reset
- By 90H status read
- By 80H command when MSON=ON
- After external reset
MSOVF
READ
Meaning
90H
bit 6
- Indicates once only that a write to external DRAM has caused an overflow. (When reset
by the 90H status read command, this flag is reset even if the overflow condition continues.)
Set
- When the write address (WA) exceeds the read address (RA)
Reset
- By 90H status read
- When a read address clear (MSRACL) or write address clear (MSWACL) command is issued
- After external reset
BOVF
READ
Meaning
- Indicates input data rate was too fast causing buffer overflow and loss of data
90H
Set
- When inputs a data during a buffer memory overflow
bit 5
Reset
- By 90H status read
- When a read address clear (MSRACL) or write address clear (MSWACL) command is issued
- After external reset
DCOMP
READ
Meaning
- Indicates that a compare-connect sequence is operating
90H
Set
- When a (3-pair or 2-pair) compare-connect start command is received (MSDCN2=1)
bit 3
- When a direct connect command is received (MSDCN2=0, MSDCN1=1)
Reset
- When a (3-pair or 2-pair) comparison detects conforming data
- When the connect has been performed after receiving a direct connect command
- When a compare-connect stop command (MSDCN2=0, MSDCN1=0) is received
- When a MSWREN=1 command is received (However, if a compare-connect command is
received at the same time, the compare-connect command has priority.)
- After external reset
MSWIH
READ
Meaning
90H
bit 2
- Indicates that the encode sequence has stopped due to internal factors
(not microcontroller commands)
Set
- When FLAG6 (above) is set
- When BOVF (above) is set
- When MSOVF (above) is set
Reset
- When conforming data is detected after receiving a compare-connect start command
- When the connect has been performed after receiving a direct connect command
- When a read address clear (MSRACL) or write address clear (MSWACL) command is received
- After external reset
MSRIH
READ
Meaning
- Indicates that the decode sequence has stopped due to internal factors
Set
- When the valid data residual becomes 0
90H
bit 1
(not microcontroller commands)
Reset
- By 90H status read
- When a read address clear (MSRACL) or write address clear (MSWACL) command is issued
- After external reset
NIPPON PRECISION CIRCUITS-17
SM5904CF
Flag
Read
name
method
MSEMP
READ
Meaning
- Indicates that the valid data residual has become 0
91H
Set
- When the VWA (final valid data's next address)
bit 7
= RA (address from which the next read would take place)
Reset
OVFL
- Whenever the above does not apply
READ
Meaning
- Indicates a write to external DRAM overflow state
91H
Set
- When the write address (WA) exceeds the read address (RA).
bit 6
(Note: This flag is not set when WA=RA through an address initialize or reset operation.)
Reset
- When the read address (RA) is advanced by the decode sequence
- When a read address clear (MSRACL) or write address clear (MSWACL) command is issued
- After external reset
ENCOD
READ
Meaning
- Indicates that the encode sequence (input data entry, encoding, DRAM write) is operating
91H
Set
- By the 80H command when MSWREN=1
bit 5
- When conforming data is detected during compare-connect operation
- When the connect has been performed after receiving a direct connect command
Reset
- When the FLAG6 flag=1 (above)
- When the OVFL flag=1 (above)
- By the 80H command when MSWREN=0
- By the 80H command when MSDCN1=1 or MSDCN2=1 (compare-connect start command)
- By the 80H command when MSON=0
- After external reset
Note. Reset conditions have priority over set conditions. For example, if the 80H command has
MSWREN=1 and MSDCN1=1, the ENCOD flag is reset and compare-connect operation starts.
DECOD
READ
Meaning
91H
bit 4
QRDY
- Indicates that the decode sequence (read from DRAM, decoding,
attenuation, data output) is operating
Set
- By a new 80H command when MSRDEN=1 and the MSEMP flag=0 (above)
Reset
- Whenever the above does not apply
READ
Meaning
Subcode Q data write-buffer write enable indicator
91H
Set
After internal subcode Q data write-buffer contents are read out.
bit 3
Reset
When data is written to address 1001 using the 87H command.
NIPPON PRECISION CIRCUITS-18
SM5904CF
Write command supplementary information
80H (MS command)
- MSWREN
When 1: Encode sequence starts
Invalid when MSON is not 1 within the
same 80H command
Invalid when FLAG6=1
Invalid when OVFL=1
Invalid when a compare-connect start
command (MSDCN2=1 or MSDCN1=1)
occurs simultaneously
Direct connect if a compare-connect
sequence is already operating
When 0: Encode sequence stops
- MSWACL
When 1: Initializes the write address (WA)
When 0: No operation
- MSRDEN
When 1: Decode sequence starts
Does not perform decode sequence if
MSON=1.If there is no valid data, decode
sequence temporarily stops. But, because
the MSRDEN flag setting is maintained as
is, the sequence automatically re-starts
when valid data appears.
When 0: Decode sequence stops
-MSRACL
When 1: Initializes the read address (RA)
When 0: No operation
- MSDCN2, MSDCN1
When 1 and 1: 3-pair compare-connect sequence
starts
When 1 and 0: 2-pair compare-connect sequence
starts
When 0 and 1: Direct connect sequence starts
When 0 and 0: Compare-connect sequence stops.
No operation if a compare-connect
sequence is not operating.
- WAQV
When 1: The immediately preceding YBLKCK
falling-edge timing WA (write address)
becomes the VWA (valid write address).
When 0: No operation
- MSON
When 1: Memory system turns ON and shockproof operation starts
When 0: Memory system turns OFF and throughmode playback starts. (In this mode, the
attenuator is still active.)
81H (Extension I/O port settings)
82H (Extension I/O port output data settings)
NIPPON PRECISION CIRCUITS-19
SM5904CF
83H (ATT, MUTE, 12-bit comparison connection settings)
- ATT (attenuator enable)
When 1: Attenuator settings become active (84H
command)
When 0: Attenuator settings become inactive, and
output continues without attenuation
- MUTE (forced muting)
When 1: Outputs are instantaneously muted to
0.(note 1)
Same effect as taking the YDMUTE pin
HIGH.
When 0: No muting(note 1)
(note1) Effective at the start of left-channel output
data.
- SOFT (soft muting)
- MUTE, SOFT, YDMUTE relationship
When all mute inputs are 0, mute is released.
- NS (noise shaper enable)
When 1: Includes noise shaper function in compression-mode shockproof operation.
When 0: Performs comparison connection using
all 16 bits of input data.
- CMP12 (12-bit comparison connection)
When 1: Performs comparison connection using
only the most significant 12 bits of input
data.
When 0: Performs comparison connection using
all 16 bits of input data.
When 1: Outputs are smoothly muted to 0.
When 0: No muting.
Soft mute release occurs instantaneously
to either the value set by the 84H command (When ATT=1) or 0dB (When
ATT=0)
85H (option settings)
- RAMX2
When 1: Uses 2 DRAMs (use external DRAM)
When 0: Uses a single DRAM (internal only)
- YFLGS, YFCKP
When 0 and 0: Sets FLAG6 on the falling edge of
YFCLK when YFLAG=0
When 0 and 1: Sets FLAG6 on the rising edge of
YFCLK when YFLAG=0
When 1 and 0: Sets FLAG6 when YFLAG=0
- COMPFB, COMP6B, COMP5B, COMP4B
When 0, 0, 0 and 1: Selects 4-bit compression
mode
When 0, 0, 1 and 0: Selects 5-bit compression
mode
When 1, 0, 0 and 0: Selects full-bit compression
mode
In all other cases: Selects 6-bit compression mode
Changing mode without initializing during operation is possible.
When 1 and 1: Sets FLAG6 when YFLAG=1
NIPPON PRECISION CIRCUITS-20
SM5904CF
86H (digital audio interface settings)
- CP1, CP2 (channel status and clock accuracy setting)
When 0 and 0: Level 2 (max ± 300 ppm)
- LBIT (digital audio signal generation logic)
When 1: Not assigned
When 0: Post-recording software
- DIT (digital audio interface enable)
When 0 and 1: Level 3 (max ± 10%)
When 1 and 0: Level 1 (max ± 50 ppm)
When 1: DIT output enable
When 1 and 1: Not supported
When 0: DIT LOW-level output
87H (subcode Q data setting)
- QAD3 to QAD0 (Q data setting and word address
specification)
QAD3 (MSB) to QAD0 (LSB) specify one of 10
valid addresses in the range 0000 to 1001.
If an address in the range 1010 to 1111 is specified, the data on QD7 to QD0 is ignored.
Note that writing to address 1001 also functions
as the write stop command.
Control
S0, S1
bit
0
1
2
ADR
3
4
5
6
- QD7 to QD0 (Q data setting and word data)
The CD Q-channel has the general data format
shown below.
The write data required to fully specify the Q data
is the 80 bits comprising CONTROL, ADR, and
DATA-Q.
The CRC write data is not required because it is
generated by recalculation.
DATA-Q
7
8
9
CRC
78 79 80
S0, S1
95
80 bit
96 bit
Adderss map for Q data setting beuffer
QAD3
QAD2
QAD1
QAD0
QD7
QD6
QD5
QD4
QD3
QD2
QD1
QD0
0
0
0
0
CTL0
CTL1
CTL2
CTL3
ADR3
ADR2
ADR1
ADR0
0
0
0
1
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ8
0
0
1
0
DQ9
DQ10
DQ11
DQ12
DQ13
DQ14
DQ15
DQ16
0
0
1
1
DQ17
DQ18
DQ19
DQ20
DQ21
DQ22
DQ23
DQ24
0
1
0
0
DQ25
DQ26
DQ27
DQ28
DQ29
DQ30
DQ31
DQ32
0
1
0
1
DQ33
DQ34
DQ35
DQ36
DQ37
DQ38
DQ39
DQ40
0
1
1
0
DQ41
DQ42
DQ43
DQ44
DQ45
DQ46
DQ47
DQ48
0
1
1
1
DQ49
DQ50
DQ51
DQ52
DQ53
DQ54
DQ55
DQ56
1
0
0
0
DQ57
DQ58
DQ59
DQ60
DQ61
DQ62
DQ63
DQ64
1
0
0
1
DQ65
DQ66
DQ67
DQ68
DQ69
DQ70
DQ71
DQ72
- Subcode Q data setting process
Initially, data is written to word address range
0000 to 1000, and then data is written to address
1001. Next, only data that needs to be changed
is written if the 91H command QRDY bit is 1, and
then address 1001 is written again. Note that
when shockproof mode is ON, the Q data is
specified according to the data output from the
SM5904CF.
NIPPON PRECISION CIRCUITS-21
SM5904CF
Shock-proof operation overview
Shock-proof mode is the mode that realizes shockproof operation using DRAM. Shock-proof mode is
invoked by setting MSON=H in microcontroller
command 80H.
This mode comprises the following 3 sequences.
- Encode sequence
1. Input data from a signal processor IC is stored in
internal buffers.
2. Encoder starts after a fixed number of data have
been received.
3. The encoder, after the most suitable predicting
filter type and quantization steps have been determined, performs ADPCM encoding and then writes
to DRAM.
- Decode sequence
1. Reads compressed data stored in external buffer
RAM at rate fs.
2. Decoder starts, using the predicting filter type
and quantization levels used when encoded.
3. Performs attenuation operation (including muting
operation)
4. Outputs the result.
- Compare-connect sequence
1. Encoding immediately stops when either external
buffer RAM overflows or when a CD read error
occurs due to shock vibrations.
2. Then, using microcontroller command 80H, the
compare-connect start command is executed and
compare-connect sequence starts.
3. Compares data re-read from the CD with the processed final valid data stored in RAM (confirms its
correctness).
4. As soon as the comparison detects conforming
data, compare-connect sequence stops and
encode sequence re-starts, connecting the data
directly behind previous valid data.
NIPPON PRECISION CIRCUITS-22
SM5904CF
RAM addresses
The SM5904CF has a 4M DRAM as the internal
buffer and an external 4M DRAM can be also connected to expand the memory to 4M bits.
Connect data work area
Three kinds of addresses are used for external
RAM control.
WA (write address)
RA (read address)
VWA (valid write address)
Among these, VWA is the write address for conforming data whose validity has been confirmed.
Determination of the correctness of data read from
the CD is delayed relative to the encode write processing, so VWA is always delayed relative to WA.
RA
WA
VWA
Valid data
area
The region available for valid data is the area
between VWA-RA.
- Connect data work area
This is an area of memory reserved for connect
data. This area is 4k bits.
Fig 1. RAM addresses
VWA (valid write address)
The VWA is determined according to the YBLKCK
pin and WAQV command. Refer to the timing chart
below.
1.YBLKCK is a 75 Hz clock(HIGH for 136 µs) when
used for normal read mode and it is a 150 Hz clock
when used for double-speed read mode, synchronized to the CD format block end timing.
When this clock goes LOW, WA which is the write
address of internal encode sequence, is stored
(see note 2).
2.The microcontroller checks the subcode and, if
confirmed to be correct, generates a WAQV command (80H).
3.When the WAQV command is received, the previously latched WA is stored as the VWA.
(note 2) Actually, there is a small time difference, or
gap, between the input data and YBLKCK. This gap
serves to preserves the preceding WA to protect
against incorrect operation.
13.3ms
VWA latch set
YBLKCK
WAQV set
Microcontroller data set
Refer to Microcontroller interface
VWA
VWA(x)
VWA(x + 1)
Values shown are for rate fs. The values are 1/2 those shown at rate 2fs.
Fig 2. YBLKCK and VWA relationship
NIPPON PRECISION CIRCUITS-23
SM5904CF
YFLAG, YFCLK, FLAG6
Correct data demodulation becomes impossible for
the CD signal processor IC when a disturbance
exceeding the RAM jitter margin occurs. The
YFLAG signal input pin is used to indicate when
such a condition has occurred.
The YFCLK is a 7.35 kHz clock synchronized to the
CD format frame 1.
The IC checks the YFLAG input and stops the
encode sequence when such a disturbance has
occurred, and then makes FLAG6 active.
The YFLAG check method used changes depending on the YFLGS flag and YFCKP flag (85H command). See table1.
If YFLAGS is set to 1, then YFCLK should be tied
either High or Low.
85H command
1
YFLGS
YFCKP
FLAG6 set conditions
FLAG6 reset conditions
0
0
When YFLAG=LOW on YFCLK input falling edge
- By status read (90H command)
When YFLAG=LOW on YFCLK input rising edge
- When MSON=LOW
2
3
4
1
1
0
When YFLAG=LOW
1
When YFLAG=HIGH
YFCLK be tied either High or Low
- After system reset
Table 1. YFLAG signal check method
NIPPON PRECISION CIRCUITS-24
SM5904CF
Compare-connect sequence
The SM5904CF supports three kinds of connect
modes; 3-pair compare-connect, 2-pair compareconnect and direct connect.
Note that the SM5904CF can also operate in 12-bit
comparison connect mode using only the most significant 12 bits of data for connection operation.
In 3-pair compare-connect mode, the final 6 valid
data (3 pairs of left- and right-channel data input
before encode processing) and the most recently
input data are compared until three continuous data
pairs all conform. At this point, the encode
sequence is re-started and data is written to VWA.
In 2-pair compare-connect mode, comparison
occurs just as for 3-pair comparison except that
only 2 pairs from the three compared need to conform with the valid data. At this point, the encode
sequence is re-started and data is written to VWA.
In direct-connect mode, comparison is not performed at all, and encode sequence starts and data
is written to the VWA. This mode is for systems that
cannot perform compare-connect operation.
- Compare-connect preparation time
1. Comparison data preparation time
Internally, when the compare-connect start command is issued, a sequence starts to restore the
data for comparison. The time required for this
preparation after receiving the command is approximately 2.5 × (1/fs). (approximately 60 µs when fs =
44.1 kHz)
2. After the above preparation is finished, data is
input beginning from the left-channel data and comparison starts.
3. If the compare-connect command is issued
again, the preparation time above is not necessary
and operation starts from step 2.
4. The same sequence takes place in direct-connect mode also. However, at the point when 3
words have been input, all data is directly connected as if comparison and conformance had taken
place.
- Compare-connect sequence stop
If a compare-connect stop command (80H with
MSDCN1= 1, MSDCN2= 0) is input from the microcontroller, compare-connect sequence stops.
If compare-connect sequence was not operating,
the compare-connect stop command performs no
operation. However, make sure that the other bit
settings within the same 80H command are valid.
NIPPON PRECISION CIRCUITS-25
SM5904CF
Encode sequence temporary stop
- When RAM becomes full, MSWREN is set LOW
using the 80H command and encode sequence
stops. (For details of the stop conditions, refer to
the description of the ENCOD flag.)
- Then, if MSWREN is set HIGH without issuing a
compare-connect start command, the encode
sequence re-starts. At this time, new input data is
written not to VWA, but to WA. In this way, the data
already written to the region between VWA and WA
is not lost.
- But if the MSWREN is set HIGH (80H command)
after using the compare-connect start command
even only once, data is written to VWA. If data is
input before comparison and conformance is
detected, the same operation as direct-connect
mode takes place when the command is issued.
After comparison and conformance are detected,
no operation is performed because the encode
sequence has already been started. However,
make sure that the other bit settings within the
same 80H command are valid.
DRAM refresh
- DRAM initialization refresh
A 15-cycle RAS-only refresh is carried out for
DRAM initialization under the following conditions.
When MSON changes from 0 to 1 using command
80H.
When from MSON=1, MSRDEN=0 and
MSWREN=0 states only MSWREN changes to 1.
In this case, encode sequence immediately starts
and initial data is written (at 2fs rate input) after a
delay of 0.7ms.
- Refresh during Shock-proof mode operation
In this IC, a data access operation to any address
also serves as a data refresh. Accordingly, there
are no specific refresh cycles other than the initialization refresh cycle (described above).
This has the resulting effect of saving on DRAM
power dissipation.
A data access to DRAM can occur in an encode
sequence write operation or in a decode sequence
read operation. Write sequence write operation
stops during a connect operation whereas a read
sequence read operation always continues while
data is output to the D/A. The refresh rate for each
DRAM during decode sequence is shown in the
table below.
The decode sequence, set by MSON=1 and MSRDEN=1, operates when valid data is in DRAM
(when MSEMP=0).
- When MSON=0, DRAM is not refreshed because
no data is being accessed. Although MSON=1,
DRAM is not refreshed if ENCOD=0 and DECOD=0
(both encode and decode sequence are stopped).
DRAMs used (same for 1 or 2 DRAMs)
Data compression mode
4M (1M×4 bits)
4 bit
10.88 ms
5 bit
8.71 ms
6 bit
7.26 ms
Full bit
2.72 ms
Table 2. Decode sequence refresh rate
NIPPON PRECISION CIRCUITS-26
SM5904CF
Selecting compression mode
Even when the compression mode in selected with
the 85H command during shock-proof operation,no
malfunction occurs.
The compression mode change is not performed
immediately after input of the 85H command, but it
is performed at the following timing.
YMLD
When 85H generated
WA CAS
3FE
RA CAS
3FD
Encode compression mode
001
3FF
3FE
003
3FF
004
005
001
002
B
A
Decode compression mode
002
A
B
(note) CAS-000 is connect data.
NIPPON PRECISION CIRCUITS-27
SM5904CF
Through-mode operation
If MSON is set LOW (80H command), an operating
mode that does not perform shock-proof functions
becomes active. In this case, input data is passed
as-is (after attenuator and mute operations) to the
output. External DRAM is not accessed.
- In this case, input data needs to be at a rate fs
and the input word clock must be synchronized to
the CLK input (384fs). However, short-range jitter
can be tolerated (jitter-free system).
- Jitter-free system timing starts from the first
YLRCK rising edge after either (A) a reset (NRESET= 0) release by taking the reset input from
LOW to HIGH or (B) by taking MSON from HIGH to
LOW. Accordingly, to provide for the largest possible jitter margin, it is necessary that the YLRCK
clock be at rate fs by the time jitter-free timing
starts.
The jitter margin is 0.2/ fs (80 clock cycles).
This jitter margin is the allowable difference
between the system clock (CLK) divided by 384 (fs
rate clock) and the YLRCK input clock.
If the timing difference exceeds the jitter margin,
irregular operation like data being output twice or,
conversely, incomplete data output may occur. In
the worst case, a click noise may also be generated.
When switching from shock-proof mode to through
mode, an output noise may be generated, and it is
therefore recommended to use the YDMUTE setting to mute ZSRDATA until just before data output.
Attenuation
- The attenuation register is set by the 84H command.
- The attenuation register set value becomes active
when the 83H command sets the ATT flag to 1.
When the ATT flag is 0, the attenuation register
value is considered to be the equivalent of 256 for a
maximum gain of 0 dB.
- The gain (dB) is given from the set value (Datt)
by the following equation.
Gain = 20 × log(Datt/256) [dB]; left and right channels
- For the maximum attenuation register set value
(Datt = 255), the corresponding gain is -0.03 dB.
But when the ATT flag is 0 (Datt = 256), there is no
attenuation.
- After a system reset initialization, the attenuation
register is set to 64 (-12 dB). However, because the
ATT flag is reset to 0, there is no attenuation.
- When the attenuation register setting changes or
when the ATT flag changes, the gain changes
smoothly from the previous set gain towards the
new set value. If a new value for the attenuation
level is set before the previously set level is
reached, the gain changes smoothly towards the
latest setting.
The gain changes at a rate of 4 × (1/fs) per step. A
full-scale change (255 steps) takes approximately
23.3 ms (when fs = 44.1 kHz). See fig 3.
set 1
set 5
set 3
Gain
set 2
set 4
time
Fig 3. Attenuation operation example
NIPPON PRECISION CIRCUITS-28
SM5904CF
Soft mute
Soft mute operation is controlled by the SOFT flag
using a built-in attenuation counter.
Mute is ON when the SOFT flag is 1. When ON, the
attenuation counter output decrement by 1 step at a
time, thereby reducing the gain. Complete mute
takes 1024/fs (or approximately 23.2 ms for fs =
44.1 kHz).
Conversely, mute is released when the SOFT flag
is 0. In this case, the attenuation counter instantaneously increases. The attenuation register takes
on the value when the ATT flag was 1. If the ATT
flag was 0, the new set value is 256 (0 dB).
SOFT
Attenation level
or full scale
(Gain)
−∞
256 step
/ 1024TS
Fig 4. Soft mute operation example
Force mute
Serial output data is muted by setting the YDMUTE
pin input HIGH or by setting the MUTE flag to 1.
Mute starts and finishes on the leading left-channel
bit.
When MSON is HIGH and valid data is empty
(MSEMP=H), the output is automatically forced into
the mute state.
12-bit comparison connection
When the CMP12 flag is set to 1, the least significant 4 bits of the 16-bit comparison connection
input data are discarded and comparison connection is performed using the remaining 12 bits.
Note that if the CMP12 flag is set to 1 during a comparison connection operation, only the most significant 12 bits are used for comparison connection
from that point on.
NIPPON PRECISION CIRCUITS-29
SM5904CF
Digital audio interface
When the DIT flag is set to 1, the digital audio interface output from pin DIT is enabled. The output
M
Channel 1
W
B
Channel 2
Channel 1
Sub Frame
Frame 191
data structure is modulated using a preamble and
biphase mark encoding.
W
Channel 2
M
Channel 1
W
Channel 2
Sub Frame
Frame 0
Frame 1
Start Block
Preamble
7 8
Auxiliary
LSB
3 4
LSB
0
Audio Sample Word
27
28
MSB
Figure 5. Frame format
V
31
U
C
P
Validity Flag
User Data
Channel Status
Parity Bit
Figure 6. Subframe format
Preamble
The preamble is a particular bit pattern used to perform subframe and block synchronization and discrimination, assigned to one of 4 time slot divisions
(0 to 3), comprising 8 continuous biphase modulated transfer rate status indicators.
There are 3 types of preamble. The leading preamble pattern of all blocks is preamble pattern B,
which is then followed by preamble pattern M for
channel 1, and preamble pattern W for channel 2.
Preamble
B
Channel coding
Leading symbol = 0
Leading symbol = 1
11101000
00010111
M
11100010
00011101
W
11100100
00011011
The SM5904CF starts with 0, so only the preamble patterns for leading symbol = 0 are used.
Digital audio sample data and auxiliary audio
The digital audio sample data is a 20-bit digitized
audio signal. Auxiliary audio data, on the other
hand, can be audio sample data of varying length.
The SM5904CF uses a 16-bit audio data structure
internally with audio data output bits 4 to 11 set to 0
and bits 12 to 27 output in LSB first format.
Audio sample validity
The validity flag is set to 0 when the digital audio
sample data is output correctly, or it is set to 1 if the
output is incorrect. It is also set to 1 if encoding
does not start when the device is operating in
forced mute, microcontroller forced mute, and
shockproof mode.
NIPPON PRECISION CIRCUITS-30
SM5904CF
User bit data
User bit data is data specified by the user. The data
is output, after the Q data has been specified, in the
following sequence.
0
1
2
3
4
5
6
7
8
9
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
24
1
Q1
0
0
0
0
0
0
0
0
0
0
36
1
Q2
0
0
0
0
0
0
0
0
0
0
•
•
•
•
•
•
•
•
•
•
•
•
1
Q96
0
0
0
0
0
0
0
0
0
0
1164
- Using Q data
Initially, Q1 to Q80 are set using the 87H command,
the DIT flag is set using the 86H command, and
then data is output from DIT according to the digital
audio interface format. Q 81 to Q 96 data are not
required as these are set internally by CRC calculation.
There are 2 Q data buffers; a data output buffer
and a data storage buffer. As a result, after all data
has been specified in the first data write, only that
data that has changed needs to be written during
the 2nd and subsequent data write operations.
Note that address 1001 is the write stop command
and is, therefore, required after every data write
operation.
When space becomes available in the data output
buffer, QRDY is set to 1 (91H command status bit
S3) to indicate available space and then the contents of the data storage buffer are transferred to
the data output buffer. After data is transferred, a
data write to address 1001 (write stop command)
resets the QRDY flag to 0.
The Q data buffer read access time for a complete
data cycle is approximately 13.3 ms.
Audio channel status
The channel status are information bits transferred
to indicate the audio sample data length, preemphasis, sampling frequency, time code, source
0
0
1
2
3
CTL0 CTL1 CTL2 CTL3
number, destination code, and other information.
Seven bits comprising CP1, CP2, LBIT, and CTL0
to CTL3 can be set. All other bits are fixed.
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
1
0
0
0
0
0
0
LBIT
16
0
0
0
0
L= 1
R= 1
0
0
0
0
0
0
CP1
CP2
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Subframe parity
The parity bit is used to indicate the detection of an
odd number of bit errors. It is set to 1 if the number
of 1s in the digital audio interface 27-bit data is odd,
and is set to 0 if the number of 1s is even. The 27bit data plus parity bit form 28-bit data that always
has an even number of 1s.
NIPPON PRECISION CIRCUITS-31
SM5904CF
Timing charts
Input timing (YSCK, YSRDATA, YLRCK)
16
16
L ch
R ch
YSCK
LSB
MSB
LSB
MSB
LSB
YSRDATA
YLRCK
1/(3fs )
Output timing (ZSCK, ZSRDATA, ZLRCK)
1
9
24
33
48
ZSCK
L ch
LSB
MSB
LSB
MSB
LSB
ZSRDATA
R ch
ZLRCK
1/fs
NIPPON PRECISION CIRCUITS-32
SM5904CF
DRAM write timing (NRAS, NCAS2, NWE, A0 to A9, D0 to D3)
Write timing (with double DRAM) ∗ Use external DRAM.
t RASL
t RASH
NRAS
t CASH
t CASL
t RDC
NCAS2
(DRAM2 SELECT)
t RADS
A0 to A9
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
t CADS
t RADH
t CADH
t CWDS
,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,
,,,,,,,,,,,
t CWDH
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,
D0 to D3
(WRITE)
t WEL
NWE
DRAM read timing (NRAS, NCAS2, NWE, A0 to A9, D0 to D3)
Read timing (with double DRAM) ∗ Use external DRAM.
t RASL
t RASH
NRAS
t RCD
t CASL
t CASH
NCAS2
(DRAM2 SELECT)
t RADS
t RADH
t CADS
A0 to A9
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
D0 to D3
(READ)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
t CADH
t CRDS
t CRDH
,,,,,,,,,,,,,
,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,
NWE
NIPPON PRECISION CIRCUITS-33
SM5904CF
Connection example
SM5904
YMDATA
YMCLK
MicroYMLD
controller
ZSENSE
UC1 to UC4
DIT
DRAM 2
DSP
Matsushita
MN662740
YBLKCK
YFCLK
YFLAG
NRAS
NWE
A0 to A9
D0 to D3
YSCK
YLRCK
YSRDATA
RAS
WE
A0 to A9
D0 to D3
CAS
OE
NCAS2
D/A
converter
ZSCK
ZLRCK
ZSRDATA
CLK
NRESET
YDMUTE
SM5904
Microcontroller
YMDATA
YMCLK
YMLD
ZSENSE
UC1 to UC4
DIT
DRAM 2
SCOR
XROF
DSP
SONY
CXD2517
YSCK
YLRCK
YSRDATA
YBLKCK
YFLAG
YFCLK
NRAS
NWE
A0 to A9
D0 to D3
RAS
WE
A0 to A9
D0 to D3
CAS
OE
NCAS2
ZSCK
ZLRCK
D
A
ZSRDATA
CLK
NRESET
YDMUTE
note1
When 2 DRAMs are used, the DRAM OE pins should be tied LOW.
note 2 When CXD 2517 (Sony) is used
Set 85H of microcontroller command (option setting) as setting YFLAG take in;
D5: YFLAGS= 1
D4: YFCKP= 0
NIPPON PRECISION CIRCUITS-34
SM5904CF
NIPPON PRECISION CIRCUITS INC. reserves the right to make changes to the products described in this data sheet in order to
improve the design or performance and to supply the best possible products. Nippon Precision Circuits Inc. assumes no responsibility for
the use of any circuits shown in this data sheet, conveys no license under any patent or other rights, and makes no claim that the circuits
are free from patent infringement. Applications for any devices shown in this data sheet are for illustration only and Nippon Precision
Circuits Inc. makes no claim or warranty that such applications will be suitable for the use specified without further testing or modification. The products described in this data sheet are not intended to use for the apparatus which influence human lives due to the failure or
malfunction of the products. Customers are requested to comply with applicable laws and regulations in effect now and hereinafter, including compliance with export controls on the distribution or dissemination of the products. Customers shall not export, directly or indirectly, any products without first obtaining required licenses and approvals from appropriate government agencies.
NIPPON PRECISION CIRCUITS INC.
NIPPON PRECISION CIRCUITS INC.
4-3, 2-chome Fukuzumi, Koto-ku
Tokyo, 135 -8430, JAPAN
Telephon: 03-3642-6661
Facsimile: 03-3642-6698
NC9926AE
2000.3
NIPPON PRECISION CIRCUITS-35