MX93521 [Macronix]
ALL DIGITAL VOICE RECORDER MACHINE BASED ON THE MX93521 VOCODER CHIP; 根据该MX93521声码器芯片全部数字语音记录仪机型号: | MX93521 |
厂家: | MACRONIX INTERNATIONAL |
描述: | ALL DIGITAL VOICE RECORDER MACHINE BASED ON THE MX93521 VOCODER CHIP |
文件: | 总57页 (文件大小:289K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
MX93521
ALL DIGITAL VOICE RECORDER MACHINE
BASED ON THE MX93521 VOCODER CHIP
1. FEATURES
• Host writable message header (4 bytes) for identifica
-tion or index purpose
• Powerful Editing Function
• Varieties of operating function including Rewind, Fast
Forward, Repeat and message editing etc.
• Voice activated recording
• Use Flash memory to store user data (data bank)
• Upload/Download speech message data from/to
HOST
• VOCODER mode (VOice COmpressor/
DEcompressoR)
• Direct CODEC Play Mode (Play PCM/u-Law data re
ceived from HOST)
• Play Voice Prompt from ROM/FLASH memory
• DTMF tone genarator
• Excellent sound quality by adopting 4800bps CELP
speech compression alogorithm.
• Silent Compression algorithm to further compress si
lence between speech.
• Flash Memory Management alogorithm to manage
down-graded Flash Memory to store compressed
speech data. With silent compression, one 4Mbit flash
memory could store up to 18 minutes speech.
• Support 4/8/16/32 Mbit Samsung Flash Memory or its
compatible parts
• Support both parallel and serial microprocessor inter
face.
• Codec Interface circuit (support both TP3054 and
MX93000)
• Host controllable LCD Module Interface
2.GENERAL DESCRIPTION
This document describes how to implement an all-digital voice recorder using the MX93521 chip.The MX93521 is a
Digital Recorder Data Pump which is controlled by an external microprocessor to perform various recorder function.
The MX93521 is fully controlled by a HOST controller through a simple HOST interface protocol. The HOST could
initiate many digital recording functions such as record, play, repeat, search, skip, insertion, message managing
and self-diagnosis. Also, HOST could set MX93521 in VOCODER mode and use MX93521 as a speech compres-
sion/decompression data pump.The functions supported by MX93521 are listed as followed.
MODE
FUNCTION PATH
RECORD
PLAY
CODEC-->(COMPRESS)-->FLASH
CODEC-->(DECOMPRESS)<--FLASH
CODEC-->(COMPRESS)-->HOST
CODEC-->(DECOMPRESS)<--HOST
CODEC-->(PCM/u-Law)<--HOST
FLASH(MSG)-->HOST
RECORD (VOCODER)
PLAY (VOCODER)
DIRECT CODEC PLAY MODE
DOWNLOAD MESSAGE
UPLOAD MESSAGE
FLASH(MSG)<--HOST
DATABANK ACCESS
FLASH(DATA)<-- -->HOST
P/N:PM0426
REV. 2.2, JAN 20, 1998
1
MX93521
3.PIN CONFIGURATIONS
3.1 Pinout Assignments for MX93521 100-Pin PQFP (Parallel Mode)
100-LQFP PIN ASSIGNMENT¡G
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
ED9
ED10
ED11
ED12
ED13
VDSP
GND
ED14
ED15
XTLI
XTLO
NC
NC
NC
NC
MIC-E\
SPK-E\
RST\
EROM
SDEN\
SDATA
WP\
EAD7
NC
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
EAD8
EAD9
EAD10
EAD11
EAD12
EAD13
EAD14
GND
VDSP
EAD15
VDSP
SCLK
VDSP
DSPDR
DA\
MX93521
CMCLK
CFS
DSPDX
SOUT
PHDB0
PHDB1
PHDB2
PHDB3
RxCmd
NC
NC
REV. 2.2, JAN 20, 1998
P/N:PM0426
2
MX93521
100-PQFP PIN ASSIGNMENT¡G
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
ED11
ED12
ED13
VDSP
GND
ED14
ED15
XTLI
XTLO
NC
NC
NC
NC
MIC-E\
SPK-E\
RST\
EROM
SDEN\
SDATA
WP\
EAD9
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
EAD10
EAD11
EAD12
EAD13
EAD14
GND
VDSP
EAD15
VDSP
SCLK
VDSP
MX93521
DSPDR
PHRDB\
CMCLK
CFS
DSPDX
PHWRB\
PHDB0
PHDB1
REV. 2.2, JAN 20, 1998
P/N:PM0426
3
MX93521
3.2 Pinout Assignments for MX93521 100-PinTQFP (Serial Mode)
100-LQFP PIN ASSIGNMENT¡G
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
ED9
ED10
ED11
ED12
ED13
VDSP
GND
ED14
ED15
XTLI
XTLO
NC
NC
NC
NC
MIC-E\
SPK-E\
RST\
EROM
SDEN\
SDATA
WP\
EAD7
NC
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
EAD8
EAD9
EAD10
EAD11
EAD12
EAD13
EAD14
GND
VDSP
EAD15
VDSP
SCLK
VDSP
DSPDR
DA\
CMCLK
CFS
DSPDX
SOUT
BIO0
BIO1
BIO2
BIO3
MX93521
RxCmd
NC
NC
REV. 2.2, JAN 20, 1998
P/N:PM0426
4
MX93521
100-PQFP PIN ASSIGNMENT¡G
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
ED11
ED12
ED13
VDSP
GND
ED14
ED15
XTLI
XTLO
NC
NC
NC
NC
MIC-E\
SPK-E\
RST\
EROM
SDEN\
SDATA
WP\
EAD9
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
EAD10
EAD11
EAD12
EAD13
EAD14
GND
VDSP
EAD15
VDSP
SCLK
VDSP
DSPDR
PHRDB\
CMCLK
CFS
DSPDX
PHWRB\
BIO0
MX93521
BIO1
REV. 2.2, JAN 20, 1998
P/N:PM0426
5
MX93521
4.PIN DESCRIPTION
4.1 DSP BASIC (22 PINS )
SYMBOL TYPE
VDSP
PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
5V power source
Ground
23,43,69,84,41,39 20,40,66,81,38,36
GND
24,44,53,70,85
54
21,41,67,82
51
FLL\
I
FLL\ low to set MX93521 running from single
low crystal
XTLI
88
89
96
14
85
86
93
11
32.256Mhz Crystal input
XTLO
RST\
32.256Mhz Crystal output
I
Power on Reset, Schmite triggered
In serial mode, PACKB\ is N.C.
In parallel mode, PACKB\ becomes low when
MX93521 write data to BIO and high when
HOST read from BIO.
PACKB\
OA
HOLD\
HOLDA\
EROM
SCLK
X32O
I
67
66
97
40
13
12
64
63
94
37
10
9
Hold DSP clock down and release bus
Ack to HOLD\ signal
OA
I
Disable internal ROM, use external ROM only
Transmit/receive data clock
I
OA
32.768Khz Crystal output
X32I
32.768Khz Crystal input
4.2 DSP EXTERNAL MEMORY(40 pins)
SYMBOL
EAD0-EAD15
ED0~ED15
EDCE\
TYPE
OB
PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
61~55,52~45,42
58~52,50,48~42,39
Address Bus
I/OB
OB
68,71~83,86~87
65,68~80,83~84
Data Bus
65
62
External data chip enable
Resered for future use
Flash external read
Flash external write
No connection
EPCE\
OB
64
61
ERD\
OB
63
60
EWR\
OB
62
59
NC
90~93
87~90
4.3 uP INTERFACE(10 pins)
4.3.1 Serial Interface:(UPMODX=1)
SYMBOL
DA\
TYPE PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
OC
OC
OB
37
34
Data Available (Output port OPT17)
Serial Data Out (Output port OPT16)
Drive LCD Display
SOUT
33
30
BIO(7..0)
25~32
22~29
REV. 2.2, JAN 20, 1998
P/N:PM0426
6
MX93521
4.3.2 Parallel Interface:(UPMODX=0)
SYMBOL TYPE
PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
Host read
PHRDB\
PHWRB\
I
I
37
34
33
30
Host write
PHDB(7:0) B
25~32
22~29
Host data bus
4.4 CODEC (4 pins)
SYMBOL TYPE
PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
CFS
OB
OB
OA
I
35
36
34
38
32
33
31
35
Codec frame sync, 8Khz
Codec master clock, 1.536Mhz
Codec data transmit
CMCLK
DSPDX
DSPDR
Codec data receive
4.5 OPT:OUT PORT(16 pins)
SYMBOL TYPE PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
CLE
OC
OC
11
10
6,9
8
8
Flash memory command latch enable
Flash memory address latch enable
ALE
7
N.C.
3,6
5
CE2\
OC
OC
OC
OC
Chip enable 2
Chip enable 1
LED1 enable
LED2 enable
CE1\
7
4
LED1\
LED2\
N.C. DR-V5
5
2
4
1
2,3
1
RxCmdDR-V5 OC
98
Received Command (toggle when re
ceived command from HOST)
Flash memory write protection
Serial data transfer (for MX93000)
Serial data enable (for MX93000)
Speaker enable,Hi-active
WP\
OC
OC
OC
OC
OC
100
99
97
96
95
92
91
SDATA
SDEN\
SPK-E
MIC-E\
98
95
94
Microphone enable
REV. 2.2, JAN 20, 1998
P/N:PM0426
7
MX93521
4.6 IPT:INPUT PORT(8 pins)
SYMBOL
MTYPE1
MTYPE2
SHOLD\
MTYPE0
R/B
TYPE
PIN # (PQFP)
PIN # (LQFP)
DESCRIPTION
I
I
I
I
I
I
I
I
22
21
20
19
18
17
16
15
19
18
17
16
15
14
13
12
Memory type select 1
Memory type select 2
Power down detect
Memory type select 0
Flash memory Ready/Busy
Codec select (TP3054B or MX93000)
Serial data input
CODECTYPE
SIN
S/P\
Serial/paralled interface
NOTE:OA:2mA,OB:4mA,OC:16mA output current
REV. 2.2, JAN 20, 1998
P/N:PM0426
8
MX93521
5. HOST CONTROLLER INTERFACE
5.1 HOST CONTROLLER INTERFACE
5.1.1 Configuration
40
16
OUT1
OUT2
SCLK
SIN
MX93521
HOST
37
IN1
DA\
15
VCC
S/P\
33
96
1
IN2
OUT3
IN3
SOUT
RST\
RxCmd
SERIAL MODE
40
33
37
OUT1
OUT2
SCLK
39
15
VCC
Gnd
PHILO\
PHWRB\
PHRDB\
PACKB\
SIN
14
16
MX93521
HOST
IN1
S/P\
96
OUT3
D0-7
IN2
RST\
32-25
1
PHDB0-7
RxCmd
PARALLEL MODE
REV. 2.2, JAN 20, 1998
P/N:PM0426
9
MX93521
5.1.2Timing Diagrams
HOST WriteTiming (Parallel Mode)
PHDB0-7
ts
th
PHWRB\
SCLK
(INT1\)
tp
tp
RxCmd
HOST Write Timing (Parallel Mode)
HOST should cycle PHWRB\ after writing data to PHDB0-7.
MX93521 will read data from PHDB0-7 on the falling edge of SCLK (rising edge of PHWRB\).
Rxcmd will be toggled if command byte has been processed by MX93521
The PHWRB\ signal will cause MX93521 to latch data from bus PHDB0-7 to MX93521 internal register.The invertted
signal of PHWRB\ will trigger MX93521 INT1\ to read and process the received data byte from internal register.Due
to the interrupt contention, there might be an up to 50 us delay between the rising edge of PHWRB\ and INT1\
actually being served.To keep from command overrun, HOST should check if RxCmd toggled or wait 50 usec before
sending next command byte to MX93521.
HOST ReadTiming (Parallel Mode)
PHDB0-7
ts
PACKB\
ta
PHRDB\
HOST Read Timing (Parallel Mode)
When MX93521 write data to PHDB0-7, PACKB\ will become low.HOST needs to poll the status of PACKB\ continu-
ously. When HOST detect low state on PACKB\, HOST should read out data from PHDB0-7. After HOST read the
data from PHDB0-7, PACKB\ will be reset to high.
The maxima delay between MX93521 write data to PHDB0-7 and PACKB\ become low is 10 ns.
The maxima delay between rising edge of PHRDB\ and PACKB\ become high is also 10 ns.
REV. 2.2, JAN 20, 1998
P/N:PM0426
10
MX93521
HOST Write Timing (Serial Mode)
ts
HOST output data SIN
HOST output clock SCLK
tp
tp
tp
RxCmd
DSP Sampling from SIN
HOST send data 61H tp DSP
start
d0 d1
d2
0
d3
0
d4
0
d5
1
d6
1
d7
0
stop
1
0
61H
HOST Write Timing (Serial Mode)
RxCmd become low when start bit is received from HOST and toggle state when MX93521 received each following
data bit or stop bit from HOST.Thus, instead of waiting for a fixed period of time (50us) to send a command bit, HOST
could send the following command bit as soon as RxCmd toggled from previous state.The delay between the falling
edge of SCLK and the RxCmd togglling time is range from 1 us to 50 us
REV. 2.2, JAN 20, 1998
P/N:PM0426
11
MX93521
HOST Read Timing (Serial Mode)
DSP inform HOST
Data Available
>50us, clock rate
DA\
HOST output clock
SCLK
5-40us, SOUT response time
DSP output data
SOUT
HOST Sampling from
SOUT
d0
1
d1
0
d2
0
d3
1
d4
0
d5
0
d6
1
d7
0
stop
x
start
DSP send data 49H
to HOST
49H
HOST Read Timing (Serial Mode)
SOUT response time is 5-40us from the falling edge of SCLK
It is recommended that HOST sample SOUT right before the falling edge of SCLK
uP InterfaceTiming:
Min
Max
Data setup time (ts)
10ns
2ns
Data hold time (th)
Data process time (tp)
PACKB\ acknowledge time (ta)
1us
50us
5ns
REV. 2.2, JAN 20, 1998
P/N:PM0426
12
MX93521
5.2 MX93521 IO INTERFACE
5.2.1 Output Port
PIN
5
Power down state
LED1\
LED2\
UO0*
UO1*
UO2*
O
O
O
O
O
LED1 CONTROL
High
High
High
High
High
4
LED2 CONTROL
3
User Programmable Output Port
User Programmable Output Port
User Programmable Output Port
2
1
* User Programmable Output Port are only available in DR-V3 and DR-V4 version
5.2.2 Flash Memory Interface
MX93521
MTYPE1
MTYPE2
MTYPE0
CLE
PIN
22
21
19
11
10
63
8
Flash
GND
GND
Vcc
CLE
ALE
RD\
Power down state
I
0: SAMSUNG
I
0: SAMSUNG
I
(1:KM29N16000, 0:KM29N040)
O
O
O
O
O
O
I
Low
Low
ALE
ERD\
CE2\
CE1\
EWR\
R\B
CE2\
CE1\
WR\
R/B\
WP\
IO0
High
High
7
62
18
100
68
71
72
73
74
75
76
77
WP\
O
IO
IO
IO
IO
IO
IO
IO
IO
Low
ED0
ED1
IO1
ED2
IO2
ED3
IO3
ED4
IO4
ED5
IO5
ED6
IO6
ED7
IO7
5.2.3 CODEC Interface
MX93521
CODECTYPE
DSPDR
DSPDX
CFS
PIN
17
38
34
35
36
99
98
95
94
Power down state
I
(1: MX93000, 0:TP3054)
O
O
O
O
O
O
O
O
CMCLK
SDATA
High
High
Low
High
SDEN\
SPK_E
MIC_E\
REV. 2.2, JAN 20, 1998
P/N:PM0426
13
MX93521
5.2.4 uP Serial Mode Interface
MX93521
uP
LCD
RxCmd
S/P\
O
I
IN3
(optional) MX93521 Rxd Command Indicator
High, Serial Mode
Serial Clock
Vcc
SCLK
DA\
I
OUT1
IN1
O
O
I
Data Available
SOUT
SHOLD\
SIN
IN2
Serial Data Output
DSP HOLD
OUT3
OUT2
OUT4
I
Serial Data Input
RST\
BIO2
BIO3
BIO4
BIO5
BIO6
BIO7
I
DSP RESET
O
O
O
O
O
O
E
RS
D4
D5
D6
D7
5.2.5 uP Parallel Mode Interface
MX93521
uP
LCD
S/P\
I
GND
OUT1\
OUT2
OUT1
OUT3
OUT4
Vcc
IN1
Low, Parallel Mode
SCLK
I
PHRDB\
PHWRB\
SHOLD\
RST\
I
Read
I
Write
I
DSP HOLD
I
DSP RESET
PHILO\
SIN
I
High, Byte Mode
I
SIN should be connected to PACKB\ externally
Acknowledge
PACKB\
RxCmd
PHDB0
PHDB1
PHDB2
PHDB3
PHDB4
PHDB5
PHDB6
PHDB7
O
O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
IN1
IN2
(optional) MX93521 Rxd Command Indicator
D0
D1
D2
D3
D4
D5
D6
D7
When SHOLD\ is low, MX93521 will go to power down mode.
When SHOLD\ change from low to high, DSP will power up and send ACK0 to HOST
REV. 2.2, JAN 20, 1998
P/N:PM0426
14
MX93521
6. HOST INTERFACE SOFTWARE COMMAND SET SUMMARY
6.1 HOSTTO MX93521 COMMANDS
When MX9521 received a command from HOST, it will always respond the command with a acknowledge. The
valid commands and corresponded acknowledge are described as below.
D7 D6
D5
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
D4
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
0
1
1
0
0
1
0
1
1
D3
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
x
D2
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
D1
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
D0
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
008H
010H
018H
020H
028H
030H
038H
040H
048H
058H
060H
068H
070H
078H
080H
088H
090H
098H
0A0H
0A8H
0BxH
0CxH
0D0H
0F8H
POINT TO SPECIFIC MESSAGE
GET CURRENT MESSAGE INFOMATION
DELETE MESSAGE(S)
REC/PLAY MISC.FUNCTION
RECORD MESSAGE
PLAY MESSAGE
SKIP FORWARD/BACKWARD PLAY
MISC. FUNCTION
TONE GENERATOR
MX93000 CODEC MISC. FUNCTION
LED DISPLAY
WRITE COMPRESSEDVOICE DATATO MX93521
LCD COMMAND
LCD DATA
OUTPUT COUNTER
DR-V5
Download/Upload Message
DR-V4
Set Silence level
DR-V5
Set ROM/RAM wait state
DR-V4
Read/Write RAM
Read ROM
DR-V5
DR-V4
Data Bank Functions
Data Bank Functions
DR-V4
x
0
1
DR-V4
Data Bank Functions
DR-V4
Play Voice Prompt
BBB:BYTES SEND FOLLOWINGTHIS COMMAND
MX93521TO HOST ACKNOWLEDGES (OK Messages)
ACK0:0A0H, NO DATA ACCOMPNIEDTHIS ACKNOWLEDGE
ACK1:0A1H, 1 DATA ACCOMPNIEDTHIS ACKNOWLEDGE
ACK2:0A2H, 2 DATA ACCOMPNIEDTHIS ACKNOWLEDGE
ACK6:0A6H, 6 DATA ACCOMPNIEDTHIS ACKNOWLEDGE
MX93521TO HOST ACKNOWLEDGES (ERROR Messgaes)
ERR0(0E0H): Command ERROR
ERR1(0E1H): Out of memory, MX93521 cannot perform RECORD function
ERR2(0E2H): No message found, MX93521 cannot perform PLAY function
ERR3(0E3H): No Flash Memory Detected when power on
ERR4(0E4H): MX93521 Busy
ERR5(0E5H): Vocoder Mode, Play buffer full, data rejected
ERR6(0E6H): No previous or next message found
ERR7(0E7H): MX93000 Command Busy
ERR8(0E8H): No empty block could be allocated for data bank usage DR-V4
REV. 2.2, JAN 20, 1998
P/N:PM0426
15
MX93521
6.2 MX93521 Power On Initialization Flow Chart
START
Clear MX93521 internal RAM read
systemsetup serial or parallel?
TP3054 or MX93000?
4M or 16M Flash memory init LCD
NO
Flash memory
ID correct?
Is data link in
YES
Flash memory correct?
NO
YES
Is check data link
2nd time?
NO
Format Flash memory &
create data link
Flash memory error
send CMD E3H
Flash memory OK send CMD
A1H+xxH
MX93521 Normal operation
0A1H+000H
0A1H+001H
0A1H+002H
0A1H+003H
0A1H+004H
0A1H+005H
0A1H+006H
0A1H+007H
ERR3(0E3H)
DETECT SAMSUNG KM29N040 FLASH MEMORY
DETECT SAMSUNG KM29N16000 FLASH MEMORY
RESERVED
RESERVED
RESERVED
RESERVED
RESERVED
RESERVED
NO MEMORY DETECTED
REV. 2.2, JAN 20, 1998
P/N:PM0426
16
MX93521
6.3 HOSTTO MX93521 COMMAND DESCRIPTIONS
COMMAND 09H
FUNCTION:
RETURN:
RETURN:
Move Message Pointer
ACK0
ERR6, IF REACH THE FIRST OR THE LAST MESSAGE IN THE MEMORY
DB7 DB6
DB5
0
DB4
0
DB3
1
DB2
0
DB1
0
DB0
1
0
0
D
M
M
M
M
M
M
M
IF CURRENT MESSAGE NUMBER IS N,
D=0, JUMP FORWARD
D=1, JUMP BACKWARD
M=001H, POINTTOTHE MESSAGE (N+1)
M=002H, POINTTOTHE MESSAGE (N+2)
M=07FH, POINT TO THE LAST MESSAGE
M=001H, POINTTOTHE MESSAGE (N-1)
M=002H, POINTTOTHE MESSAGE (N-2)
M=07FH, POINT TO THE FIRST MESSAGE
COMMAND 0AHDR-V5
FUNCTION:
RETURN:
RETURN:
Point to specefic message
ACK0
ERR2, If no such message found in the FLASH memory
DB7 DB6
DB5
0
DB4
0
DB3
1
DB2
0
DB1
1
DB0
0
0
0
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
Message Number (High Byte)
Message Number (Low Byte)
*The message pointer is point to the last message in the flash memory upon power on.
SAMPLES:
Forward to the next message
09H
09H
09H
09H
0AH
01H
81H
7FH
FFH
01H
Rewind to the previous message
Forward to the last message
Rewind to the the first message
Move Message Pointer to message #258 (102H)
02H
REV. 2.2, JAN 20, 1998
P/N:PM0426
17
MX93521
COMMAND 10H
FUNCTION:
RETURN:
GET CURRENT MESSAGE INFOMATION
ACK6, DATA1, DATA2, DATA3, DATA4, DATA5, DATA6 or ACK0
DB7 DB6
DB5
0
DB4
1
DB3
0
DB2
0
DB1
0
DB0
0
0
0
DATA1: HIGH BYTE OF CURRENT MESSAGE NUMBER
DATA2: LOW BYTE OF CURRENT MESSAGE NUMBER
DATA3: USER DATA #1
DATA4: USER DATA #2
DATA5: USER DATA #3
DATA6: USER DATA #4
*RETURN ACK0 WHEN NO MESSAGE INTHE MEMORY
SAMPLES:
GET CURRENT MESSAGE INFOMATION
10H
COMMAND 11H
COMMAND 12H
COMMAND 13H
COMMAND 14H
FUNCTION:
RETURN:
ATTACH USER DATA TO CURRENT MESSAGE
ACK0 or ERR0
DB7 DB6
DB5
0
DB4
1
DB3
0
DB2
B
DB1
B
DB0
B
0
0
USER DATA #1
USER DATA #2
USER DATA #3
USER DATA #4
* The USER DATA is default to 0FFH
* Any data writen with this command will be AND with previous data
* When USER DATA #1 is 055H. If write data 0AAH to it again, USER DATA #1 will become 0H
* If no message in the FLASH memory, MX93521 will return ERR0
SAMPLES:
ATTACH DATA 12HTO CURRENT MESSAGE
11H
12H
13H
14H
12H
12H
12H
12H
ATTACH DATA 12H/34HTO CURRENT MESSAGE
ATTACH DATA 12H/34H/56HTO CURRENT MESSAGE
ATTACH DATA 12H/34H/56H/78HTO CURRENT MESSAGE
34H
34H
34H
56H
56H
78H
REV. 2.2, JAN 20, 1998
P/N:PM0426
18
MX93521
COMMAND 19H
FUNCTION:
RETURN:
DELETE MESSAGE(S)
ACK0 after deletion completed
DB7 DB6
DB5
0
DB4
1
DB3
1
DB2
0
DB1
0
DB0
1
0
0
D
M
M
M
M
M
M
M
IF CURRENT MESSAGE NUMBER IS N
D=0, DELETE FORWARD
M=001H, DELETE ONE MESSAGE AFTER MESSAGE #N (MSG #N WILL BE DELETED)
M=002H, DELETE TWO MESSAGES AFTER MESSAGE #N (MSG #N, #N+1 WILL BE DELETED)
M=07FH, DELETE ALL MESSAGES AFTER MESSAGE #N (MSG #N, #N+1,.., #LAST WILL BE DELETED)
D=1, DELETE BACKWARD
M=001H, DELETE ONE MESSAGE BEFORE MESSAGE #N (MSG #N WILL BE DELETED)
M=002H, DELETE TWO MESSAGES BEFORE MESSAGE #N (MSG #N, #N-1 WILL BE DELETED)
M=07FH, DELETE ALL MESSAGES BEFORE MESSAGE #N (MSG #N, #N-1,.., #1 WILL BE DELETED)
SAMPLES:
DELETE CURRENT MESSAGE
19H
19H
19H
19H
19H
01H
02H
82H
7FH
FFH
DELETE CURRENT & NEXT MESSAGE
DELETE CURRENT & PREVIOUS MESSAGE
DELETE ALL MESSAGES AFTER & INCLUDE CURRENT MESSAGE
DELETE ALL MESSAGES BEFORE & INCLUDE CURRENT MESSAGE
COMMAND 21H
FUNCTION:
RETURN:
REC/PLAY MISC FUNCTION
DB7 DB6
DB5
1
DB4
0
DB3
0
DB2
0
DB1
0
DB0
1
0
0
M
M
M
M
M
M
M
M
*THIS COMMAND ONLYVALIDWHEN IN RECORD/PLAY MODE
M
Function
Acknowledge
Mode
REC
01H
01H
02H
04H
08H
10H
20H
40H
80H
Stop Recording
ACK2,CHKSUM_H,CHKSUM_L
Stop Playing
ACK0
ACK0
ACK0
ACK0
ACK0
ACK0
ACK0
ACK0
PLAY
REC/PLAY PAUSE ON/OFF
Turn on counter display on LCD
Delete playing message
Set REPEAT start point
Set REPEAT end point
Disable REPEAT mode
Set Mark
REC/PLAY
REC/PLAY
PLAY
PLAY
PLAY
PLAY
REC/PLAY
If HOST send command 21H/04H after REC or PLAY start, MX93521 will automatically display a 5-digit REC or
PLAY counter MM:SS at current LCD cursor. MM is minute. SS is second.
REV. 2.2, JAN 20, 1998
P/N:PM0426
19
MX93521
COMMAND 28H
COMMAND 29H
COMMAND 2AH
COMMAND 2BH
COMMAND 2CH
FUNCTION : RECORD MSG
BBB = 000, 001, 010, 011, 100
RETURN : ACK2, MSGNUM_H, MSGNUM_L
RETURN :ACK1, FORMAT (VOCODER mode, FORMAT=81H when recording with new format)
(VOCODER mode, FORMAT=80H when recording with old format)
RETURN:ERR1, WHEN OUT OF FLASH MEMORY, CANNOT PERFORM RECORD
DB7
0
DB6
0
DB5
1
DB4
0
DB3
1
DB2
B
DB1
B
DB0
B
USER DATA #1
USER DATA #2
USER DATA #3
USER DATA #4
* USER DATA will be stored in the flash memory
*When RECORD, MX93521 will not switch MIC on automatically, HOST must turn on MIC before RECORD and turn
off MIC after RECORD STOP
SAMPLES:
RECORD MESSAGEWITHOUT USER DATA
28H
29H
2AH
2BH
2CH
RECORD MESSAGEWITH 1 USER DATA 12H
12H
12H
12H
12H
RECORD MESSAGE WITH 2 USER DATA 12H, 34H
RECORD MESSAGE WITH 3 USER DATA 12H, 34H, 56H
RECORD MESSAGEWITH 4 USER DATA 12H, 34H, 56H, 78H
34H
34H
34H
56H
56H
78H
COMMAND 30H
COMMAND 31H
FUNCTION:
RETURN:
RETURN:
PLAY MESSAGE
ACK2, MSGNUM_H, MSGNUM_L, ACK0(Vocoder mode)
ERR2, No Message to play
DB7
0
DB6
0
DB5
1
DB4
1
DB3
0
DB2
0
DB1
0
DB0
1
M
M
M
M
M
M
M
M
LENGTH (sec / unit)
M=000H, PLAY TILL THE END OF MESSAGE
M=001H, PLAY CURRENT MESSAGE FOR 1 SEC
M=080H, PLAY CURRENT MESSAGE FOR 128 SEC OR REACH THE END OF MESSAGE
M=0FFH, PLAY CURRENT MESSAGE FOR 255 SEC OR REACH THE END OF MESSAGE
* When PLAY, MX93521 will not switch SPKR on automatically, HOST must turn on SPKR before PLAY and turn off
SPKR after PLAY STOP
SAMPLES:
PLAY MESSAGE TILL THE END OF MESSAGE
PLAY MESSAGE TILL THE END OF MESSAGE
PLAY FIRST 3 SEC OF CURRENT MESSAGE
30H
31H
31H
00H
03H
REV. 2.2, JAN 20, 1998
P/N:PM0426
20
MX93521
COMMAND 32H
FUNCTION:
RETURN:
Skip first M frames in the message with playback
ACK2,MSGNUM_H,MSGNUM_L
DB7
0
DB6
0
DB5
0
DB4
1
DB3
1
DB2
0
DB1
1
DB0
0
H
H
H
H
H
H
H
H
Frame number (Hi-byte)
Frame number (Lo-byte) , 20ms/unit
L
L
L
L
L
L
L
L
SAMPLES:
PLAY THIS MESSAGE WITH SKIP FIRST 200 ms
32H
00H
0AH
* This setting will be clear after play end of this message.
COMMAND 39H
FUNCTION:
RETURN:
JUMP TO MARK
ACK0
DB7
0
DB6
DB5
1
DB4
DB3
1
DB2
0
DB1
0
DB0
0
1
1
D
M
M
M
M
M
M
M
D=0, FORWARD
M=00H, Normal Playing
D=1, BACKWARD
M=01H, Forward/Rewind to the 1st found mark from current position
M=02H, Forward/Rewind to the 2nd found mark from current position
..
M=7FH, Forward/Backward to the 127th found mark from current position
mark#1
-
mark#2
-
mark#3
-
mark#4
-
-
-
Pos#A
Pos#B
If current playing position is at Pos#A, command 39H/01H will forward to mark#1
command 39H/02H will forward to mark#2
command 39H/03H will forward to mark#3
command 39H/04H will forward to mark#4
command 39H/05H will forward to the end of message
command 39H/81H will rewind to the head of message
If current playing position is at Pos#B, command 39H/01H will forward to mark#3
command 39H/02H will forward to mark#4
command 39H/03H will forward to the end of message
command 39H/81H will rewind to mark#2
command 39H/82H will rewind to mark#1
command 39H/83H will rewind to the head of message
* If two marks are set too close to each other(<2 second), the second mark will be ignored.
REV. 2.2, JAN 20, 1998
P/N:PM0426
21
MX93521
COMMAND 3AH
FUNCTION:
RETURN:
FAST FORWARD/BACKWARD PLAYING
ACK0
DB7
0
DB6
0
DB5
1
DB4
1
DB3
1
DB2
0
DB1
1
DB0
0
D
M
M
M
M
M
M
M
U
U
U
U
U
U
U
U
Unit Length (20ms/unit)
D=0, FORWARD
M=00H, PLAY 1 UNIT, SKIP 0 UNIT (NORMAL PLAY SPEED)
M=01H, PLAY 1 UNIT, SKIP 1 UNIT (2x SPEED)
M=02H, PLAY 1 UNIT, SKIP 2 UNIT (3x SPEED)
M=03H, PLAY 1 UNIT, SKIP 3 UNIT (4x SPEED)
M=07H, PLAY 1 UNIT, SKIP 7 UNIT (8x SPEED)
..
M=7FH, PLAY 1 UNIT, SKIP 127 UNIT (128x SPEED)
D=1, BACKWARD
M=01H, PLAY 1 UNIT, REWIND 1 UNIT (REPEAT SAME UNIT)
M=02H, PLAY 1 UNIT, REWIND 2 UNIT (1x SPEED REWIND)
M=03H, PLAY 1 UNIT, REWIND 3 UNIT (2x SPEED REWIND)
M=05H, PLAY 1 UNIT, REWIND 5 UNIT (4x SPEED REWIND)
..
M=7FH, PLAY 1 UNIT, REWIND 127 UNIT (126x SPEED)
SAMPLES:
NORMAL PLAYING
39H
39H
39H
3AH
3AH
3AH
3AH
3AH
3AH
00H
01H
82H
00H
01H
83H
01H
02H
82H
FORWARDTOTHE 1ST FOUND MARK
REWINDTOTHE 2ND FOUND MARK
NORMAL PLAYING
01H
01H
01H
02H
05H
05H
PLAY 20ms and SKIP 20ms (2x speed)
PLAY 20ms and REWIND 60ms (2x speed)
PLAY 40ms and SKIP 40ms
PLAY 100ms and SKIP 200ms
PLAY 100ms and REWIND 200ms
REV. 2.2, JAN 20, 1998
P/N:PM0426
22
MX93521
COMMAND 41H
FUNCTION:
RETURN:
MISC FUNCTION
DB7
0
DB6
1
DB5
0
DB4
0
DB3
0
DB2
0
DB1
0
DB0
1
M
M
M
M
M
M
M
M
M
Function
ACKOWLEDGE
ACK0
REMARK
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
ToggleVOCODER mode
Append Recording
ACK0
Overwrite Recording
ACK0
Toggle SPKR on/off
Voice Activated Recording DR-V4
ACK0
valid only when usingTP3054
valid only when usingTP3054
ACK0
Linear mode codec interface DR-V4
u-law mode codec interface DR-V4
Toggle MIC on/off
Play accross message boundary DR-V4 ACK0
Play within message boundary DR-V4 ACK0
ACK0
ACK0
ACK0
0BH4 Direct CODEC Access DR-V5
0CH5 Old data format DR-V5
ACK0
ACK0
0DH5 New data format DR-V5
10H1 Erase all message
11H2 Hard erase flash memory DR-V4
ACK0
ACK0
ack after erase complete
ack after erase complete
ack after erase complete
ACK0
12H
20H
40H
41H
42H
43H
44H
Reinitial flash memory
Check busy/Idle status
Check available block
Check total block DR-V4
Check available time DR-V4
Check total time DR-V4
ACK0
ACK0 / ERR4
ACK2,BLKCNT_H, BLKCNT_L
ACK2,BLKCNT_H, BLKCNT_L
ACK2,MIN,SEC
ACK2,MIN,SEC
Check message length DR-V4
ACK2,MIN,SEC
80H3 Overrun counter
81H3 Get Message Checksum DR-V4
ACK2,CNT_H,CNT_L
ACK2,CS_H,CS_L
VOCODER mode
VOCODER mode
1
The command 41H/10H erase all data in good blocks.After block erase, the flash management data will be written
back to the flash memory.If HOST use flash memory as speech data memory and data bank memory.The command
41H/10H will erase both of the memory. To erase only speech memory, use command 19H. To erase data bank
memory, use command 0CAH.The commands to control data bank memory are described from command 0B0H to
command 0D6H
2 Prior Samsung ship their flash memory to customer, they will test the parts and randomly write data 00H to those
bad blocks.During the first power on, MX93521 will scan flash memory and create a good/bad table accordingly.After
that, MX93521 will search the good/bad table during power on initialization. Unless good/bad table is missing, MX93521
will not do flash memory initialization again.
REV. 2.2, JAN 20, 1998
P/N:PM0426
23
MX93521
We call command 41H/11H is hard erase flash memory. Because this command will erase all data in both good and
bad blocks. It is possible to erase the data in those bad blocks and turn the bad blocks into good block. In this case,
the original bad blocks could be unstable during normal operation. So, we are not recommend to use this command
unless it is necessary.
After send command 41H/11H, HOST should issue a hardware reset by toggling RST\.
3 Command 41H/80H & 41H/81H are only valid after recording inVOCODER mode.
4 HOST could send PCM or u-law format data to CODEC directly. In this mode, MX93521 send PCM/u-Law data
received from HOST to CODEC (MX93000 or TP3054). MX93521 could store up to 512 samples data internally. If
inetrnal buffer is empty, MX93521 will disable this mode automatically and send CMD 10H to HOST.At the beginning
of Direct CODEC Access mode, MX93512 will not send data to CODEC until MX93521 received 384 samples from
HOST.
5 Old data format is the data format used in MX93510 and MX93521V3.New data format is used in MX93521V4 and
V5. New format supports silence compression. It is always set to use new data format in MX93521 V4. MX93521 V5
will reset to use new data format after power on, RECORD or PLAY.So, if HOST want to RECORD or PLAY message
using old data format, HOST needs to send command 41H/0CH every time before sending RECORD or PLAY
command to MX93521.
COMMAND 42H
FUNCTION:
RETURN:
DETECT M FRAMES SILENCE ON THE PLAY/RECORD MODE
ACK0
DB7
0
DB6
DB5
1
DB4
0
DB3
0
DB2
0
DB1
1
DB0
0
0
H
L
H
H
H
H
H
H
H
Silence Frame number (Hi-byte)
L
L
L
L
L
L
L
Frame number (Lo-byte) , 20ms/unit
SAMPLES:
DETECT 500 ms SILENCE ON THE PLAY/RECORD MODE
42H
00H
19H
* This setting will be clear after play end of this message.
* When detect the silence condition , mx93521 will response the data of 28H
COMMAND 48HDR-V5
FUNCTION:
RETURN:
Tone Off
ACK0
DB7
0
DB6
DB5
DB4
0
DB3
1
DB2
0
DB1
0
DB0
0
1
0
Tone Off
COMMAND 49H
FUNCTION:
RETURN:
BEEP GENERATOR
ACK0
DB7
0
DB6
1
DB5
0
DB4
0
DB3
DB2
0
DB1
0
DB0
1
1
1000HzTONE (100ms on / 100ms off)
GAIN
C
C
C
C
C
G
G
G
CCCCC:
BEEP COUNT, MAXIMUM 31 BEEPS
REV. 2.2, JAN 20, 1998
P/N:PM0426
24
MX93521
COMMAND 4BH
FUNCTION:
RETURN:
TONE GENERATOR
ACK0
DB7
0
DB6
1
DB5
0
DB4
0
DB3
1
DB2
0
DB1
1
DB0
1
TONE
L
L
L
L
L
G
G
G
LENGTH (100ms/unit) & GAIN
TONE FREQ (HIGH BYTE)
TONE FREQ (LOW BYTE)
F15
F14
F6
F13
F5
GAIN= -18
GAIN= -24
GAIN= -30
GAIN= -36
F12
F11
F3
F10
F2
100
101
110
111
F9
F8
F0
F7
GGG: 000
001
F4
F1
dB,
dB,
dB,
dB,
GAIN= -42
GAIN= -48
GAIN= -56
GAIN= -62
dB
dB
dB
dB
010
011
COMMAND 4EHDR-V5
COMMAND 4FHDR-V5
FUNCTION:
RETURN:
DUALTONE GENERATOR
ACK0
DB7
0
DB6
1
DB5
0
DB4
0
DB3
1
DB2
DB1
1
DB0
1
0
F15
F7
F14
F6
F13
F5
F12
F4
F11
F3
F10
F2
F10
F2
G1
G2
F9
F1
F9
F1
G1
G2
F8
F0
F8
F0
G1
G2
TONE#1 FREQ (HIGH BYTE)
TONE#1 FREQ (LOW BYTE)
TONE#2 FREQ (HIGH BYTE)
TONE#2 FREQ (LOW BYTE)
Scale forTONE#1
F15
F7
F14
F6
F13
F5
F12
F4
F11
F3
G1
G2
G1
G2
G1
G2
G1
G2
G1
G2
Scale forTONE#2
DB7
0
DB6
1
DB5
0
DB4
0
DB3
1
DB2
1
DB1
1
DB0
1
F15
F7
F15
F7
G1
G2
L
F14
F6
F14
F6
G1
G2
L
F13
F5
F13
F5
G1
G2
L
F12
F4
F12
F4
G1
G2
L
F11
F3
F11
F3
G1
G2
L
F10
F2
F10
F2
G1
G2
L
F9
F1
F9
F1
G1
G2
L
F8
F0
F8
F0
G1
G2
L
TONE#1 FREQ (HIGH BYTE)
TONE#1 FREQ (LOW BYTE)
TONE#2 FREQ (HIGH BYTE)
TONE#2 FREQ (LOW BYTE)
Scale forTONE#1
Scale forTONE#2
Length (10ms/unit)
REV. 2.2, JAN 20, 1998
P/N:PM0426
25
MX93521
F = (FREQ/8000)*65536
TONE (#)
C5
FREQ (HZ)
F (DECIMAL)
4286.464
4811.407
5400.658
5721.784
6422.446
7208.960
8091.812
8572.928
9622.815
10883.154
11443.487
12844.892
14417.920
16183.542
17145.856
F (HEX)
10BEH
12CBH
1519H
165AH
1916H
1C29H
1F9CH
217DH
2597H
2A83H
2CB3H
322DH
3852H
3F38H
42FAH
F (HIGH)
10H
F (LOW)
BEH
CBH
19H
523.25
587.33
659.26
698.46
D5
12H
E5
15H
F5
16H
5AH
16H
G5
A5
783.99
880.00
987.77
1046.50
1174.66
1328.51
1396.91
1567.98
1760.00
1975.53
2093.00
19H
1CH
1FH
21H
29H
B5
9CH
7DH
97H
C6
D6
25H
E6
2AH
2CH
32H
83H
F6
B3H
2DH
52H
G6
A6
38H
B6
3FH
42H
38H
C7
FAH
DTMF
F1 (Hz)
F1 (Dec)
9904.1
F1 (Hex)
F2 (Hz)
F2 (Dec)
5709.8
5709.8
5709.8
5709.8
6307.8
6307.8
6307.8
6307.8
6979.6
6979.6
6979.6
6979.6
7708.7
7708.7
7708.7
7708.7
F2 (Hex)
164EH
164EH
164EH
164EH
18A4H
18A4H
18A4H
18A4H
1B44H
1B44H
1B44H
1B44H
1E1DH
1E1DH
1E1DH
1E1DH
1
2
3
A
4
5
6
B
7
8
9
C
*
1209
1336
1477
1633
1209
1336
1477
1633
1209
1336
1477
1633
1209
1336
1477
1633
26B0H
2AC1H
2F44H
3442H
26B0H
2AC1H
2F44H
3442H
26B0H
2AC1H
2F44H
3442H
26B0H
2AC1H
2F44H
3442H
697
697
697
697
770
770
770
770
852
852
852
852
941
941
941
941
10944.5
12099.6
13377.5
9904.1
10944.5
12099.6
13377.5
9904.1
10944.5
12099.6
13377.5
9904.1
0
#
D
10944.5
12099.6
13377.5
*For command 49H, 4BH, 4EH and 4FH. HOST have to make sure SPKR is on when using this commands.
*User could use scale factor in command 4EH&4FH combined with CODEC gain setting to set the desirable DTMF
tone level
REV. 2.2, JAN 20, 1998
P/N:PM0426
26
MX93521
SAMPLES:
PLAY 2 BEEPS W/ -42DB GAIN
49H 14H
PLAYTONE #C5 (523HZ) W/ -36DB GAIN FOR 2 SECOND
PLAYTONE #E5 (659HZ)W/ -48DB GAIN FOR 1 SECOND
Play DTMF-1 (High tone is 6 dB higher than low tone)
Play DTMF-0 (High tone is 6 dB lower than low tone) 100ms
STOP PLAYING DTMFTONE
4BH A3H 10H BEH
4BH 55H 15H 19H
4EH 26H B0H 16H 4EH FFH 7FH
4FH 2AH C1H 1EH 1DH 3FH 7FH 0AH
48H
COMMAND 51H
FUNCTION:
RETURN:
WRITE OUTPUT PORT UO0-2
ACK0
DB7
0
DB6
1
DB5
0
DB4
1
DB3
0
DB2
0
DB1
0
DB0
1
X
X
X
X
X
UO2
UO1
UO0
*CMD 51H is only available in version DR-V3 and DR-V4
COMMAND 5AH
FUNCTION:
RETURN:
MX93000 CODEC MISC. FUNCTION
ACK0 or ERR7
DB7
0
DB6
1
DB5
0
DB4
1
DB3
1
DB2
0
DB1
1
DB0
0
X
X
X
X
X
A2
D2
A1
D1
A0
D0
D7
D6
D5
D4
D3
*Please reference to MX93000 data sheet for the definition of the MX93000 registers
SAMPLES:
Turn on MX93000 MIC path
Turn off MX93000 MIC path
Set MIC to maxima gain
Set MIC to minima gain
5AH
5AH
5AH
5AH
5AH
5AH
5AH
5AH
00H
00H
02H
02H
00H
00H
03H
03H
48H
01H
0FH
00H
03H
01H
00H
0FH
Turn on MX93000 SPKR path
Turn off MX93000 SPKR path
Set SPKR to maxima gain
Set SPKR to minima gain
REV. 2.2, JAN 20, 1998
P/N:PM0426
27
MX93521
COMMAND 61H
FUNCTION:
RETURN:
LED DISPLAY FUNCTION
ACK0
DB7
0
DB6
1
DB5
1
DB4
0
DB3
0
DB2
0
DB1
0
DB0
1
LED2
LED1
T
T
T
T
T
T
LED1=1,
LED2=1,
TTTTTT=0,
TTTTTT¹0,
LED1 ON (MX93521 PIN5 LOW)
LED2 ON (MX93521 PIN4 LOW)
NO FLASH
FLASH TIMER (64ms/unit)
SAMPLES:
LED1 STAY ON
61H
61H
61H
61H
61H
61H
40H
80H
48H
90H
C2H
00H
LED2 STAY ON
LED1 FLASH (512ms ON / 512ms OFF)
LED2 FLASH (1024ms ON / 1024ms OFF)
LED1 & LED2 FLASH (128ms ON / 128ms OFF)
LED1 & LED2 OFF
REV. 2.2, JAN 20, 1998
P/N:PM0426
28
MX93521
COMMAND 6AH
COMMAND 6CH
COMMAND 6EH
FUNCTION:
RETURN:
WRITE COMPRESSED VOICE DATA TO MX93521 FOR PLAYING (VOCODER mode)
ACK0 / ERR5
BBB = 010, 100, 110
DB7
0
DB6
1
DB5
1
DB4
0
DB3
1
DB2
B
DB1
B
DB0
B
WRITE DATATO MX93521
BYTE#1
BYTE#2
BYTE#3
BYTE#4
BYTE#5
BYTE#6
MX93521 equipped a 64 words PLAY BUFFER, HOST should keep feeding compressed voice data to MX93521
when doing PLAY function. Once PLAY BUFFER have no enough data to play, MX93521 will stop playing and send
command 10H to HOST. When the PLAY BUFFER is full, MX93521 will response ERR5. If this is the case, HOST
should re-send this command later. HOST must feed MX93521 at least 12 bytes data per 20 mini-second. When
HOST send command 30H, MX93521 will not start to play until received first 60 bytes data.
The procedure to do PLAY function in VOCODER mode:
STEP1: Turn on VOCODER mode (send command 41H/01H)
STEP2: Turn on SPKR
STEP3: Set PLAY mode (Send command 30H)
STEP4: Send Compressed Voice data to MX93521 (Send command 6?H+BYTE+BYTE+..)
STEP5: If received ACK0, goto STEP4 to send next 6AH/6CH/6EH command
If received ERR5, wait 20-180 ms, then go back to STEP4 to re-send previous command
If HOST want to stop PLAY function or HOST reach the end of message, then goto STEP6
If received 10H, goto STEP7 (HOST did not send data to MX93521 fast enough)
STEP6: Wait until MX93521 play out data in PLAY BUFFER (receiveing command 10H from MX93521)
STEP7: Turn off SPKR
STEP8: Turn off VOCODER mode (send command 41H/01H).
REV. 2.2, JAN 20, 1998
P/N:PM0426
29
MX93521
COMMAND 70H
COMMAND 71H
COMMAND 72H
COMMAND 73H
COMMAND 74H
COMMAND 75H
COMMAND 76H
COMMAND 77H
FUNCTION:
WRITE LCD DATA
BBB = 000, 001, 010, 011, 100, 101, 110, 111
RETURN:
ACK0
DB7
0
DB6
DB5
1
DB4
1
DB3
0
DB2
B
DB1
B
DB0
B
1
LCDDATA
BYTE#1
BYTE#2
BYTE#3
BYTE#4
BYTE#5
BYTE#6
BYTE#7
*THIS COMMAND ONLYVALID WHEN MX93521 SETTO SERIAL INTERFACE MODE
SAMPLES:
DISPLAY [ABCD] ON LCD LINE 1
74H
41H
42H
43H
44H
COMMAND 79H
FUNCTION:
RETURN:
WRITE LCD COMMAND
ACK0
DB7
0
DB6
1
DB5
1
DB4
1
DB3
1
DB2
0
DB1
0
DB0
1
C7
C6
C5
C4
C3
C2
C1
C0
*THIS COMMAND ONLYVALID WHEN MX93521 SETTO SERIAL INTERFACE MODE
REV. 2.2, JAN 20, 1998
P/N:PM0426
30
MX93521
LCD COMMAND SET:
C7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
C6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
1
C5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
C4
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
X
0
0
C3
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
X
0
0
C2
0
0
1
1
1
1
0
1
1
1
1
0
1
0
1
X
0
0
C1
0
C0
1
01H
02H
04H
05H
06H
07H
08H
0CH
0DH
0EH
0FH
10H
14H
18H
1CH
80H-FFH
80H
C0H
Clear Display
1
X
0
Cursor return Home
Cursor-1, no shift
Cursor-1, shift
Cursor+1, no shift
Cursor+1, shift
Display off
0
0
1
1
0
1
1
0
0
0
0
Display on, Cursor off, Blink off
Display on, Cursor off, Blink on
Display on, Cursor on, Blink off
Display on, Cursor on, Blink on
Move Cursor left
0
1
1
0
1
1
X
X
X
X
X
0
X
X
X
X
X
0
Move Cursor right
Display shift left
Display shift right
Set DD RAM address
Set cursor to the start of 1st line
Set cursor to the start of 2nd line
0
0
SAMPLES:
CLEAR LCD DISPLAY
79H
79H
79H
79H
79H
79H
01H
SET CURSOR TO THE START OF LINE 1
SET CURSOR TO THE START OF LINE 2
80H
C0H
C2H
10H
14H
SET CURSORTOTHE LINE 2, 3RD COLUMN
MOVE CURSOR LEFT
MOVE CURSOR RIGHT
EXAMPLE:
To Display [RECORD ] at line #1 & [MM:SS] at line #2
CLEAR LCD DISPLAY & RETURN CURSORTO HOME
DISPLAY [RECORD ] AT LCD LINE 1
79H 01H
76H 52H 45H 43H
79H C3H
4FH 52H 44H
SET CURSORTOTHE LINE 2, 4TH COLUMN
TURN ON COUNTER DISPLAY ON LCD
21H 04H
REV. 2.2, JAN 20, 1998
P/N:PM0426
31
MX93521
COMMAND 80H
FUNCTION:
RETURN:
Request for RECORD/PLAY counter
ACK2, MINUTE, SECOND
DB7
1
DB6
0
DB5
0
DB4
0
DB3
0
DB2
0
DB1
0
DB0
0
COMMAND 81H
FUNCTION:
RETURN:
Request for continuously RECORD/PLAY counter
ACK0
DB7
1
DB6
0
DB5
0
DB4
0
DB3
0
DB2
0
DB1
0
DB0
1
T
T
T
T
T
T
T
T
128 ms/unit
When MX93521 received command 81H, MX93521 will periodically send command 42H (Section 6.4) to HOST.
HOST could display the RECORD/PLAY counter on LCD accordingly. This function will be disabled by MX93521
when RECORD/PLAY stop.
COMMAND 88HDR-V4
FUNCTION: Download Message
RETURN: ACK1, FORMAT
(VOCODER mode, FORMAT=81H if message is recorded with new format)
(VOCODER mode, FORMAT=80H if message is recorded with old format)
DB7
1
DB6
0
DB5
0
DB4
0
DB3
1
DB2
0
DB1
0
DB0
0
Once MX93521 received this command, MX93521 will start to send compressed voice data to HOST by using
command 32H or 36H. When reach the end of message, MX93521 will send out command 30H. We recommend
HOST do checksum calculation during downloading. After download completed, use command 41H/81H to get the
checksum from MX93521 and compare if the checksum is match.The Checksum is calculated by EXCLUSIVE OR
all speech data in word format.
COMMAND 89HDR-V5
FUNCTION:
Upload Message (Vocoder mode)
RETURN:
ACK2, MSGNUM_H, MSGNUM_L(Upload start) / ACK2, Checksum_H, checksum_L(Upload End)
DB7
1
DB6
0
DB5
0
DB4
0
DB3
1
DB2
0
DB1
0
DB0
1
m
m
m
m
m
m
m
m
m=00H, Upload Start
m=01H, Upload End
COMMAND 8AHDR-V5
FUNCTION:
RETURN:
Upload Data
ACK0
DB6
DB7
1
DB5
DB4
0
DB3
1
DB2
0
DB1
1
DB0
0
0
0
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
High Byte
Low Byte
REV. 2.2, JAN 20, 1998
P/N:PM0426
32
MX93521
COMMAND 8CHDR-V5
FUNCTION:
RETURN:
Upload Data
ACK0
DB6
DB7
1
DB5
0
DB4
0
DB3
1
DB2
1
DB1
0
DB0
0
0
D
D
D
D
D
D
D
D
D
D
D
High Byte
D
D
D
D
D
D
D
Low Byte
High Byte
Low Byte
D
D
D
D
D
D
D
D
D
D
D
D
D
D
COMMAND 8EHDR-V5
FUNCTION:
RETURN:
Upload Data
ACK0
DB7
1
DB6
DB5
0
DB4
0
DB3
1
DB2
1
DB1
1
DB0
0
0
D
D
D
D
D
D
D
D
D
D
D
D
D
High Byte
Low Byte
High Byte
Low Byte
High Byte
Low Byte
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
COMMAND 91HDR-V4
FUNCTION:
RETURN:
Set Silence Level
ACK0
DB7
1
DB6
DB5
DB4
DB3
0
DB2
0
DB1
0
DB0
1
0
x
0
x
1
x
x
L
L
L
L
Level
LLLL=0000 (Level 0) Set Highest silence threshold (Some of the speech will be treated as silence)
LLLL=0011 (Level 3) Default value
LLLL=1111 (Level 15) Set Lowest silence threshold (All signal are treated as speech, No silence compression at
all)
COMMAND 98HDR-V5
FUNCTION:
RETURN:
Read ROM/RAM wait state setting
ACK2, WSTH,WSTL
DB7
1
DB6
0
DB5
0
DB4
1
DB3
0
DB2
0
DB1
0
DB0
0
REV. 2.2, JAN 20, 1998
P/N:PM0426
33
MX93521
COMMAND 99HDR-V5
FUNCTION:
RETURN:
Set ROM/RAM wait state
ACK0
DB6
DB7
1
DB5
0
DB4
1
DB3
0
DB2
0
DB1
0
DB0
1
0
O
O
O
O
A
A
A
A
Wait State
OOOO: RAM Wait State
AAAA: ROM Wait State
COMMAND A2HDR-V4
FUNCTION:
RETURN:
Read MX93521 RAM
ACK2, DATA_H, DATA_L
DB7
1
DB6
1
DB5
0
DB4
1
DB3
0
DB2
0
DB1
1
DB0
0
Address (High)
Address (Low)
COMMAND A4HDR-V4
FUNCTION:
RETURN:
Write MX93521 RAM
ACK0
DB7
1
DB6
1
DB5
0
DB4
1
DB3
0
DB2
1
DB1
0
DB0
0
Address (High)
Address (Low)
Data (High)
Data (Low)
* Only for testing purpose, user should not change any data in the RAM area
COMMAND AAHDR-V5
FUNCTION:
RETURN:
Read MX93521 internal ROM
ACK2, DATA_H, DATA_L
DB7
1
DB6
1
DB5
0
DB4
1
DB3
0
DB2
0
DB1
1
DB0
0
Address (High)
Address (Low)
REV. 2.2, JAN 20, 1998
P/N:PM0426
34
MX93521
COMMAND B0HDR-V4
FUNCTION:
RETURN:
Output all blocks which are used as data bank block
ACK0
DB6
DB7
DB5
1
DB4
1
DB3
0
DB2
0
DB1
0
DB0
0
1
0
MX93521 return block number by sending command 32H/34H/36H and ended with command 30H
32H, BLK_H, BLK_L
34H, BLK_H, BLK_L, BLK_H, BLK_L
36H, BLK_H, BLK_L, BLK_H, BLK_L, BLK_H, BLK_L
30H
COMMAND B1HDR-V4
FUNCTION:
RETURN:
Read Flash Memory
ACK0
DB7
1
DB6
DB5
1
DB4
1
DB3
0
DB2
0
DB1
0
DB0
1
0
Counter (read 1-255 byte from flash memory)
COMMAND B2HDR-V4
FUNCTION:
RETURN:
Read Flash Memory
ACK0
DB7 DB6
DB5
1
DB4 DB3
DB2
DB1
DB0
1
0
1
0
0
1
0
CNT_H
CNT_L (read 1-65535 bytes from flash memory)
When continuously read flash memory, MX93521 will send data with command 3XH to HOST & ended with command
30H.The address pointer will point to the next byte of the last byte read. HOST could send another continuous read
command 0B1H or 0B2H to read out following data from flash memory.
COMMAND B8HDR-V4
FUNCTION:
RETURN:
Request for data bank block
ACK2, BLK_H, BLK_L
DB7
1
DB6
0
DB5
1
DB4
1
DB3
1
DB2
0
DB1
0
DB0
0
REV. 2.2, JAN 20, 1998
P/N:PM0426
35
MX93521
COMMAND BAHDR-V4
FUNCTION:
RETURN:
Set read/write starting address
ACK0
DB5
DB7
1
DB6
DB4
1
DB3
1
DB2
0
DB1
1
DB0
0
0
1
Address Pointer (High)
Address Pointer (Low)
COMMAND BCHDR-V4
FUNCTION:
RETURN:
Set read/write starting address
ACK0
DB7
1
DB6
DB5
1
DB4
1
DB3
1
DB2
1
DB1
0
DB0
0
0
Block Number (High)
Block Number (Low)
Address Pointer (High)
Address Pointer (Low)
COMMAND C1HDR-V4
COMMAND C2HDR-V4
COMMAND C3HDR-V4
COMMAND C4HDR-V4
COMMAND C5HDR-V4
COMMAND C6HDR-V4
COMMAND C7HDR-V4
FUNCTION:
RETURN:
Write data to flash memory(Data Bank)
ACK0 or ERR0 (Block number or address pointer is not accepted)
DB7
1
DB6
DB5
0
DB4
0
DB3
0
DB2
B
DB1
B
DB0
B
1
data to write to flash memory
data to write to flash memory
data to write to flash memory
data to write to flash memory
data to write to flash memory
data to write to flash memory
data to write to flash memory
REV. 2.2, JAN 20, 1998
P/N:PM0426
36
MX93521
COMMAND CAHDR-V4
FUNCTION:
RETURN:
Erase Block (Release data block)
ACK0 or ERR0
DB7
1
DB6
DB5
0
DB4
DB3
1
DB2
0
DB1
1
DB0
0
1
0
Block (High)
Block (Low)
COMMAND D4HDR-V4
FUNCTION:
RETURN:
Read 1 word data from flash memory
ACK2, DATA_H, DATA_L
DB7
1
DB6
DB5
0
DB4
1
DB3
0
DB2
1
DB1
0
DB0
0
1
Block (High)
Block (Low)
Address (High)
Address (Low)
COMMAND D5HDR-V4
FUNCTION:
RETURN:
Write 1 byte data to flash memory
ACK0
DB7
1
DB6
DB5
0
DB4
1
DB3
0
DB2
1
DB1
0
DB0
1
1
Block (High)
Block (Low)
Address (High)
Address (Low)
Data
COMMAND D6HDR-V4
FUNCTION:
RETURN:
Write 1 word (2 bytes) data to flash memory
ACK0
DB7
1
DB6
DB5
0
DB4
1
DB3
0
DB2
1
DB1
0
DB0
1
1
Block (High)
Block (Low)
Address (High)
Address (Low)
Data (High)
Data (Low)
REV. 2.2, JAN 20, 1998
P/N:PM0426
37
MX93521
COMMAND FAHDR-V5
FUNCTION:
RETURN:
Play Voice Prompt From ROM
ACK0
DB5
DB7
1
DB6
DB4
1
DB3
1
DB2
0
DB1
0
DB0
1
1
1
Voice Prompt ROM Starting address High Byte
Voice Prompt ROM Starting address Low Byte
COMMAND FCHDR-V5
FUNCTION:
RETURN:
Play Voice Prompt from FLASH memory
ACK0
DB7
1
DB6
DB5
1
DB4
1
DB3
1
DB2
0
DB1
0
DB0
1
1
Flash Memory Block # (High Byte)
Flash Memory Block # (Low Byte)
Flash Memory Pointer (High Byte)
Flash Memory Pointer (Low Byte)
Flash Memory Pointer range from 10H to 0FFEH
* When MX93521 received command 0FAH or 0FCH from HOST, MX93521 start to play voice prompt from ROM/
FLASH. After playing out all data, MX93521 will send command 10H to HOST. The voice prompt data are com-
pressed speech data which is ended with one 0000H or six 0FFFFH in the data stream.
REV. 2.2, JAN 20, 1998
P/N:PM0426
38
MX93521
6.4 MX93521TO HOST COMMANDS
MX93521 will always respond a ACK if received a command from HOST.Besides that, MX93521 will send command
to notify HOST that a specific event has happened. HOST could do action according to the command received.
COMMAND 10H
FUNCTION:
Play mode, Reach the end of the playing message
DB7
0
DB6
DB5
0
DB4
1
DB3
0
DB2
0
DB1
0
DB0
0
0
COMMAND 18H
FUNCTION:
Play mode, Reach the start of the playing message
DB7
0
DB6
0
DB5
0
DB4
1
DB3
1
DB2
0
DB1
0
DB0
0
COMMAND 20H
FUNCTION:
Record mode, out of flash memory
DB7
0
DB6
0
DB5
1
DB4
0
DB3
0
DB2
0
DB1
0
DB0
0
COMMAND 42H
FUNCTION:
MX93521 outputs record / play counter
DB7
0
DB6
1
DB5
0
DB4
0
DB3
0
DB2
0
DB1
1
DB0
0
M
M
M
M
M
M
M
M
Minute
S
S
S
S
S
S
S
S
Second
COMMAND 52HDR-V4
FUNCTION: MX93521 outputs Message Number
DB7
0
DB6
DB5
0
DB4
1
DB3
0
DB2
0
DB1
1
DB0
0
1
Message number (high byte)
Message number (low byte)
REV. 2.2, JAN 20, 1998
P/N:PM0426
39
MX93521
COMMAND 30HDR-V4
COMMAND 31HDR-V4
COMMAND 32H
COMMAND 33HDR-V4
COMMAND 34HDR-V4
COMMAND 35HDR-V4
COMMAND 36H
COMMAND 37HDR-V4
FUNCTION:
MX93521 outputs data with command 3XH and ending the function with command 30H
COMMAND 32H
FUNCTION:
Vocoder record mode, MX93521 outputs compressed voice data (silence frame)
DB7
0
DB6
0
DB5
1
DB4
1
DB3
0
DB2
0
DB1
1
DB0
0
BYTE #1
BYTE #2
COMMAND 36H
FUNCTION:
Vocoder record mode, MX93521 outputs compressed voice data (speech frame)
DB7
0
DB6
0
DB5
1
DB4
1
DB3
0
DB2
1
DB1
1
DB0
0
BYTE #1
BYTE #2
BYTE #3
BYTE #4
BYTE #5
BYTE #6
When in VOCODER mode, MX93521 use this command to send compressed voice data to HOST.
MX93521 equipped with 64 byte buffer internally. If buffer is full, data will be discarded.
REV. 2.2, JAN 20, 1998
P/N:PM0426
40
MX93521
7. DC Characteristics¡GTA=0 to 70°C , VCC=5V±10¢H
Storage temperature range¡G-55°C - 150°C
SYMBOL
VCC
PARAMETER
supply voltage
ground
CONDITION
MIN
TYP
5.0
0
MAX
UNIT
Volt
4.5
5.5
GND
Volt
TTL LEVEL INPUT(IT)
VIH
VIL
Input high voltage
Input low voltage
2.0
0.7*VCC
2.4
V
V
0.8
0.3*VCC
0.4
SCHMITTTRIGGER INPUT (IS)
VIH
Input high voltage
V
V
VIL
Input low voltage
8mA OUTPUT (OA)
VOH
Onput high voltage
Onput low voltage
IOH=-8mA
IOL=8mA
VOL
V
16mA OUTPUT (OB)
VOH
Onput high voltage
Onput low voltage
IOH=-16mA
IOL=16mA
2.4
V
V
VOL
0.4
70
6
SUPPLY CERRENT
ICC
ICC
ICC
NORMAL
45
10
3
mA
mA
mA
HOLD MODE
POWER DOWN
REV. 2.2, JAN 20, 1998
P/N:PM0426
41
MX93521
8.AC TIMING AND CHARACTERISTICS:
RESETTIMING
Tw(rst)
RST\
EAD15~EAD0
ED15~ED0
PC=0000
0001
valid
valid
CONTROL
SIGNALS
(inactive)
OPT18~OPT0
BIO7~BIO0
0000
Note: Control Signals
HOLDA\EDCE\EPCE\ERD\EWR\
CAS\RAS\DRD\DWR\
SYMBOL PARAMETER
MIN
NOM
MAX
UNIT
Tw(rst)
Reset low pulse width
2*46.5ns
OUTPUT PORTTIMING
AD15-AD0
EAD15-EAD0
PC=N, SXF/RXF
or OUT XX
PC=N+1
PC=N+2
Td(a-o)
OPT18~OPT0
BIO7~BIO0
XF\
OUTPUT PORTS AND EXTERNAL FLAG(XF\)TIMING
SYMBOL PARAMETER
MIN
NOM
MAX
UNIT
Td(a-o)
Address to output ports delay time
0
10
ns
REV. 2.2, JAN 20, 1998
P/N:PM0426
42
MX93521
CODECTRANSMIT AND RECEIVETIMING
Tc
Thpd
CMCK
Td(ch-fs)
Td(ch-fs)
Tlpd
Th(dr)
CFS
Ts(dr)
N=1
Td(ch-dx)
N=1
N=2
N=2
N=3
N=4
N=4
SAMPLING 16 BITS
TRANSMIT 16 BITS
CDR0
CDX0
N=3
SYMBOL PARAMETER
MIN
NOM
MAX
UNIT
ns
Tc
CMCK cycle time
650
Tlpd
CMCK low pulse duration
CMCK high pulse duration
CMCK to CFS delay time
CMCK rising edge to Dx valid
315
315
335
335
20
ns
Thpd
ns
Td(ch-fs)
Td(ch-dx)
Ts(dr)
Th(dr)
ns
10
ns
DR set-up time before CMCK falling edge
DR hold time before CMCK falling edge
10
10
ns
ns
INTERRUPTTIMING
Tw
INT0\
INT1\
INT2\
AD15-AD0
fetch N+0
fetch N+1
fetch N+1
fetch N+1
fetch I
SYMBOL PARAMETER
MIN
3Q*
NOM
MAX
UNIT
Tw
INT\ low pulse duration
ns
NOTE:Q=15.5 ns
REV. 2.2, JAN 20, 1998
P/N:PM0426
43
MX93521
SRAM/ROM READTIMING
TCS
TAA
EDCE\,EPCE\
EAD15-EAD0
ERD\
TOH
TDR
DATA IN
ED15-ED0
SRAMWRITETIMING
EDCE\
EAD15-EAD0
EWR\
TAS
TWR
TDH
TDW
DATA OUT
ED15-ED0
SYMBOL PARAMETER
MIN
NOM
MAX
UNIT
TCS
TAA
TDR
TOH
TAS
TDW
TDH
TWR
Chip select access time
26.5+WxT ns
Address access time
Data read setup time
Data hold from end of read
Address setup time
26.5+WxT ns
12
0
ns
ns
0
5
ns
ns
ns
ns
Data to EWR\ low overlap
Data hold from end of write
Write recovery time
12
0
0
*NOTE: T=31ns
W:Wait state number
REV. 2.2, JAN 20, 1998
P/N:PM0426
44
MX93521
HOLD TIMING
EAD15-EAD0
N
N+1
N+2
N+3
N+4
Ten(ah-a)
ED15-ED0
EPCE\
EDCE\
EWR\
ERD\
Ts(a-h)
Td(hh-ha)
HOLD\
HOLDA\
SYMBOL PARAMETER
MIN
5
NOM
MAX
3Q-10
1Q+10
2Q
UNIT
Ts(a-h)
Address set-up time before HOLD\ low
HOLD\ high to HOLDA\ high
ns
ns
ns
Td(hh-ha)
Ten(ah-a)
0
1Q
Address driven after HOLDA\ high
1Q-10 1Q
*NOTE: Q=15.5n
REV. 2.2, JAN 20, 1998
P/N:PM0426
45
MX93521
9.PACKAGE INFORMATION
100-PIN LQFP
A
B
ITEM
A
MILLIMETERS INCHES
16.00 ± .05
14.00 ± .05
14.00 ± .05
16.00 ± .05
12.00 [REF]
.60 [REF]
.60 [REF]
.16 [Typ.]
.50 [Typ.]
1.00 [Typ.]
0.60 [Typ.]
.25 [Typ.]
.10 max.
.630 ± .002
.551 ± .002
.551 ± .002
.630 ± .002
.472 [REF]
.024 [REF]
.024 [REF]
.006 [Typ.]
.020 [Typ.]
.039 [Typ.]
.024 [Typ.]
.010 [Typ.]
.004 max.
.055
B
75
76
C
D
E
51
50
F
G
H
I
C
D
E
J
26
25
K
100
1
P
F
L
O
M
N
O
P
G
H
I
1.4 ± .05
J
.10 min.
.004 min.
N
1.50 max.
.059 max.
L
M
NOTE: Each lead centerline is located within
.25mm[.01 inch] of its true position [TP] at a
maximum material condition.
K
100-PIN PQFP
A
B
ITEM
MILLIMETERS INCHES
A
B
C
D
E
F
G
H
I
24.80 ± .40
20.00 ± .13
14.00 ± .13
18.80 ± .40
12.35 [REF]
.83 [REF]
.58 [REF]
.30 [Typ.]
.65 [Typ.]
2.40 [Typ.]
1.20 [Typ.]
.15 [Typ.]
.10 max.
.976 ± .016
.787 ± .005
.551 ± .005
.740 ± .016
.486 [REF]
.033 [REF]
.023 [REF]
.012 [Typ.]
.026 [Typ.]
.094 [Typ.]
.047 [Typ.]
.006 [Typ.]
.004 max.
.018 ± .006
.004 min.
80
81
51
50
E
C
D
J
31
30
100
1
P
F
K
L
O
G
H
I
M
N
O
P
J
2.75 ± .15
.10 min.
N
L
3.30 max.
.103 max.
M
K
NOTE: Each lead centerline is located within
.25mm[.01 inch] of its true position [TP] at a
maximum material condition.
REV. 2.2, JAN 20, 1998
P/N:PM0426
46
MX93521
10. Ordering Information
PART NO.
PACKAGE
MX93521FC
MX93521UC
PQFP
LQFP
MX
93
521
?
C
MXIC
COMPANY
PREFIX
COMMERCIAL
0-70oC
PACKAGE TYPE
F: PQFP, U: LQFP
FAMILY
PREFIX
PRODUCT NUMBER
Appendix 1. New added Features Compared with DR-V4
New features in dr-v5
1.Support both format used in v3 (without silence compression) and v4 (with silence compression)
2.Add version number and date information at rom address 10h-13h
3.Add direct codec accessing function
4.Add command 0AH (point to specific message)
5.Add DTMF tone generator
6.Add upload message from host to mx93521 function
7.Add command 99H (change rom/ram wait state)
8.Add play voice prompt from flash memory function
9.Change silence threshold setting
New features in dr-v6
1.Add silence detection function
2.New codec.asm that improve tone response
3.Add safe_chip_erase function (erase only good blocks)
4.Improve find_empty_blk subroutine
5.Add skip frames function in play mode
REV. 2.2, JAN 20, 1998
P/N:PM0426
47
MX93521
Appendix 2. Sample Flow Chart for HOST to Implement uP Serial Interface
call SND_RCVD_CMD ( ) every 50 usec
BYTE:
txdata, cmdout[0..7]
txdata, cmdin[0..7]
tbcnt, txcnt
NIBBLE;
BIT:
SEND_RCVD_CMD(
SCLK low?
)
tbcnt, rxcnt
data2snd, clk, obit
NO
YES
DA\ low?
set SCLK high
RETURN
YES
clk=1
clk=0
obit=SOUT
NO
YES
tbcnt==0?
rbcnt==9?
NO
stop bit
error
NO
YES
YES
data2snd==0?
rbcnt==0?
YES
obit==0?
NO
txdata=cmdout[0]
tbcnt=10
NO
obit==0?
YES
data bit
rxdata>>=1
rxdata=(obit<<7)
cmdin[rxcnt]=rxdata
rbcent=0
obit=0
rxdata=0
YES
tbcnt==10?
rxcnt==
YES
rbcnt ++
(cmdin[0] & 7)
NO
YES
tbcnt==1?
NO
rxcnt==0?
obit=1
YES
rxcnt=0
rxdata=0
rbcnt=0
txdata.0==0?
YES
(cmdin[0] & 0xf0)
==0xe0?
YES
txdata.0==0?
data2snd=0
NO
obit=1
txdata>>=1
tbcnt--
txcnt++
decode_cmd(
rxcent=0
)
txdata=cmdout [txcnt]
tbcnt
rxcnt ++
txcnt=0
Received a complete Command from MX93521.
Precess command which is stored in cmdin[0:7]
NO
CLK==1?
YES
obit==1?
YES
NO
set SCLK low
SIN high
SIN low
To send command to MX93521:
Load command to cmdout[0:7]
then set data2snd=1
RETURN
clk=1
After sending out all commands,
dats2snd will be cleared to 0.
REV. 2.2, JAN 20, 1998
P/N:PM0426
48
MX93521
Appendix 3. Recommend commands sequence to implement a digital recorder
(star* means function is optional)
A3.1 Record Message (TP3054):
Functions
HOST send
41H/04H
49H/0AH
41H/04H
41H/08H
61H/48H
41H/02H
41H/03H
41H/05H
28H
MX93521 Acknowledge
*
*
*
Turn on SPKR
ACK0
Beep
ACK0
Turn off SPKR
ACK0
Turn on MIC
ACK0
*
*
*
*
LED #1 flash
ACK0
Append Recording
Overwrite Recording
Turn on Voice Activated Mode
Start to Record
Clear LCD
ACK0
ACK0
ACK0
ACK2,MSG#_H,MSG#_L
ACK0
*
*
*
*
79H/01H
Display [RECORD] on LCD
Move cursor to line #2, col #3
76H/52H/45H/43H/4FH/52H/44H ACK0
79H/C3H
ACK0
ACK0
Turn on message counter display on LCD 21H/04H
A3.2 Stop Recording (TP3054):
Functions
HOST send
21H/01H
41H/08H
61H/00H
41H/04H
49H/0AH
41H/04H
MX93521 Acknowledge
Stop Recording
ACK2,CHKSUM_H, CHKSUM_L
Turn off MIC
ACK0
ACK0
ACK0
ACK0
ACK0
*
*
*
*
LED #1 off
Turn on SPKR
Beep
Turn off SPKR
A3.3 Out of Memory, Received command 20H from MX93521 during Recording (TP3054):
Functions
HOST send
41H/08H
61H/00H
41H/04H
49H/0AH
41H/04H
MX93521 Acknowledge
Turn off MIC
LED #1 off
Turn on SPKR
Beep
ACK0
ACK0
ACK0
ACK0
ACK0
*
*
*
*
Turn off SPKR
REV. 2.2, JAN 20, 1998
P/N:PM0426
49
MX93521
A3.4 Play Message (TP3054):
Functions
HOST send
09H/xxH
MX93521 Acknowledge
Move message pointer to specific message
Turn on SPKR
ACK0/ERR6
41H/04H
ACK0
*
*
Beep
49H/0AH
ACK0
LED #2 flash
61H/88H
ACK0
Start to Play
30H
ACK2,MSG#_H,MSG#_L
*
*
*
*
*
Send msg counter to HOST every 512 ms
Clear LCD
81H/04H
ACK0
ACK0
ACK0
ACK0
ACK0
79H/01H
Display [PLAY] on LCD
Move cursor to line #2, col #3
Turn on message counter display on LCD
74H/50H/4CH/41H/59H
79H/C3H
21H/04H
A3.5 Function During Playing Message
Functions
HOST send
MX93521 Acknowledge
*
*
*
*
*
Fast Forward Playing (2x)
Rewind Playing (2x)
3AH/01H/01H
3AH/81H/01H
21H/10H
ACK0
ACK0
ACK0
ACK0
ACK0
Set REPEAT start point
Set REPEAT end point
Disable REPEAT mode
21H/20H
21H/40H
A3.6 Stop Playing Message (TP3054):
Functions
HOST send
21H/01H
61H/00H
49H/0AH
41H/04H
MX93521 Acknowledge
Stop Playing
ACK0
ACK0
ACK0
ACK0
*
*
LED #2 off
Beep
Turn off SPKR
A3.7 End of Message, Received command 10H from MX93521 during Playing (TP3054):
Functions
LED #2 off
Beep
HOST send
61H/00H
MX93521 Acknowledge
*
*
ACK0
ACK0
ACK0
49H/0AH
41H/04H
Turn off SPKR
REV. 2.2, JAN 20, 1998
P/N:PM0426
50
MX93521
A3.8 Message Search
Functions
HOST send
41H/04H
MX93521 Acknowledge
1
2
3
4
5
6
Turn on SPKR
ACK0
Move message pointer to the 1st msg
Play current message for 3 second
09H/FFH
31H/03H
ACK0/ERR6
ACK0
10H
Move message pointer to the next message
if received ACK0, goto Step #3
if received ERR6, goto Step #7
Turn off SPKR
09H/01H
41H/04H
ACK0/ERR6
7
ACK0
A3.9 Message Found
Functions
HOST send
21H/01H
30H
MX93521 Acknowledge
1
2
3
Stop playing
ACK0
ACK0
ACK0
Play current message
Turn off SPKR
41H/04H
REV. 2.2, JAN 20, 1998
P/N:PM0426
51
MX93521
A3.10The procedure for using flash memory as data bank memory
HOST SEND
MX93521 RESPONSE
1
Request a empty block to be used 0B8H
as data block
0A2H, BLK_H, BLK_L
2
3
Set continuous read start address
Continuous Read 20 bytes
0BCH, BLK_H, BLK_L, ADR_H, ADR_L
0A0H
0B1H, 14H
0A0H
037H,D1,D2,D3,D4,D5,D6,D7
037H,D1,D2,D3,D4,D5,D6,D7
036H,D1,D2,D3,D4,D5,D6
030H
Continuous Read 298 bytes
0B2H, 01H,2AH
0A0H
037H,D1,D2,D3,D4,D5,D6,D7
037H,D1,D2,D3,D4,D5,D6,D7
......
034H,D1,D2,D3,D4
030H
0A0H
4
Continuous Write 7 bytes
Continuous Write 6 bytes
Continuous Write 5 bytes
Continuous Write 4 bytes
Continuous Write 3 bytes
Continuous Write 2 bytes
Continuous Write 1 bytes
Erase Block
0C7H,D1,D2,D3,D4,D5,D6,D7
0C6H,D1,D2,D3,D4,D5,D6
0C5H,D1,D2,D3,D4,D5
0C4H,D1,D2,D3,D4
0A0H
0A0H
0A0H
0C3H,D1,D2,D3
0A0H
0C2H,D1,D2
0A0H
0C1H,D1
0A0H
5
6
7
8
CAH, BLK_H, BLK_L
0D4H, BLK_H, BLK_L, ADR_H, ADR_L
0A0H
Read 1 word from flash memory
Write 1 byte to flash memory
Write 2 bytes to flash memory
0A2H, DATA1, DATA2
0D5H, BLK_H, BLK_L, ADR_H, ADR_L, D1 0A0H
0D6H, BLK_H, BLK_L, ADR_H, ADR_L, D1, 0A0H
D2
Each block in flash memory is 4K byte. The first 16 bytes are reserved for MX93521 as data link data, HOST could
read but could not write data to it. So, the host usable data are from address 10H-0FFFH.
REV. 2.2, JAN 20, 1998
P/N:PM0426
52
MX93521
Appendix 4. Flow Chart of using MX93521 inVOCODER mode (Parallel Interface)
A4.1 Record mode (Background)
RECORD
RESET MX93521
[BIT]
WAIT4ACK=1
RCVD=DATA2SND=0
STOP1=STOP2=0
PAUSE1=PAUSE2=0
END_OF_REC=0
[BYTE]
NO
WAIT4ACK==0?
YES
TXCNT=RXCNT=0
YES
TOGGLE PAUSE?
NO
NO
WAIT4ACK==0?
YES
PAUSE1=WATI4ACK=1
[VOCODER MODE ON]
CMDOUT[0]=0x41
CMOUT[1]=0x01
YES
STOP RECORDING?
NO
DATA2SND=WAIT4ACK=1
PAUSE1=WATI4ACK=1
NO
WAIT4ACK==0?
YES
NO
END_OF_REC==1?
YES
[MIC ON]
CMDOUT[0]=0x5A
CMDOUT[1]=0x00
CMDOUT[2]=0x48
DATA2SND=WAIT4ACK=1
[VOCODER MODE OFF]
CMDOUT[0]=0x41
CMDOUT[1]=0x01
DATA2SND=WAIT4ACK=1
Wait 10 msec for MX93000 to settle
NO
WAIT4ACK==0?
NO
WAIT4ACK==0?
YES
YES
RETURN
[SET MIC GAIN]
CMDOUT[0]=0x5A
CMDOUT[1]=0x02
CMDOUT[2]=0x04
DATA2SND=WAIT4ACK=1
NO
WAIT4ACK==0?
YES
[START TO RECORD]
CMDOUT[0]=0x28
DATA2SND=WAIT4ACK=1
REV. 2.2, JAN 20, 1998
P/N:PM0426
53
MX93521
A4.2 Play mode (Background)
PLAY
RESET MX93521
[BIT]
WAIT4ACK=1
RCVD=DATA2SND=0
[BYTE]
YES
RCVD==1?
NO
TXCNT=RXCNT=0
YES
CMDIN[0]==0x10?
YES
NO
WAIT4ACK==0?
YES
[VOCODER MODE ON]
CMDOUT[0]=0x41
CMOUT[1]=0x01
NO
WAT4ACK==0?
YES
DATA2SND=WAIT4ACK=1
NO
NO
CMDIN[0]==0xA0?
YES
WAIT4ACK==0?
NO
YES
CMDIN[0]==0xE5?
[SPEAKER ON]
CMDOUT[0]=0x5A
CMDOUT[1]=0x00
CMDOUT[2]=0x03
DATA2SND=WAIT4ACK=1
YES
[MX93521 BUSY]
[RESEND PREVIOUS DATA]
DELAY 2 msec
DATA2SND=WAIT4ACK=1
Wait 10 msec for MX93000 to settle
CMDIN[0]==0xA0?
NO
WAIT4ACK==0?
(LOAD DATA FROM MEMORY TO BYTE[0..5])
(LOAD NO MORE THAN 6 BYTES AT A TIME)
(BYTECNT=BYTES LOADED)
YES
[SET SPKR GAIN]
CMDOUT[0]=0x5A
CMDOUT[1]=0x03
CMDOUT[2]=0x05
DATA2SND=WAIT4ACK=1
CMDOUT[0]=0x68+BYTECNT
FOR (i=0; i<BYTECNT;i++)
Wait 10 msec for MX93000 to settle
[VOCODER MODE OFF]
CMDOUT[0]=0x41
CMDOUT[1]=0x01
DATA2SND=WAIT4ACK=1
NO
WAIT4ACK==0?
YES
NO
WAIT4ACK==0?
[START TO RECORD]
CMDOUT[0]=0x30
DATA2SND=WAIT4ACK=1
YES
RETURN
REV. 2.2, JAN 20, 1998
P/N:PM0426
54
MX93521
A4.3 Command/Data Send/Receive Handling Routine (Interrupt)
INTERRUPT
NO
PACK\ = LOW?
YES
[READ DATA FROM MX93521]
RXDATA[7..0]=BIO[7..0]
YES
STOP2==1?
NO
YES
STOP1==1?
[WRITE CMD TO MX93521]
BIO=0x21
[WRITE CMD TO MX93521]
BIO=0x01
NO
STOP2=1
STOP1=STOP2=1
CMDIN[RXCNT]=RXDATA
NO
DATA2SND==1?
YES
NO
RXCNT==
CMDIN[0]& 0x7 ?
YES
[WRITE DATA TO MX93521
BIO=CMDOUT[TXCNT]
(RXCNT==0) &&
(CMDIN[0] &0xF0
==0xE0?
NO
NO
TXCNT==
CMDOUT[0] & 0x7 ?
DECODE_CMD ( )
RXCNT=0
RXCNT++
YES
TXCNT=0
TXCNT++
DATA2SND=0
RETURN
REV. 2.2, JAN 20, 1998
P/N:PM0426
55
MX93521
A4.4 Received Command Interpretation Routine (Interrupt)
DECODE_CMD ( )
YES
CMDIN[0]==0x36?
NO
YES
CMDIN[0]==0x32?
NO
[WRITE DATA TO MEMORY}
BYTECNT=CMDIN{0} & 0x7
FOR (i=0; i<BYTECNT; i++)
BYTE[i] =CMDIN[i+1]
YES
CMDIN[0]==0x30?
END_OF_REC=1
NO
YES
CMDIN[0]==0x10?
RCVD=1
YES
CMDIN[0] & 0xF0
==0xA0?
NO
YES
CMDIN[0] & 0xF0
==0xE0?
END_OF_REC=1
NO
RETURN
REV. 2.2, JAN 20, 1998
P/N:PM0426
56
MX93521
MACRONIX INTERNATIONAL CO., LTD.
HEADQUARTERS:
TEL:+886-3-578-8888
FAX:+886-3-578-8887
EUROPE OFFICE:
TEL:+32-2-456-8020
FAX:+32-2-456-8021
JAPAN OFFICE:
TEL:+81-44-246-9100
FAX:+81-44-246-9105
SINGAPORE OFFICE:
TEL:+65-747-2309
FAX:+65-748-4090
TAIPEI OFFICE:
TEL:+886-3-509-3300
FAX:+886-3-509-2200
MACRONIX AMERICA, INC.
TEL:+1-408-453-8088
FAX:+1-408-453-8488
CHICAGO OFFICE:
TEL:+1-847-963-1900
FAX:+1-847-963-1909
http : //www.macronix.com
MACRONIX INTERNATIONAL CO., LTD. reserves the rignt to change product and specifications without notice.
57
相关型号:
©2020 ICPDF网 联系我们和版权申明