MX93111FC [Macronix]

Consumer Circuit, CMOS, PQFP128, PLASTIC, QFP-128;
MX93111FC
型号: MX93111FC
厂家: MACRONIX INTERNATIONAL    MACRONIX INTERNATIONAL
描述:

Consumer Circuit, CMOS, PQFP128, PLASTIC, QFP-128

商用集成电路
文件: 总98页 (文件大小:1719K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MX93111  
MX93111 DATA SHEET  
CONTENT  
1 INTRODUCTION  
1.1 FEATURE  
2
3
1.2 DIFFERENCE BETWEEN MX93011C AND MX93111  
2 PIN  
2.1 PIN OUT FOR 128 PIN PQFP MX93111  
2.2 PIN DESCRIPTIONS  
4
6
2.3 PIN TYPE ABBREVIATION  
2.4 PINS SUMMARY BY PIN TYPE  
2.5 MULTIPLEX PINS  
9
9
10  
3 ARCHITECTURE  
3.1 DATA UNIT  
13  
18  
23  
28  
3.2 MEMORY MAP AND ADDRESSING MODES  
3.3 PROGRAM FLOW CONTROL UNIT  
3.4 APPLICATION INTERFACE UNIT  
4 REGISTERS  
4.1 I/O MAPPED REGISTERS SUMMARY  
4.2 NON I/O MAPPED REGISTER SUMMARY  
4.3 I/O MAPPED REGISTERS DESCRIPTION  
4.4 NON I/O MAPPED REGISTER DESCRIPTION  
34  
35  
36  
44  
5 INSTRUCTIONS  
5.1 INSTRUCTION SET SUMMARY  
5.2 ACRONYMS AND NOTATIONS  
5.3 INSTRUCTION SET DESCRIPTION  
47  
49  
50  
6 PCM CODEC  
6.1 PCM CODEC OVERVIEW  
6.2 FUNCTIONAL DESCRIPTION  
6.3 CONTROL REGISTERS DEFINITION  
85  
88  
93  
7 CHARACTERISTICS  
7.1 DC CHARACTERISTICS  
97  
7.2 AC TIMING AND CHARACTERISTICS  
102  
8 PACKAGE INFORMATION  
8.0 ORDERING INFORMATION  
117  
117  
8.1 PACKAGE INFORMATION FOR 128 PIN PQFP  
1
Ver 0.01, December 5, 2000  
MX93111  
1.1 FEATURES  
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
»Optimized for highly integrated digital answering machine application  
»Built in DRAM controller; interface with x1,x4, x8 and x16 configuration  
»One 8 bits host interface  
»Maximum 9 general input pins , 23 output pins and 8 programmable bi-directional I/O pins  
»One external interrupt pins  
»1ms internal timer interrupt  
»64 K words program space, 48 K internal , in which control code and voice prompt can be built  
»64 K words data space , 2.5 K words data RAM internal  
»45 MHz running clock , provide 30 MIPs processing power with 40 mA active current  
»Built in PLL with 4.096 MHz clock as clock source to achieve 2 mA consumption in power down  
mode  
operation  
¡
¡
¡
¡
¡
¡
»16 x 16 multiplication and 32 bit accumulation executed in one instruction cycle  
»Single cycle normalization instruction  
»32 bit barrel shifter with left/right shift 15 bits capability  
»32 level hardware stack  
»8 Auxiliary registers used in register indirect addressing.  
»Zero-overhead hardware looping , maximum 8 instruction words executed repeatedly 1024 times  
maximum  
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
»Built-in one PCM CODEC  
»CODECs support 16-bit format linear data  
»Support switch paths for DAM (digital answering machine) related applications  
»Support two comparators for power-low and battery -low detection  
»Support external L..P.F. for D/A output path  
»Support external volume control  
»On-chip differential line driver  
»On-chip ALC (automatic level control)  
»On-chip digital volume control of CODEC  
»On-chip programmable receive/transmit gain control of CODEC  
»Easy interface to FAX or cordless Phone  
»Fabricated in 0.5 um 5V CMOS process  
»128 pins PQFP package  
2
Ver 0.01, December 5, 2000  
MX93111  
1.2 DIFFERENCE between MX93011C and MX93111  
MX93011C  
MX93111  
INTERNAL RAM  
SIZE  
2K Words  
2.5K Words  
Bank0 : 0x0000 ~ 0x03FF(1K)  
Bank1 : 0x0400 ~ 0x07FF(1K)  
0X0800  
Bank0 : 0x0000 ~ 0x03FF(1K)  
Bank1 : 0x0400 ~ 0x09FF(1.5K)  
0X1000  
EXTERNAL RAM  
STARTING ADDRESS  
INTERNAL ROM  
SIZE  
32k Words  
0X8000  
7-BIT  
48k Words  
EXTERNAL ROM  
STARTING ADDRESS  
REPEAT COUNT  
REGISTER  
0XC000  
10-BIT  
AR MODULO  
7-BIT  
10-BIT  
REGISTER  
INTERRUPT PENDING REG5 (R)  
No  
STATUS REGISTER  
CONTINUOUS  
Overflow problem  
Fix continuous “ SQRA”  
INSTRUCTION  
“SQRA”  
EXTENDED OUTPUT OPT21 – OPT19  
PORT REGISTER  
OPT22 – OPT19  
CODEC COMMAND  
REGISTER  
No  
REG5(R/W)  
CODEC  
REG16(R) : CDRR0  
REG16(R/W): CDDR0, CDXR0  
RECEIVE/TRANSMIT REG17(W) : CDXR0  
REGISTERS  
CODEC INTERFACE  
Single external codec  
interface  
Single built-in internal codec  
X’ TAL source  
FLL Multiplication  
Factor Register  
(FLLMR)  
32.256MHz & 32.768KHz  
13-Bit (0 – 0x1FFF)  
4.096MHz  
5-Bit (12 – 24)  
FLL Control Register 12-Bit  
No  
No  
No  
(FLLCONR)  
FLL Status Register  
(FLLSR)  
13-Bit  
5-Bit  
CMCK Divide Ratio  
Register  
(CMCKDIVR)  
3
Ver 0.01, December 5, 2000  
MX93111  
2.1 PIN OUT for 128 PIN PQFP MX93111  
ED15  
ED14  
1
102  
101  
100  
AGND  
2
AVDD  
ED13  
3
LOUTN  
LOUTP  
CMP1I  
ED12  
4
99  
ED11  
5
98  
97  
96  
95  
94  
93  
92  
91  
90  
89  
88  
87  
86  
85  
84  
83  
82  
81  
80  
79  
78  
77  
76  
75  
74  
73  
72  
71  
70  
69  
68  
67  
66  
65  
ED10  
6
CMP1O  
CMP2I  
ED9  
7
ED8  
8
CMP2O  
VCOMP  
GND  
ED7  
9
ED6  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
ED5  
TEST1\  
TEST0\  
HOLD\  
ED4  
ED3  
ED2  
HDB0/BIO0  
HDB1/BIO1  
HDB2/BIO2  
HDB3/BIO3  
GND  
ED1  
ED0  
GND  
MX93111  
OPT22  
CAS\/OPT21  
DRD\/OPT20  
DWR\/OPT19  
RAS\/IPT8  
VDD  
VDD  
HDB4/BIO4  
HDB5/BIO5  
HDB6/BIO6  
HDB7/BIO7  
ACK\/XF\  
HRD\/OPT17  
HWR\/OPT16  
HILO/OPT18  
IPT7  
GND  
EDCE\  
EPCE\  
ERD\  
EWR\  
EAD15  
EAD14  
EAD13  
EAD12  
EAD11  
EAD10  
EAD9  
IPT6  
IPT5  
IPT4  
IPT3  
IPT2  
IPT1  
IPT0  
EAD8  
OPT0  
EAD7  
OPT1  
EAD6  
OPT2  
4
Ver 0.01, December 5, 2000  
MX93111  
2.2 PIN DESCRIPTIONS  
1. POWER/CLOCK/CONTROL PINS :  
Name  
VDD  
Pin Type Pin Number  
Description  
Power  
Power  
23,47,84  
24,51,85,93  
17  
5 Volt power source pins  
Ground pins  
GND  
FLLEN\  
IS  
128  
1 : Test X‘ tal mode.  
0 : Single low X‘ tal mode. High clock will be generated from  
FLL  
XI  
X‘ tal  
X‘ tal  
I/O(A)  
IS  
48  
49  
50  
126  
90  
4.096 MHz crystal oscillator‘ s input  
4.096 MHz crystal oscillator‘ s output  
Output of internal PLL charge pump circuit.  
Power on reset pin.Minium timing 50ms.  
Level trigger.Hold down clock to DSP (X‘ tal oscillator or FLL is  
still active) and related data ,address and control pins will go to  
high-impedance state.  
XO  
CP  
RST\  
HOLD\  
IS  
EROM  
IS  
IS  
127  
46  
Map all program memory space to external  
Falling Edge-triggered non-maskable external interrupt / Test  
clock in  
NMI\/TCLK  
INT1\  
IS  
45  
91  
92  
Falling Edge-triggered maskable external interrupt  
Test pin for CODEC  
TEST0\  
TEST1\  
ISH  
ISH  
Test pin for CODEC  
Note 1: FLLEN\,HOLD\,EROM,GND,NMI\/TCLK,INT1\,TEST0\,TEST1\ pin output low when DSP is in  
reset state or in power down mode.  
5
Ver 0.01, December 5, 2000  
MX93111  
2. CODEC INTERFACE PINS :  
Name  
Pin Type Pin Number  
Description  
AVDD  
Power  
Power  
Power  
Power  
Power  
I(A)  
101,124  
123  
119  
102,125  
121  
94  
5V power for analog circuit  
5V power for speaker driver  
5V power for speaker driver  
Ground for analog circuit  
Ground for speaker driver  
SVDD1  
SVDD2  
AGND  
SGND  
VCOMP  
CMP2O  
CMP2I  
CMP1O  
CMP1I  
LOUTP  
Reference voltage for voltage comparator  
O(A)  
I(A)  
95  
Voltage comparator 2 output  
96  
Non-inverting input of voltage comparator 2  
Voltage comparator 1 output  
O(A)  
I(A)  
97  
98  
Non-inverting input of voltage comparator 1  
Non-inverting output of LIN-DRV with PGA;  
PGA from 0 to 22.5 dB; 1.5 dB/step.  
O(A)  
99  
LOUTN  
VBG  
AG  
O(A)  
O(A)  
O(A)  
100  
103  
104  
Inverting output of LIN-DRV with PGA;  
PGA from 0 to 22.5 dB; 1.5 dB/step.  
Band-gap reference; normal 1.25V and should not be used  
to sink or source current  
Internal analog signal ground; normal 2.25V and should not  
be used to sink or source current.  
VREF  
MIC  
O(A)  
I(A)  
105  
106  
107  
Voltage reference; normal 2.25V and can sink 450uA  
Microphone input with PRE-PGA; PGA from -15 to 21 dB  
Telephone line signal input with PRE-PGA;  
PGA from -15 to 21 dB  
LIN  
I(A)  
AUX1  
I/O(A)  
O(A)  
O(A)  
O(A)  
O(A)  
I/O(A)  
O(A)  
O(A)  
O(A)  
I/O(A)  
O(A)  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
Auxiliary signal input with PRE-PGA; PGA from -15 to 21 dB  
programmable gain amplifier(PRE-PGA) compensate capacitor  
Automatic level control (ALC) time constant  
Automatic level control (ALC) DC blocking capacitor output  
Automatic level control (ALC) DC blocking capacitor input  
1.anti-aliasing filter; 2. As an I/O port for AIN (A/D input)  
Programmable Gain Amplifier Offset Capacitor  
Option of external passive L.P.F (Low Pass Filter);  
Option of external passive L.P.F (Low Pass Filter);  
I/O port for SWK and SWH  
PGAC1  
ALCRC  
ALCC1  
ALCC2  
FILT  
PGAC2  
LPFC1  
LPFC2  
AUX2  
VR  
External speaker volume control; use a variable 10K variable  
Resistor.  
SPKP  
SPKN  
O(A)  
O(A)  
120  
122  
Non-Inverting output of SPK-DRV with DA-PGA, ATT1 And  
ATT2;PGA from 0 to 9 dB; Attenuator 1 & 2 from 0 to -45 dB.  
Inverting output of SPK-DRV with DA-PGA, ATT1 And ATT2;  
PGA from 0 to 9 dB; Attenuator 1 & 2 from 0 to -45 dB.  
6
Ver 0.01, December 5, 2000  
MX93111  
3. MEMORY INTERFACE PINS :  
Name  
Pin Type Pin Number  
Description  
EAD[15:0]  
OA/Z  
29-44  
External memory address bus. Note 2  
ED[15:0]  
IT/OA/Z  
1-16  
External memory data bus. Note 2  
EDCE\  
EPCE\  
ERD\  
EWR\  
CAS\  
OA/Z  
OA/Z  
OA/Z  
OA/Z  
OA  
25  
26  
27  
28  
19  
22  
20  
21  
External data memory chip enable. Note 2  
External program memory chip enable. Note 2  
External memory read enable. Note 2  
External data memory write enable. Note 2  
DRAM column address select  
RAS\  
OA/Z  
OA  
DRAM row address select  
DRD\  
DWR\  
DRAM read enable  
OA  
DRAM write enable  
Note 2: Placed in high-impedance state when DSP is in HOLD mode.  
4. PARALLEL INTERFACE ( HOST INTERFACE ) PINS : When HOSTM bit in CTLR =0  
Name  
HDB[7:0]  
HILO  
Pin Type Pin Number  
Description  
IS/OA/Z  
IS/OA/Z  
IS/OA/Z  
IS/OA/Z  
OA  
80-83,86-89  
Parallel data bus to external host controller  
High or low byte select. 1: select high byte 0: select low byte  
Host read enable  
76  
78  
77  
79  
HRD\  
HWR\  
ACK\  
Host write enable  
Acknowledge to external host that there is response from DSP  
to be read by external host.  
5. GENERAL PURPOSE I/O PORT PINS  
Name  
Pin Type Pin Number  
Description  
IPT[3:0]  
IPT[7:4]  
IPT8  
ISH  
IS  
68-71  
72-75  
22  
Input ports with internal pull high resister ( R ~= 150 K ohm)  
Input ports  
Input port  
IS  
OPT[15:0]  
OB  
52-67  
Output ports  
BIO[7:0]  
OPT[18:16]  
OPT[21:19]  
OPT22  
IS/OA  
OA  
80-83,86-89  
76-78  
19-21  
18  
Programmable bi-directional I/O ports  
Output ports  
OA  
Output ports  
OB  
Output ports  
XF\  
OA  
79  
External flag. Can be changed directly by SXF/RXF instruction.  
7
Ver 0.01, December 5, 2000  
MX93111  
2.3 PIN TYPE ABBREVIATION :  
Pin Type Description  
Pin Type Description  
IS  
CMOS level schmidt trigger input buffer  
CMOS level schmidt trigger input buffer  
with an internal pull high resistor built in  
8 mA drive output buffer  
OB  
Z
16 mA drive output buffer  
High impedance state  
ISH  
OA  
I(A)  
X‘ tal  
O(A)  
Crystal oscillator input/output pin  
Analog output port  
Analog input port  
I/O(A)  
Analog Bi-direction port  
2.4 PINS SUMMARY by PIN TYPE :  
Pin Type Signal Name  
Pin Type Description  
IS  
INT1\ , NMI\ , IPT[8:4], HILO, HWR\  
HRD\, HOLD\, RST\, EROM, FLLEN\  
IPT[3:0], TEST0\, TEST1\  
OB  
OPT[15:0],OPT22  
ISH  
OA  
IS/OA  
BIO[7:0] , HDB[7:0] , OPT[18:16]  
CAS\, DRD\, DWR\, RAS\, ACK\  
EAD[15:0] , EPCE\ , EDCE\  
ERD\ , EWR\ .  
IS/OA/Z ED[15:0]  
OA/Z  
X‘ tal  
XI,XO .  
I(A)  
VCOMP, CMP2I, CMP1I, MIC, LIN  
O(A)  
CMP2O, CMP1O, LOUTP, LOUTN  
VBG, AG, VERF, PGAC1, ALCRC  
ALCC1, ALCC2, PGAC2, LPFC1  
LPFC2, VR, SPKN, SPKP  
I/O(A)  
AUX1, FILT, AUX2 , CP  
8
Ver 0.01, December 5, 2000  
MX93111  
2.5 MULTIPLEX PINS :  
HOSTM = 0 ( uP external )  
Pin Number Signal Name Description  
HOSTM = 1 (uP inside)  
Signal Name Description  
80-83,86-89 HDB[7:0]  
Host data bus  
BIO[7:0]  
OPT18  
OPT17  
OPT16  
Host data bus  
Output port  
Output port  
Output port  
External flag  
76  
78  
77  
79  
HILO  
HRD\  
HWR\  
ACK\  
High low byte select  
Host read enable  
Host write enable  
Acknowledge to HOLD\ XF\  
Note : HOSTM is bit 1 of CTLR , Its power-on reset default is 0 .  
DFS = 0 ( DRAM interface )  
DFS = 1 ( FLASH interface )  
Signal Name Description  
Pin Number Signal Name Description  
19  
20  
21  
22  
CAS\  
DRD\  
DWR\  
RAS\  
Column address select OPT21  
Output port  
Output port  
Output port  
Output port  
DRAM read enable  
DRAM write enable  
Row address select  
OPT20  
OPT19  
IPT8  
Note : DFS is bit 1 of EXCTLR , Its power-on reset default is 0 .  
2.6 I/O PORT INTERNAL CIRCUIT :  
2.6.1. Input port  
Pull-high resistor  
: IPT0~IPT3, TEST0\, TEST1\  
9
Ver 0.01, December 5, 2000  
MX93111  
No pull-high resistor  
: INT1\, NMI\, IPT4~IPT7, HOLD\  
2.6.2. Output port  
OPT0~OPT15  
2.6.3. Bi-direction port  
BIO0~BIO7,  
10  
Ver 0.01, December 5, 2000  
MX93111  
3. ARCHITECTURE  
3.1 DATA UNIT  
3.1.1 ALU  
3.1.2 ACCUMULATOR  
3.1.3 MULTIPLIER  
3.2 MEMORY MAP AND ADDRESSING UNIT  
3.2.1 MEMORY MAP AND MEMORY INTERFACE  
3.2.2 IMMEDIATE ADDRESSING MODE  
3.2.3 PAGED MEMORY-DIRECT ADDRESSING  
3.2.4 REGISTER INDIRECT ADDRESSING MODE  
3.2.5 MODULO ADDRESSING  
3.2.6 MISCELLANEOUS ADDRESSING MODE  
3.3 PROGRAM FLOW CONTROL UNIT  
3.3.1 CLOCK GENERATOR/FLL  
3.3.2 RUNNING MODE/PIPE LINE / WAITSTATE  
3.3.3 BRANCH/CALL/REPEAT/LOOP/STACK REGISTER  
3.3.4 INTERRUPT  
VECTOR  
MASK  
STATUS  
INTERRUPTIBLE  
NESTING  
3.4 APPLICATION INTERFACE UNIT  
3.4.1 CODEC INTERFACE  
3.4.2 DRAM INTERFACE  
3.4.3 I/O FUNCTION  
3.4.4 HOST INTERFACE  
3.4.5 TIMER  
11  
Ver 0.01, December 5, 2000  
MX93111  
3.1 DATA UNIT  
3.1.1 ALU  
ARITHMETIC INSTRUCTIONS:  
ABS  
ADH/ADHK/ADHL Add data (from memory) or constant to high accumulator  
ADL/ADLK/ADLL Add data (from memory) or constant to low accumulator  
SBH/SBHK/SBHL Subtract data (from memory) or constant from high accumulator  
SBL/SBLK/SBLL Subtract data (from memory) or constant from low accumulator  
Absolute value of high accumulator  
u Execute ABS on 0x8000 will cause incorrect result, because absolute value of 0x8000 exceed the  
maximum positive number (0x7FFF) which can be represented.  
u Data format for ALU is assumed to be signed two‘ s complement. Short constant is treated as  
unsigned constant.  
LOGIC INSTRUCTIONS:  
OR/ORK/ORL  
OR data (from memory) or constant with high accumulator  
AND/ANDK/ANDL AND data (from memory) or constant with high accumulator  
XOR/XORK/XORL Exclusive-OR data (from memory) or constant with high accumulator  
DATA MOVEMENT INSTRUCTIONS:  
LAC/LACK/LACL  
Load data (from memory) or constant to high accumulator  
Store contents of high or low accumulator to data memory  
Load product register to accumulator  
SAH/SAL  
PAC  
APAC/SPAC  
POPH/POPL  
PSHH/PSHL  
Add/Subtract product register to/from accumulator  
Pop top of stack to high/low accumulator  
Push high/low accumulator onto stack  
12  
Ver 0.01, December 5, 2000  
MX93111  
3.1.2 ACCUMULATOR  
SCALING INSTRUCTIONS :  
SFL/SFR/SFRS  
Shift contents of accumulator left/right/right with sign extended  
OVERFLOW MODE SETTING :  
SOVM/ROVM  
Set/Reset overflow mode  
u When OVM bit being set , overflow mode protection is enabled. IF the results of data operation  
during add/subtract and shifting instructions execution exceed the maximum or minimum value that  
can be represented by the accumulator ,we call this condition as overflow. If overflow mode is  
enable in this case , data in accumulator will be saturated to the largest positive or the negative  
smallest number that can be represented.( 0x7FFF FFFF or 0x8000 0000)  
NORMALIZE INSTRUCTIONS :  
NOM  
Normalize contents of accumulator  
u This NOM instruction performs hardware normalization operation on signed two‘ s complement  
numbers stored in the accumulator. The left shifted counts during normalization are stored in shift  
count register (SHFCR) . Note : SHFCR is 5 bit wide in this normalize case , the following scaling  
operation by “ SFL 0” has up to 31 bit left shift capability  
FLAG:  
SIGN  
OV  
MSB of high accumulator.  
Overflow flag for last ACCH operation. This flag will be cleared by any  
instructions  
which will generate result in accumulator.  
Accumulator zero flag. This bit reflects current accumulator status.  
ACZ  
These flags are all stored in status register, and can be read out by SSS instruction.  
13  
Ver 0.01, December 5, 2000  
MX93111  
3.2 MEMORY MAP AND ADDRESSING MODES  
3.2.1 MEMORY MAP  
0\h  
On Chip Data RAM  
1 K Words  
1 K Words  
03FF\h  
0400\h  
Bank0  
0\h  
On Chip Data RAM  
Bank1  
0\h  
On Chip  
07FF\h  
0800\h  
External  
Program ROM  
or RAM  
Program ROM  
BFFF\h  
C000\h  
On Chip Extended  
RAM Bank1  
0.5 K Words  
1.5 K Words  
09FF\h  
0A00\h  
0FFF\h  
1000\h  
External  
Program ROM  
or RAM  
No defined  
FFFF\h  
External Data  
RAM or ROM  
FFFF\h  
60 K Words  
EROM= ‘ 1’  
FFFF\h  
EROM= ‘ 0’  
PROGRAM MEMORY MAP  
DATA MEMORY MAP  
u Program memory map is selected by EROM . When EROM=1 , all program memory space are  
mapped to external. When EROM=0 , the first 48 K words program memory space are mapped to  
internal contact-programming ROM and the second 16 K words are mapped to external.  
u Program addresses 0x0000 ~ 0x000B are reserved for interrupt vector, main program can start from  
0x000C.  
u Totally 2.5K words internal RAM. Only first 2 K words can be accessed by short direct mode  
addressing. Refer to next section to see the details about data access.  
3.2.2 IMMEDIATE ADDRESSING MODE  
u In immediate addressing ,the immediate operand is contained in the instruction words. This  
immediate operand is either a un-signed 7 bit short constant or a long 16 bit constant which may be  
un-signed or signed(ADLL and SBLL instructions).  
Example : Short immediate  
ADHK 23  
Long immediate  
ADHL 0x1234  
Add 23 or 0x1234 to high accumulator  
14  
Ver 0.01, December 5, 2000  
MX93111  
3.2.3 PAGED MEMORY DIRECT ADDRESSING  
2 K words  
Addressing  
Space  
Page0 : 0 ~ 127  
Page1 : 128 ~ 255  
Page2 : 256 ~ 383  
DP[3:0].dma[6:0]  
Page15 : 1920~2047  
PAGED MEMORY DIRECT ADDRESSING  
u In paged memory-direct addressing mode , data operand to be processed with is pointed by 11 bit  
address , which are composed of 4 bit data page pointer and 7 bit within-page address.  
u 4 bit data page pointer DP[3:0] (part of status register) will select one of 16 pages of internal data  
RAM ( only first two k words of internal RAM). 7 bit direct memory address is encoded in instruction  
word and will choose one of 128 memory location within the selected page.  
u LDP or LDPK instruction can be used to modify data page pointer, SDP and SSS instructions can  
be used to save data page pointer in data memory.  
Example : ADH 127 ( if DP[3:0]=2 )  
Add data from memory ( page 2, address within page is 127) to high accumulator  
15  
Ver 0.01, December 5, 2000  
MX93111  
3.2.4 REGISTER INDIRECT  
64 K words  
Addressing  
Space  
NARP[2:0]  
ARP[2:0]  
Data RAM  
Bank0  
1 K  
AR0[15:0]  
AR1[15:0]  
AR2[15:0]  
AR3[15:0]  
AR4[15:0]  
AR5[15:0]  
AR6[15:0]  
AR7[15:0]  
Data RAM  
Bank1  
1 K  
AR[15:0]  
Extended  
RAM Bank1  
0.5 K  
1.5 K  
Not Defined  
External Data  
Ram or ROM  
+/- 0,1,2,AR0  
60 K  
REGISTER-INDIRECT ADDRESSING MODE  
u There are 8 auxiliary registers which are used as data memory pointer in register-indirect mode  
addressing. ARP[2:0] in status register will choose one of them as current ar , and this 16 bit-wide  
current ar will point to one of 64 k words data memory space in related instruction operation.  
u A dedicated arithmetic unit is used to post modify the content of current ar parallel with instruction  
execution without introducing any extra instruction cycle. Up to seven kinds of post-modification can  
be made depending on what kind of operand specified in instruction word.  
u ARP[2:0] also can be modified at the same time with new ARP for next following instructions use.  
Syntax : INST * [,narp]  
; Details about operand “ * ” and “ [,narp] ” are described below  
Operand  
Operation  
Operand  
[,narp]  
None  
Operation  
*
+0  
No operation  
None  
-AR0  
+AR0  
+
(arp) -ar0 à (arp)  
(arp)+ar0à (arp)  
(arp) + 1 à (arp)  
(arp) - 1 à (arp)  
(arp) + 2 à (arp)  
(arp) - 2 à (arp)  
,narp  
narp à arp  
-
++  
--  
Note : “ [,narp]” is an optional operand.  
(arp) is one of 8 auxiliary registers which is pointed by arp.  
Before instruction : ARP[2:0] = 5 AR5[15:0]=0x1234  
Example  
: ADH +, 2 ; Add data from memory pointed by AR5[15:0] to high accumulator  
and increase AR5[15:0] by one as specified in operand “ + ” , ARP[2:0] are also  
updated with value “ 2” for following use.  
After instruction : ARP[2:0] = 2 AR5[15:0]=0x1235 Note: AR2[15:0] now becomes current ar .  
16  
Ver 0.01, December 5, 2000  
MX93111  
u MAR instruction can execute auxiliary register operation stated above alone .  
u LAR , LARK and LARL instructions will load the content of specified auxiliary register with the data  
from memory( addressed by short direct mode or register indirect mode) or immediate constant.  
u SAR instruction will store the content of auxiliary register specially specified to data  
memory( pointed by short direct mode or register indirect mode).  
Special syntax :  
LAR *, arps [,arp]  
IN * , port_address [,narp]  
OUT * , port_address [,narp]  
17  
Ver 0.01, December 5, 2000  
MX93111  
3.2.5 REGISTER INDIRECT ADDRESSING WITH MODULO ADDRESS  
ARITHMETIC  
u Writing a non-zero value to MODULO register(I/O mapped 13) will enable modulo arithmetic  
operation in register-indirect addressing mode. A circular buffer whose length is MOD[9:0]+1 will be  
formed. This buffer starts from M-word boundaries(N*M , N=0,1,2 ...64K/K-1),where M is the  
smallest power of two that is equal to or greater than the size of circular buffer, and ends at buffer  
size location relative to start point.  
u In register-indirect addressing mode operation, whenever the current auxiliary register points to the  
boundary of this circular buffer(either start or end boundary),it will be wrapped to the other side of  
the boundary for next address.  
u This circular buffer must be formed in continuous memory space, that is only +/- by one post ar  
operation is allowed.  
Before instruction : ARP[2:0] = 5 AR5[15:0]=0x1239 MOD[9:0]=25=0x19 M=32=0x20  
AR5 just lies on the ending boundary( 0x1220 ~ 0x1239 )  
Example  
: ADH +, ; Add data from memory pointed by AR5[15:0] to high accumulator  
After instruction : AR5[15:0]=0x1220 (wrapped to starting boundary)  
3.2.6 MISCELLANEOUS ADDRESSING MODE  
u In MB ,MBA ,MBS multiplication instructions , the LSB of data address is decided by “ R” or “ I”  
operands. “ R” points to the even address location, “ I” points to the odd address location.  
u In MPA array multiplication instructions, address of bank0 comes from current ar , and address of  
bank1(offset address) comes from program counter which was originally stored in high  
accumulator before instruction execution.  
18  
Ver 0.01, December 5, 2000  
MX93111  
3.3 PROGRAM FLOW CONTROL UNIT  
3.3.1 CLOCK GENERATOR / FLL  
CLOCK GENERATOR :  
RAS\  
DRAM refresh  
circuit  
CAS\  
PWDN  
4.096 MHz low  
X‘ TAL  
OSCILLATOR  
TIMER  
INTERRUPT  
REQUEST  
to DSP  
1
¡
Ò
0
¡
4Ò096  
Ò256  
¡
CFS  
XI  
XO  
¡
Ò
(8KHz)  
CMCK  
PLL  
(2.048MHz)  
1
0
0
1
CLOCK  
to DSP  
NMI\(TCLK)  
PWDN  
FLLEN\  
HOLD\  
RST\  
SWHOLD  
NMI\  
INT1\  
CLEAR  
INT1M  
TMRINT\  
TMRM  
CLOCK GENERATOR FUNCTION BLOCK DIAGRAM  
u In normal mode, clock of DSP is selected(by FLLEN\ pin =0) directly from low x’ tal scillator.  
In test clock mode, clock of DSP is selected(by FLLEN\ pin = 1) from NMI\ pin which  
external test clock input.  
u In power down mode ,clock of DSP is selected (by PWDN bit =1)direct from low X‘ tal( divided by  
256). FLL will be turn off to save the power.  
u In hardware or software hold mode ( issued by HOLD\ pin or SHOLD bit in CTLR) , clock to DSP  
will be held down till hardware hold being deasserted by HOLD\ or SHOLD bit cleared by interrupt  
request. Hold mode does not save more power like power down mode does, because FLL or High  
X‘ tal is not turn off, but it responds faster for DSP resumes normal running. Timer is also active in  
hold mode.  
u EAD[15:0],ED[15:0],EDCE\,EPCE\,ERD\ and EWR\ pins will be placed in high-impedance state  
when DSP is in hold mode.  
u Details about codec clocks and timer interrupt ,please refer to section 3.4.1 and 3.4.5 .  
19  
Ver 0.01, December 5, 2000  
MX93111  
FLL :  
4.096 MHz  
X‘ TAL  
¸
2
IMCLK  
¸
256  
IFS  
XI  
XO  
R1  
2.048´FLLM  
DSP_CLK  
C1  
C2  
DSP_CLK = 2.048MHz*FLLM[4:0]  
IMCLK = 2.048 MHz  
IFS = 2.048MHz/256  
PWDN  
FLLEN\  
ENABLE  
FREQUENCY LOCKED LOOP FUNCTION BLOCK DIAGRAM  
u FLL ENABLE : FLL block is enabled by pin FLLEN\ =0 and will be disabled when DSP is in power  
down mode.  
u PROGRAMMABLE DIVIDER : Clock from 4.096MHz X’ TAL will be divided by 2 before being fed  
into programmable divider. Programming FLLM[4:0] register ( I/O mapped 21) will change the  
frequency of clock to DSP based on the following equation :  
DSP_CLOCK = 4.096 MHz / 2 * FLLM[4:0]  
Default : DSP_CLOCK = 4.096 MHz / 2 * 20 = 40.96 MHz  
u LOCK IN TIME : Whenever a new frequency specified in FLLM register or DSP just comes back  
from power down mode or just starts from power on reset ,the closed loop of FLL takes about 10 mili  
second to lock at the target frequency.  
20  
Ver 0.01, December 5, 2000  
MX93111  
3.3.2 RUNNING MODE/PIPE LINE/WAITSTATE  
Change  
FLLM[12:0]  
DSP CLOCK  
RST\ 0 ¡ ÷1  
Normal  
Runing  
Power On  
Reset  
PREFETCH  
DECODE  
N
N+1  
N
N+2  
N+1  
PWDNS ¡ ÷0  
HOLD\ =0 or  
SHOLD=1  
N-1  
Wait  
62.5 mS  
EXECUATION  
N-2  
N-1  
N
HOLD\ =1 or  
Interrupt Request  
PWDN =0  
Hold  
Mode  
Power  
Down  
Instruction  
Cycle Time  
DSP RUNNING MODE  
PIPE LINE and INSTRUCTION CYCLE TIME  
RUNNING MODE :  
u When DSP starts running from power on reset state , or change FLLM[4:0] during normal running  
mode , it takes about 10 ms for PLL output clock to reach the target frequency.  
u When DSP wakes up from power down mode by clearing PWDN bit , there will be 62.5 ms lead time  
for DSP to switch running clock from low speed to high speed. PWDNS bit in CTLR reflects this  
running speed status.  
u When DSP runs into hold mode either by hardware HOLD\ pin asserted low or by setting SHOLD bit  
in CTLR high , clock to DSP will be hold down until HOLD\ pin asserted high again or SHOLD bit  
being cleared by external interrupt or internal timer interrupt request.  
PIPE LINE /WAITSTATE:  
u A complete operation of instruction execution is composed of there part :  
PREFETCH : Fetch instruction code from program ROM (either internal or external)  
DECODE  
: Decode instruction and fetch data operand or store data in some  
location if needed  
EXECUTION : Execute data operation in data unit.  
u There are three instructions executed in parallel, each one stays in different pipeline stage.  
Instruction cycle is only 1/3 the time that one instruction execution really need.  
u Instruction cycle time equals to the interval of one and half DSP clock for zero wait state case. Unit  
increase in waitstate number(for PROGWAIT and DATAWAIT), increase the instruction cycle time  
by one DSP clock.  
21  
Ver 0.01, December 5, 2000  
MX93111  
3.3.3 BRANCH/CALL/REPEAT/LOOP/STACK REGISTER  
BRANCH :  
u BS/BZ instructions: Branch immediate if bit being tested equals one or zero  
Example : BS cnst3 , pma16 ; “ cnst3” will be used to select one of upper byte of status  
register and test if condition is true or not.“ pma16” is new  
program address which DSP will jump to if condition is true.  
u BACC instruction: Unconditional branch. After executing this instruction DSP will jump to  
address location specified in high accumulator.  
CALL :  
u CALL instruction: Call subroutine directly . Example : CALL pma16  
u CALA instruction: Call subroutine indirectly. Subroutine address is specified in high  
accumulator.  
u Nesting CALL is permissible and has no limit before stack overflow occurs.  
REPEAT :  
u RC : Repeat counter. Instructions TBR , MPA and SQRA and instructions within program loop will  
be executed RC[9:0]+1 times. This repeat counter can be read by IN instruction and written by  
instructions RPT(RC[9:0])/RPTK(RC[6:0]).  
LOOP :  
u LUP/LUPK instructions : Enable hardware looping operation, and the following words  
(maximum 8 words) instruction will be executed RC[9:0]+1 times.  
u Branch and call instructions are not allowed within program loop.  
STACK REGISTER :  
31  
RELATED  
30  
INSTRUCTIONS  
OR CONDITION :  
STACK POINTER  
REGISTER  
3
SSR  
PC (NEXT)  
ACCH  
INTERRUPT/RETI  
CALL/CALA/RET/RETI  
POPH/PSHH  
WRITE TO  
SP[4:0]  
2
1
0
READ FROM  
ACCL  
POPL/PSHL  
32 X16 STACK  
REGISTER  
Data Memory  
POP/PSH  
u Stack register size : 32x16  
u 5 bit stack pointer always points to the location within stack register where next data will be put.  
u Nesting call can be formed by the help of stack register to store the return address.  
u No pointer overflow or underflow protection built in, when such cases occur, the pointer will be  
wrapped to the other side of the stack  
22  
Ver 0.01, December 5, 2000  
MX93111  
3.3.4 INTERRUPT  
Interrupt Source Vector Address Priority Maskable Pending Status  
Descriptions  
Power-on reset or reset  
Non-maskable interrupt  
Single step interrupt  
External maskable interrupt  
Codec interrupt( 8 KHz)  
Timer interrupt  
RST\  
NMI\  
0x0000  
0x0002  
0x0004  
0x0006  
0x0008  
0x000A  
1st  
2nd  
3th  
4th  
5th  
6th  
No  
No  
SS  
Yes  
Yes  
Yes  
Yes  
INT1\  
Yes  
Yes  
Yes  
CODECINT  
TMRINT  
u Interrupt Mask : Each bit in I/O mapped register 4 (IMR) enables or disables the servicing of an  
individual interrupt. Global interrupt mask bit INTM equals “ 1” will mask all interrupt requests except  
reset and non-maskable interrupt request. INTM bit is set or reset by DINT or EINT instruction.  
u NMI\ and INT1\ are edge triggered interrupt which request DSP during high to low transition.  
u Interruptible : State that INTM or individual interrupt mask bits are in reset state (“ 0” ) and no higher  
priority interrupt being serviced or exist in pending status.  
u Program flow within repeat loop such like LUP, TBR ,MPA and SQRA instructions , and at time  
during DRAM data movement are all not interruptible.  
u When a maskable interrupt request occurs , if DSP is in interruptible state, this request is granted by  
DSP and following service routine will be executed, otherwise this request will be hold in pending  
status bit until the DSP enters interruptible state again  
23  
Ver 0.01, December 5, 2000  
MX93111  
u When DSP jumps into interrupt subroutine , INTM bit is automatically set high ( After push status  
register onto stack ) to prevent from nesting interrupt occurs. Execute EINT will change this situation  
and then make nesting interrupt permissible.  
u Software hold state will be terminated and return to normal running if external interrupt or timer  
interrupt occurs and is granted by DSP.  
u Single step(I/O mapped 7) provides an “ always exist ” interrupt condition. DSP will be interrupted  
after every instruction cycle.(DSP must be in interruptible state)  
u No register will be automatically saved in stack register except status register during interrupt  
service routine. Cares should be taken with the current values stored in X-register, product register  
and accumulator , backup them at first in interrupt routine if needed.  
24  
Ver 0.01, December 5, 2000  
MX93111  
3.4 APPLICATION INTERFACE UNIT  
3.4.1 CODEC INTERFACE  
IFS  
(8 KHz )  
¡
2Ò56  
IMCK  
(2.048 MHz)  
Clock from pLL  
u IMCK is directly from PLL output. IFS equals to IMCK/256.  
IFS (8KHz)  
IMCK(2.048 MHz)  
D15  
D14  
D13  
D12  
D0  
D15  
D14  
D13  
CDR0 ; CDX0  
Codec Interrupt Request  
u After CFS positive pulse DSP begins to exchange data with external codec through CDR0 and  
CDX0. DSP transmits data at CMCK rising edge and receives data at CMCK falling edge.  
u First data received will be put into the MSB of codec receive registers(I/O mapped 16,17).  
u First data transmitted will come from the MSB of codec transmit registers(I/O mapped 16,17).  
u After LSB (16th) data transmitted or received, DSP will generate an internal codec interrupt request.  
25  
Ver 0.01, December 5, 2000  
MX93111  
3.4.2 DRAM INTERFACE  
DRAMCOL[14:0]  
DRAMROW[14:0]  
Start  
Start  
RAMA[9:0]  
DRAMCNT[5:0]  
¡ b  
TOIRAM  
Data RAM  
Bank1  
External  
DRAM  
u DRAM controller support data movement between DSP RAM bank1 and external DRAM  
u Support FAST-PAGE and EDO-PAGE mode DRAMs  
u Data movement starts from non-zero value written to DRAMCNT[5:0] (I/O mapped 9)  
u DSP will be hold during this data movement  
u RAMA[9:0] (I/O mapped 9) specifies the starting address where data movement begin  
u DRAMCOL[14:0](I/O mapped 10) and DARMROW[14:0](I/O mapped 11) specify the column and  
row part of DRAM starting address where this data movement begin  
u TOIRAM(I/O mapped 11) defines the direction of data movement  
0 : DSP ¡ ÷DRAM 1: DSP¡ öDRAM  
u DRAMSIZE[1:0](I/O mapped 8) define the configuration of DRAM data width :  
0 : x1 1: x4 2: x8 3: x16  
u DRAMWAIT[2:0](I/O mapped 8) are the wait state number during DRAM data access  
Find the larger one of DRAMWAIT[2:0] below  
TRAC < 73 ns + (12.2 ns x DRAMWAIT[2:] ) or  
TCAC < 11 ns + (12.2 ns x DRAMWAIT[2:0]  
u Refresh mode : CAS before RAS refresh  
Refresh cycle time : every 15.258 us ( 64 KHz)  
26  
Ver 0.01, December 5, 2000  
MX93111  
3.4.3 I/O FUNCTION  
u IN/OUT instructions transfer data between internal data RAM and I/O mapped registers  
u Up to 9 input port pins , 24 output port pins and 8 programmable bi-directional I/O pins can be used  
in general I/O function  
u HOSTM is software bits in CTLR(I/O mapped 7).DFS is software bits on EXCTLR.  
u IPT[3:0] built with internal pull high register(R ~ = 150 K ohm)  
u XF\ can be used as general output pin which can be set or reset directly by RXF and SXF instruction  
Application  
HOSTM DFS Input Ports  
Output ports  
OPT[15:0]  
Bidirection I/O  
None  
External Host/DRAM  
External Host/FLASH  
No external Host/DRAM  
No external Host/FLASH  
0
0
1
1
0
1
0
1
IPT[7:0]  
IPT[8:0]  
IPT[7:0]  
IPT[8:0]  
OPT[21:19;15:0]  
OPT[18:0]  
None  
BIO[7:0]  
BIO[7:0]  
OPT[21:0]  
BIT  
REG0  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
OPT[15:0]  
REG1(W)  
REG1(R)  
REG2  
OPT[23:19]  
IPT[8:0]  
BIO[7:0]  
BIO[15:8]  
OPT[18:16]  
REG7  
27  
Ver 0.01, December 5, 2000  
MX93111  
3.4.4 HOST INTERFACE  
CMDRDY ¡ ÷1  
HILO  
External  
Host  
Controller  
HDB[7:0]  
High Byte Low Byte  
Command Register  
HRD\  
HWR\  
ACK\ ¡ ÷0  
u HOSTM (I/O mapped 7) define the HOST mode and multiplex some DSP I/O pins  
HOSTM : 0 : External host controller  
1 : No external host controller  
u External host can read or write byte-wide command from or to this COMMAND REGISTER through  
HDB[7:0] and HILO select pins. HILO pin=1 will select upper byte of this register.  
u When external host writes command to high byte of this register , CMDRDY bit in CTLR will be set  
till this register being read by DSP.  
u When DSP writes command to this register , ACK\ pin will go low till high byte of this register being  
read by external host.  
28  
Ver 0.01, December 5, 2000  
MX93111  
3.4.5 TIMER  
PWDN  
4.096 MHz X‘ TAL  
OSCILLATOR  
TIMER  
1
0
¡
Ò
INTERRUPT  
REQUEST  
to DSP  
¡
Ò
XI  
XO  
R1  
C1  
C2  
PWDN Timer Interrupt Period  
0
1
1 mili second  
1/32 second  
u Timer accuracy is determined by crystal‘ s character ,R1,C1,C2 and stray capacitance on PCB.  
29  
Ver 0.01, December 5, 2000  
MX93111  
4.1 I/O Mapped Registers Summary  
Register  
Name  
Bit  
Width  
16  
I/O  
Related Instructions  
Descriptions  
Address  
0 (R/W)  
1 (R/W)  
1 (R)  
OPTR  
IN/OUT  
IN/OUT  
IN  
Output ports register  
EXTOPTR  
IPTR  
5
Extended output ports register  
Input ports register  
11  
BIOR/CMDR  
16  
2 (R/W)  
IN/OUT  
Bi-directional I/O ports / HOST  
command register  
SHFCR  
IMR  
4
4
3 (R/W)  
4 (R/W)  
5 (R/W)  
7 (R/W)  
8 (R/W)  
IN/OUT/SFL/SFR/SFRS Shift count register  
IN/OUT  
IN/OUT  
IN/OUT  
IN/OUT  
Interrupt mask register  
Codec command register  
Control register  
CDCMR  
CTLR  
2
15  
11  
WSTR  
Memory wait state and DRAM  
configuration register  
DRAMACR  
DRAMCOLR  
DRAMROWR  
RCR  
16  
15  
16  
7
9 (R/W)  
IN/OUT  
DRAM access control register  
DRAM column address register  
DRAM row address register  
Repeat counter  
10 (R/W) IN/OUT  
11 (R/W) IN/OUT  
12 (R)  
13(R)  
IN  
MODR  
7
IN/MOD/MODK  
Modulo register for modulo  
addressing  
XR  
16  
5
14 (R)  
15 (R)  
IN  
X register (one of source registers to  
16x16 multiplier)  
SPR  
IN/PSH/PSHH/PSHL  
Stack pointer register  
POP/POPH/POPL  
CDRR0  
CDXR0  
16  
16  
15  
16  
4
16 (R)  
16 (W)  
18 (W)  
19 (W)  
20 (W)  
21(R/W)  
24(R/W)  
IN  
Codec0 receive register  
OUT  
OUT  
OUT  
OUT  
IN/OUT  
IN/OUT  
Codec0 transmit register  
PRODLR  
PRODHR  
TESTR  
Lower word of product register  
Upper word of product register  
Testing register for internal use  
PLL multiplication register  
Extended Control register  
PLLMR  
5
EXTCTLR  
4
Notes: (R) : This register is read only  
(W) : This register is write only  
(R/W) : This register can be read or write  
30  
Ver 0.01, December 5, 2000  
MX93111  
32 I/O Mapped  
Registers Addressing  
Space  
Page0 : 0 ~ 7  
Page1 : 8 ~ 15  
Page2 : 16 ~ 23  
Page 3 : 24 ~ 31  
IOP[1:0].port_address[2:0]  
PAGED I/O MAPPED REGISTER ADDRESSING  
u
u
u
Address of I/O mapped registers are composed of 2 bit I/O page pointer which are stored in status  
register and 3 bit within page port_address.  
LIP or LIPK instruction can be used to modify I/O page pointer, SIP and SSS instructions can be  
used to save I/O page pointer in data memory.  
3 bit port_address are directly specified in part of instruction .  
4.2 Non I/O Mapped Registers Summary  
Register  
Name  
Bit  
Width  
16  
I/O  
Related Instructions  
Descriptions  
Address  
ACCH  
SAH/ADH/SBH/POPH High word of accumulator  
PSHH/AND/OR/XOR  
ABS/LAC ...  
ACCL  
ACC  
PC  
16  
32  
16  
SAL/ADL/SBL/POPL  
PSHL ...  
Low word of accumulator  
32 bits accumulator  
SBL/ADL/SFL/SFR  
NOM/ Multiply ...  
CALL/CALA/TRAP/BS Program counter. Acts as program  
BZ/BACC/RET/RETI  
Reset/Interrupt  
SSS/BS/BZ  
memory pointer  
SSR  
16  
Status register  
INTM : EINT/DINT  
TB : BIT  
OVM : ROVM/SOVM  
ARP : MAR  
IOP : LIP/SIP  
DP : LDP/SDP  
LAR/SAR/MAR  
AR0 ~ AR7  
16x8  
Auxiliary registers. Used as data  
memory pointer in register-indirect  
mode addressing  
31  
Ver 0.01, December 5, 2000  
MX93111  
4.3 I/O Mapped Registers Description  
4.3.1 OPTR (I/O mapped 0 : R/W) : Output Ports Register  
Bit  
Field  
Default  
Description  
15 ~ 0 OPT[15:0]  
0
Output ports register. Content of this register will be reflected to  
corresponding output pins.  
4.3.2 EXTOPTR (I/O mapped 1 : W) : Extended Output Ports Register  
Bit  
14~ 11  
Field OPT[22:19]  
Bit  
Field  
Default  
Description  
Output ports register. Content of this register will be reflected to  
corresponding output pins.  
14 ~ 11 OPT[22:19]  
0
4.3.3 IPTR (I/O mapped 1 : R) : Input Ports Register  
Bit  
10  
9
8
7~0  
Field ACK\ / XF\ EROM IPT8 IPT[7:0]  
Bit  
Field  
Default  
Description  
Host acknowledge / External flag. Status bit, mapped from pin number  
14.  
10  
ACK\ / XF\  
1
9
8
EROM  
IPT8  
X
X
Status bit, mapped from pin number 97  
Input port, mapped from pin number 93 when DFS bit in EXTCTLR  
equals one  
7 ~ 0  
IPT[7:0]  
X
Input ports, mapped from 15 ~ 22  
4.3.4 CMDR / BIOR (I/O mapped 2 : R/W) : Command or  
Bi-directional I/O ports Register  
Bit  
15 ~ 0  
Option  
Field CMD[15:0]  
Field BIO[15:0]  
If HOSTM bit in CTLR =0  
If HOSTM bit in CTLR =1  
32  
Ver 0.01, December 5, 2000  
MX93111  
4.3.4 CMDR / BIOR (I/O mapped 2 : R/W) : Command or Bi-directional I/O ports  
Register ( Continued )  
Bit  
Field  
Default  
Description  
15 ~ 0 CMD[15:0]  
0
Parallel host command register. External Host can read or write byte-  
wide command from or to this CMD register through HDB[7:0] and  
Hilo select pins. Hilo pin =1 will select upper byte of this CMD register.  
Related Flag : When external host writes command to high byte of this  
register , CMDRDY bit in CTLR will be set till this  
register being read by DSP.  
When DSP writes command to this register , ACK\ pin  
will go low till high byte of this register being read by  
external host.  
15 ~ 0 BIO[15:0]  
0
BIO[7:0] are programmable bi-directional I/O ports. Ports direction of  
BIO[7:0] are programmed by BIO[15:8] bits respectively.  
BIO15 : 0 à BIO7 Input port  
1 à BIO7 output port  
..........  
4.3.5 SHFCR (I/O mapped 3 : R/W ) : Shift Count Register  
Bit  
Field  
Default  
Description  
4 ~ 0 SHFC[4:0]  
0
Shift Count of barrel shifter . If the value of operand specified in  
SFL/SFR/SFRS usage equal 0 , left shift or right shift count of barrel  
shifter will be decided by this register.  
In normalize operation by “ NOM” , left shift counts are also stored in  
this register, but with one more extra bit for 31-bit shifting. In this case,  
the 5-bit SHFC[4:0] can be read by “ IN” instruction for later operation.  
But for “ OUT” instruction, only SHFC[3:0] can be written, SHFC[4] is  
always forced to 0 for backward compatible issue.  
4.3.6 IMR (I/O mapped 4 : R/W ) : Interrupt Mask Register  
Bit  
3
2
1
0
Field SSM TMRM CODECM INT1M  
Bit  
Field  
Default  
Description  
Interrupt mask bit will disable or enable individual interrupt  
1 : disable  
0 : enable  
3
2
1
0
SSM  
TMRM  
1
1
1
1
Single step interrupt mask bit  
Timer interrupt mask bit  
CODECM  
INT1M  
Codec interrupt mask bit  
External interrupt 1 mask bit  
33  
Ver 0.01, December 5, 2000  
MX93111  
4.3.7 CDCMR (I/O mapped 5 : R or R/W ) : Codec command register  
Bit  
9
8
2
1
0
Field CDREADYX ISDATA ICPDX ISDENX ISDATAW  
R
Bit  
9
Field  
Default R/W  
Description  
If CDREADYX = 0, CODEC is ready  
DSP read register from CODEC  
CDREADYX  
ISDATAR  
ICPDX  
R
R
8
2
0
1
0
R/W Set CODEC powerdown. 0 = power down.  
R/W DSP read/write register enable  
R/W DSP write register to CODEC  
1
ISDENX  
0
ISDATAW  
4.3.8 CTLR (I/O mapped 7 : R/W ) : Control Register  
Bit  
14 ~ 12  
11  
10  
9
8
Field OPT[18:16] PWDN SWHOLD  
Bit  
7
6
5
4
3
2
1
0
Field  
CMDRDY PWDNS SS  
SNSEL HOSTM  
Bit  
Field  
Default  
Description  
14 ~ 12 OPT[18:16]  
0
Output ports to pin when HOSTM in CTLR = 1 .  
Share pin location with HILO , HRD\ and HWR\ .  
11  
10  
PWDN  
0
Power down mode enable. When power down mode being enabled by  
setting this bit DSP will switch running clock source to low x‘ tal, and  
turn off high X’ tal or PLL to save power.  
When DSP is waken up by clearing this bit, DSP will stay in slow speed  
running for 62.5 ms till PLL output stabilize or high X‘ tal startup and  
stabilize , then switch back to high speed running.  
1 = Power down.  
SWHOLD  
0
Software hold enable. When this bit being set , DSP will stop program  
execution, but high X‘ tal and PLL will not be turn off. Timer clock are  
still active during this mode. Software hold does not save more power  
like power down mode does, but responds faster for DSP resuming  
normal running from this mode when SHOLD bit is cleared by interrupt  
request. (Individual interrupt mask bit should be enabled first.)  
1 = Hold.  
34  
Ver 0.01, December 5, 2000  
MX93111  
4.3.8 CTLR (I/O mapped 7 : R/W ) : Control Register ( Continued )  
6
CMDRDY  
0
Host command ready flag. This bit will be set if external host write  
command to high byte of CMDR , and will be cleared when DSP reads  
CMDR.  
5
PWDNS  
0
Power down status bit. This bit will be set if PWDN bit being set. But  
will be cleared late by 62.5 ms after PWDN being cleared. This bit  
indicates what kind of speed DSP running with currently.  
Single step interrupt enable. When this bit being set , DSP will enter  
single step interrupt vector 0x0004 at end of each instruction.  
Sign extended mode select in ADL/ADLL SBL/SBLL instructions.  
0 : Fill “ 0” in upper word of accumulator.  
4
2
SS  
0
0
SNSEL  
1 : Sign extended in upper word of accumulator.  
Host mode select : 0 : External host controller.  
1
HOSTM  
0
1 : No external host controller.  
This bit also acts as pins multiplex select.  
0 : HDB[7:0] HILO  
HRD\ HWR\ ACK\ ( External host )  
1 : BIO[7:0] OPT18 OPT17 OPT16 XF\ ( Internal host )  
4.3.9 WSTR (I/O mapped 8 : R/W ) : Memory Wait State Number and  
DRAM Configuration Register  
Bit  
10 ~ 9  
8 ~ 6  
5 ~ 3  
2 ~ 0  
Field DRAMSIZE[1:0] DATAWAIT[2:0] DRAMWAIT[2:0] PROGWAIT[2:0]  
Bit  
Field  
Default  
Description  
10 ~ 9  
DRAMSIZE[1:0]  
1
DRAM configuration select. 0 : x1 1: x4 2: x8 3: x16  
8 ~ 6  
5 ~ 3  
DATAWAIT[2:0]  
DRAMWAIT[2:0]  
7
7
External data memory wait state number.  
TAA or TCS < 26.5ns + ( 31 ns x DATAWAIT[2:0] )  
DRAM wait state number. Find the larger one below :  
TRAC < 73 ns + ( 15.5 ns x DRAMWAIT[2:0] ) or  
TCAC < 11 ns + ( 15.5 ns x DRAMWAIT[2:0] )  
External program memory wait state number.  
TAA or TCS < 26.5ns + ( 31 ns x PROGWAIT[2:0] )  
All calculation is based on the assumption that DSP is running  
with 32.256 MHz Clock.  
2 ~ 0  
PROGWAIT[2:0]  
7
If FAST bit in EXTCTLR equals 0 , all wait state numbers  
should be increased by one to meet the timing requirement stated  
above .  
35  
Ver 0.01, December 5, 2000  
MX93111  
4.3.10 DRAMACR (I/O mapped 9 : R/W ) : DRAM Access Control Register  
Bit  
15 ~ 10  
9 ~ 0  
Field DRAMCNT[5:0]  
RAMA[9:0]  
Bit  
Field  
Default  
Description  
15 ~ 10 DRAMCNT[5:0]  
0
Write a non zero value to this register will start data movement  
between internal data RAM and external DRAM .At this moment ,  
DSP will hold operation till this data movement complete and  
these bits ( DRAMCNT[5:0] ) will be clear .  
DRAMCNT[5:0] indicate how many DRAM address location will  
involved in this movement.  
9 ~ 0  
RAMA[9:0]  
0
RAM bank 1 OFFSET address. This address points to starting  
location where data movement begin. Data in extended RAM  
bank1( 0x0800 ~ 0x09FF) can‘ t be moved.  
4.3.11 DRAMCOLR (I/O mapped 10 : R/W ) : DRAM Column Address Register  
Bit  
Field  
Default  
Description  
14 ~ 0 DRAMCOL[14:0]  
0
Column part of DRAM starting address where data movement  
begin  
4.3.12 DRAMROWR (I/O mapped 11 : R/W ) : DRAM Row Address Register  
Bit  
15  
14 ~ 0  
Field  
TOIRAM  
DRAMROW[14:0]  
Bit  
Field  
TOIRAM  
Default  
Description  
15  
0
Data movement direction.  
0 : Internal RAM of DSP à External DRAM  
1 : External DRAM  
à Internal RAM of DSP  
14 ~ 0 DRAMROW[14:0]  
0
Row part of DRAM starting address where data movement  
begin  
4.3.13 RCR (I/O mapped 12 : R) : Repeat Counter Register  
Bit  
Field  
Default  
Description  
9 ~ 0  
RC[9:0]  
0
Instruction execution repeat counter.  
Affected instructions: TBR MPA SQRA and instructions within  
program loop . Read only register, but can be written by RPT and  
RPTK instructions. Real repeat number is RC[9:0]+1 .  
36  
Ver 0.01, December 5, 2000  
MX93111  
4.3.14 MODR (I/O mapped 13 : R) : Modulo Register  
Bit  
Field  
Default  
Description  
9 ~ 0  
MOD[9:0]  
0
Modulo Register. Non zero value of this register will enable  
modulo arithmetic in register-indirect addressing mode. A circular  
buffer , whose length is MOD[9:0]+1, will be formed. This circular  
buffer starts on K-word boundaries , where K is the smallest  
power of two that is equal to or greater than the size of the  
circular buffer. In register-indirect addressing mode operation,  
whenever the current auxiliary register points to the boundary  
of this circular buffer , it will be wrapped to the other side of the  
boundary for next address.  
4.3.15 SPR (I/O mapped 15 : R) : Stack Register Pointer  
Bit  
Field  
Default  
Description  
4 ~ 0  
SP[4:0]  
0
Stack register pointer. This pointer always points to the location  
within stack register where next data will be put. No pointer  
overflow or underflow protection built in, when such cases occur,  
the pointer will be wrapped to the other side of the stack.  
4.3.16 CDRR0 (I/O mapped 16 : R) : Codec Receive Register  
Bit  
Field  
Default  
Description  
15 ~ 0  
CDR0[15:0]  
Undefined After Codec frame sync. goes high, DSP begins to receive data  
from external Codec when Codec master clock goes low. The  
first data received will be put into the MSB of this register.  
When DSP has received sixteen bits data, DSP will stop  
receiving operation and trigger internal Codec interrupt.  
4.3.17 CDXR0 (I/O mapped 16 : W) : Codec Transmit Register  
Bit  
Field  
Default  
Description  
15 ~ 0  
CDX0[15:0]  
Undefined After Codec frame sync. goes high, DSP begins to transmit  
data  
to external Codec when Codec master clock goes high. The  
first  
data transmitted will come from the MSB of this register.  
When DSP has transmitted sixteen bits data, DSP will stop  
transmitting operation and trigger internal Codec interrupt.  
37  
Ver 0.01, December 5, 2000  
MX93111  
4.3.18 TESTR (I/O mapped 20 : W) : Test Register  
Bit  
Field  
Default  
Description  
5 ~ 2  
TEST[5:2]  
0
Test bits used in testing.  
4.3.19 PLLMR (I/O mapped 21 : W) : P LL Multiplication Factor Register  
Bit  
Field  
Default  
Description  
12 ~ 0  
PLLM[4:0]  
0x14  
PLL multiplication factor register.  
F_DSP = 4.096MHz / 2 * PLLM[4:0]  
Default:  
F_DSP = 4.096MHz / 2 * 20 = 40.96 MHz  
Range :  
24.5 MHz < F_DSP < 49 MHz  
Lock in time ~= 10 ms  
Jitters : meet the requirement for digital answering machine  
application. For other applications ,care need to be taken.  
4.3.20 EXTCTLR (I/O mapped 24 : R/W) : Extended Control Register  
Bit  
15 ~ 2  
1
0
Field Reserved  
DFS  
FAST  
Bit  
Field  
Default  
Description  
15 ~ 2  
Reserved  
0
Output ports register. Content of this register will be reflected to  
corresponding output pins.  
1
0
DFS  
0
1
DRAM or FLASH interface pins select. This bit is used to multiplex  
pins between DRAM and FLASH interface.  
0 : CAS\  
DRD\  
DWR\ RAS\ for DRAM interface  
1: OPT21 OPT20 OPT19 IPT8 for FLASH interface  
Output pad slew rate control bit. Used to reduced EMI.  
0: Slow slew rate 1: Fast slew rate  
FAST  
Affected Pins : ED[15:];EAD[15:0];EPCE\;EDCE\;EWR\;ERD\;  
RAS\;CAS\;DRD\;DWR\;  
Notes: Reset / set this bit affect wait state number requirement for  
external memory access.  
38  
Ver 0.01, December 5, 2000  
MX93111  
4.4 NON I/O mapped registers Description  
4.4.1 ACCH : Upper Word of Accumulator  
Bit  
Field  
Default  
Description  
Description  
Description  
Description  
31 ~ 16 ACC[31:16] Undefined Upper word of accumulator.  
4.4.2 ACCL : Lower Word of Accumulator  
Bit  
Field  
Default  
15 ~ 0 ACC[15:0]  
Undefined Lower word of accumulator.  
4.4.3 ACC : Accumulator  
Bit  
Field  
Default  
31 ~ 0 ACC[31:0]  
Undefined Accumulator.  
4.4.4 PC : Program Counter  
Bit  
Field  
Default  
15 ~ 0 PC[15:0]  
0x0000 Program counter. This counter is used as program memory pointer  
to control the DSP program flow.  
In MPA instruction , this counter is used as one of data memory  
pointer.  
4.4.5 SSR : Status Register  
Bit  
15  
14  
13  
12  
11  
10  
9
8 ~ 6  
5 ~ 4  
3 ~ 0  
Field INTM ARZ SGN OV ACZ TB OVM ARP[2:0] IOP[1:0] DP[3:0]  
Bit  
Field  
Default  
Description  
This register will be saved automatically in stack register when  
interrupt service begins and will be restored back when interrupt  
service has completed.  
SSS instruction can store this register to data memory.  
Some other instructions can modify or store part of this register.  
Global interrupt mask bit. This bit can be set by DINT or reset by  
EINT instruction. Every time when DSP runs into interrupt service  
routine , this global mask bit will be set to disable any other interrupt.  
Clear this bit or execute EINT instruction can enable interrupt  
again and make nesting interrupt possible.  
15  
14  
INTM  
ARZ  
1
1
This bit registers the last operated auxiliary register ‘ s value equal  
zero.  
13  
12  
SGN  
OV  
Undefined MSB of high accumulator.  
0
Overflow flag for last ACCH operation. This flag will be cleared by  
any instructions which will generate result in accumulator.  
11  
ACZ  
1
Accumulator zero flag. This bit reflects current accumulator status.  
39  
Ver 0.01, December 5, 2000  
MX93111  
4.4.5 SSR : Status Register ( Continued )  
10  
TB  
0
Tested bit. This bit is used to stored one bit from data memory by  
BIT instruction, and will be tested by following BZ or BS instruction .  
Overflow mode select. 0 : Disable overflow mode  
1 : Enable overflow protection during  
9
OVM  
0
arithmetic and shift left operation.  
This bit can be reset/set by ROVM / SOVM instruction.  
Auxiliary register pointer. This pointer points to one of eight auxiliary  
registers as current ar in register-indirect addressing mode.  
I/O mapped register Page pointer. This DSP can access total 32  
internal I/O ports address formed by 4 pages , each page contains  
eight ports address . Port address is specified as immediate operand  
in IN / OUT instruction.  
8 ~ 6  
5 ~ 4  
ARP[2:0]  
IOP[1:0]  
0
0
These bits can be modified by LIP/LIPK or saved by SIP  
instructions.  
3 ~ 0  
DP[3:0]  
0
Internal data memory page pointer used in direct memory addressing  
mode. The DSP contains total 16 pages of internal RAM whose  
range is from 0x0000 to 0x07FF.Each page contain 128 words, the  
words address within page can be specified as immediate operand in  
related instructions.  
These bits can be modified by LDP/LDPK or saved by SDP  
instructions.  
Internal RAM located within (0x0800 ~ 0x09FF) can be accessed  
only by register-indirect mode.  
4.4.6 STR : Stack Register  
Bit  
15 ~ 0  
Field ST[31:0][15:0]  
Bit  
Field  
STACK  
Default  
Description  
32x16  
Undefined This register is used to stored return address from program counter  
in the case of interrupt service begin or CALL/CALA instruction  
execution.Or acts as data buffer for use in data exchange with  
ACCH, ACCL , SSR and data from memory  
REGISTER  
40  
Ver 0.01, December 5, 2000  
MX93111  
4.4.7 ARS : Auxiliary Registers  
Bit  
15 ~ 0  
15 ~ 0  
15 ~ 0  
15 ~ 0  
15 ~ 0  
15 ~ 0  
15 ~ 0  
15 ~ 0  
Field AR7[15:0] AR6[15:0] AR5[15:0] AR4[15:0] AR3[15:0] AR2[15:0] AR1[15:0] AR0[15:0]  
These Auxiliary registers are used as data memory pointer in register-indirect mode addressing .  
ARP[2:0] in status register will choose one of them as current AR , and the current AR acts as data  
memory pointer in related instruction operation.  
Content of current AR can be modify as follow :  
+0  
+
ar + 0 à ar or  
ar + 1 à ar or  
ar + 2 à ar or  
-
ar - 1 à ar  
ar - 2 à ar  
++  
+AR0  
--  
ar + ar0 à ar or -AR0 ar - ar0 à ar  
ARP[2:0] can also be updated with new auxiliary register pointer : narp à arp  
All operations stated above work in parallel with instruction execution.  
41  
Ver 0.01, December 5, 2000  
MX93111  
5.1 INSTRUCTION SET SUMMARY :  
DATA UNIT INSTRUCTIONS:1.Arithmetic 2.Logic/Shift 3.Data movement 4.Mode setting  
Mnemonic  
Description  
ADH/ADHK/ADHL Add data (from memory) or constant to high accumulator  
ADL/ADLK/ADLL  
SBH/SBHK/SBHL  
SBL/SBLK/SBLL  
ABS  
Add data (from memory) or constant to low accumulator  
Subtract data (from memory) or constant from high accumulator  
Subtract data (from memory) or constant from low accumulator  
Absolute value of high accumulator  
OR/ORK/ORL  
OR data (from memory) or constant with high accumulator  
AND/ANDK/ANDL AND data (from memory) or constant with high accumulator  
XOR/XORK/XORL Exclusive-OR data (from memory) or constant with high accumulator  
SFL/SFR/SFRS  
NOM  
Shift contents of accumulator left/right/right with sign extended  
Normalize contents of accumulator  
LAC/LACK/LACL  
SAH/SAL  
Load data (from memory) or constant to high accumulator  
Store contents of high or low accumulator to data memory  
Pop top of stack to high/low accumulator  
POPH/POPL  
PSHH/PSHL  
SOVM/ROVM  
Push high/low accumulator onto stack  
Set/Reset overflow mode  
AUXILIARY REGISTERS AND DATA/IO PAGE POINTER INSTRUCTIONS  
Description  
Mnemonic  
LAR/LARK/LARL  
SAR  
Load data (from memory) or constant to auxiliary register  
Store auxiliary register to data memory  
MAR  
Modify auxiliary register pointer and update auxiliary register pointer  
Load data (from memory) or constant to modulo register  
MOD/MODK  
LIP/LIPK  
SIP  
Load data (from memory) or constant to modify I/O page pointer in status register  
Store I/O page pointer in status register to data memory  
LDP/LDPK  
SDP  
Load data (from memory) or constant to modify data page pointer in status register  
Store data page pointer in status register to data memory  
42  
Ver 0.01, December 5, 2000  
MX93111  
5.1 INSTRUCTION SET SUMMARY : ( Continued )  
PROGRAM FLOW CONTROL INSTRUCTIONS  
Mnemonic  
RPT/RPTK  
LUP/LUPK  
BS/BZ  
Description  
Load data (from memory) or constant to repeat counter  
Enable loop operation /Enable loop operation with short constant  
Branch immediate if bit being tested set or reset  
Call subroutine indirectly specified by contents of high accumulator  
Call subroutine  
CALA  
CALL  
BACC  
Branch to address specified by contents of high accumulator  
Disable / Enable interrupt  
DINT/EINT  
RET/RETI  
NOP  
Return from subroutine / interrupt  
No operation  
DATA MOVEMENT AND MISCELLANEOUS INSTRUCTIONS  
Description  
Mnemonic  
OUT/OUTK/OUTL Load data (from internal data memory) or constant to I/O mapped register  
IN  
Move data from I/O mapped register to internal data memory  
Move data bit from memory to TB in status register  
Store status register to data memory  
BIT  
SSS  
POP/PSH  
SXF/RXF  
Pop top of stack to data memory/push data memory value onto stack  
Set/reset external flag  
43  
Ver 0.01, December 5, 2000  
MX93111  
5.2 ACRONYMS AND NOTATIONS :  
à
Data transfer  
pc  
Program counter  
pma16  
(arp)  
ar  
16 bit program memory address  
auxiliary register pointed by arp. also called current auxiliary register  
current Auxiliary register  
ar0  
the first Auxiliary register  
(arps)  
dma7  
dma  
Auxiliary register pointed by arps  
7 bit direct memory address within data page  
16 bit whole data memory address formed by 0.dp(3:0).dma7  
or by 16 bits current ar  
(dma)  
data memory pointed by dma  
(dma)(3:0)  
lowest nibble of (dma)  
#
bit location indicator  
(dma)(#cnst4)  
*
bit data of (dma) which is pointed by cnst4  
register indirect mode addressing operator , can be one of :  
+0 , + ,++ , - , --, +ar0 , -ar0  
[,narp]  
Next AR point,  
narp is a 3 bit constant. “ [” “ ]” means option , not real expression.  
cnst2,cnst3,cnst4, 2 bit , 3 bit , 4 bit , 7 bit , 16 bit constant  
cnst7,cnst16  
1(DI),2(DE)  
one cycle for data memory internal , two cycles for data memory  
external  
acc  
Accumulator  
p
product register  
sp  
stack register pointer  
stack register pointed by sp  
status register  
(sp)  
ss  
CTLR  
lc(2:0)  
mr(6:0)  
rc  
control register  
loop counter  
modulo register  
repeat counter  
norm(4:0)  
x
normalize register  
multiplication operator  
data page pointer  
dp(3:0)  
iop(1:0)  
port_address  
io_address  
(io_address)  
I/O page pointer  
3 bit address within I/O page  
5 bit I/O address formed by iop(1:0) and port_address  
I/O mapped register pointed by io_address  
44  
Ver 0.01, December 5, 2000  
MX93111  
NOTE 1 : Instruction Encoding For Register Indirect Addressing  
15 14 13 12 11 10  
OPCODE  
9
8
7
1
6
5
4
3
2
1
0
E6 E5 E4 E3 E2 E1 E0  
Operand  
Encoding  
Operation  
*
+0  
E6  
0
E5  
0
E4  
0
No operation  
-AR0  
+AR0  
+
0
0
1
(arp) -ar0 à (arp)  
(arp)+ar0à (arp)  
(arp) + 1 à (arp)  
(arp) - 1 à (arp)  
(arp) + 2 à (arp)  
(arp) - 2 à (arp)  
0
1
0
1
0
0
-
1
0
1
++  
--  
1
1
0
1
1
1
Operand Encoding Encoding  
Operation  
[,narp]  
None  
E3  
0
E2 E1 E0  
No operation  
, narp  
1
narp  
narp à arp  
NOTE II : Instruction Encoding For Register Indirect Addressing  
For MB , MBA , MBS Instructions only  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
OPCODE  
E2 E1 E0  
Operand  
Encoding  
Operation  
No operation  
*
+0  
E2  
0
E1  
0
E0  
0
-AR0  
+AR0  
+
0
0
1
(arp) -ar0 à (arp)  
(arp)+ar0à (arp)  
(arp) + 1 à (arp)  
(arp) - 1 à (arp)  
(arp) + 2 à (arp)  
(arp) - 2 à (arp)  
0
1
0
1
0
0
-
1
0
1
++  
--  
1
1
0
1
1
1
45  
Ver 0.01, December 5, 2000  
MX93111  
5.3 INSTRUCTION SET DESCRIPTION  
ABS  
Absolute value of high accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
ABS  
Operation:  
pc + 1 à pc  
|acc(31:16)| à acc(31:16)  
Words:  
Cycles:  
Note:  
1
1
|0x8000| will exceed the maximum positive number which can be represented .  
and will cause incorrect result .  
ADH  
Add data from memory to high accumulator  
15 14 13 12 11 10  
ADH dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
ADH * [,narp]  
pc + 1 à pc  
acc(31:16) + (dma) à acc(31:16)  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
ADHK  
Add immediate 7-bit unsigned short constant to high accumulator  
15 14 13 12 11 10  
ADHK cnst7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
acc(31:16) + cnst7 à acc(31:16)  
Words:  
Cycles:  
1
1
ADHL  
Add immediate 16-bit long constant to high accumulator  
15 14 13 12 11 10  
ADHL cnst16  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 2 à pc  
acc(31:16) + cnst16 à acc(31:16)  
Words:  
Cycles:  
2
2
46  
Ver 0.01, December 5, 2000  
MX93111  
ADL  
Add data from memory to low accumulator  
15 14 13 12 11 10  
ADL dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
ADL * [,narp]  
pc + 1 à pc  
acc(31:0) + (dma) à acc(31:0)  
1
Words:  
Cycles:  
Note:  
1(DI) , 2(DE)  
Data operand is expanded into 32 bit long width with MSBs optionally sign  
extended or filled with “ 0” bits. This option is controlled by SNSEL bit in CTLR.  
ADLK  
Add immediate 7-bit unsigned short constant to low accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
ADLK cnst7  
Operation:  
pc + 1 à pc  
acc(31:0) + cnst7 à acc(31:0)  
Words:  
Cycles:  
1
1
ADLL  
Add immediate 16-bit long constant to low accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
ADLL cnst16  
Operation:  
pc + 2 à pc  
acc(31:0) + cnst16 à acc(31:0)  
Words:  
Cycles:  
Note:  
2
2
Data operand is expanded into 32 bit long width with MSBs optionally sign  
extended or filled with “ 0” bits. This option is controlled by SNSEL bit in CTLR.  
47  
Ver 0.01, December 5, 2000  
MX93111  
AND  
AND data from memory with high accumulator  
15 14 13 12 11 10  
AND dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
AND * [,narp]  
pc + 1 à pc  
acc(31:16) AND (dma) à acc(31:16)  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
ANDK  
AND immediate 7-bit short constant with high accumulator  
15 14 13 12 11 10  
ANDK cnst7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
acc(22:16) AND cnst7 à acc(22:16)  
0 à acc(31:23)  
Words:  
Cycles:  
1
1
ANDL  
AND immediate 16-bit long constant to high accumulator  
15 14 13 12 11 10  
ADLL cnst16  
9
8
7
6
5
4
4
4
3
3
3
2
2
2
1
1
1
0
0
0
Syntax:  
Operation:  
pc + 2 à pc  
acc(31:16) AND cnst16 à acc(31:16)  
Words:  
Cycles:  
2
2
APAC  
Add product register to accumulator  
15 14 13 12 11 10  
9
8
7
6
5
Syntax:  
APAC  
Operation:  
pc + 1 à pc  
acc + p à acc  
Words:  
Cycles:  
1
1
BACC  
Branch to address specified by high accumulator  
15 14 13 12 11 10  
9
8
7
6
5
Syntax:  
Operation:  
Words:  
BACC  
acc(31:16) à pc  
1
2
Cycles:  
48  
Ver 0.01, December 5, 2000  
MX93111  
Copy data bit from memory to TB bit in status register  
BIT  
15 14 13 12 11 10  
BIT dma7 , cnst4  
BIT * , cnst4 [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
(dma)(#cnst4) à TB bit in status register  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
BS  
Branch immediate if bit being tested equal one  
15 14 13 12 11 10  
BS cnst3 , pma16  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
If ss(#(cnst3+8)) = 1 then pma16 à pc  
else pc+2 à pc  
Words:  
Cycles:  
Note:  
2
3
BS instruction will test one bit of status register‘ s upper byte. Bit 15 is always  
one, and bit 8 is not defined in this test condition..  
15 14 13 12 11 10  
9
8
1
arz sgn ov acz tb ovm  
: Part of upper byte of status register  
BZ  
Branch immediate if bit being tested equal zero  
15 14 13 12 11 10  
BS bbb , pma16  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
If ss(#(cnst3+8)) = 0 then pma16 à pc  
else pc+2 à pc  
Words:  
Cycles:  
Note:  
2
3
BS instruction will test one bit of status register‘ s upper byte. Bit 15 is always  
one, and bit 8 is not defined in this test condition..  
15 14 13 12 11 10  
9
8
1
arz sgn ov acz tb ovm  
: Part of upper byte of status register  
CALA  
Call subroutine indirectly  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
CALA  
Operation:  
pc + 1 à (sp)  
sp + 1 à sp  
acc(31:16) à pc  
Words:  
Cycles:  
1
2
49  
Ver 0.01, December 5, 2000  
MX93111  
CALL  
Call subroutine directly  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
CALL pma16  
pc + 1 à (sp)  
sp + 1 à sp  
pma16 à pc  
2
Operation:  
Words:  
Cycles:  
3
DINT  
Disable interrupt  
15 14 13 12 11 10  
DINT  
9
8
7
6
5
4
3
2
2
2
1
1
1
0
0
0
Syntax:  
Operation:  
pc + 1 à pc  
1 à INTM bit in status register  
Words:  
Cycles:  
1
1
EINT  
Enable interrupt  
15 14 13 12 11 10  
9
8
7
6
5
4
3
Syntax:  
DINT  
Operation:  
pc + 1 à pc  
0 à INTM bit in status register  
Words:  
Cycles:  
1
1
IN  
Move data from I/O mapped register to internal data memory  
15 14 13 12 11 10  
IN dma7, port_address  
IN * , port_address [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
3
Syntax:  
Operation:  
iop(1:0).port_address à io_address  
(io_address) à (dma)  
Words:  
Cycles:  
1
1
LAC  
Load data from memory to high accumulator  
15 14 13 12 11 10  
LAC dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
LAC * [,narp]  
pc + 1 à pc  
(dma) à acc(31:16)  
0
1
à acc(15:0)  
Words:  
Cycles:  
1(DI) , 2(DE)  
50  
Ver 0.01, December 5, 2000  
MX93111  
LACK  
Load immediate 7-bit unsigned short constant to high accumulator  
15 14 13 12 11 10  
LACK cnst7  
pc + 1 à pc  
cnst7 à acc(22:16)  
0 à acc(31:23)  
0 à acc(15:0)  
1
9
8
7
6
5
4
3
3
3
2
2
2
1
1
1
0
0
0
Syntax:  
Operation:  
Words:  
Cycles:  
1
LACL  
Load immediate 16-bit long constant to high accumulator  
15 14 13 12 11 10  
LACL cnst16  
9
8
7
6
5
4
Syntax:  
Operation:  
pc + 2 à pc  
cnst16 à acc(31:16)  
0
2
2
à acc(15:0)  
Words:  
Cycles:  
LAR  
Load data from memory to auxiliary register specified  
15 14 13 12 11 10  
LAR dma7 , arps  
LAR * , arps [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
Syntax:  
Operation:  
(dma) à (arps)  
1
Words:  
Cycles:  
Note:  
1(DI) , 2(DE)  
Data from memory( by direct mode or register indirect mode) will be loaded into  
auxiliary register specified in instruction encoding( arps : 3 bit constant). Post  
increment or decrement on current auxiliary register will not be performed during  
this instruction operation, but new arp can be changed.  
51  
Ver 0.01, December 5, 2000  
MX93111  
LARK  
Load immediate 7-bit short constant to auxiliary register specified  
15 14 13 12 11 10  
LARK cnst7 , arps  
pc + 1 à pc  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
cnst7 à (arps)(6:0) , 0 à (arps)(15:7)  
Words:  
Cycles:  
1
1
LARL  
Load immediate 16-bit long constant to auxiliary register specified  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
LARL cnst16 ,arps  
Operation:  
pc + 2 à pc  
cnst16 à (arps)  
Words:  
Cycles:  
2
2
LDP  
Load data from memory to modify data page pointer in status register  
15 14 13 12 11 10  
LDP dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
LDP * [,narp]  
pc + 1 à pc  
(dma)(3:0) à dp(3:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
LDPK  
Load 4-bit short constant to modify data page pointer in status register  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
LDPK cnst4  
Operation:  
pc + 1 à pc  
cnst4 à dp(3:0)  
Words:  
Cycles:  
1
1
52  
Ver 0.01, December 5, 2000  
MX93111  
LIP  
Load data from memory to modify I/O page pointer in status register  
15 14 13 12 11 10  
LIP dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
LIP * [,narp]  
pc + 1 à pc  
(dma)(5:4) à iop(1:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
LIPK  
Load 2-bit short constant to modify I/O page pointer in status register  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
LIPK cnst2  
Operation:  
pc + 1 à pc  
cnst2 à iop(1:0)  
Words:  
Cycles:  
1
1
LUP  
Enable loop operation  
15 14 13 12 11 10  
LUP dma7, loop_number  
LUP * , loop_number [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
(dma)(9:0) à rc(9:0)  
loop_number à lc(2:0)  
1
Words:  
Cycles:  
Note:  
1(DI) , 2(DE)  
This instruction will enable hardware loop operation , and the following  
(loop_number+1) words instruction(program loop) will be executed repeatedly  
( rc +1) times.  
Branch and call instructions are not allowed within program loop.  
53  
Ver 0.01, December 5, 2000  
MX93111  
LUPK  
Load 7-bit short constant to repeat counter and enable loop operation  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
LUP cnst7 , loop_number  
Operation:  
pc + 1 à pc  
cnst7 à rc(6:0)  
loop_number à lc(2:0)  
Words:  
Cycles:  
Note:  
1
1
This instruction will enable hardware loop function , and the following  
( loop_number+1 ) words instruction (program loop)will be executed repeatedly  
( rc +1) times. No branch and call instructions are allowed within program loop.  
MAR  
Modify current auxiliary register and update auxiliary register pointer  
15 14 13 12 11 10  
MAR * [,narp]  
9
8
7
6
5
4
3
2
1
0
0
0
Syntax:  
Operation:  
pc + 1 à pc  
Modify the content of current auxiliary register pointed by current auxiliary  
register pointer, and update this pointer with new pointer.  
Words:  
Cycles:  
1
1
MOD  
Load data from memory to modulo register  
15 14 13 12 11 10  
MOD dma7  
9
8
7
6
5
4
3
2
1
Syntax:  
Operation:  
MOD * [,narp]  
pc + 1 à pc  
(dma)(9:0) à mr(9:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
MODK  
Load immediate 7-bit short constant to modulo register  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
Syntax:  
MODK cnst7  
Operation:  
pc + 1 à pc  
cnst7 à mr(6:0)  
Words:  
Cycles:  
1
1
54  
Ver 0.01, December 5, 2000  
MX93111  
NOP  
No operation  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
Words:  
NOP  
pc + 1 à pc  
1
1
Cycles:  
NOM  
Normalize the content of accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
NOM  
Operation:  
pc + 1 à pc  
Normalize(acc) à acc  
Left Shift Count à SHFC  
Words:  
Cycles:  
Note:  
1
1
This NOM instruction performs hardware normalization operation on signed  
two‘ s complement numbers stored in the accumulator. The left shifted counts  
during normalization are stored in shift count register( SHFC ) .  
OR  
OR data from memory with high accumulator  
15 14 13 12 11 10  
OR dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
OR * [,narp]  
pc + 1 à pc  
acc(31:16) OR (dma) à acc(31:16)  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
ORK  
OR immediate 7-bit short constant with high accumulator  
15 14 13 12 11 10  
ORK cnst7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
acc(22:16) OR cnst7 à acc(22:16)  
acc(31:23) à acc(31:23)  
Words:  
Cycles:  
1
1
55  
Ver 0.01, December 5, 2000  
MX93111  
ORL  
OR immediate 16-bit long constant with high accumulator  
15 14 13 12 11 10  
ORL cnst16  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 2 à pc  
acc(31:16) OR cnst16 à acc(31:16)  
Words:  
Cycles:  
2
2
OUT  
Load data from internal data memory to I/O mapped register  
15 14 13 12 11 10  
OUT dma7, port_address  
OUT * , port_address [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
iop(1:0).port_address à io_address  
(dma) à (io_address)  
Words:  
Cycles:  
1
1
OUTK  
Move 7-bit short constant to I/O mapped register  
15 14 13 12 11 10  
OUTK cnst7, port_address  
pc + 1 à pc  
9
8
7
6
5
4
4
4
3
3
3
2
2
2
1
1
1
0
0
0
Syntax:  
Operation:  
iop(1:0).port_address à io_address  
cnst7 à (io_address)(6:0)  
Words:  
Cycles:  
1
1
OUTL  
Move 16-bit long constant to I/O mapped register  
15 14 13 12 11 10  
OUTL cnst16, port_address  
pc + 2 à pc  
9
8
7
6
5
Syntax:  
Operation:  
iop(1:0).port_address à io_address  
cnst16 à (io_address)  
Words:  
Cycles:  
2
2
POP  
Pop top of stack to data memory  
15 14 13 12 11 10  
POP dma7  
9
8
7
6
5
Syntax:  
Operation:  
POP * [,narp]  
pc + 1 à pc  
sp - 1 à sp  
(sp) à (dma)  
56  
Ver 0.01, December 5, 2000  
MX93111  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
POPH  
Pop top of stack to high accumulator  
15 14 13 12 11 10  
POPH  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
sp - 1 à sp  
(sp) à acc(31:16)  
Words:  
Cycles:  
1
1
POPL  
Pop top of stack to low accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
POPL  
Operation:  
pc + 1 à pc  
sp - 1 à sp  
(sp) à acc(15:0)  
Words:  
Cycles:  
1
1
PSH  
Push data from memory onto stack  
15 14 13 12 11 10  
PSH dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
PSH * [,narp]  
pc + 1 à pc  
(dma) à (sp)  
sp + 1 à sp  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
PSHH  
Push high accumulator onto stack  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
PSHH  
Operation:  
pc + 1 à pc  
acc(31:16) à (sp)  
sp + 1 à sp  
Words:  
Cycles:  
1
1
57  
Ver 0.01, December 5, 2000  
MX93111  
PSHL  
Push low accumulator onto stack  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
PSHL  
Operation:  
pc + 1 à pc  
acc(15:0) à (sp)  
sp + 1 à sp  
Words:  
Cycles:  
1
1
RET  
Return from subroutine  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
RET  
Operation:  
sp - 1 à sp  
(sp) à pc  
Words:  
Cycles:  
1
2
RETI  
Return from interrupt  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
RETI  
Operation:  
sp - 1 à sp  
(sp) à pc  
sp -1 à sp  
(sp) à status register  
Words:  
Cycles:  
1
2
ROVM  
Reset overflow mode  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
ROVM  
Operation:  
pc + 1 à pc  
0 à OVM bit in status register  
Words:  
Cycles:  
1
1
RPT  
Load data from memory to repeat counter  
15 14 13 12 11 10  
RPT dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
RPT * [,narp]  
pc + 1 à pc  
(dma)(9:0) à rc(9:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
58  
Ver 0.01, December 5, 2000  
MX93111  
RPTK  
Load immediate 7-bit short constant to repeat counter  
15 14 13 12 11 10  
9
8
7
6
5
4
4
4
4
3
3
3
3
2
2
2
2
2
1
1
1
1
1
0
0
0
0
0
Syntax:  
RPTK cnst7  
Operation:  
pc + 1 à pc  
cnst7 à rc  
Words:  
Cycles:  
1
1
RXF  
Reset external flag  
15 14 13 12 11 10  
9
8
7
6
5
Syntax:  
RXF  
Operation:  
pc + 1 à pc  
0 à XF but 1 à XF\ pin  
Words:  
Cycles:  
Notes:  
1
1
XF\ is an inverted output of XF .  
SAH  
Store content of high accumulator to data memory  
15 14 13 12 11 10  
SAH dma7  
9
8
7
6
5
Syntax:  
Operation:  
SAH * [,narp]  
pc + 1 à pc  
acc(31:16) à (dma)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
SAL  
Store content of low accumulator to data memory  
15 14 13 12 11 10  
SAL dma7  
9
8
7
6
5
Syntax:  
Operation:  
SAL * [,narp]  
pc + 1 à pc  
acc(15:0) à (dma)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
SAR  
Store content of auxiliary register specified to data memory  
15 14 13 12 11 10  
SAR dma7 , arps  
SAR * , arps [,narp]  
pc + 1 à pc  
9
8
7
6
5
4
3
Syntax:  
Operation:  
Words:  
(arps) à (dma)  
1
59  
Ver 0.01, December 5, 2000  
MX93111  
Cycles:  
SBH  
1(DI) , 2(DE)  
Subtract data ( from memory ) from high accumulator  
15 14 13 12 11 10  
SBH dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
SBH * [,narp]  
pc + 1 à pc  
acc(31:16) - (dma) à acc(31:16)  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
SBHK  
Subtract immediate 7-bit unsigned short constant from high accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
SBHK cnst7  
Operation:  
pc + 1 à pc  
acc(31:16) - cnst7 à acc(31:16)  
Words:  
Cycles:  
1
1
SBHL  
Subtract immediate 16-bit long constant from high accumulator  
15 14 13 12 11 10  
SBHL cnst16  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 2 à pc  
acc(31:16) - cnst16 à acc(31:16)  
Words:  
Cycles:  
2
2
SBL  
Subtract data ( from memory ) from low accumulator  
15 14 13 12 11 10  
SBL dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
SBL * [,narp]  
pc + 1 à pc  
acc(31:0) - (dma) à acc(31:0)  
1
Words:  
Cycles:  
Note:  
1(DI) , 2(DE)  
Data operand is expanded into 32 bit long width with MSBs optionally sign  
extended or filled with “ 0” bits. This option is controlled by SNSEL bit in CTLR.  
60  
Ver 0.01, December 5, 2000  
MX93111  
SBLK  
Subtract immediate 7-bit unsigned short constant from low accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
SBLK cnst7  
Operation:  
pc + 1 à pc  
acc(31:0) - cnst7 à acc(31:0)  
Words:  
Cycles:  
1
1
SBLL  
Subtract immediate 16-bit long constant from low accumulator  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
SBLL cnst16  
Operation:  
pc + 2 à pc  
acc(31:0) - cnst16 à acc(31:0)  
Words:  
Cycles:  
Note:  
2
2
Data operand is expanded into 32 bit long width with MSBs optionally sign  
extended or filled with “ 0” bits. This option is controlled by SNSEL bit in CTLR.  
SDP  
Store data page pointer in status register to data memory  
15 14 13 12 11 10  
SDP dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
SDP * [,narp]  
pc + 1 à pc  
dp(3:0) à (dma)(3:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
SFL  
Shift content of accumulator left ( LSBs filled with zero )  
15 14 13 12 11 10  
SFL cnst4  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
If ( cnst4!= 0)  
then  
acc(31:0) will be shifted left by cnst4 bits  
else  
acc(31:0) will be shifted left by shfc[3:0] bits  
Words:  
Cycles:  
Notes:  
1
1
shfc[3:0] is the content stored in SHFC register (I/O mapped 3 ).  
61  
Ver 0.01, December 5, 2000  
MX93111  
SFR  
Shift content of accumulator right ( MSBs filled with zero )  
15 14 13 12 11 10  
SFR cnst4  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
pc + 1 à pc  
If ( cnst4!= 0)  
then  
acc(31:0) will be shifted right by cnst4 bits  
else  
acc(31:0) will be shifted right by shfc[3:0] bits  
Words:  
Cycles:  
Notes:  
1
1
shfc[3:0] is the content stored in SHFC register (I/O mapped 3 ).  
SFRS  
Shift content of accumulator right ( MSBs filled with sign extended bit )  
15 14 13 12 11 10  
SFRS cnst4  
pc + 1 à pc  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
If ( cnst4!= 0)  
then  
acc(31:0) will be shifted right by cnst4 bits  
else  
acc(31:0) will be shifted right by shfc[3:0] bits  
Words:  
Cycles:  
Notes:  
1
1
shfc[3:0] is the content stored in SHFC register (I/O mapped 3 ).  
62  
Ver 0.01, December 5, 2000  
MX93111  
SIP  
Store I/O page pointer in status register to data memory  
15 14 13 12 11 10  
SIP dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
SIP * [,narp]  
pc + 1 à pc  
iop(1:0) à (dma)(1:0)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
SOVM  
Set overflow mode ( Enable overflow mode protection)  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
SOVM  
Operation:  
pc + 1 à pc  
1 à OVM bit in status register  
Words:  
Cycles:  
Note:  
1
1
When OVM bit being set , overflow mode protection is enabled. IF result of data  
operation during add/subtract and shifting instructions execution exceed the  
maximum or minimum value that can be represented by the accumulator , data  
in accumulator will be saturated to the largest positive or negative number that  
can be represented.( 0x7FFFF FFFF or 0x8000 0000)  
SSS  
Store content of status register to data memory  
15 14 13 12 11 10  
SSS dma7  
9
8
7
6
5
4
3
2
1
0
Syntax:  
Operation:  
SSS * [,narp]  
pc + 1 à pc  
ss(15:0) à (dma)  
1
Words:  
Cycles:  
1(DI) , 2(DE)  
SXF  
Set external flag  
15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Syntax:  
SXF  
Operation:  
pc + 1 à pc  
1 à XF but 0 à XF\ pin  
Words:  
Cycles:  
Notes:  
1
1
XF\ is an inverted output of XF .  
63  
Ver 0.01, December 5, 2000  
MX93111  
XOR  
XOR data from memory with high accumulator  
15 14 13 12 11 10  
XOR dma7  
9
8
7
6
5
4
3
2
2
2
1
1
1
0
0
0
Syntax:  
Operation:  
XOR * [,narp]  
pc + 1 à pc  
acc(31:16) XOR (dma) à acc(31:16)  
Words:  
Cycles:  
1
1(DI) , 2(DE)  
XORK  
XOR immediate 7-bit short constant with high accumulator  
15 14 13 12 11 10  
XORK cnst7  
9
8
7
6
5
4
3
Syntax:  
Operation:  
pc + 1 à pc  
acc(22:16) XOR cnst7 à acc(22:16)  
acc(31:23) à acc(31:23)  
Words:  
Cycles:  
1
1
XORL  
XOR immediate 16-bit long constant with high accumulator  
15 14 13 12 11 10  
XORL cnst16  
9
8
7
6
5
4
3
Syntax:  
Operation:  
pc + 2 à pc  
acc(31:16) XORL cnst16 à acc(31:16)  
Words:  
Cycles:  
2
2
64  
Ver 0.01, December 5, 2000  
MX93111  
6 PCM CODEC  
6.1 CODEC OVERVIEW  
The PCM CODEC integrates key functions of the analog-front-end of DAM (with Digital Speakerphone)  
related products into an integrated circuit. The PCM CODEC is especially powerful when applied to some  
DAM models which are intended to meet different countries' specifications in the same system hardware.  
User can achieve this goal by simply setting control firmware. This benefit will help DAM system makers  
to save developing time and R&D resources.  
The built-in CODEC has one A/D, D/A converters so as to meet the requirement of the digital answering  
machine application. The on-chip digital filters, which are carried out with 16-bit and 2's complement  
format, are used to get required frequency response of a PCM CODEC. PCM CODEC is 16-bit format  
with 14-bit resolution.  
Before the A/D digitizing the voice-band analog signal into digital format, the analog signal can be  
ALC  
PRE-  
processed by a built-in Automatic Level Control (  
) and PRE-Programmable Gain Amplifier (  
PGA  
). The  
ALC  
AD1-PGA  
circuit controls the signal level about 1.2Vpp and  
can provide 0 ~ 18dB gain  
PRE-PGA  
MIC  
,
to get more larger signal. The  
AUX1 LIN  
circuit is used to control the gain of different sources like  
or  
input.  
After the digital data is converted into analog signal by D/A converter, a fully differential line driver and  
speaker driver are supported to drive the telephone line and 8W speaker directly without needing any  
external amplifiers. Besides, the analog signal can be monitored by passing the on-chip volume control  
or external volume control.  
The MX93111 supports many switches as well. User can program the control registers of the PCM  
CODEC to accomplish all specific operations of DAM (with digital speakerphone function) related  
products.  
65  
Ver 0.01, December 5, 2000  
MX93111  
BLOCK DIAGRAM (PCM CODEC)  
AVDD  
C5  
VDD  
C4  
23  
47  
84  
C7  
AUX-I/O  
FAX TXA  
C6  
Corelessphone  
101  
102  
125  
124  
114  
113  
24,51,85,93,17  
DGND  
R2  
BUF  
AG  
FILT  
PGAC2  
105  
VREF  
AVDD AGND VDD  
50  
CP  
C18  
R1  
C1  
C2  
PCM CODEC  
SWI  
DSP  
MCLK  
FS  
X
Master  
Cloc  
AD1  
PGA  
SWC  
SWA  
a
signal  
DSP  
SWD  
MIC  
C8  
A
b
MIC  
AUX1  
LIN  
PRE  
PGA  
106  
108  
107  
X
X
Frame  
Sync  
AIN  
a
A
I
signal  
b
c
A
DSP  
Transm  
DATA  
C1  
DR  
ALC  
SWN  
N
C19  
AG  
d
DSP  
Receive  
DATA  
DX  
X
SWB  
109  
PGAC1  
SWJ  
C9  
A
O
U
T
110  
111  
ALCRC  
ALCC1  
+
R3  
C1  
C1  
ALCC2  
LOUTP  
AOUT  
112  
99  
TELEPHONE  
LIN  
LIN  
DRV  
LOUTN  
INTERFACE  
100  
123  
SWL  
SVDD1  
SVDD2  
SGND  
AVD  
C1  
119  
121  
SCLK  
uP  
X
SWG  
SWF  
Send  
SCLK  
SPK  
ATT1  
ATT2  
A
a
SPKP  
SPKN  
122  
120  
SPK  
DRV  
D/A  
PGA  
L.P.F.  
SERIAL  
CONTROL  
UNIT  
SDENB  
SDATA  
uP  
X
X
Enable  
SDATA  
B
VR  
VR  
LPFC2  
LPFC1  
118  
116  
115  
uP  
TX / RX  
Control  
DATA  
C1  
C1  
CMP1  
CMP2  
uP  
check  
CMP10  
CMP20  
SWK  
SWH  
97  
95  
SYSTEM  
Power  
103  
104  
VBG  
AG  
C1  
C1  
uP  
check  
AG  
SYSTEM  
Battery  
AUX2  
117  
VCOMP  
94  
CMP1I  
98  
CMP2I  
96  
R4  
R5  
R6  
R7  
AUX-I/O  
X : Internal Signal  
AC/DC  
ADAPTOR  
BATTERY  
POWER  
V reference  
for POW and BAT  
2 Comparators  
FAX RXA  
Corelessphone  
66  
Ver 0.01, December 5, 2000  
MX93111  
BASIC COMPONENTS REQUIRED  
REFERANCE PART  
DESCRIPTION  
*R1  
R2  
68KW the resistor for internal PLL charge pump circuits  
2KW  
current limit resistor; to limit MIC bias current, please follow MIC specification  
ALC  
R3  
560KW  
release time constant;  
R4, R5  
CMP1I VCOMP  
) for reference to  
to scale down DC power supply (  
to check  
CMP2I VCOMP  
) for reference to to check battery  
power low  
R6, R7  
to scale down battery power (  
low  
*C1  
*C2  
100pF the capacitor for internal PLL charge pump circuits  
6pF the capacitor for internal PLL charge pump circuits  
C8, C17  
C11  
0.1uF DC blocking capacitor (0.1~10uF)  
0.22uF DC blocking capacitor (0.1~10uF); H.P.F.  
¡
Ü £ k  
1/2 * 4.4KW * C6 (0.22uF) = 164Hz  
3dB point : fc  
C6  
C9  
10uF  
DC offset canceling compensative capacitor (4.7~10uF, the larger the better)  
0.1uF DC offset canceling compensative capacitor (0.1~1uF, the larger the better)  
0.1uF De-couple capacitor (0.1~10uF)  
C3, C4, C5,  
C12, C16  
C15  
FUNCTIONAL DESCRIPTION  
0.1uF De-couple capacitor (0.01~10uF); see  
ALC  
C10  
10uF  
5000pF anti-aliasing capacitor  
L.P.F.  
attack time constant;  
*C7  
¡
Ü
£
k
C13, C14  
*VR1  
passive  
; 3dB point : fc  
1/2 * 3KW * C13 (where C13 = C14)  
SWH SWF  
or  
10KW to attenuate the input signal from  
, if use digital volume control,  
then do  
VR  
SPKP  
and  
not need a resistor between  
@ where : " * " mark shows the requirement of the component can not be changed.  
67  
Ver 0.01, December 5, 2000  
MX93111  
6.2 FUNCTIONAL DESCRIPTION  
. PCM CODEC  
A/D D/A  
converters and all digital filters;  
. The block includes  
A/D D/A  
&
1.  
&
Converters  
Channel :  
A. Input Range : 0 ~ 3Vpp (3Vpp as A/D 0dB full swing (0dBFS));  
A/D  
B. Digital Filters : For the purpose of out-of-band noise filtering, IIR digital filters are implemented  
on the same chip ( >26dB / 60Hz; <1dB / 300Hz ~ 3.4KHz; >14dB / 3.6KHz ~ 4.6KHz; >32dB /  
4.6KHz );  
D/A  
Channel :  
A. Output swing : 0 ~ 3Vpp (3Vpp as D/A 0dB full swing (0dBFS));  
B. Digital Filters :  
a. G.711 specification;  
b. The digital input applied to D/A converter can not be a DC signal other than idle (bits all  
zero), as limit cycles in the embodiment method at a level of -70dBm will present at the  
analog output.  
2.Data format : Linear format  
@ Linear 16-bit format : 14-bit resolution with 2 LSB = 0  
SIGN \ SCALE  
POSITIVE  
MIN  
MAX  
0000 0000 0000 0000  
1111 1111 1111 1100  
0111 1111 1111 1100  
1000 0000 0000 0000  
NEGATIVE  
68  
Ver 0.01, December 5, 2000  
MX93111  
Power Down Mode  
.
The CODEC will recover from power-down mode when  
keeps high;  
ICPDX  
. Support system power (Adapter and Battery) detection. The function will work well even under 3V power  
Supply;  
. Support power-down control when  
keeps low;  
ICPDX  
. Support 4 power-down modes for special applications:  
CDREADYX  
ICPDX  
VBG  
VAG  
COMPARE  
PDLG  
SLEEPA  
MODE  
SLEEP  
REG 6 (7,6)  
REG 6 (7,6)  
REG 6 (7,6)  
REG 6 (7,6)  
(SLEEPA,SLEEP) = (SLEEPA,SLEEP) = (SLEEPA,SLEEP) = (SLEEPA,SLEEP) =  
FUNCTION  
VBG  
( 0,0 )  
on  
( 0,1 )  
off  
( 1,0 )  
off  
( 1,1 )  
on  
reference  
POW BAT  
&
on  
off  
on  
on  
all analog blocks  
A/D and D/A  
off  
off  
off  
on  
off  
off  
off  
off  
Table 1  
* Power down procedure  
1. Keep (SLEEPA, SLEEP) = (0,0) in stand by mode.  
2. Setup (SLEEPA, SLEEP) to system required mode.  
3. Trigger CODEC power down. Clear  
(bit 2) = 0.  
CDCMR ICPDX  
4. Trigger DSP power down. Set  
bit (bit 11) = 1.  
CTLR PWDN  
* Wake up procedure  
1. Trigger DSP wake up. Clear  
bit (bit 11) = 0.  
CTLR PWDN  
2. Wait DSP stable. Wait  
bit (bit 5) = 0.  
CTLR PWDNS  
3. Setup (SLEEPA, SLEEP) = (0,0).  
4. Trigger CODEC wake up. Set  
(bit 2) = 1.  
CDCMR ICPDX  
5. Wait CODEC ready. Wait  
(bit 9) = 0.  
CDCMR CDREADYX  
69  
Ver 0.01, December 5, 2000  
MX93111  
. 3-Channel Input (MIC,AUX1,LIN) with PRE-PGA (Pre-Programmable Gain Control)  
. Input Range : 0 ~ AVDD-2Vpp;  
PRE-PGA  
.
gain step from 21dB to -15dB (21, 18, 15, 12, 9, 7.5, 6, 4.5, 3, 0, -3, -6, -9, -12, -15dB);  
FILT  
AUX2  
output;  
. Driving Capacity : more than 400uA at  
and  
. Input Impedance : more than 25KW;  
FILT  
. THD : less than 70dB at  
output;  
. There is just one path which can be selected at the same time;  
PRE-PGA  
. The gain setting of the path will be mapped to the  
when user changes the path of Input.  
ALC (Automatic Level Control)  
.
. Input Range : 0 ~ 1.2Vpp (Loop Gain : 40dB);  
FIG. 5 FIG. 7  
;
. Output Characteristic : see  
. Loop Gain : 42dB max (with external RC time constant);  
FILT AUX2  
output;  
~
. Driving Capacity : more than 400uA at  
and  
output (Loop Gain : 40dB).  
FILT  
. THD : less than 40dB at  
. AD1 PGA  
. Input Range : 0 ~ AVDD-2Vpp;  
AD1-PGA  
.
can support gain step from 0dB to 18dB (0, 4, 8, 18dB);  
. FILT as I/O Port  
. Input Range : 0 ~ AVDD-2Vpp;  
. Input Impedance : more than 1KW;  
. Output Impedance : less than 1KW;  
. Load Capacitance : 5000pF;  
. AUX1 & AUX2 as I/O Port  
. Input Range : 0 ~ AVDD-2Vpp;  
. Input Impedance : more than 15KW;  
. Output Impedance : less than 15KW;  
. External passive L.P.F. (Low Pass Filter)  
LPFC1  
. External capacitors (  
LPFC2  
) can be changed to attenuate high frequency noise at  
SPKP  
and  
SPKN  
and  
output;  
LPFC1  
LPFC2  
) are NC (no connection), then passive  
L.P.F.  
L.P.F.  
. When external capacitors (  
by-passed;  
and  
and  
will be  
LOUTP  
LOUTN  
) can be chosen to pass or by-pass the  
. Output of the Line Driver (  
LPFC1/LPFC2  
;
.
can be a D/A output pin and output impedance is around 3KW/6KW;  
. D/A PGA  
. Input Range : 0 ~ AVDD-2Vpp;  
DA-PGA  
.
can support gain step from 0dB to 6dB (2dB/step);  
70  
Ver 0.01, December 5, 2000  
MX93111  
. Line Driver (  
)
LIN-DRV  
. Not only support the programmable gain from 0 to 22.5dB, but also fully differentially drive 6Vpp over  
600W;  
SWE SWJ SWK  
SWL  
are opened, then the line driver will be muted to -70dB and  
. If switches  
power-down automatically;  
1. output swing : Single Ended (only use  
,
,
and  
LOUTP LOUTN  
or  
) : 0 ~ 3Vpp (over 600W load, at LIN-  
LOUTP LOUTN  
DRV = 0dB); Fully differential (use  
0dB);  
+
) : 0 ~ 6Vpp (over 600W load, at LIN-DRV =  
LIN-DRV  
2.  
gain step from 0dB to 22.5dB (1.5dB/step);  
3. THD : less than 70dB at 6Vpp output over 600W load;  
. Attenuator ( )  
&
ATT1 ATT2  
. Speaker output signal can be attenuated either by internal register or external resistor;  
SWF SWH  
are opened, then attenuator will be muted to -70dB automatically;  
. If switches  
and  
(internal register) : 16 steps programmable, from -45dB to 0dB (-45, -39, -33, -27, -24, -21, -  
18, -15, -12, -9, -7.5, -6, -4.5, -3, -1.5, 0dB);  
ATT2  
ATT1  
1.  
2.  
(external variable resistor) : from -45 ~ 0dB (determined by external 10KW potentiometer);  
3. THD : less than 70dB;  
AUX2  
4. input range for  
: 0 ~ AVDD-2Vpp;  
AUX2  
5. input impedance for  
: more than 15KW;  
. Speaker Driver (SPK-DRV)  
SWF  
SWH  
SPK-DRV  
are opened, then will be power-down automatically;  
. If switches  
and  
SPKP SPKN  
);  
1. Maximum output swing : 6Vpp with 8W load at fully differential output (  
2. THD : less than 60dB (at 6Vpp/8W load);  
+
. Voltage Reference (VREF & VAG)  
VREF  
. Two 2.25VW voltage references are on-chip generated, where  
is for external circuit use and  
VAG  
is for internal circuit use;  
VREF  
.
can be used to bias the microphone, the level shift circuit or other applications;  
driving capacity : more than 400uA;  
VREF  
1.  
VREF  
2. User can use the  
to provide DC bias to external components;  
. Bandgap Reference (VBG)  
VBG  
. A bandgap circuit generates a voltage source ( ) which is around 1.2VW.It is with low temperature  
coefficient and good power supply rejection;  
. If user changes VBG bypass capacitor (C15) then the MX93002 warm-up time will be changed; see  
The Timing Diagram of CODEC Function;  
71  
Ver 0.01, December 5, 2000  
MX93111  
. Serial Control Interface  
IFS  
ISDATAW/ISDATAR  
to read/write the internal control registers;  
. Use  
for synchronization with  
. All registers will keep original setting when the CODECs returns from power-down or sleep mode;  
ISDENX  
1. When  
serial control data  
ISDENX  
(serial data enable) signal active low, the CODECs starts to receive(transmit)  
ISDATAW (ISDATAR)  
;
ISDATAW / ISDATAR  
from low to high when transmitting / receiving is complete;  
format : 3 addresses from A2 to A0, 8 data from D7 to D0 (A2 is MSB and D0 is  
2. Set  
ISDATA(R/w)  
3.  
LSB);  
. Two Comparatoes for AC power and battery power  
.To detect AC power and battery power or other applications;  
1.input range : 0~AVDD-2Vpp (with 7V surge protection);  
2.input impedence : more than 10^12W;  
3.input offset voltage : less than 10Mv;  
4.output impedence : less than 10KW  
5.slew rate : 3V/us max;  
. Switches  
. There are three registers (REG0, REG3 and REG6) which are used to control all of the switches so  
that user can direct many different signal paths, for examples:  
MIC  
SPKP/N  
LOUTP/N  
:
1. Record signal from  
A. Record signal from  
a. System initialization [set  
gain 0/6dB (REG5 bit(1)) and set  
MIC  
and play signal to  
or play signal to  
:
MIC  
LIN  
or Record signal from  
MIC  
LIN  
ALC  
gain (REG2 bit(3~0)), set  
gain (REG1 bit(7~4), set  
gain (REG6 bit(1,0))]  
: set REG0 = 0X0048  
PRE-PGA SWC ALC  
A/D-PGA  
b. Record signal from  
MIC SWA  
SWD  
SWD  
AD1-PGA PCM CODEC AIN1  
AD1-PGA PCM CODEC AIN1  
Þ
Þ
Þ
Þ
(
on) Þ  
Þ
Þ
LIN  
c. Record signal from  
: set REG0 = 0X00C8  
LIN SWA PRE-PGA  
SWC ALC  
Þ
Þ
Þ
(
on) Þ  
LOUTP/N  
:
Þ
SPKP/N  
B. Play signal to  
or play signal to  
L.P.F.  
D/A-PGA  
gain (REG6  
a. System initialization [fix the value of  
, set (REG6 bit(5)), set  
ATT1  
LIN-DRV  
gain (REG1 bit(3~0))]  
bit(3,2), set  
gain (REG3 bit(3~0)) and  
SPKP/N  
b. Play signal to  
PCM CODEC AOUT1  
SPKP/N  
(use digital volume control) : set REG 0 = 0X0003  
L.P.F. SWF DA-PGA SWG ATT1  
SPK-DRV  
Þ
Þ
Þ
Þ
Þ
(
) Þ  
LOUTP/N  
c. Play signal to  
: set REG 0 = 0X0004  
L.P.F. SWL LIN-DRV LOUTP/N  
Þ
PCM CODEC AOUT1  
PCM CODEC AOUT2  
i.  
Þ
Þ
Þ
Þ
SWE  
LIN-DRV  
LOUTP/N  
Þ
ii.  
Þ
SPKP/N  
LOUTP/N  
d. Play signal to  
(use digital volume control) and  
: set REG 0 = 0X0007  
PCM CODEC AOUT1  
SPKP/N  
L.P.F.  
SWF  
DA-PGA  
Þ Þ  
SWG ATT1 SPK-DRV  
i.  
Þ
Þ
Þ
(
) Þ  
Þ
PCM CODEC AOUT2  
SWE  
LIN-DRV  
LOUTP/N  
Þ
Þ
72  
Ver 0.01, December 5, 2000  
MX93111  
PCM CODEC AOUT1  
L.P.F.  
SWF  
SWL  
DA-PGA  
Þ
LIN-DRV  
Þ
SWG ATT1  
SPK-DRV  
) Þ Þ  
ii.  
Þ
Þ
Þ
Þ
(
SPKP/N  
LOUTP/N  
Þ
2. Room Monitoring:  
A. System initialization [set  
MIC  
ALC  
gain 0/+6dB (REG5 bit(1)), set  
gain (REG2 bit(3~0)), set  
LIN-DRV  
gain (REG1 bit(3~0)), set REG3 bit(6,5) and set REG6 bit(1,0)]  
B. Switches path:  
a. Remote Monitoring:  
MIC  
SWA  
PRE-PGA  
SWC ALC  
SWJ  
LIN-DRV  
LOUTP/N  
Þ
Þ
Þ
Þ
(
on) Þ  
b. Local Detecting DTMF:  
LIN SWI AD1-PGA PCM CODEC AIN1  
Þ
Þ
Þ
Þ
. Power Consumption of CODEC (with 600 line load and 8 speaker load)  
W
W
Max. Power  
Consumption LIN-DRV  
SPK-DRV  
Analog  
circuits  
Unit  
Dis/Enable Dis/Enable  
Operation  
Stand-by  
Disable  
Disable  
Enable  
Disable  
Enable  
Disable  
Disable  
Disable  
Disable  
Disable  
Enable  
Enable  
Disable  
Disable  
20  
20  
mA  
mA  
Operating  
31  
217  
217  
120  
20  
Power-down  
uA  
uA  
Power-down with SLEEP = 1  
LIN-DRV  
SPK-DRV  
(with 8W load) full swing output  
@ Test condition : 1. at  
(with 600W load) /  
LIN-DRV  
SPK-DRV  
2. see  
and  
Descriptions  
73  
Ver 0.01, December 5, 2000  
MX93111  
6.3 CONTROL REGISTERS DEFINITION  
REGISTER 0  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
0
0
0
DATA BIT  
POWER-ON  
DESCRIPTION  
D7  
D6  
D5  
0
D4  
0
D3  
0
D2  
D1  
0
D0  
0
0
0
0
SWA  
SWB  
SWC  
SWD  
SWF  
SWG  
SWA  
SWA  
SWA  
SWA  
SWA  
PRE-PGA  
LIN  
GAIN SETTING  
(
) D(7,6) = (1,1) : path of  
= (1,0) : path of  
is "c Þ A",  
is "b Þ A",  
is "a Þ A",  
setting follows  
setting follows  
setting follows  
PRE-PGA  
PRE-PGA  
AUX1  
GAIN SETTING  
MIC  
= (0,1) : path of  
GAIN SETTING  
AG  
)
= (0,0) : path of  
is "d Þ A", (GROUNDING to  
SWB  
is "OPEN"  
SWB  
SWC  
SWD  
SWF  
SWG  
SWB  
is "CLOSE", D(5) = (0) : path of  
(
(
(
) D(5) = (1) : path of  
) D(4) = (1) : path of  
) D(3) = (1) : path of  
) D(1) = (1) : path of  
) D(0) = (1) : path of  
= (0) : path of  
SWC  
SWD  
SWF  
SWG  
SWG  
SWC  
is "a Þ A"  
is "b Þ A", D(4) = (0) : path of  
is "CLOSE", D(3) = (0) : path of  
is "CLOSE " , D(1) = (0) : path of  
SWD  
is "OPEN"  
SWF  
(
is " OPEN "  
ATTENUATOR 1 (ATT1)  
ATTENUATOR 2 (ATT2)  
(
is "a Þ A",  
is "a Þ B",  
REGISTER 1  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
0
0
1
DATA BIT  
POWER-ON  
DESCRIPTION  
D7  
D6  
D5  
D4  
0
D3  
D2  
D1  
D0  
0
0
0
0
0
0
0
LIN  
PRE-PGA  
LIN-DRV  
GAIN SETTING  
GAIN SETTING (  
)
LIN  
NOTE 1  
(
(
GAIN SETTING ) D(7~4) = (F) ~ (0) : 21dB ~ -15dB; see  
LIN-DRV  
NOTE 2  
GAIN SETTING ) D(3~0) = (F) ~ (0) : 22.5dB ~ 0dB 1.5dB/step; see  
REGISTER 2  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
0
1
0
DATA BIT  
POWER-ON  
DESCRIPTION  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
0
0
0
0
0
0
0
0
AUX1  
PRE-PGA  
MIC  
PRE-PGA  
GAIN SETTING ( )  
GAIN SETTING (  
)
AUX1  
NOTE 1  
GAIN SETTING ) D(7~4) = (F) ~ (0) : 21dB ~ -15dB; see  
(
(
MIC  
NOTE 1  
GAIN SETTING ) D(3~0) = (F) ~ (0) : 21dB ~ -15dB; see  
74  
Ver 0.01, December 5, 2000  
MX93111  
REGISTER 3  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
0
1
1
DATA BIT  
POWER-ON  
DESCRIPTION  
D7  
D6  
0
D5  
0
D4  
0
D3  
D2  
D1  
D0  
0
SWH  
1
1
1
1
SWI  
SWJ  
SWK  
ATT1  
GAIN SETTING  
SWH  
SWH  
SWH  
is "OPEN”  
(
(
(
(
(
) D(7) = (1) : path of  
is "CLOSE", D(7) = (0) : path of  
SWI  
SWI  
is "CLOSE", D(6) = (0) : path of  
SWI  
) D(6) = (1) : path of  
) D(5) = (1) : path of  
is "OPEN"  
SWJ  
SWJ  
SWJ  
is "CLOSE", D(5) = (0) : path of  
is "CLOSE", D(4) = (0) : path of  
is "OPEN"  
SWK  
SWK  
ATT1  
SWK  
) D(4) = (1) : path of  
is "OPEN"  
NOTE 3  
GAIN SETTING ) D(3~0) = (F)~(0) : - 45dB ~ 0dB; see  
REGISTER 5  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
1
0
1
DATA BIT  
POWER_ON  
DESCRIPTION  
D7  
0
D6  
0
D5  
0
D4  
0
D3  
D2  
D1  
0
D0  
0
0
0
ALC1  
SPKHI  
ADA  
AIADID  
DAYT  
ADYT  
ALC0  
TDSPCK  
D ( 5 ~ 2 and 0 ) : reserved  
SPKP/N  
SPK-DRV  
( SPKHI ) D(6) = (0) :  
D(6) = (1) :  
can drive 8W load when  
turns on  
SPKP/N  
SPK-DRV  
appears high impedance (10KW) and  
will keep a quiescent  
SPK-DRV  
ALC  
open loop  
current when  
gain is 38dB  
turns on( ALC1 , ALC0 ) D(7,1) = (0,0) :  
ALC  
(ALC1,ALC0) = (0,1) :  
= (1,0) : reserved  
ALC  
open loop gain is 42dB  
PRE-PGA  
ALCC1 SWC  
= (1,1) : external  
option (  
Output :  
,
path “ a” Input :  
ALCC2  
)
REGISTER 6  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
1
1
0
DATA BIT  
POWER_ON  
DESCRIPTION  
D7  
0
D6  
D5  
D4  
D3  
D2  
D1  
D0  
0
0
0
0
0
0
0
SWL  
SPK-DRV  
AD1-PGA  
SLEEPA  
SLEEP  
SPK-  
MUTE  
GAIN  
GAIN  
SETTING  
SETTING  
75  
Ver 0.01, December 5, 2000  
MX93111  
( SLEEPA , SLEEP ) D(7,6) = (0,0) : when the CODEC gets into power down mode, all the blocks of the  
VBG  
CODEC will be disabled except the  
POW BAT  
reference and 2  
comparators (  
,
)
D(7,6) = (0,1) : when the CODEC gets into power down mode, all the blocks of the  
CODEC will be disabled  
D(7,6) = (1,0) : when the CODEC gets into power down mode, all the blocks of the  
POW BAT  
CODEC will be disabled except 2 comparators (  
,
)
D(7,6) = (1,1) : when the CODEC gets into power down mode, all the analog blocks  
of the CODEC will be still functional and can be programmed by  
control registers  
SWL  
SWL  
SWL  
NOTE 7  
(
) D(5) = (1) : path of  
is "CLOSE", D(5) = (0) : path of  
is "OPEN” ; see  
SPK-DRV  
SPK-DRV  
( SPK-MUTE ) D(4) = 1 : force  
mute to -70dB, D(4) = 0 : force  
un-mute  
NOTE 5  
SPK-DRV  
AD1-PGA  
(
(
GAIN SETTING ) D(3,2) = (0,0) ~ (1,1) : 0dB ~ 8dB; 2dB/step; see  
NOTE 2  
GAIN SETTING ) D(1,0) = (0,0) ~ (1,1) : 0dB ~ 18dB; see  
REGISTER 7  
ADDRESS BIT  
DATA  
A2  
A1  
A0  
1
1
1
DATA BIT  
POWER_ON  
DESCRIPTIN  
D7  
D6  
D5  
D4  
0
D3  
D2  
D1  
D0  
0
0
0
0
0
0
0
SWN  
READ  
REGISTER ADDRESS  
SWN  
SWN  
SWN NOTE 7  
is "OPEN” ; see  
(
) D(4) = (1) : path of  
is "CLOSE", D(5) = (0) : path of  
( READ ) D(3) = 1 : read data from Register 0 ~ 7, D(3) = 0 : write data to Register 0 ~ 7  
( REGISTER ADDRESS ) D(2~0) : When READ = 1, then  
a. READ will be cleared automatically;  
ISDENX  
b. if next DSP  
signal active low, the content of REGISTER ADDRESS will be dumped  
ISDATAR  
out through CODEC  
interface;  
NOTE 1 PRE-PGA  
:
gain step; from -15dB to 22dB  
1111  
21dB  
1110  
18dB  
1101  
15dB  
1100  
12dB  
1011  
9dB  
1010  
1001  
6dB  
1000  
7.5dB  
4.5dB  
0111  
0110  
0101  
0dB  
0100  
-3dB  
0011  
-6dB  
0010  
-9dB  
0001  
0000  
3.0dB  
1.5dB  
-12dB  
-15dB  
76  
Ver 0.01, December 5, 2000  
MX93111  
NOTE 2 AD1-PGA  
:
gain step; from 0dB to 18dB  
00  
01  
10  
11  
0dB  
4dB  
8dB  
18dB  
NOTE 3 AD2-PGA  
:
gain step; from -6dB to 39dB; 3dB/step  
1111  
39dB  
1110  
36dB  
1101  
33dB  
1100  
30dB  
1011  
27dB  
1010  
24dB  
1001  
21dB  
1000  
18dB  
0111  
15dB  
0110  
12dB  
0101  
9dB  
0100  
6dB  
0011  
3dB  
0010  
0dB  
0001  
-3dB  
0000  
-6dB  
NOTE 4 LIN-DRV  
:
gain step; from 0dB to 22.5dB; 1.5dB/step  
1111  
1110  
1101  
1100  
1011  
1010  
1001  
1000  
22.5dB 21dB 19.5dB 18dB 16.5dB 15dB  
13.5dB 12dB  
0111  
0110  
9dB  
0101  
0100  
6dB  
0011  
0010  
3dB  
0001  
0000  
0dB  
10.5dB  
7.5dB  
4.5dB  
1.5dB  
NOTE 5 SPK-DRV  
:
gain step; from 0dB to 6dB; 2dB/step  
00  
01  
10  
11  
0dB  
2dB  
4dB  
6dB  
NOTE 6 ATT1  
:
(Attenuator 1) gain step; from 0dB to -45dB  
1111 1110 1101 1100 1011  
1010  
1001  
1000  
-45 dB -39 dB -33 dB -27 dB -24 dB -21 dB -18 dB -15 dB  
0111  
0110  
0101  
0100  
0011  
0010  
0001  
0000  
0 dB  
-12 dB  
-9 dB -7.5 dB -6 dB -4.5 dB -3 dB -1.5 dB  
NOTE 7  
SWE SWJ  
SWL  
: 1.  
2.  
,
and  
can not be turned on at the same time;  
SWJ  
SWN  
and  
can not be turned on at the same time;  
SWE SWJ SWL  
SWK  
3. If  
,
or  
is turned on, then  
will be taken as an output port;  
4. If SWK is taken as an input port, SWK, SWE, SWJ and SWL cannot be turned on at the  
same time;  
77  
Ver 0.01, December 5, 2000  
MX93111  
7.1 DC CHARACTERISTICS:  
SYMBOL  
PARAMETER  
Operation temperature  
Storage temperature  
Operation Frequency  
Supply Voltage  
CONDITION  
MIN  
0
TYP  
MAX  
70  
UNIT  
0C  
-55  
150  
0C  
40.96  
MHz  
Volt  
Volt  
Volt  
VCC  
GND  
VIH  
4.5  
5
0
5.5  
Ground  
Input high voltage  
Input low voltage  
Pull high register  
Output low current  
Output low current  
Active current  
Schmidt trigger input(IS) 0.7*VCC  
Schmidt trigger input(IS)  
for IPT[3:0] pins  
VIL  
0.3*VCC Volt  
RH  
150 K  
ohm  
mA  
mA  
mA  
mA  
IOL(OA)  
IOL(OB)  
ICC1  
ICC2  
@VOL=0.4  
@VOL=0.4  
@40.96 MHz  
@32768 Hz  
8
16  
Power down current  
Absolute Maximum Rating  
PARAMETER  
MIN  
TYP  
MAX  
UNIT  
S
AVDD to AGND  
VDD to DGND  
-0.3  
-0.3  
6.0  
6.0  
V
V
Voltage at any Digital Input or Output  
Current at any Digital Input or Output  
Operating Ambient Temperature Range  
Storage Temperature Range  
DGND-0.3  
VDD+0.3  
8
V
mA  
¢
J
J
J
0
70  
¢
-65  
150  
¢
Lead Temperature ( Soldering, 10 seconds )  
260  
78  
Ver 0.01, December 5, 2000  
MX93111  
Power Supply  
PARAMETER  
MIN  
TYP  
MAX  
5.5  
12  
UNIT  
S
Power Supply Voltage :  
Digital and Analog  
4.5  
5.0  
V
Power Supply Current :  
Stand-by :  
Digital  
10  
20  
mA  
mA  
Analog  
Operating :  
Digital  
60  
70  
mA  
mA  
Analog ( see Page 92 )  
Power-Down :  
Digital  
2
mA  
uA  
uA  
Analog ( at REG4 bit 6 SLEEP = 0 )  
Analog ( at REG4 bit 6 SLEEP = 1 )  
120  
20  
Electrical Characteristics  
BOLD  
(
characters are guaranteed for AVDD = VDD = 5V ±5%,  
¢
J
.
¢ J  
*
Temperature = 0 ~ 70  
Typical specified at AVDD = VDD = 5V, temperature = 25 . “ ” mark :  
guaranteed by design )  
Analog Input Ports  
PARAMETER  
MIN  
TYP  
MAX  
UNIT  
S
MIC / LIN / AUX1 :  
Input Voltage  
3.0  
15  
Vpp  
pF  
* Input Capacitance  
* Input Impedance  
20  
KW  
79  
Ver 0.01, December 5, 2000  
MX93111  
Analog Output Ports  
PARAMETER  
MIN  
TYP  
MAX  
UNIT  
S
Line Driver :  
Gain Range  
0
22.5  
dB  
dB  
Step Variation  
0.3  
6.0  
Fully Differential (LOUTP+LOUTN) Full Swing /  
with 600W load  
Vpp  
Single Ended (LOUTP) Full Swing / with 600W  
load  
3.0  
Vpp  
* External Load Capacitance  
* Output Loading  
200  
pF  
600  
W
Speaker Driver :  
Fully Differential (SPKP+SPKN) Full Swing / with  
8W load  
6.0  
3.0  
Vpp  
Single Ended (SPKP) Full Swing / with 8W load  
* External Load Capacitance  
* Output Loading  
Vpp  
pF  
100  
4
8
W
the Quiescent current (when REG5 bit(6) SPKHI =  
1)  
mA  
Analog I/O Ports  
PARAMETER  
FILT :  
MIN  
TYP  
MAX  
UNITS  
as Input Port :  
* Input Capacitance  
* Input Impedance  
as Output Port :  
5000  
1
pF  
KW  
* External Load Capacitance  
* Output Impedance  
AUX2 :  
5000  
1
pF  
KW  
as Input Port :  
* Input Capacitance  
* Input Impedance  
as Output Port :  
15  
15  
pF  
KW  
* External Load Capacitance  
* Output Impedance  
15  
15  
pF  
KW  
80  
Ver 0.01, December 5, 2000  
MX93111  
Gain Variation  
PARAMETER  
MIN  
TYP  
MAX  
UNITS  
PRE-PGA :  
Gain Range  
Step Size  
-15  
22.5  
dB  
dB  
dB  
±1.5, ±3  
±0.3  
Step Variation  
AD-PGA :  
DA-PGA :  
Gain Range  
Step Size  
0
0
9
9
dB  
dB  
dB  
+3  
Step Variation  
±0.3  
Gain Range  
Step Size  
dB  
dB  
dB  
+3  
Step Variation  
±0.3  
Attenuator  
PARAMETER  
MIN  
TYP  
MAX  
UNIT  
S
Attenuator 1 ( Digital Volume ) :  
Gain Range  
-45  
0
dB  
dB  
dB  
dB  
Step Size  
-6, -3, -1.5  
±0.3  
Step Variation  
* Mute Attenuation  
-70  
Attenuator 2 ( External Volume ) :  
Gain Range  
-45  
0
dB  
the Requirement of External Resistor ( from  
SPKP to VR )  
10  
KW  
* Mute Attenuation  
-70  
dB  
Bandgap ( VBG pin )  
PARAMETER  
MIN  
TYP  
MAX  
UNIT  
S
Output Voltage  
* Output Current  
1.16  
1.2  
1.24  
V
Hi-z  
81  
Ver 0.01, December 5, 2000  
MX93111  
Voltage Reference ( VREF pin )  
PARAMETER  
Output Voltage  
* Output Current  
MIN  
TYP  
2.25  
450  
MAX  
UNITS  
2.0  
2.5  
V
uA  
Two Comparators ( POW, BAT )  
PARAMETER  
Input Voltage (VCOMP, VPOW, VBAT)  
* Hysteresis  
MIN  
TYP  
MAX  
UNITS  
V
AVDD  
15  
mV  
* Output Impedance of POWB and BATB pins  
10  
KW  
82  
Ver 0.01, December 5, 2000  
MX93111  
7.2 AC TIMING and CHARACTERISTICS:  
7.2.1 RESET TIMING  
Tw_reset  
Tic  
RST\  
PROGRAM  
COUNTER  
PC=0x0000  
PC=0x0001  
DSP  
MASTER  
CLOCK  
Tm  
SYMBOL  
PARAMETER  
CONDITION  
MIN  
TYP  
24.4  
36.6  
MAX UNIT  
Tm  
Tic  
Master clock cycle time  
Instruction cycle time  
Reset low pulse width  
@ 40.96 MHz  
ns  
ns  
ns  
@ 40.96 MHz 0 wait state  
Tw_reset  
3*Tm  
NOTE : PLL output clock will be reset to a lower frequency (around 24 ~ 25 MHz) during power on reset  
or at the starting point when DSP just comes back from power down mode. It takes about 10 ms for FLL  
to lock at the target frequency specified in PLLMR(I/O mapped 21) when RST\ pin going high or PWDN  
bit being cleared.  
7.2.2 EXTERNAL PROGRAM and DATA READ TIMING  
Tw_epce\ , Tw_edce\  
EPCE\,EDCE\  
Tw_ead  
EAD[15:0]  
ERD\  
Td_erd\  
Th_read  
Ts_read  
ED[15:0]  
Data in  
SYMBOL  
Tw_epce\  
Tw_edce\  
Tw_ead  
PARAMETER  
CONDITION  
see Note1  
see Note1  
MIN  
TYP  
MAX UNIT  
Program read cycle time  
Data read cycle time  
Read address cycle time  
Tm*(1.5+Wp)  
Tm*(1.5+Wd)  
ns  
ns  
Same as Tw_epce\ and  
Tw_edce\  
ns  
Td_erd\  
Ts_read  
Th_read  
Read enable delay time  
Data read setup time  
Data read hold time  
Tm*0.5  
ns  
ns  
ns  
see Note2  
20 or 40  
0
10  
15  
NOTE1: Wp is PROGWAIT[2:0] in WSTR , Wd is DATAWAIT[2:0] in WSTR  
NOTE2: Ts_read : 20 ns when FAST (in EXTCTLR) =1 , 40 ns when FAST (in EXTCTLR) =0  
83  
Ver 0.01, December 5, 2000  
MX93111  
7.2.3 EXTERNAL DATA WRITE TIMING  
Tw_edce\  
Tw_ead  
EDCE\  
EAD[15:0]  
Twr  
Tdh  
EWR\  
Tas  
Tdw  
ED[15:0]  
Data out  
SYMBOL  
Tas  
PARAMETER  
Address set-up time  
Write recovery time  
Data set-up time  
Data hold time  
CONDITION  
MIN  
TYP  
Tm*0.5  
MAX UNIT  
ns  
ns  
ns  
ns  
Twr  
0
10  
0
Tdw  
Tdh  
7.2.4 HOST INTERFACE TIMING  
HRD\  
Tdh_hostr  
HWR\  
Taa_hostr  
Tdh_hostw  
HDB[7:0]  
Tds_hostw  
SYMBOL  
Taa_hostr  
Tdh_hostr  
Tds_hostw  
Tdh_hostw  
PARAMETER  
CONDITION  
MIN  
TYP  
MAX UNIT  
Host read access time  
50  
ns  
ns  
ns  
ns  
Host read data hold time  
Data setup time at host write  
Data hold time at host write  
5
40  
10  
84  
Ver 0.01, December 5, 2000  
MX93111  
7.2.5 DRAM CAS BEFORE RAS REFRESH TIMING  
Trp  
Tras  
Trpc  
Tcsr  
Trp  
RAS\  
CAS\  
Tchr  
Tcp  
SYMBOL  
Trp  
PARAMETER  
CONDITION  
MIN  
61  
TYP  
MAX UNIT  
RAS\ precharge time  
RAS\ to CAS\ precharge time  
CAS\ setup time  
@40.96 MHz  
ns  
ns  
ns  
ns  
ns  
ns  
us  
Trpc  
48.8  
Tcsr  
12.2  
85.4  
Tras  
RAS\ pulse width  
Tcp  
CAS\ precharge time  
CAS\ hold time  
24.4  
Tchr  
48.8  
T_refresh  
Refresh cycle time  
see NOTE  
15.258  
NOTE : DSP will generate CAS\ before RAS\ self refresh every 15.258 us( 32768Hzx2) .  
85  
Ver 0.01, December 5, 2000  
MX93111  
7.2.6 DRAM READ/WRITE TIMING  
RAS\  
Trp  
Tcp  
Trcd  
CAS\  
Tcas  
Tasc  
Tasr  
Trah  
Tcah  
Column Address  
Column Address  
Column Address  
EAD[15:0]  
DRD\  
Row Address  
Trcs  
Ts_dramr Th_dramr  
Data in  
ED[15:0]  
READ  
CYCLE  
Data in  
Data in  
Twcs  
DWR\  
Ts_dramw  
Th_dramw  
ED[15:0]  
WRITE  
CYCLE  
Data Out  
Data Out  
Data Out  
SYMBOL  
Trp  
PARAMETER  
CONDITION  
MIN  
TYP  
MAX UNIT  
RAS\ precharge time  
CAS\ precharge time  
61  
ns  
ns  
Tcp  
24.4  
Tcas  
CAS\ low pulse width  
see Note1  
Tm*(2+W)/2  
48.8  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Trcd  
RAS\ to CAS\ delay time  
Row address set-up time  
Row address hold time  
Tasr  
0
Trah  
24.4  
Tasc  
Column address set-up time  
Column address hold time  
Read command set-up time  
DRAM read data set-up time  
DRAM read data hold time  
Write command set-up time  
DRAM write data set-up time  
DRAM write data hold time  
0
Tcah  
24.4  
Trcs  
0
Ts_dramr  
Th_dramr  
Twcs  
see Note2  
20 or 40  
0
0
Ts_dramw  
Th_dramw  
0
36.6  
NOTE1: W is DRAMWAIT[2:0] in WSTR  
NOTE2: Ts_dramr : 20 ns when FAST (in EXTCTLR) =1  
40 ns when FAST (in EXTCTLR) = 0  
86  
Ver 0.01, December 5, 2000  
MX93111  
7.2.7 CODEC TIMING DESCRIPTION  
TIMING  
Tupen1  
Tupen2  
Tups1  
DESCRIPTION  
MIN TYP MAX UNIT  
from Vsclkh1 to Venl  
from Vsclkh1 to Venh  
40  
40  
40  
IFS  
IFS  
IFS  
ns  
ns  
ns  
setting time for DSP transmitting ISDATAW from Vupenl to DSP  
ISDATAW(n) ready  
( @ where Tupen1+Tups1 must < IFS )  
Tups2  
Tuph  
setting time for DSP transmitting ISDATAW from Vsclkh1(n+1) to DSP 40  
IFS  
ns  
SDATA(n+1) ready  
holding time for DSP transmitting ISDATAW from Vsclkh1(n+1) to DSP 40  
Tups ns  
2
ISDATAW(n)  
ending  
Tcdrd  
Tcds1  
Tcds2  
Tcdh  
from Vsclkh1(n+1) to CODEC reading ISDATAW(n)  
20  
20  
ns  
ns  
ns  
ns  
setting time for CODEC transmitting ISDATAR from Vcdi2o to  
ISDATAR(n) ready  
setting time for CODEC transmitting ISDATAR from Vsclkh1(n+2) to  
ISDATAR(n+1) ready  
20  
holding time for CODEC transmitting ISDATAR from ISDATAR(n)  
ready to Vsclkh1(n+2)  
IFS  
Tcdo2i  
Tuprd  
from Venh to CODEC changing its ISDATAR interface to input port  
20  
ns  
ns  
ns  
from Vsclkh1(n+1) to DSP reading ISDATAR(n)  
40  
40  
IFS  
IFS  
Tupi2o  
from Vsclkh1 to DSP changing its ISDATAR interface to output port  
87  
Ver 0.01, December 5, 2000  
MX93111  
TIMING DIAGRAM  
Control Registers R/W Timing Diagram  
CODEC READ  
Vsclkh1  
n
n+1  
n+2  
IFS  
1
1
1
1
6 7  
9
5
8
1
Venl  
3 4  
2
2
3
0
1
Tupen2  
Tupen1  
Venh  
ISDENX  
Tuph  
Tups1  
Tuph  
Tups2  
DSP ISDATW  
interface  
D2  
D1  
D0  
A2  
A1  
A0  
D7  
D6  
D4  
D3  
D5  
n
n+1  
Tcdrd  
CODEC read ISDATAW  
CODEC ISDATAW  
interface  
CODEC WRITE  
Vsclkh1  
n
n+1  
n+2  
IFS  
1
1
3
1
1
6 7  
9
5
8
1
3 4  
2
2
1
0
Tupen1  
Tupen2  
ISDENX  
Tcds2  
Tcds1  
Tcdh  
CODEC  
ISDATAR  
D2  
D1  
D0  
A2  
A1  
A0  
D7  
D6  
D5  
D4  
D3  
interface  
n
n+1  
Tuprd  
DSP read ISDATAR  
DSP ISDATAR  
interface  
88  
Ver 0.01, December 5, 2000  
MX93111  
The Timing Diagram of CODEC Function  
(SLEEPA,SLEEP) = (0,0) or (1,1)  
tF  
tH  
t I  
tA  
tB  
tG  
tJ  
tK  
tC tD  
tE  
VDD  
AVDD  
~ 1.2V  
VBG  
ICPDX  
VAG  
CP  
Register  
R/W  
A/D and D/A  
Analog Paths  
Analog Paths  
(SLEEPA,SLEEP)  
= (0,0)  
(SLEEPA,SLEEP)  
= (1,1)  
POW, BAT  
2 OPs  
@ Analog Paths : Analog I/O, Switches, PGA and Attenuator  
: Stable  
@
(SLEEPA,SLEEP) = (0,1) or (1,0)  
tF  
tH  
t I  
tA  
tB  
tG  
tJ  
tK  
tE  
tD  
tC  
VDD  
AVDD  
~ 3.4V  
~ 1.2V  
VBG  
ICPDX  
VAG  
CP  
Register  
R/W  
A/D and D/A  
Analog Paths  
POW, BAT  
2 OPs  
(SLEEPA,SLEEP)  
= (0,1)  
POW, BAT  
2 OPs  
(SLEEPA,SLEEP)  
= (1,0)  
@ Analog Paths : Analog I/O, Switches, PGA and Attenuator  
: Stable  
@
89  
Ver 0.01, December 5, 2000  
MX93111  
The Timing Description of CODEC Function  
TIMING  
DESCRIPTION  
MIN  
TYP  
MAX  
UNIT  
¡
started  
keeps  
Ü
3.0VDC  
VDD AVDD  
/
tA  
tC  
ICPDX  
tH ICPDX  
tC  
Þ
tH  
tJ  
Þ
ICPDX  
ICPDX  
Power-down started (  
keeps low )  
Power-down ended (  
keeps high)  
tH  
tA  
t J ICPDX  
keeps low  
tB  
VBG  
VBG  
( where  
Þ
the charge time of  
140  
50  
190  
110  
2
290  
160  
2.5  
0.7  
15  
ms  
us  
bypass cap. = 0.1uF )  
tD  
tE  
Þ
the lock-in time of PLL ( C1=100pF,  
C2=6pF, R1=68KW )  
tF  
tJ  
tH  
tG  
tK  
tI  
VAG  
VAG  
Þ
Þ
Þ
the charge time of  
( where  
1.5  
0.3  
6
ms  
ms  
ms  
bypass cap. = 0.1uF )  
the discharge time of  
bypass cap. = 0.1uF )  
VAG  
VAG  
( where  
0.5  
10  
th  
ti  
VBG  
Þ
the delay time of  
disable ( where  
VBG  
bypass cap. = 0.1uF )  
VBG  
@ when change  
i. from 0.1uF to 1uF : (  
ii. from 0.1uF to 0.01uF : (  
bypass capacitor (C15) :  
¡
Ü
10 * (  
tA  
tB  
)’  
tA  
tB  
tA  
Þ
Þ
)
¡
Ü
1/10 * (  
tA  
tB  
tB  
Þ )  
Þ
)’  
90  
Ver 0.01, December 5, 2000  
MX93111  
A/D Path Characteristics  
( 0dBFS : reference to Fin = 1.02KHz and A/D Input is Full Swing )  
PARAMETER  
MIN  
76  
TYP  
77  
MAX  
78  
UNITS  
dB  
Dynamic Range ( at -51dBFS )  
THD+N ( at Vin = -6dBFS )  
-58  
-62  
76  
-64  
dB  
Interchannel Isolation of LIN/MIC/AUX1 ( at Vin =  
dBFS  
dBFS  
Vpp  
0dBFS )  
-0.3  
0.3  
Gain Variation ( at Vin = -6dBFS )  
3.0  
Max. Overload Level  
Frequency Response ( Measure Respone from  
60Hz to  
-23  
-7  
-26  
-8  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
4000Hz, see FIG. 3 ) :  
60Hz  
-3  
-4  
150Hz  
-0.8  
+0.8  
200Hz  
-1.6  
-4.5  
-10  
-45  
300 ~ 3200Hz  
3400Hz  
3600Hz  
3800Hz  
4000Hz and Up  
D/A Path Characteristics  
( 0dBFS : reference to Fout = 1.02KHz and D/A Output is Full Swing )  
PARAMETER  
MIN  
TYP  
77  
MAX  
UNITS  
dB  
Dynamic Range ( at -51dBFS )  
76  
78  
THD+N ( at Vin = -6dBFS )  
46  
dB  
Gain Variation ( at Vin = -6dBFS )  
± 0.1  
dBFS  
Out of Band Energy ( with 1.02KHz Image ) :  
3.8KHz ~ 20KHz  
-50  
3.0  
dBFS  
Vpp  
Output Level ( at AUX2 )  
Frequency Response ( Measure Respone from  
60Hz to  
3800Hz, see FIG. 4 ) :  
60Hz ~ 300Hz  
300Hz ~ 2800Hz  
3000Hz  
-0.1  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
- 0.6  
+ 0.1  
-1.1  
-2.1  
-3.7  
-6.3  
-10  
3200Hz  
3400Hz  
3600Hz  
3800Hz  
Noise  
( Test Condition : 1. A/D 1 or 2 Input Signal is 1.02KHz/0dB (Full Swing)  
2. D/A 1 or 2 Output Signal is 1.02KHz/0dB (Full Swing )  
91  
Ver 0.01, December 5, 2000  
MX93111  
PARAMETER  
Idle-Channel Noise  
MIN  
TYP  
MAX  
UNITS  
( Input Grounded and Measurement Bandwidth  
from 0 to 4000Hz ) :  
A/D Path  
-76  
-83  
dB  
dB  
D/A Path  
VDD Power Supply Rejection  
(A/D & D/A Input Grounded and VDD =  
5.0VDC+100mVrms) :  
A/D Channel : (Test Condition 1)  
Fin = 0 ~ 4KHz  
-54  
-80  
-82  
dB  
dB  
dB  
Fin = 4 ~ 25KHz  
Fin = 25 ~ 50KHz  
D/A Channel : (Test Condition 2)  
Fin = 0 ~ 4KHz  
-65  
-80  
-95  
dB  
dB  
dB  
Fin = 4 ~ 25KHz  
Fin = 25 ~ 50KHz  
AVDD Power Supply Rejection  
(A/D & D/A Input Grounded and AVDD =  
5.0VDC+100mVrms) :  
A/D Channel : (Test Condition 1)  
Fin = 0 ~ 4KHz  
-72  
-85  
-87  
dB  
dB  
dB  
Fin = 4 ~ 25KHz  
Fin = 25 ~ 50KHz  
D/A Channel : (Test Condition 2)  
Fin = 0 ~ 4KHz  
-41  
-53  
-60  
dB  
dB  
dB  
Fin = 4 ~ 25KHz  
Fin = 25 ~ 50KHz  
Crosstalk :  
A/D 1 to A/D 2 (Test Condition 1)  
A/D 1 to D/A 1 (Test Condition 1)  
A/D 1 to D/A 2 (Test Condition 1)  
A/D 2 to A/D 1 (Test Condition 1)  
A/D 2 to D/A 1 (Test Condition 1)  
A/D 2 to D/A 2 (Test Condition 1)  
D/A 1 to A/D 1 (Test Condition 2)  
D/A 1 to A/D 2 (Test Condition 2)  
D/A 1 to D/A 2 (Test Condition 2)  
D/A 2 to A/D 1 (Test Condition 2)  
D/A 2 to A/D 2 (Test Condition 2)  
D/A 2 to D/A 1 (Test Condition 2)  
-93  
-92  
-79  
-98  
-86  
-86  
-100  
-94  
-86  
-99  
-94  
-86  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
dB  
92  
Ver 0.01, December 5, 2000  
MX93111  
FIG. 1  
MX93111 A/D1 Linear Format SNDR  
60  
55  
50  
45  
40  
35  
30  
25  
20  
15  
10  
SNDR dB  
-50  
-45  
-40  
-35  
-30  
-25  
-20  
-15  
-10  
-5  
0
Vin dB  
FIG. 2  
MX93111 D/A1 Linaer Format SNDR  
80  
70  
60  
50  
40  
30  
20  
10  
0
-50  
-45  
-40  
-35  
-30  
-25  
-20  
-15  
-10  
-5  
0
93  
Ver 0.01, December 5, 2000  
MX93111  
FIG. 3  
MX93111 A/D1 Frequence Response  
10  
0
-10  
-20  
-30  
-40  
-50  
-60  
-70  
dB  
0
500  
1000  
1500  
2000  
freq.  
2500  
3000  
3500  
4000  
FIG. 4  
MX93111 D/A1 Frequence Response  
2
0
-2  
-4  
dB  
-6  
-8  
-10  
-12  
0
500  
1000  
1500  
2000  
2500  
3000  
3500  
4000  
freq. Hz  
94  
Ver 0.01, December 5, 2000  
MX93111  
FIG. 5  
MX93111 ALC  
3000  
2500  
2000  
1500  
1000  
500  
Vout  
Vpp  
0
-50  
-45  
-40  
-35  
-30  
-25  
-20  
-15  
-10  
-5  
0
Vin (dB)  
FIG. 6  
16  
14  
12  
10  
8
GAIN  
(dB)  
6
4
2
0
-2  
-50  
-45  
-40  
-35  
-30  
-25  
-20  
-15  
-10  
-5  
0
95  
Ver 0.01, December 5, 2000  
MX93111  
FIG. 7  
MX93111 ALC  
60  
55  
50  
45  
40  
35  
30  
25  
20  
15  
10  
SNDR  
(dB)  
-50  
-45  
-40  
-35  
-30  
-25  
-20  
-15  
-10  
-5  
0
Vin (dB)  
96  
Ver 0.01, December 5, 2000  
MX93111  
8.0 ORDERING INFORMATION  
PART NO  
MX93111  
PACKAGE TYPE  
PQFP  
MX 93 111 F C  
O
COMMERCIAL 0 ~ 70 C  
PACKAGE TYPE F : PQFP  
PRODUCT NUMBER  
FAMILY PREFIX  
MXIC COMPANY PREFIX  
8.1 PACKAGE INFORMATION for 128 PIN PQFP  
97  
Ver 0.01, December 5, 2000  
MX93111  
MACRONIX INTERNATIONAL CO., LTD.  
HEADQUARTERS:  
No. 3, Creation Road III, Science-Based Industrial Park, Hsin Chu, Taiwan, R.O.C.  
TEL:+886-3-578-8888  
FAX:+886-3-578-8887  
TAIPEI OFFICE:  
12F, No. 4, Min-Chuan E.Rd., Sec 3, Taipei, Taiwan, R.O.C.  
TEL:+886-2-2509-3300  
FAX:+886-2-2509-2200  
EUROPE OFFICE:  
Grote Winkellaan 95, Bus 1 1853 Strombeek, Belgium  
TEL:+32-2-267-7050  
FAX:+32-2-267-9700  
SINGAPORE OFFICE:  
5 Jalan Masjid Kembangan Court #01-12 Singapore 418924  
TEL:+65-747-2309  
FAX:+65-748-4090  
MACRONIX AMERICA, INC.  
1338 Ridder Park Drive, San Jose, CA95131 U.S.A.  
TEL:+1-408-453-8088  
FAX:+1-408-453-8488  
JAPAN OFFICE:  
NFK Kawasaki Building, 8F, 1-2 Higashida-cho, Kawasaki-ku  
Kawasaki-shi, Kawasaki-ken 210, Japan  
TEL:+81-44-246-9100  
FAX:+81-44-246-9105  
98  
Ver 0.01, December 5, 2000  

相关型号:

MX93521

ALL DIGITAL VOICE RECORDER MACHINE BASED ON THE MX93521 VOCODER CHIP
Macronix

MX93521-V6

ALL DIGITAL VOICE RECORDER
ETC

MX93521FC

ALL DIGITAL VOICE RECORDER MACHINE BASED ON THE MX93521 VOCODER CHIP
Macronix

MX93521UC

ALL DIGITAL VOICE RECORDER MACHINE BASED ON THE MX93521 VOCODER CHIP
Macronix

MX939P

MODEM
ETC

MX939TG

MODEM
ETC

MX93L130-N1

Telecom IC
Macronix

MX93L550A

Digital Signal Processor
Macronix

MX949LH

Modem-Support Circuit, 19.2kbps Data, PQCC44, PLASTIC, LCC-44
CMLMICRO

MX949TG

Modem-Support Circuit, 19.2kbps Data, PQFP48, TQFP-48
CMLMICRO

MX96037FC

16-Bit Digital Signal Processor
ETC

MX9691

Flash Memory Drive, 1MBps, CMOS, PQFP128, TQFP-128
Macronix