The S5A1903X01 implements the voice intelligibility processor (VIP).
The VIP is a signal processing algorithm designed to increase the
intelligibility of human speech in a high ambient noise environment.
Unlike noise cancellation or adaptive speech filtering systems, VIP
operates on the speech signal only and is totally independent of the
noise. This approach makes speech clearer and easier to understand
regardless of the characteristics of the noise source, and eliminates
the need for processing of the noise signal.
In addition to VIP, the S5A1903X01 includes voice equalizer. The
equalizer is composed of four different frequency bands, and each
band is controlled between +12dB and -12dB. Thus, it can be used to
compensate of speaker characteristics.
The Figure 1 shows how the S5A1903X01 interfaces to Vocoder and Codec in cellular phone.
GPI36ITest Pin3 (0:Codec Bypass)
TSELDR019ITest Pin for JTAG
TSELDR120ITest Pin for JTAG
TESTTUPDDR21ITest Pin for JTAG
TSHFTDR23ITest Pin for JTAG
TIDR24ITest Pin for JTAG
TCLKDR25ITest Pin for JTAG
TODR27OTest Pin for JTAG
GPO01OHost Ack. Pin
GPO132OHost Test Output
GPO229OHost Test Output
GPO328OHost Test Output
Power
Ground
VDD1, VDD2
VDD3, VDD4
GND1, GND2
GND3, GND4
2, 12,
18, 26
7, 14,
22, 31
PDigital Power (+3.0V)
GDigital GND
6
Page 7
DATA PROCESSORS5A1903X01
~
~
DSP PORT ASSIGNMENT FOR I/F WITH PERIPHERALS
I/FRead/ WritePortInterrupt
HIU
CIU
HARDWARE SPECIFICATION
CODEC INTERFACE UNIT (CIU)
—- Time Diagram
FS
MCLK
DIN
1234561516
ReadEXT1
WriteEXT1
ReadEXT0
WriteEXT0
7
INT1
INT0
~
~
~
~
DOUT
1234567
1516
Important!:
During FS (Frame Sync. Clock) high, the falling edge of MCLK (PCM Bit Clock) should exist one time.
7
Page 8
S5A1903X01DATA PROCESSOR
HOST INTERFACE UNIT (HIU)
— I2C Bus Interface
The VIP can be controlled by a microcontroller via the 2-line I2C bus, SDA (Serial Data Line) and SCL (Serial Clock
Line). Both lines must be connected to a positive supply via pull-up resistor. Data transfer may be initiated only
when the bus is not busy. When the bus is free, both lines are high. The data on the SDA line must be stable during
the high period of clock, SCL. When the SCL is low, the SDA can change. Every byte transferred through the SDA
line must contain 8 bits including programmable slave address and read/write direction control bit. Each byte must
be followed by acknowledge bit which is sent back to the microcontroller by the VIP by pulling down the SDA line.
The MSB is transferred first.
— I2C bus interface start and stop condition
The start condition is high to low transition of the SDA line while the SCL is high. The stop condition is low to high
transition of the SDA line while SCL is high.
SDA
SCL
SDA
SCL
Change
of data
Data Valid
SP
Start
Condition
Allowed
Stop
Condition
8
Page 9
DATA PROCESSORS5A1903X01
— I2C Bus Interface Acknowledge
The acknowledge related clock pulse is generated by a microcontroller.
The transmitter releases the SDA line (high) during the acknowledge clock pulse. The receiver must pull down the
SDA line during the acknowledge clock pulse so that it remains stable low during the high period of this clock pulse.
The slave-transmitter generates negative acknowledge when read operation processes. The negative acknowledge is generated by a master (microcontroller).
010B11000HBand3 Gain Control
011BBand4 Gain Control
80H0BH* * H
Bit [7:4]Bit [3:0]
0H0H - CHVIP Filter1 Gain Control
80H0CH
80H0DH00H - FFHNoise Level Selection
80H01H
80H01H
80H0EH02H
80H03H
80H04H
...
9H
0H - CH
0H - CH
Host Test Mode (Return **H).
Read after IC Read Address 0x81
Bit [3:0] = 0H: +12dB,
Bit [3:0] = CH: 0dB,
1dB Step
VIP Filter10 Gain Control
Return Current Status followed by IC Read Address
0x81, [7:4] = Unused, [3:2] = VIP Level,
[1] = Working Mode(0:VIP, 1:EQ), [0] = Bypass Flag
(0: DSP ON, 1: DSP OFF)
Return Band1 Tone Level Status followed by IC
Read Address 0x81 (00H: -12dB - 18H: + 12dB)
Return Band2 Tone Level Status followed by IC
Read Address 0x81
Return Band3 Tone Level Status followed by IC
Read Address 0x81
Return Band4 Tone Level Status followed by IC
Read Address 0x81
10
Page 11
DATA PROCESSORS5A1903X01
DESCRIPTION
— Bypass Mode
•Format
Command Code (Hex)Command Name
01Bypass
•Description
In bypass mode, DIN (PCM input data line) is directly connected to DOUT (PCM output data line) and the DSP is
in stop mode.
— VIP MODE
•Format
Command Code (Hex)Command Name
02VIP
•Description
This one byte command selects VIP mode.
EQUALIZER MODE
•Format
Command Code (Hex)Command Name
03EQ
•Description
This one byte command selects Equalizer mode. Default tone levels are dipicted in
Although equalizer can control all four bands, it assigns five preset tone level modes.
— EQ Tone Select
•Format
Command Code (Hex)DataDescriptionCommand Name
[7:5]00Band1 Select
01Band2 Select
10Band3 Select
11Band4 Select
[4:0]00000+12dB
0A00001+11dBTone Control
¡¦
011000dB
¡¦
10111-11dB
11000-12dB
•Description
The equalizer controls four different frequency bands. The gain for each frequency band can be controlled between
-12dB and +12dB. The [7:5] in data byte after the command determines the frequency band to be controlled and
[4:0] determines gain level.
13
Page 14
S5A1903X01DATA PROCESSOR
— VIP Filter Gain Selection
•Format
Command Code (Hex)Data (Hex)DescriptionCommand Name
0150Hz Filter Gain to Servo
1300Hz Filter Gain to Servo
2150Hz & 300 Hz Sum Gain
3600Hz Filter Gain to Servo
[7:4]41.2kHz Filter Gain to Summer
51.2kHz Filter Gain to Servo
0B62.4kHz Filter Gain to SummerVIP Filter Gain Control
72.4kHz Filter Gain to Servo
84.8kHz Filter Gain to Summer
94.8kHz Filter Gain to Servo
0+ 12dB
[3:0]1+ 11dB
.....
C0dB
•Description
These commands select the gains of filter outputs in the VIP mode. The detailed description of filter structure can
be found in "VIP specification" published by SRS Labs.
14
Page 15
DATA PROCESSORS5A1903X01
— Noise Level Selection
•Format
Command Code (Hex)Data (Hex)DescriptionCommand Name
0D00 - FFAssume the value in data as noise levelNoise Level Select
•Description
When the input from ADC has small noise, this noise can incresed in VIP or EQ mode since the specific frequency
levels are increased. To avoid this problem in mute, the input data is tested for 25ms. If the absolute values of input
data are less than noise level specified in Data and stay for 25ms, then the input is considered as zeros and are
processed. Default noise level is set to 0x1F.
— Current Status
•Format
Command Code (Hex)Data (Hex)DescriptionCommand Name
0E01Return current status register contentsCurrent Status
•Description
It returns the contents of the current status register as:
Status [7:4] = unused
Status [3:2] = VIP Level (00: 100%, 01: 80%, 10: 60%)
Status [1] = Working Mode (0: VIP, 1:EQ)
Status [0] = DSP On/Off (0: DSP On, 1: DSP Off)
— EQ Tone Level Status
•Format
Command Code (Hex)Data (Hex)DescriptionCommand Name
02Return current band1 tone level
0E03Return current band2 tone levelCurrent Tone Level
04Return current band3 tone levelStatus
05Return current band4 tone level
•Description
These commands return the current tone levels in EQ mode. Returned byte value is between 0x00 (-12dB) and
0x18 (+12dB).
15
Page 16
S5A1903X01DATA PROCESSOR
MEMORY SIZE AND REQUIRED MIPS
MEMORY SIZE
MemorySize (word*)
DataBank 0256
Bank 1256
VIP800
4band EQ500
ProgramTest400
Others100
Total1860
* word = 16 bit
MIPS
RoutinesNo. of CyclesMIPSRemark
VIP6505.2-
4band EQ4003.2Working only when VIP is OFF
Others800.64-
Total (VIP ON) = 650 + 70 + 80 = 800 (6.4 MIPS)
16
Page 17
DATA PROCESSORS5A1903X01
8. ELECTRICAL CHARACTERISTICS
(Unless otherwise specified, Vcc = 2.7V to 3.3V, TA = -30×C to 85×C ; typical characteristic are specified at
Vcc = 3.0V, TA = 25×C; all signals are referenced to GND)