Datasheet MX93521 Datasheet (MXIC)

Page 1
1. FEATURES
MX93521
ALL DIGITAL VOICE RECORDER MACHINE
BASED ON THE MX93521 VOCODER CHIP
• 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
• 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
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 CODEC-->(COMPRESS)-->FLASH PLAY CODEC-->(DECOMPRESS)<--FLASH RECORD (VOCODER) CODEC-->(COMPRESS)-->HOST PLA Y (V OCODER) CODEC-->(DECOMPRESS)<--HOST DIRECT CODEC PLA Y MODE CODEC-->(PCM/u-Law)<--HOST DOWNLOAD MESSAGE FLASH(MSG)-->HOST UPLOAD MESSAGE FLASH(MSG)<--HOST DATABANK ACCESS FLASH(DATA)<-- -->HOST
P/N:PM0426 REV. 2.2, JAN 20, 1998
1
Page 2
3.PIN CONFIGURATIONS
3.1 Pinout Assignments for MX93521 100-Pin PQFP (Parallel Mode)
100-LQFP PIN ASSIGNMENT¡G
ED8
ED7
ED6
ED5
ED4
ED3
ED2
ED1
GND
VDSP
ED0
HOLD\
HOLDA\
EDCE\
EPCE\
ERD\
EWR\
EAD0
EAD1
EAD2
75747372717069686766656463626160595857565554535251
ED9 ED10 ED11 ED12 ED13
VDSP
GND ED14 ED15
XTLI
XTLO
NC NC NC NC
MIC-E\
SPK-E\
RST\
EROM SDEN\ SDATA
WP\
RxCmd
NC 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
MX93521
EAD3
EAD4
EAD5
EAD6
FLL\
MX93521
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
EAD7 NC EAD8 EAD9 EAD10 EAD11 EAD12 EAD13 EAD14 GND VDSP EAD15 VDSP SCLK VDSP DSPDR DA\ CMCLK CFS DSPDX SOUT PHDB0 PHDB1 PHDB2 PHDB3
P/N:PM0426
12345678910111213141516171819202122232425
NC
LED2\
LED1\
CE1\
CE2\
NC
ALE
CLE
X32I
X32O
P A CKB\
S/P
SIN
CODEC TYPE
R/B
MTYPE0
SHOLD\
MTYPE2
MTYPE1
GND
VDSP
PHDB7
PHDB6
PHDB5
2
PHDB4
REV. 2.2, JAN 20, 1998
Page 3
100-PQFP PIN ASSIGNMENT¡G
ED10
ED9
ED8
ED7
ED6
ED5
ED4
ED3
ED2
ED1
GND
VDSP
ED0
HOLD\
HOLDA\
EDCE\
EPCE\
ERD\
EWR\
EAD0
EAD1
EAD2
EAD3
EAD4
EAD5
EAD6
FLL\
GND
EAD7
EAD8
MX93521
ED11 ED12 ED13
VDSP
GND ED14 ED15
XTLI
XTLO
NC NC NC NC
MIC-E\
SPK-E\
RST\
EROM SDEN\ SDATA
WP\
8079787776757473727170696867666564636261605958575655545352
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
1234567891011121314151617181920212223242526272829
NC
NC
NC
CE1\
CE2\
LED2\
LED1\
RxCmd
NC
ALE
CLE
MX93521
S/P
X32I
X32O
P A CKB\
SIN
R/B
MTYPE0
CODECTYPE
SHOLD\
MTYPE2
MTYPE1
GND
VDSP
PHDB7
PHDB6
PHDB5
PHDB4
51
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30
PHDB3
PHDB2
EAD9 EAD10 EAD11 EAD12 EAD13 EAD14 GND VDSP EAD15 VDSP SCLK VDSP DSPDR PHRDB\ CMCLK CFS DSPDX PHWRB\ PHDB0 PHDB1
P/N:PM0426
REV. 2.2, JAN 20, 1998
3
Page 4
3.2 Pinout Assignments for MX93521 100-Pin TQFP (Serial Mode)
100-LQFP PIN ASSIGNMENT¡G
ED8
ED7
ED6
ED5
ED4
ED3
ED2
ED1
GND
VDSP
ED0
HOLD\
HOLDA\
EDCE\
EPCE\
ERD\
EWR\
EAD0
EAD1
75747372717069686766656463626160595857565554535251
ED9 ED10 ED11 ED12 ED13
VDSP
GND ED14 ED15
XTLI
XTLO
NC NC NC NC
MIC-E\
SPK-E\
RST\
EROM SDEN\ SDATA
WP\
RxCmd
NC 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
MX93521
EAD2
EAD3
EAD4
EAD5
EAD6
FLL\
MX93521
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
EAD7 NC EAD8 EAD9 EAD10 EAD11 EAD12 EAD13 EAD14 GND VDSP EAD15 VDSP SCLK VDSP DSPDR DA\ CMCLK CFS DSPDX SOUT BIO0 BIO1 BIO2 BIO3
12345678910111213141516171819202122232425
NC
LED2\
LED1\
CE1\
CE2\
NC
ALE
CLE
X32I
X32O
P A CKB\
S/P
SIN
CODEC TYPE
R/B
MTYPE0
SHOLD\
MTYPE2
MTYPE1
GND
VDSP
BIO7
BIO6
BIO5
BIO4
P/N:PM0426
REV. 2.2, JAN 20, 1998
4
Page 5
100-PQFP PIN ASSIGNMENT¡G
ED10
ED9
ED8
ED7
ED6
ED5
ED4
ED3
ED2
ED1
GND
VDSP
ED0
HOLD\
HOLDA\
EDCE\
EPCE\
ERD\
EWR\
EAD0
EAD1
EAD2
EAD3
EAD4
EAD5
EAD6
FLL\
GND
EAD7
EAD8
MX93521
ED11 ED12 ED13
VDSP
GND ED14 ED15
XTLI
XTLO
NC NC NC NC
MIC-E\
SPK-E\
RST\
EROM SDEN\ SDATA
WP\
8079787776757473727170696867666564636261605958575655545352
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
1234567891011121314151617181920212223242526272829
NC
NC
NC
CE1\
CE2\
LED2\
LED1\
RxCmd
NC
ALE
CLE
MX93521
S/P
X32I
X32O
P A CKB\
SIN
R/B
MTYPE0
CODECTYPE
SHOLD\
MTYPE2
MTYPE1
GND
VDSP
BIO7
BIO6
BIO5
BIO4
BIO3
51
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30
BIO2
EAD9 EAD10 EAD11 EAD12 EAD13 EAD14 GND VDSP EAD15 VDSP SCLK VDSP DSPDR PHRDB\ CMCLK CFS DSPDX PHWRB\ BIO0 BIO1
P/N:PM0426
REV. 2.2, JAN 20, 1998
5
Page 6
MX93521
4.PIN DESCRIPTION
4.1 DSP BASIC (22 PINS ) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
VDSP 23,43,69,84,41,39 20,40,66,81,38,36 5V power source GN D 24,44,53,70,85 21,41,67,82 Ground FLL\ I 54 51 FLL\ low to set MX93521 running from single
low crystal XTLI 8 8 8 5 32.256Mhz Crystal input XTLO 89 8 6 32.256Mhz Crystal output RST\ I 96 9 3 Po wer on Reset, Schmite triggered PACKB\ OA 1 4 1 1 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. HOLD\ I 67 64 Hold DSP clock down and release bus HOLDA\ OA 66 63 Ack to HOLD\ signal EROM I 97 94 Disable internal ROM, use external ROM only SCLK I 40 37 T ransmit/receive data clock X32O OA 13 10 32.768Khz Crystal output X32I 12 9 32.768Khz Crystal input
4.2 DSP EXTERNAL MEMORY(40 pins) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
EAD0-EAD15 OB 61~55,52~45,42 58~52,50,48~42,39 Address Bus ED0~ED15 I/OB 68,71~83,86~87 65,68~80,83~84 Data Bus EDCE\ OB 6 5 62 External data chip enable EPCE\ OB 6 4 61 Resered for future use ERD\ OB 6 3 60 Flash external read EWR\ OB 6 2 59 Flash external write NC 90~93 87~90 No connection
4.3 uP INTERF ACE(10 pins)
4.3.1 Serial Interface:(UPMODX=1) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
DA \ O C 37 3 4 Data Availab le (Output port OPT17) SOUT O C 33 30 Serial Data Out (Output port OPT16) BIO(7..0) OB 25~32 22~29 Drive LCD Display
P/N:PM0426
REV. 2.2, JAN 20, 1998
6
Page 7
MX93521
4.3.2 Parallel Interface:(UPMODX=0) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
PHRDB\ I 3 7 34 Host read PHWRB\ I 33 30 Host write PHDB(7:0) B 25~32 22~29 Host data b us
4.4 CODEC (4 pins) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
CFS OB 35 3 2 Codec frame sync, 8Khz CMCLK OB 36 33 Codec master clock, 1.536Mhz DSPDX OA 34 31 Codec data transmit DSPDR I 38 35 Codec data receive
4.5 OPT:OUT POR T(16 pins) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
CL E OC 1 1 8 Flash memory command latch enable ALE OC 1 0 7 Flash memory address latch enable N.C. 6,9 3,6 CE2\ OC 8 5 Chip enable 2 CE1\ OC 7 4 Chip enable 1 LED1\ OC 5 2 LED1 enable LED2\ OC 4 1 LED2 enable
DR-V5
N.C. RxCmd
DR-V5
OC 1 98 Received Command (toggle when re
WP\ OC 10 0 97 Flash memory write protection SD ATA OC 99 96 Serial data transfer (for MX93000) SDEN\ O C 98 95 Serial data enable (for MX93000) SPK-E O C 95 92 Speaker enable,Hi-active MIC-E\ OC 94 91 Microphone enable
2,3
ceived command from HOST)
P/N:PM0426
REV. 2.2, JAN 20, 1998
7
Page 8
MX93521
4.6 IPT:INPUT POR T(8 pins) SYMBOL TYPE PIN # (PQFP) PIN # (LQFP) DESCRIPTION
MTYPE1 I 2 2 19 Memory type select 1 MTYPE2 I 2 1 18 Memory type select 2 SHOLD\ I 2 0 17 Power down detect MTYPE0 I 1 9 16 Memory type select 0 R/B I 1 8 1 5 Flash memory Ready/Busy CODECTYPE I 1 7 14 Codec select (TP3054B or MX93000) SIN I 1 6 1 3 Serial data input S/P\ I 15 1 2 Serial/paralled interface
NOTE:O A:2mA,OB:4mA,OC:16mA output current
P/N:PM0426
REV. 2.2, JAN 20, 1998
8
Page 9
5. HOST CONTROLLER INTERFACE
5.1 HOST CONTROLLER INTERFACE
5.1.1 Configuration
MX93521
HOST
HOST
OUT1
OUT2
IN1
IN2
OUT3
IN3
OUT1
OUT2
IN1
OUT3
D0-7
IN2
40
16
37
33
96
1
SERIAL MODE
33
37
14
16
96
32-25
1
40
SCLK
SIN
DA\
SOUT RST\ RxCmd
SCLK PHWRB\ PHRDB\ PACKB\ SIN RST\ PHDB0-7 RxCmd
MX93521
PHILO\
MX93521
S/P\
S/P\
15
VCC
39
VCC
15
Gnd
P/N:PM0426
PARALLEL MODE
REV. 2.2, JAN 20, 1998
9
Page 10
MX93521
5.1.2 Timing Diagrams
HOST Write Timing (Parallel Mode)
PHDB0-7
ts
PHWRB\
SCLK
(INT1\)
RxCmd
HOST Write Timing (Parallel Mode)
tp
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
th
tp
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 w ait 50 usec before sending next command byte to MX93521.
HOST Read Timing (Parallel Mode)
PHDB0-7
ts
PACKB\
ta
PHRDB\
HOST Read Timing (Parallel Mode)
When MX93521 write data to PHDB0-7, P ACKB\ will become lo w. 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.
P/N:PM0426
REV. 2.2, JAN 20, 1998
10
Page 11
HOST Write Timing (Serial Mode)
HOST output data SIN
HOST output clock SCLK
MX93521
ts
tp
tp
tp
RxCmd
DSP Sampling from SIN
HOST send data 61H tp DSP
start d01d10d20d30d4
0
61H
d5
d61d70stop
1
HOST Write Timing (Serial Mode)
RxCmd become low when start bit is received from HOST and toggle state when MX93521 received each follo wing data bit or stop bit from HOST . Thus, instead of waiting f or a fixed period of time (50us) to send a command bit, HOST could send the following command bit as soon as RxCmd toggled from pre vious state. The dela y between the falling edge of SCLK and the RxCmd togglling time is range from 1 us to 50 us
P/N:PM0426
REV. 2.2, JAN 20, 1998
11
Page 12
HOST Read Timing (Serial Mode)
DSP inform HOST
Data Available
DA\
>50us, clock rate
HOST output clock
SCLK
5-40us, SOUT response time
DSP output data
SOUT
HOST Sampling from
SOUT
DSP send data 49H
startx
to HOST
d0
d1
1
d2
0
d3
0
1
49H
HOST Read Timing (Serial Mode)
d4
MX93521
d5
0
0
d61d70stop
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 Interface Timing:
Min Max Data setup time (ts) 10ns Data hold time (th) 2ns Data process time (tp) 1us 50us PACKB\ acknowledge time (ta) 5ns
P/N:PM0426
REV. 2.2, JAN 20, 1998
12
Page 13
MX93521
5.2 MX93521 IO INTERF ACE
5.2.1 Output Port PIN Power do wn state
LED1\ O 5 LED1 CONTROL High LED2\ O 4 LED2 CONTROL High UO0* O 3 User Programmable Output Port High UO1* O 2 User Programmable Output Port High UO2* O 1 User Programmable Output Port High
* User Programmable Output P ort are only availab le in DR-V3 and DR-V4 v ersion
5.2.2 Flash Memory Interface
MX93521 PIN Flash Power down state
MTYPE1 I 2 2 GN D 0: SAMSUNG MTYPE2 I 2 1 GN D 0: SAMSUNG MTYPE0 I 19 Vcc (1:KM29N16000, 0:KM29N040) CLE O 1 1 CLE Low ALE O 10 ALE Lo w ERD\ O 63 RD\ CE2\ O 8 CE2\ High CE1\ O 7 CE1\ High EWR\ O 62 WR\ R\B I 18 R/B\ WP\ O 100 WP\ Low ED0 IO 68 IO0 ED1 IO 71 IO1 ED2 IO 72 IO2 ED3 IO 73 IO3 ED4 IO 74 IO4 ED5 IO 75 IO5 ED6 IO 76 IO6 ED7 IO 77 IO7
5.2.3 CODEC Interface
MX93521 PIN Power down state
CODECTYPE I 1 7 (1: MX93000, 0:TP3054) DSPDR O 38 DSPDX O 34 CFS O 35 CMCLK O 36 SDA T A O 99 High SDEN\ O 98 High SPK_E O 9 5 Lo w MIC_E\ O 94 High
P/N:PM0426
13
REV. 2.2, JAN 20, 1998
Page 14
MX93521
5.2.4 uP Serial Mode Interface
MX93521 uP LCD
RxCmd O IN3 (optional) MX93521 Rxd Command Indicator S/P\ I Vcc High, Serial Mode SCLK I OUT1 Serial Clock DA \ O IN1 Data Available SOUT O IN2 Serial Data Output SHOLD\ I OUT3 DSP HOLD SIN I OUT2 Serial Data Input RST\ I OUT4 DSP RESET BIO2 O E BIO3 O RS BIO4 O D4 BIO5 O D5 BIO6 O D6 BIO7 O D7
5.2.5 uP Parallel Mode Interface
MX93521 uP LCD
S/P\ I GN D Lo w , P ar allel Mode SCLK I OUT1\ PHRDB\ I OUT2 Read PHWRB\ I OUT1 Write SHOLD\ I OUT3 DSP HOLD RST\ I OUT4 DSP RESET PHILO\ I Vcc High, Byte Mode SIN I IN 1 SIN should be connected to PACKB\ externally PACKB\ O IN1 Acknowledge RxCmd O IN2 (optional) MX93521 Rxd Command Indicator PHDB0 I/O D0 PHDB1 I/O D1 PHDB2 I/O D2 PHDB3 I/O D3 PHDB4 I/O D4 PHDB5 I/O D5 PHDB6 I/O D6 PHDB7 I/O D7
When SHOLD\ is low , MX93521 will go to pow er down mode. When SHOLD\ change from low to high, DSP will power up and send A CK0 to HOST
P/N:PM0426
14
REV. 2.2, JAN 20, 1998
Page 15
MX93521
6. HOST INTERFACE SOFTWARE COMMAND SET SUMMARY
6.1 HOST TO MX93521 COMMANDS
When MX9521 received a command from HOST, it will always respond the command with a ac knowledge . The valid commands and corresponded ackno wledge are described as below.
D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 B B B 008H POINT T O SPECIFIC MESSA GE 0 0 0 1 0 B B B 010H GET CURRENT MESSAGE INFOMATION 0 0 0 1 1 B B B 018H DELETE MESSAGE(S) 0 0 1 0 0 B B B 020H REC/PLAY MISC. FUNCTION 0 0 1 0 1 B B B 028H RECORD MESSAGE 0 0 1 1 0 B B B 030H PLAY MESSAGE 0 0 1 1 1 B B B 038H SKIP FORW ARD/BA CKWARD PLAY 0 1 0 0 0 B B B 040H MISC. FUNCTION 0 1 0 0 1 B B B 048H TONE GENERATOR 0 1 0 1 1 B B B 058H MX93000 CODEC MISC. FUNCTION 0 1 1 0 0 B B B 060H LED DISPLAY 0 1 1 0 1 B B B 068H WRITE COMPRESSED VOICE D A TA TO MX93521 0 1 1 1 0 B B B 070H LCD COMMAND 0 1 1 1 1 B B B 078H LCD D A T A 1 0 0 0 0 B B B 080H OUTPUT COUNTER 1 0 0 0 1 B B B 088H Download/Upload Message 1 0 0 1 0 B B B 090H Set Silence level
DR-V4
1 0 0 1 1 B B B 098H Set ROM/RAM wait state 1 0 1 0 0 B B B 0A0H Read/Write RAM 1 0 1 0 1 B B B 0A8H Read ROM
DR-V4
DR-V5
1 0 1 1 x B B B 0BxH Data Bank Functions 1 1 0 0 x B B B 0CxH Data Bank Functions 1 1 0 1 0 B B B 0D0H Data Bank Functions 1 1 1 1 1 B B B 0F8H Play Voice Prompt
DR-V4
BBB:BYTES SEND FOLLOWING THIS COMMAND
DR-V5
DR-V5
DR-V4
DR-V4
DR-V4
MX93521 T O HOST ACKNO WLEDGES (OK Messages)
ACK0: 0A0H, NO D A TA ACCOMPNIED THIS A CKNOWLEDGE ACK1: 0A1H, 1 DATA ACCOMPNIED THIS ACKNO WLEDGE ACK2: 0A2H, 2 DATA ACCOMPNIED THIS ACKNO WLEDGE ACK6: 0A6H, 6 DATA ACCOMPNIED THIS ACKNO WLEDGE
MX93521 TO HOST A CKNOWLEDGES (ERR OR Messgaes)
ERR0(0E0H): Command ERROR ERR1(0E1H): Out of memory , MX93521 cannot perform RECORD function ERR2(0E2H): No message found, MX93521 cannot perform PLA Y function ERR3(0E3H): No Flash Memory Detected when power on ERR4(0E4H): MX93521 Busy ERR5(0E5H): Vocoder Mode , Play b uff er 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
P/N:PM0426
15
DR-V4
REV. 2.2, JAN 20, 1998
Page 16
6.2 MX93521 Power On Initialization Flo w Chart
ST ART
Clear MX93521 internal RAM read
systemsetup serial or parallel?
TP3054 or MX93000?
4M or 16M Flash memory init LCD
MX93521
NO
Flash memory
ID correct?
Is data link in
Flash memory correct?
NO
Is check data link
2nd time?
Format Flash memory &
create data link
Flash memory error
send CMD E3H
MX93521 Normal operation
YES
YES
NO
Flash memory OK send CMD
A1H+xxH
0A1H+000H DETECT SAMSUNG KM29N040 FLASH MEMORY 0A1H+001H DETECT SAMSUNG KM29N16000 FLASH MEMORY 0A1H+002H RESERVED 0A1H+003H RESERVED 0A1H+004H RESERVED 0A1H+005H RESERVED 0A1H+006H RESERVED 0A1H+007H RESERVED ERR3(0E3H) NO MEMORY DETECTED
P/N:PM0426
16
REV. 2.2, JAN 20, 1998
Page 17
MX93521
6.3 HOST TO MX93521 COMMAND DESCRIPTIONS
COMMAND 09H
FUNCTION: Move Message Pointer RETURN: ACK0 RETURN: ERR6, IF REACH THE FIRST OR THE LAST MESSA GE IN THE MEMOR Y
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00001001 DMMMMMMM
IF CURRENT MESSAGE NUMBER IS N, D=0, JUMP FORW ARD D=1, JUMP BACKW ARD M=001H, POINT T O THE MESSA GE (N+1) M=001H, POINT T O THE MESSA GE (N-1) M=002H, POINT T O THE MESSA GE (N+2) M=002H, POINT T O THE MESSA GE (N-2) M=07FH, POINT T O THE LAST MESSA GE M=07FH, POINT TO THE FIRST MESSA GE
COMMAND 0AH
DR-V5
FUNCTION: P oint to specefic message RETURN: ACK0 RETURN: ERR2, If no such message found in the FLASH memory
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00001010 M M M M M M M M Message Number (High Byte) M M M M M M M M 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 09 H 0 1H Rewind to the previous message 09 H 81 H Forward to the last message 0 9 H 7F H Rewind to the the first message 09 H F F H Move Message P ointer to message #258 (102H) 0AH 01 H 02 H
P/N:PM0426
REV. 2.2, JAN 20, 1998
17
Page 18
MX93521
COMMAND 10H
FUNCTION: GET CURRENT MESSA GE INFOMA TION RETURN: ACK6, DA TA1, DATA2, DAT A3, D AT A4, D A TA5, D A TA6 or ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0001000 0
D ATA1: HIGH BYTE OF CURRENT MESSAGE NUMBER D ATA2: LOW BYTE OF CURRENT MESSAGE NUMBER DATA 3: USER DA TA #1 DATA 4: USER DA TA #2 DATA 5: USER DA TA #3 DATA 6: USER DA TA #4
*RETURN ACK0 WHEN NO MESSAGE IN THE MEMOR Y SAMPLES:
GET CURRENT MESSAGE INFOMATION 10 H
COMMAND 11H COMMAND 12H
COMMAND 13H COMMAND 14H
FUNCTION: ATT ACH USER DA T A TO CURRENT MESSAGE RETURN: ACK0 or ERR0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00010BB B
USER DAT A #1 USER DAT A #2 USER DAT A #3 USER DAT A #4
* The USER D ATA is default to 0FFH * Any data writen with this command will be AND with previous data * When USER D ATA #1 is 055H. If write data 0AAH to it again, USER D ATA #1 will become 0H * If no message in the FLASH memory , MX93521 will return ERR0
SAMPLES:
A TTACH D A TA 12H TO CURRENT MESSA GE 11 H 12H A TTACH D A TA 12H/34H TO CURRENT MESSA GE 12 H 12H 34H A TTACH D A TA 12H/34H/56H T O CURRENT MESSAGE 1 3H 12H 34H 56 H A TTACH D A TA 12H/34H/56H/78H TO CURRENT MESSA GE 14 H 12H 34H 56H 78H
P/N:PM0426
REV. 2.2, JAN 20, 1998
18
Page 19
MX93521
COMMAND 19H
FUNCTION: DELETE MESSAGE(S) RETURN: ACK0 after deletion completed
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 0 1 1 0 0 1 DM M M M M M M
IF CURRENT MESSAGE NUMBER IS N D=0, DELETE FORW ARD M=001H, DELETE ONE MESSAGE AFTER MESSAGE #N (MSG #N WILL BE DELETED) M=002H, DELETE TW O MESSA GES AFTER MESSA GE #N (MSG #N, #N+1 WILL BE DELETED) M=07FH, DELETE ALL MESSAGES AFTER MESSA GE #N (MSG #N, #N+1,.., #LAST WILL BE DELETED) D=1, DELETE BACKW ARD M=001H, DELETE ONE MESSAGE BEFORE MESSAGE #N (MSG #N WILL BE DELETED) M=002H, DELETE TW O MESSAGES BEFORE MESSA GE #N (MSG #N, #N-1 WILL BE DELETED) M=07FH, DELETE ALL MESSAGES BEFORE MESSA GE #N (MSG #N, #N-1,.., #1 WILL BE DELETED)
SAMPLES:
DELETE CURRENT MESSAGE 19 H 01 H DELETE CURRENT & NEXT MESSAGE 19 H 02 H DELETE CURRENT & PREVIOUS MESSAGE 19 H 82 H DELETE ALL MESSAGES AFTER & INCLUDE CURRENT MESSAGE 19H 7F H DELETE ALL MESSAGES BEFORE & INCLUDE CURRENT MESSAGE 1 9 H FF H
COMMAND 21H
FUNCTION: REC/PLAY MISC FUNCTION RETURN:
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00100001 MMMMMMMM
* THIS COMMAND ONL Y V ALID WHEN IN RECORD/PLAY MODE
M Function Acknowledge Mode 01 H Stop Recording ACK2,CHKSUM_H,CHKSUM_L REC 01 H Stop Playing ACK0 PLAY 02 H REC/PLA Y PA USE ON/OFF ACK0 REC/PLAY 04 H Turn on counter display on LCD ACK0 REC/PLA Y 08 H Delete playing message ACK0 PLAY 10H Set REPEAT start point ACK0 PLAY 20 H Set REPEAT end point ACK0 PLAY 40 H Disable REPEAT mode ACK0 PLAY 80H Set Mark ACK0 REC/PLA Y
If HOST send command 21H/04H after REC or PLAY star t, MX93521 will automatically display a 5-digit REC or PLAY counter MM:SS at current LCD cursor. MM is min ute. SS is second.
P/N:PM0426
REV. 2.2, JAN 20, 1998
19
Page 20
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 : A CK1, FORMA T (V OCODER mode, FORMAT=81H when recording with new format)
(VOCODER mode, FORMAT=80H when recording with old format)
RETURN: ERR1, WHEN OUT OF FLASH MEMORY, CANNO T PERFORM RECORD
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00101BBB
USER DAT A #1 USER DAT A #2 USER DAT A #3
USER DAT A #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 MESSAGE WITHOUT USER D A TA 28 H RECORD MESSAGE WITH 1 USER DAT A 12H 29 H 12 H RECORD MESSAGE WITH 2 USER D AT A 12H, 34H 2AH 12 H 34 H RECORD MESSAGE WITH 3 USER D AT A 12H, 34H, 56H 2BH 12 H 34H 56H RECORD MESSAGE WITH 4 USER DAT A 12H, 34H, 56H, 78H 2CH 1 2H 34 H 56H 78 H
COMMAND 30H COMMAND 31H
FUNCTION: PLA Y MESSAGE RETURN: ACK2, MSGNUM_H, MSGNUM_L, ACK0(Vocoder mode) RETURN: ERR2, No Message to play
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00110001
M M M M M M M M LENGTH (sec / unit) M=000H, PLA Y TILL THE END OF MESSAGE M=001H, PLA Y CURRENT MESSA GE FOR 1 SEC M=080H, PLA Y CURRENT MESSA GE FOR 128 SEC OR REACH THE END OF MESSAGE M=0FFH, PLA Y CURRENT MESSA GE FOR 255 SEC OR REA CH THE END OF MESSA GE
* 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 30H
PLAY MESSAGE TILL THE END OF MESSAGE 31H 00H
PLA Y FIRST 3 SEC OF CURRENT MESSAGE 31H 03H
P/N:PM0426
20
REV. 2.2, JAN 20, 1998
Page 21
MX93521
COMMAND 32H
FUNCTION: Skip first M frames in the message with playback RETURN: ACK2,MSGNUM_H,MSGNUM_L
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00011 010 H H H H H H H H Frame number (Hi-byte) L L L L L L L L Frame n umber (Lo-byte) , 20ms/unit
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: JUMP T O MARK RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 001 11001
DMM MMMMM D=0, FORW ARD D=1, BACKWARD M=00H, Normal Playing 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
-
-
Pos#A
mark#2
-
-
Pos#B
mark#3
-
mark#4
-
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.
P/N:PM0426
21
REV. 2.2, JAN 20, 1998
Page 22
MX93521
COMMAND 3AH
FUNCTION: F AST FORW ARD/BACKW ARD PLA YING RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
001110 10
DMMMMMMM
U U U U U U U U Unit Length (20ms/unit)
D=0, FORW ARD 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, BACKW ARD M=01H, PLA Y 1 UNIT, REWIND 1 UNIT (REPEAT SAME UNIT) M=02H, PLA Y 1 UNIT, REWIND 2 UNIT (1x SPEED REWIND) M=03H, PLA Y 1 UNIT, REWIND 3 UNIT (2x SPEED REWIND) M=05H, PLA Y 1 UNIT, REWIND 5 UNIT (4x SPEED REWIND) .. M=7FH, PLA Y 1 UNIT, REWIND 127 UNIT (126x SPEED)
SAMPLES:
NORMAL PLA YING 39 H 0 0H
FORW ARD T O THE 1ST FOUND MARK 39 H 0 1H
REWIND T O THE 2ND FOUND MARK 39 H 8 2H
NORMAL PLA YING 3AH 00 H 01 H
PLAY 20ms and SKIP 20ms (2x speed) 3A H 01H 0 1H
PLA Y 20ms and REWIND 60ms (2x speed) 3A H 83 H 01 H
PLAY 40ms and SKIP 40ms 3AH 01 H 02H
PLAY 100ms and SKIP 200ms 3A H 02H 0 5H
PLA Y 100ms and REWIND 200ms 3A H 82H 0 5H
P/N:PM0426
REV. 2.2, JAN 20, 1998
22
Page 23
MX93521
COMMAND 41H
FUNCTION: MISC FUNCTION RETURN:
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
010000 01
MMMMMM MM
M Function ACK OWLEDGE REMARK
01H Toggle V OCODER mode ACK0
02 H Append Recording ACK0
03 H Overwrite Recording ACK0
04 H T oggle SPKR on/off ACK0 valid only when using TP3054
DR-V5
DR-V4
DR-V4
DR-V4
DR-V4
DR-V4
DR-V4
DR-V4
DR-V4
DR-V4
ACK0 ACK0 ACK0
ACK0 ACK0 ACK0 ACK0 ACK0
ACK0 ack after erase complete
ACK2,BLKCNT_H, BLKCNT_L ACK2,MIN,SEC ACK2,MIN,SEC ACK2,MIN,SEC
ACK2,CS_H,CS_L VOCODER mode
05H Voice Activated Recording
06 H Linear mode codec interface
07 H u-law mode codec interface
08 H T oggle MIC on/off ACK0 valid only when using TP3054
09H Play accross message boundary
0A H Play within message boundary
0BH4Direct CODEC Access
0CH5Old data format
0DH5New data format
DR-V5
DR-V5
10H1Erase all message ACK0 ack after erase complete
11H2Hard erase flash memory
12 H Reinitial flash memory ACK0 ack after erase complete
20H Check busy/Idle status ACK0 / ERR4
40 H Check available block ACK2,BLKCNT_H, BLKCNT_L
41H Check total block
DR-V4
42H Check available time
43H Check total time
DR-V4
44H Check message length
80H3Overrun counter ACK2,CNT_H,CNT_L VOCODER mode
81H3Get Message Checksum
1
The command 41H/10H er ase all data in good blocks. After b lock 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.
P/N:PM0426
23
REV. 2.2, JAN 20, 1998
Page 24
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, w e 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 in V OCODER 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 disab le 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 MX93521 V3. Ne w data format is used in MX93521 V4 and V5. Ne w format supports silence compression. It is alw ays set to use ne w data format in MX93521 V4. MX93521 V5 will reset to use new data format after power on, RECORD or PLA Y. So , if HOST want to RECORD or PLA Y 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: DETECT M FRAMES SILENCE ON THE PLAY/RECORD MODE RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 1 0 00 1 0 H H H H H H H H Silence Frame number (Hi-byte) L L L L L L L L Frame number (Lo-byte) , 20ms/unit
SAMPLES:
DETECT 500 ms SILENCE ON THE PLAY/RECORD MODE 4 2 H 00 H 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 48H
DR-V5
FUNCTION: T one Off RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 0 0 1 0 0 0 T one Off
COMMAND 49H
FUNCTION: BEEP GENERATOR RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 0 0 1 0 0 1 1000Hz T ONE (100ms on / 100ms off) C C C C C G G G GAIN
CCCCC: BEEP COUNT , MAXIMUM 31 BEEPS
P/N:PM0426
REV. 2.2, JAN 20, 1998
24
Page 25
MX93521
COMMAND 4BH
FUNCTION: T ONE GENERA TO R RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01001011 TONE L L L L L G G G LENGTH (100ms/unit) & GAIN F1 5 F14 F 13 F1 2 F1 1 F10 F9 F8 TONE FREQ (HIGH BYTE) F7 F6 F5 F4 F3 F2 F1 F0 TONE FREQ (LOW BYTE)
GGG: 000 GAIN= -18 dB, 10 0 GAIN= -42 dB
00 1 GAIN= -24 dB, 10 1 GAIN= -48 dB 01 0 GAIN= -30 dB, 11 0 GAIN= -56 dB 01 1 GAIN= -36 dB, 11 1 GAIN= -62 dB
COMMAND 4EH COMMAND 4FH
DR-V5
DR-V5
FUNCTION: DU AL TONE GENERAT OR RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01001110 F15 F 14 F1 3 F12 F1 1 F 10 F9 F8 TONE#1 FREQ (HIGH BYTE) F7 F6 F5 F4 F3 F2 F1 F0 TONE#1 FREQ (LOW BYTE) F15 F 14 F1 3 F12 F1 1 F 10 F9 F8 TONE#2 FREQ (HIGH BYTE) F7 F6 F5 F4 F3 F2 F1 F0 TONE#2 FREQ (LOW BYTE) G1 G1 G1 G1 G1 G1 G1 G 1 Scale for TONE#1 G2 G2 G2 G2 G2 G2 G2 G 2 Scale for TONE#2
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 010011 11 F15 F14 F13 F1 2 F1 1 F1 0 F9 F8 TONE#1 FREQ (HIGH BYTE) F7 F6 F5 F4 F3 F2 F1 F0 TONE#1 FREQ (LOW BYTE) F15 F14 F13 F1 2 F1 1 F1 0 F9 F8 TONE#2 FREQ (HIGH BYTE) F7 F6 F5 F4 F3 F2 F1 F0 TONE#2 FREQ (LOW BYTE) G1 G1 G1 G1 G1 G1 G1 G 1 Scale for TONE#1 G2 G2 G2 G2 G2 G2 G2 G 2 Scale for TONE#2 L L L L L L L L Length (10ms/unit)
P/N:PM0426
REV. 2.2, JAN 20, 1998
25
Page 26
MX93521
F = (FREQ/8000)*65536
TONE (#) FREQ (HZ) F (DECIMAL) F (HEX) F (HIGH) F (LO W)
C5 523.25 4286.464 10BEH 10H BEH D5 587.33 4811.407 12CBH 12H CBH E5 659.26 5400.658 1519H 15H 19H F5 698.46 5721.784 165AH 16H 5AH G5 783.99 6422.446 1916H 19H 16H A5 880.00 7208.960 1C29H 1CH 29H B5 987.77 8091.812 1F9CH 1FH 9CH C6 1046.50 8572.928 217DH 21H 7DH D6 1174.66 9622.815 2597H 25H 97H E6 1328.51 10883.154 2A83H 2AH 83H F6 1396.91 11443.487 2CB3H 2CH B3H G6 1567.98 12844.892 322DH 32H 2DH A6 1760.00 14417.920 3852H 38H 52H B6 1975.53 16183.542 3F38H 3FH 38H C7 2093.00 17145.856 42FAH 42H F AH
DTMF F1 (Hz) F1 (Dec) F1 (Hex) F2 (Hz) F2 (Dec) F2 (Hex)
1 1209 9904.1 26B0H 697 5709.8 164EH 2 1336 10944.5 2AC1H 69 7 5709.8 164EH 3 1477 12099.6 2F44H 697 5709.8 164EH A 1633 13377.5 3442H 697 5709.8 164EH 4 1209 9904.1 26B0H 770 6307.8 18A4H 5 1336 10944.5 2AC1H 770 6307.8 18A4H 6 1477 12099.6 2F44H 770 6307.8 18A4H B 1633 13377.5 3442H 770 6307.8 18A4H 7 1209 9904.1 26B0H 852 6979.6 1B44H 8 1336 10944.5 2AC1H 852 6979.6 1B44H 9 1477 12099.6 2F44H 852 6979.6 1B44H C 1633 13377.5 3442H 852 6979.6 1B44H * 1209 9904.1 26B0H 941 7708.7 1E1DH 0 1336 10944.5 2AC1H 941 7708.7 1E1DH # 1477 12099.6 2F44H 941 7708.7 1E1DH D 1633 13377.5 3442H 941 7708.7 1E1DH
*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 desirab le DTMF tone lev el
P/N:PM0426
REV. 2.2, JAN 20, 1998
26
Page 27
MX93521
SAMPLES:
PLAY 2 BEEPS W/ -42DB GAIN 49H 14H PLA Y TONE #C5 (523HZ) W/ -36DB GAIN FOR 2 SECOND 4BH A3H 10 H BEH PLA Y TONE #E5 (659HZ) W/ -48DB GAIN FOR 1 SECOND 4BH 55H 15 H 19 H Play DTMF-1 (High tone is 6 dB higher than low tone) 4EH 26H B0H 16 H 4EH FF H 7FH Play DTMF-0 (High tone is 6 dB lower than low tone) 100ms 4F H 2 AH C1 H 1EH 1 D H 3F H 7F H 0AH STOP PLA YING DTMF T ONE 4 8H
COMMAND 51H
FUNCTION: WRITE OUTPUT PORT UO0-2 RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01 0 10 0 0 1 X X X X X UO2 UO1 UO0
*CMD 51H is only available in version DR-V3 and DR-V4
COMMAND 5AH
FUNCTION: MX93000 CODEC MISC. FUNCTION RETURN: ACK0 or ERR7
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01011010 XXXXXA2A1A0 D7 D6 D5 D4 D3 D2 D1 D0
*Please reference to MX93000 data sheet for the definition of the MX93000 registers
SAMPLES:
T urn on MX93000 MIC path 5AH 00H 48 H T urn off MX93000 MIC path 5A H 00H 01H Set MIC to maxima gain 5A H 02H 0F H Set MIC to minima gain 5A H 02H 00H T urn on MX93000 SPKR path 5AH 00 H 03 H T urn off MX93000 SPKR path 5A H 00H 01H Set SPKR to maxima gain 5A H 03H 00H Set SPKR to minima gain 5A H 03H 0F H
P/N:PM0426
REV. 2.2, JAN 20, 1998
27
Page 28
MX93521
COMMAND 61H
FUNCTION: LED DISPLA Y FUNCTION RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01100001 LED2 LED1 T T T T T T
LED1=1, LED1 ON (MX93521 PIN5 LOW) LED2=1, LED2 ON (MX93521 PIN4 LOW) TTTTTT=0, NO FLASH TTTTTT¹0, FLASH TIMER (64ms/unit)
SAMPLES:
LED1 ST AY ON 61 H 40 H LED2 ST AY ON 61 H 80 H LED1 FLASH (512ms ON / 512ms OFF) 61 H 48 H LED2 FLASH (1024ms ON / 1024ms OFF) 61 H 90 H LED1 & LED2 FLASH (128ms ON / 128ms OFF) 61 H C2 H LED1 & LED2 OFF 61H 00H
P/N:PM0426
REV. 2.2, JAN 20, 1998
28
Page 29
MX93521
COMMAND 6AH COMMAND 6CH COMMAND 6EH
FUNCTION: WRITE COMPRESSED VOICE DAT A TO MX93521 FOR PLAYING (VOCODER mode) RETURN: ACK0 / ERR5 BBB = 010, 100, 110
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 1 0 1 B B B WRITE DA T A T O 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 PLA Y function. Once PLAY BUFFER have no enough data to pla y, 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 PLA Y 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 ne xt 6AH/6CH/6EH command If received ERR5, wait 20-180 ms, then go bac k 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: T urn off SPKR STEP8: Turn off V OCODER mode (send command 41H/01H).
P/N:PM0426
REV. 2.2, JAN 20, 1998
29
Page 30
MX93521
COMMAND 70H COMMAND 71H COMMAND 72H COMMAND 73H COMMAND 74H COMMAND 75H COMMAND 76H COMMAND 77H
FUNCTION: WRITE LCD D A TA BBB = 000, 001, 010, 011, 100, 101, 110, 111 RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01110BBBLCD DATA
BYTE#1 BYTE#2 BYTE#3 BYTE#4 BYTE#5 BYTE#6 BYTE#7
* THIS COMMAND ONLY V ALID WHEN MX93521 SET TO SERIAL INTERF A CE MODE
SAMPLES:
DISPLA Y [ABCD] ON LCD LINE 1 7 4H 41H 42H 43H 44H
COMMAND 79H
FUNCTION: WRITE LCD COMMAND RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01111001 C7 C6 C5 C4 C3 C2 C1 C0
* THIS COMMAND ONLY V ALID WHEN MX93521 SET TO SERIAL INTERF A CE MODE
P/N:PM0426
REV. 2.2, JAN 20, 1998
30
Page 31
MX93521
LCD COMMAND SET:
C7 C6 C5 C4 C3 C2 C1 C0 0000000101H Clear Display 0000001X02H Cursor return Home 0000010004H Cursor-1, no shift 0000010105H Cursor-1, shift 0000011006H Cursor+1, no shift 0000011107H Cursor+1, shift 0000100008H Display off 000011000CH Display on, Cursor off, Blink off 000011010DH Display on, Cursor off, Blink on 000011100EH Display on, Cursor on, Blink off 000011110FH Display on, Cursor on, Blink on 000100XX10H Move Cursor left 000101XX14H Move Cursor right 000110XX18H Display shift left 000111XX1CH Display shift right 1XXXXXXX80H-FFH Set DD RAM address 1000000080H Set cursor to the start of 1st line 11000000C0H Set cursor to the start of 2nd line
SAMPLES:
CLEAR LCD DISPLA Y 79 H 01 H SET CURSOR T O THE START OF LINE 1 79 H 80H SET CURSOR T O THE START OF LINE 2 79 H C0 H SET CURSOR T O THE LINE 2, 3RD COLUMN 7 9H C2 H MOVE CURSOR LEFT 79 H 10 H MOVE CURSOR RIGHT 79H 14H
EXAMPLE:
To Display [RECORD ] at line #1 & [MM:SS] at line #2
CLEAR LCD DISPLA Y & RETURN CURSOR T O HOME 79 H 01 H DISPLA Y [RECORD ] AT LCD LINE 1 76 H 52 H 4 5 H 43 H 4F H 52H 44 H SET CURSOR T O THE LINE 2, 4TH COLUMN 79 H C3 H TURN ON COUNTER DISPLAY ON LCD 21H 04H
P/N:PM0426
REV. 2.2, JAN 20, 1998
31
Page 32
MX93521
COMMAND 80H
FUNCTION: Request f or RECORD/PLA Y counter RETURN: ACK2, MINUTE, SECOND
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10000000
COMMAND 81H
FUNCTION: Request f or continuously RECORD/PLA Y counter RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10000001 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/PLA Y stop.
COMMAND 88H
DR-V4
FUNCTION: Download Message RETURN: ACK1, FORMA T (VOCODER mode, FORMAT=81H if message is recorded with new format)
(VOCODER mode, FORMAT=80H if message is recorded with old format)
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10001000
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 Chec ksum is calculated by EXCLUSIVE OR all speech data in word format.
COMMAND 89H
DR-V5
FUNCTION: Upload Message (V ocoder mode) RETURN: ACK2, MSGNUM_H, MSGNUM_L(Upload start) / ACK2, Checksum_H, chec ksum_L(Upload End)
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10001001 mmmmmmmm
m=00H,Upload Start m=01H,Upload End
COMMAND 8AH
DR-V5
FUNCTION: Upload Data RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10001010 D D D D D D D D High Byte D D D D D D D D Low Byte
P/N:PM0426
32
REV. 2.2, JAN 20, 1998
Page 33
MX93521
COMMAND 8CH
DR-V5
FUNCTION: Upload Data RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 100011 00 D D D D D D D D High Byte D D D D D D D D Low Byte D D D D D D D D High Byte D D D D D D D D Low Byte
COMMAND 8EH
DR-V5
FUNCTION: Upload Data RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 100011 10 D D D D D D D D High Byte D D D D D D D D Low Byte D D D D D D D D High Byte D D D D D D D D Low Byte D D D D D D D D High Byte D D D D D D D D Low Byte
COMMAND 91H
DR-V4
FUNCTION: Set Silence Level RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 100100 01 xxxxLL LLLevel
LLLL=0000 (Lev el 0) Set Highest silence threshold (Some of the speech will be treated as silence) LLLL=0011 (Level 3) Default v alue LLLL=1111 (Lev el 15) Set Lowest silence threshold (All signal are treated as speech, No silence compression at all)
COMMAND 98H
DR-V5
FUNCTION: Read ROM/RAM wait state setting RETURN: ACK2, WSTH,WSTL
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 100100 00
P/N:PM0426
REV. 2.2, JAN 20, 1998
33
Page 34
MX93521
COMMAND 99H
DR-V5
FUNCTION: Set ROM/RAM wait state RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10010001 O O O O A A A A Wait State
OOOO:RAM Wait State AAAA: ROM Wait State
COMMAND A2H
DR-V4
FUNCTION: Read MX93521 RAM RETURN: ACK2, DATA_H, DATA_L
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11010010
Address (High) Address (Low)
COMMAND A4H
DR-V4
FUNCTION: Write MX93521 RAM RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11010100
Address (High) Address (Low) Data (High) Data (Low)
* Only for testing purpose, user should not change any data in the RAM area
COMMAND AAH
DR-V5
FUNCTION: Read MX93521 internal ROM RETURN: ACK2, DATA_H, DATA_L
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11010010
P/N:PM0426
34
Address (High) Address (Low)
REV. 2.2, JAN 20, 1998
Page 35
MX93521
COMMAND B0H
DR-V4
FUNCTION: Output all blocks which are used as data bank block RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10110000
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 B1H
DR-V4
FUNCTION: Read Flash Memory RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10 1 10 0 01
Counter (read 1-255 byte from flash memory)
COMMAND B2H
DR-V4
FUNCTION: Read Flash Memory RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 101 10010
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 b yte read. HOST could send another continuous read command 0B1H or 0B2H to read out following data from flash memory .
COMMAND B8H
DR-V4
FUNCTION: Request for data bank block RETURN: ACK2, BLK_H, BLK_L
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10111000
P/N:PM0426
REV. 2.2, JAN 20, 1998
35
Page 36
MX93521
COMMAND BAH
DR-V4
FUNCTION: Set read/write starting address RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10 1 11 0 10
COMMAND BCH
DR-V4
FUNCTION: Set read/write starting address RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 10 1 11 1 00
Address Pointer (High) Address Pointer (Low)
Block Number (High) Block Number (Low) Address Pointer (High) Address Pointer (Low)
COMMAND C1H COMMAND C2H COMMAND C3H COMMAND C4H COMMAND C5H COMMAND C6H COMMAND C7H
DR-V4 DR-V4 DR-V4 DR-V4 DR-V4 DR-V4 DR-V4
FUNCTION: Write data to flash memory(Data Bank) RETURN: ACK0 or ERR0 (Block number or address pointer is not accepted)
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 0 00 B BB
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
P/N:PM0426
REV. 2.2, JAN 20, 1998
36
Page 37
MX93521
COMMAND CAH
DR-V4
FUNCTION: Erase Block (Release data block) RETURN: ACK0 or ERR0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 0 01 0 10
COMMAND D4H
DR-V4
FUNCTION: Read 1 word data from flash memory RETURN: ACK2, DA TA_H, DATA_L
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 0 10 1 00
COMMAND D5H
DR-V4
Block (High) Block (Low)
Block (High) Block (Low) Address (High) Address (Low)
FUNCTION: Write 1 byte data to flash memory RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 0 10 1 01
COMMAND D6H
DR-V4
FUNCTION: Write 1 word (2 bytes) data to flash memory RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 0 10 1 01
Block (High) Block (Low) Address (High) Address (Low) Data
Block (High) Block (Low) Address (High) Address (Low) Data (High) Data (Low)
P/N:PM0426
REV. 2.2, JAN 20, 1998
37
Page 38
MX93521
COMMAND F AH
DR-V5
FUNCTION: Play Voice Prompt F rom R OM RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 1 11 0 01
COMMAND FCH
DR-V5
FUNCTION: Play Voice Prompt from FLASH memory RETURN: ACK0
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 11 1 11 0 01
V oice Prompt ROM Starting address High Byte V oice Prompt ROM Starting address Low Byte
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 R OM/
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.
P/N:PM0426
REV. 2.2, JAN 20, 1998
38
Page 39
MX93521
6.4 MX93521 TO HOST COMMANDS
MX93521 will always respond a A CK 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 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 0 10 0 00
COMMAND 18H
FUNCTION: Play mode, Reach the start of the playing message
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 0 11 0 00
COMMAND 20H
FUNCTION: Record mode, out of flash memory
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 1 00 0 00
COMMAND 42H
FUNCTION: MX93521 outputs record / play counter
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01 0 00 0 10 M M M M M M M M Minute S S S S S S S S Second
COMMAND 52H
DR-V4
FUNCTION: MX93521 outputs Message Number
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 01 0 10 0 10
Message number (high byte) Message number (low byte)
P/N:PM0426
REV. 2.2, JAN 20, 1998
39
Page 40
MX93521
COMMAND 30H COMMAND 31H
DR-V4 DR-V4
COMMAND 32H COMMAND 33H COMMAND 34H COMMAND 35H
DR-V4 DR-V4 DR-V4
COMMAND 36H COMMAND 37H
DR-V4
FUNCTION: MX93521 outputs data with command 3XH and ending the function with command 30H
COMMAND 32H
FUNCTION: V ocoder record mode, MX93521 outputs compressed v oice data (silence frame)
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 1 10 0 10
BYTE #1 BYTE #2
COMMAND 36H
FUNCTION: V ocoder record mode, MX93521 outputs compressed voice data (speech frame)
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 00 1 10 1 10
BYTE #1 BYTE #2 BYTE #3 BYTE #4 BYTE #5 BYTE #6
When in V OCODER mode, MX93521 use this command to send compressed voice data to HOST. MX93521 equipped with 64 byte buff er internally. If buff er is full, data will be discarded.
P/N:PM0426
40
REV. 2.2, JAN 20, 1998
Page 41
MX93521
7. DC Characteristics¡G TA=0 to 70°C , VCC=5V±10¢H
Storage temperature range¡G-55°C - 150°C
SYMBOL PARAMETER CONDITION MIN TYP MAX UNIT
VC C supply voltage 4.5 5.0 5.5 Volt GND ground 0 Volt TTL LEVEL INPUT(IT) VIH Input high voltage 2.0 V VIL Input low voltage 0.8 V SCHMITT TRIGGER INPUT (IS) VIH Input high voltage 0.7*VCC V VIL Input low voltage 0.3*VCC V 8mA OUTPUT (OA) V OH Onput high voltage IOH=-8mA 2.4 V OL Onput low voltage IOL=8mA 0. 4 V 16mA OUTPUT (OB) V OH Onput high voltage IOH=-16mA 2.4 V V OL Onput low voltage IOL=16mA 0.4 V SUPPL Y CERRENT ICC NORMAL 45 70 mA ICC HOLD MODE 10 mA ICC POWER DOWN 3 6 mA
P/N:PM0426
REV. 2.2, JAN 20, 1998
41
Page 42
8.AC TIMING AND CHARACTERISTICS:
RESET TIMING
MX93521
RST\
EAD15~EAD0
ED15~ED0
CONTROL
SIGNALS
OPT18~OPT0
BIO7~BIO0
T w(rst)
0001PC=0000
valid valid
(inactive)
0000
Note: Control Signals
HOLDA\EDCE\EPCE\ERD\EWR\ CAS\RAS\DRD\DWR\
SYMBOL P ARAMETER MIN NOM MAX UNIT
T w(rst) Reset low pulse width 2*46.5ns
OUTPUT PORT TIMING
AD15-AD0
EAD15-EAD0
OPT18~OPT0
BIO7~BIO0
XF\
PC=N, SXF/RXF
or OUT XX
PC=N+1 PC=N+2
Td(a-o)
OUTPUT PORTS AND EXTERNAL FLA G(XF\) TIMING
SYMBOL P ARAMETER MIN NOM MAX UNIT
Td(a-o) Address to output ports delay time 0 10 ns
P/N:PM0426
42
REV. 2.2, JAN 20, 1998
Page 43
CODEC TRANSMIT AND RECEIVE TIMING
S
S
MX93521
CMCK
CFS
CDR0
CDX0
Td(ch-fs)
Tc
Td(ch-fs)
Th(dr)
Ts(dr)
N=1 N=2 N=3 N=4 SAMPLING 16 BIT
Td(ch-dx)
N=1 N=2 N=3 N=4 TRANSMIT 16 BIT
Tlpd
Thpd
SYMBOL PARAMETER MIN NOM MAX UNIT
Tc CMCK cycle time 650 n s Tlpd CMCK low pulse duration 31 5 335 ns Thpd CMCK high pulse duration 3 15 335 ns Td(ch-fs) CMCK to CFS delay time 2 0 ns Td(ch-dx) CMCK rising edge to Dx valid 10 ns Ts(dr) DR set-up time before CMCK falling edge 1 0 ns Th(dr) DR hold time before CMCK falling edge 10 ns
INTERRUPT TIMING
INT0\ INT1\ INT2\
AD15-AD0
fetch N+0 fetch N+1 fetch N+1 fetch N+1 fetch I
Tw
SYMBOL PARAMETER MIN NOM MAX UNIT
Tw INT\ low pulse duration 3 Q* ns
NOTE:Q=15.5 ns
P/N:PM0426
43
REV. 2.2, JAN 20, 1998
Page 44
SRAM/ROM READ TIMING
MX93521
EDCE\,EPCE\
EAD15-EAD0
ERD\
ED15-ED0
SRAM WRITE TIMING
EDCE\
EAD15-EAD0
TCS
TAA
TDR
DATA IN
TOH
EWR\
ED15-ED0
TAS
TDW
DATA OUT
TWR
TDH
SYMBOL P ARAMETER MIN N OM MAX UNIT
TCS Chip select access time 26.5+WxT ns TAA Address access time 26.5+WxT ns TD R Data read setup time 1 2 ns T O H Data hold from end of read 0 ns TAS Address setup time 0 5 ns T D W Data to EWR\ low overlap 1 2 ns TD H Data hold from end of write 0 ns TW R Write recovery time 0 ns
*NOTE: T=31ns
W:Wait state number
P/N:PM0426
REV. 2.2, JAN 20, 1998
44
Page 45
HOLD TIMING
MX93521
EAD15-EAD0
ED15-ED0
EPCE\
EDCE\
EWR\
ERD\
HOLD\
HOLDA\
N N+1 N+2 N+3 N+4
T en(ah-a)
Ts(a-h)
Td(hh-ha)
SYMBOL PARAMETER MIN NOM MA X UNIT
Ts(a-h) Address set-up time before HOLD\ low 5 3Q-10 ns Td(hh-ha) HOLD\ high to HOLDA\ high 0 1Q 1Q+10 ns T en(ah-a) Address driven after HOLD A\ high 1Q-10 1Q 2Q ns
*NOTE: Q=15.5n
P/N:PM0426
REV. 2.2, JAN 20, 1998
45
Page 46
9.PACKAGE INFORMATION
A
B
E
CD
IHG
F
1
25
26
50
51
75
76
100
N
M
J
K
L
P
O
A
B
E
CD
IHG
F
130
31
50
51
80
81
100
N
M
J
K
L
P
O
100-PIN LQFP
ITEM MILLIMETERS INCHES
A 16.00 ± .05 .630 ± .002 B 14.00 ± .05 .551 ± .002 C 14.00 ± .05 .551 ± .002 D 16.00 ± .05 .630 ± .002 E 12.00 [REF] .472 [REF] F .60 [REF] .024 [REF] G .60 [REF] .024 [REF] H .16 [Typ.] .006 [Typ.] I .50 [Typ.] .020 [Typ.] J 1.00 [Typ.] .039 [Typ.] K 0.60 [Typ.] .024 [Typ.] L .25 [Typ.] .010 [Typ.] M .10 max. .004 max. N 1.4 ± .05 .055 O .10 min. .004 min. P 1.50 max. .059 max.
NOTE: Each lead centerline is located within
.25mm[.01 inch] of its true position [TP] at a maximum material condition.
MX93521
100-PIN PQFP
ITEM MILLIMETERS INCHES
A 24.80 ± .40 .976 ± .016 B 20.00 ± .13 .787 ± .005 C 14.00 ± .13 .551 ± .005 D 18.80 ± .40 .740 ± .016 E 12.35 [REF] .486 [REF] F .83 [REF] .033 [REF] G .58 [REF] .023 [REF] H .30 [Typ.] .012 [Typ.] I .65 [Typ.] .026 [Typ.] J 2.40 [Typ.] .094 [Typ.] K 1.20 [Typ.] .047 [Typ.] L .15 [Typ.] .006 [Typ.] M .10 max. .004 max. N 2.75 ± .15 .018 ± .006 O .10 min. .004 min. P 3.30 max. .103 max.
NOTE: Each lead centerline is located within
P/N:PM0426
.25mm[.01 inch] of its true position [TP] at a maximum material condition.
REV. 2.2, JAN 20, 1998
46
Page 47
MX93521
10. Ordering Information
P AR T NO. PA CKAGE MX93521FC PQFP MX93521UC LQFP
MX 93 521 ? C
MXIC COMMERCIAL COMPANY 0-70oC PREFIX
P ACKA GE 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 inf ormation 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 v oice 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 improv e tone response
3.Add safe_chip_erase function (erase only good b locks)
4.Improve find_empty_b lk subroutine
5.Add skip frames function in play mode
P/N:PM0426
REV. 2.2, JAN 20, 1998
47
Page 48
Appendix 2. Sample Flow Chart for HOST to Implement uP Serial Interface
SEND_RCVD_CMD( )
YES
SCLK low?
DA\ low?
NO
MX93521
call SND_RCVD_CMD ( ) every 50 usec
BYTE: txdata, cmdout[0..7]
txdata, cmdin[0..7]
NIBBLE; tbcnt, txcnt
tbcnt, rxcnt
BIT: data2snd, clk, obit
set SCLK high
RETURN
YES
txcnt++ txdata=cmdout [txcnt] tbcnt
obit=1
txdata.0==0?
data2snd=0
txcnt=0
NO
YES
clk=0
tbcnt==0?
data2snd==0?
txdata=cmdout[0]
tbcnt=10
obit=0
tbcnt==10?
tbcnt==1?
txdata.0==0?
obit=1
txdata>>=1
YES
YES
YES
NO
YES
clk=1
obit=SOUT
rbcnt==9?
NO
rbcnt==0?
YES
obit==0?
YES
rbcnt ++
YES
NO
rxdata>>=1
rxdata=(obit<<7)
decode_cmd( )
rxcent=0
data bit
YES
YES
obit==0?
NO
cmdin[rxcnt]=rxdata
rbcent=0 rxdata=0
rxcnt==
(cmdin[0] & 7)
NO
rxcnt==0?
(cmdin[0] & 0xf0)
==0xe0?
NO
rxcnt ++
YES
NO
stop bit
error
rxcnt=0
rxdata=0
rbcnt=0
P/N:PM0426
YES
To send command to MX93521: Load command to cmdout[0:7] then set data2snd=1 After sending out all commands, dats2snd will be cleared to 0.
tbcnt--
obit==1?
NO
SIN lowSIN high
clk=1
NO
48
CLK==1?
YES
set SCLK low
RETURN
Received a complete Command from MX93521.
Precess command which is stored in cmdin[0:7]
REV. 2.2, JAN 20, 1998
Page 49
MX93521
Appendix 3. Recommend commands sequence to implement a digital recorder
(star* means function is optional)
A3.1 Record Message (TP3054):
Functions HOST send MX93521 Acknowledge * T urn on SPKR 41H/04H ACK0 * Beep 49H/0AH ACK0 * T urn off SPKR 41H/04H ACK0
T urn on MIC 41H/08H ACK0 * LED #1 flash 61H/48H ACK0 * Append Recording 41H/02H ACK0 * Overwrite Recording 41H/03H ACK0 * T urn on V oice Activ ated Mode 41H/05H ACK0
Start to Record 2 8H ACK2,MSG#_H,MSG#_L * Clear LCD 79H/01H ACK0 * Display [RECORD] on LCD 76H/52H/45H/43H/4FH/52H/44H ACK0 * Move cursor to line #2, col #3 79H/C3H ACK0 * T urn on message counter displa y on LCD 21H/04H A CK0
A3.2 Stop Recording (TP3054):
Functions HOST send MX93521 Acknowledge
Stop Recording 21H/01H ACK2,CHKSUM_H, CHKSUM_L
T urn off MIC 41H/08H ACK0 * LED #1 off 61H/00H ACK0 * T urn on SPKR 41H/04H ACK0 * Beep 49H/0AH ACK0 * T urn off SPKR 41H/04H ACK0
A3.3 Out of Memory , Received command 20H from MX93521 during Recording (TP3054):
Functions HOST send MX93521 Acknowledge
T urn off MIC 41H/08H ACK0 * LED #1 off 61H/00H ACK0 * T urn on SPKR 41H/04H ACK0 * Beep 49H/0AH ACK0 * T urn off SPKR 41H/04H ACK0
P/N:PM0426
REV. 2.2, JAN 20, 1998
49
Page 50
MX93521
A3.4 Play Message (TP3054):
Functions HOST send MX93521 Acknowledge Move message pointer to specific message 09H/xxH ACK0/ERR6
T urn on SPKR 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 81H/04H ACK0 * Clear LCD 79H/01H ACK0 * Display [PLAY] on LCD 74H/50H/4CH/41H/59H ACK0 * Move cursor to line #2, col #3 79H/C3H ACK0 * Turn on message counter display on LCD 21H/04H ACK0
A3.5 Function During Playing Message
Functions HOST send MX93521 Acknowledge * Fast Forw ard Playing (2x) 3AH/01H/01H ACK0 * Rewind Playing (2x) 3AH/81H/01H ACK0 * Set REPEAT start point 21H/10H ACK0 * Set REPEA T end point 21H/20H ACK0 * Disable REPEAT mode 21H/40H ACK0
A3.6 Stop Playing Message (TP3054):
Functions HOST send MX93521 Acknowledge
Stop Playing 21H/01H ACK0 * LED #2 off 61H/00H ACK0 * Beep 49H/0AH ACK0
Turn off SPKR 41H/04H ACK0
A3.7 End of Message, Received command 10H from MX93521 during Pla ying (TP3054):
Functions HOST send MX93521 Acknowledge * LED #2 off 61H/00H ACK0 * Beep 49H/0AH ACK0
Turn off SPKR 41H/04H ACK0
P/N:PM0426
REV. 2.2, JAN 20, 1998
50
Page 51
A3.8 Message Search
Functions HOST send MX93521 Acknowledge 1 T urn on SPKR 41H/04H ACK0 2 Move message pointer to the 1st msg 09H/FFH ACK0/ERR6 3 Play current message for 3 second 31H/03H ACK0 4 10H 5 Move message pointer to the next message 09H/01H ACK0/ERR6 6 if received ACK0, goto Step #3
if received ERR6, goto Step #7 7 Turn off SPKR 41H/04H ACK0
A3.9 Message Found
Functions HOST send MX93521 Acknowledge 1 Stop playing 21H/01H ACK0 2 Play current message 30 H ACK0 3 Turn off SPKR 41H/04H ACK0
MX93521
P/N:PM0426
REV. 2.2, JAN 20, 1998
51
Page 52
MX93521
A3.10 The procedure f or using flash memory as data bank memory
HOST SEND MX93521 RESPONSE
1 Request a empty block to be used 0B8H 0A2H, BLK_H, BLK_L
as data block 2 Set continuous read start address 0BCH, BLK_H, BLK_L, ADR_H, ADR_L 0A0H 3 Continuous Read 20 bytes 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
4 Continuous Write 7 bytes 0C7H,D1,D2,D3,D4,D5,D6,D7 0A0H
Continuous Write 6 bytes 0C6H,D1,D2,D3,D4,D5,D6 0A0H
Continuous Write 5 bytes 0C5H,D1,D2,D3,D4,D5 0A0H
Continuous Write 4 bytes 0C4H,D1,D2,D3,D4 0A0H
Continuous Write 3 bytes 0C3H,D1,D2,D3 0A0H
Continuous Write 2 bytes 0C2H,D1,D2 0A0H
Continuous Write 1 bytes 0C1H,D1 0A0H 5 Erase Block CAH, BLK_H, BLK_L 0A0H 6 Read 1 word from flash memory 0D4H, BLK_H, BLK_L, ADR_H, ADR_L 0A2H, DATA1, DATA2 7 Write 1 byte to flash memory 0D5H, BLK_H, BLK_L, ADR_H, ADR_L, D1 0A0H 8 Write 2 bytes to flash memory 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 usab le data are from address 10H-0FFFH.
P/N:PM0426
52
REV. 2.2, JAN 20, 1998
Page 53
Appendix 4. Flow Chart of using MX93521 in V OCODER 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] TXCNT=RXCNT=0
WAIT4ACK==0?
YES
NO
MX93521
WAIT4ACK==0?
YES
[VOCODER MODE ON] CMDOUT[0]=0x41 CMOUT[1]=0x01 DATA2SND=WAIT4ACK=1
WAIT4ACK==0?
YES
[MIC ON] CMDOUT[0]=0x5A CMDOUT[1]=0x00 CMDOUT[2]=0x48 DATA2SND=WAIT4ACK=1
Wait 10 msec for MX93000 to settle
WAIT4ACK==0?
YES
[SET MIC GAIN] CMDOUT[0]=0x5A CMDOUT[1]=0x02 CMDOUT[2]=0x04 DATA2SND=WAIT4ACK=1
NO
NO
NO
TOGGLE PAUSE?
NO
STOP RECORDING?
NO
END_OF_REC==1?
YES
[VOCODER MODE OFF] CMDOUT[0]=0x41 CMDOUT[1]=0x01 DATA2SND=WAIT4ACK=1
WAIT4ACK==0?
YES
RETURN
YES
PAUSE1=WATI4ACK=1
YES
PAUSE1=WATI4ACK=1
NO
NO
P/N:PM0426
WAIT4ACK==0?
YES
[STAR T T O RECORD] CMDOUT[0]=0x28 DA TA2SND=WAIT4ACK=1
NO
REV. 2.2, JAN 20, 1998
53
Page 54
A4.2 Play mode (Background)
PLAY
RESET MX93521
[BIT] WAIT4ACK=1 RCVD=DATA2SND=0 [BYTE] TXCNT=RXCNT=0
WAIT4ACK==0?
NO
YES
YES
MX93521
RCVD==1?
NO
CMDIN[0]==0x10?
YES
[VOCODER MODE ON] CMDOUT[0]=0x41 CMOUT[1]=0x01 DATA2SND=WAIT4ACK=1
WAIT4ACK==0?
YES
[SPEAKER ON] CMDOUT[0]=0x5A CMDOUT[1]=0x00 CMDOUT[2]=0x03 DATA2SND=WAIT4ACK=1
Wait 10 msec for MX93000 to settle
WAIT4ACK==0?
YES
[SET SPKR GAIN] CMDOUT[0]=0x5A CMDOUT[1]=0x03 CMDOUT[2]=0x05 DATA2SND=WAIT4ACK=1
NO
NO
YES
WAT4ACK==0?
YES
CMDIN[0]==0xA0?
YES
CMDIN[0]==0xA0?
(LOAD DATA FROM MEMORY TO BYTE[0..5]) (LOAD NO MORE THAN 6 BYTES AT A TIME) (BYTECNT=BYTES LOADED)
CMDOUT[0]=0x68+BYTECNT FOR (i=0; i<BYTECNT;i++)
NO
NO
CMDIN[0]==0xE5?
YES
[MX93521 BUSY] [RESEND PREVIOUS DATA] DELAY 2 msec DATA2SND=WAIT4ACK=1
NO
P/N:PM0426
Wait 10 msec for MX93000 to settle
WAIT4ACK==0?
YES
[STAR T T O RECORD] CMDOUT[0]=0x30 DA TA2SND=WAIT4ACK=1
NO
[VOCODER MODE OFF] CMDOUT[0]=0x41 CMDOUT[1]=0x01 DATA2SND=WAIT4ACK=1
WAIT4ACK==0?
RETURN
54
NO
YES
REV. 2.2, JAN 20, 1998
Page 55
A4.3 Command/Data Send/Receive Handling Routine (Interrupt)
INTERRUPT
MX93521
PACK\ = LOW?
YES
[READ DATA FROM MX93521]
RXDATA[7..0]=BIO[7..0]
STOP2==1?
NO
STOP1==1?
NO
CMDIN[RXCNT]=RXDATA
RXCNT==
CMDIN[0]& 0x7 ?
YES
DECODE_CMD ( )
RXCNT=0
NO
YES
YES
[WRITE CMD TO MX93521]
BIO=0x21 STOP2=1
NO
(RXCNT==0) &&
(CMDIN[0] &0xF0
==0xE0?
NO
RXCNT++
[WRITE CMD TO MX93521]
BIO=0x01
STOP1=STOP2=1
[WRITE DATA TO MX93521
DATA2SND==1?
YES
BIO=CMDOUT[TXCNT]
TXCNT==
CMDOUT[0] & 0x7 ?
YES
NO
NO
P/N:PM0426
55
TXCNT=0
DATA2SND=0
RETURN
TXCNT++
REV. 2.2, JAN 20, 1998
Page 56
A4.4 Received Command Interpretation Routine (Interrupt)
DECODE_CMD ( )
MX93521
CMDIN[0]==0x36?
NO
CMDIN[0]==0x32?
NO
CMDIN[0]==0x30?
NO
CMDIN[0]==0x10?
YES
YES
[WRITE DATA TO MEMORY} BYTECNT=CMDIN{0} & 0x7
FOR (i=0; i<BYTECNT; i++)
BYTE[i] =CMDIN[i+1]
YES
END_OF_REC=1
YES
RCVD=1
P/N:PM0426
CMDIN[0] & 0xF0
==0xA0?
NO
CMDIN[0] & 0xF0
==0xE0?
NO
RETURN
YES
YES
END_OF_REC=1
REV. 2.2, JAN 20, 1998
56
Page 57
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
Loading...