ISD-SR3000 [ETC]

;
ISD-SR3000
型号: ISD-SR3000
厂家: ETC    ETC
描述:

文件: 总120页 (文件大小:1232K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
ISD-SR3000  
Embedded Speech Recognition Processor  
Adva nc e d Informa tion  
EMBEDDED SPEECH RECOGNITION PROCESSOR FOR COMMAND AND  
CONTROL APPLICATIONS  
The ISD-SR3000 is a complete embedded  
speech recognition processor. It consists of a  
speech recognition engine, a speech com-  
pression engine, and a recording function.  
The ISD-SR3000 hardware includes a paral-  
lel PISC/DSP core with an optimized instruc-  
tion set, a flexible CODEC interface, and a  
serial host controller interface.  
The speaker-independent commands, the  
audio prompts, and the speaker-defined voic-  
etags are storedinexternalmemory, allowing  
for maximum application flexibility. Typical  
storage requirements are 2kB for each pre-  
defined command, 2.5kB for each audio  
prompt, and 3kB for each voicetag, including  
the model, recording, and data. Application  
commands are divided into topics (menus),  
with active vocabulary size governed by the  
size of the external SRAM. A development  
system, the ISD-DS3000, is available. The  
development system includes tools for com-  
piling and sizing commands and prompts, as  
well as sample C-code for host control pro-  
gram development.  
The speech recognition engine uses sophis-  
ticated Hidden Markov Models (HMMs),  
which enables recognition of continuous  
speech and connected digits. An application  
consists of speaker-independent commands  
(chosen by the application developer), con-  
nected digits and speaker-defined com-  
mands. The speaker-defined commands  
allow users to sore and recognize voicetags  
that can be used for custom commands or  
name list management. The speaker-defined  
commands use the HMMs, providing much  
more robust performance compared to con-  
ventional speaker-dependent commands.  
IDEAL EMBEDDED SPEECH APPLICATIONS  
Accessible appliances Automotive command and control  
Desktop phones  
Home automation  
Cordless phones  
Information kiosks  
Cellular car kits  
Cellular handsets  
Instrumentation control  
Internet appliances  
IMPORTANT NOTICE: This p roduct c onc e p t a nd sp e c ific a tions a re p re lim ina ry a nd subje c t to c ha ng e without notic e . Ple a se  
c onta c t ISD be fore using this inform a tion in a ny p roduc t de sig n.  
Se p te mb e r 2000  
ISD · 2727 No rth First Stre e t, Sa n Jo se , CA 95134 · TEL: 408/ 943-6666 · FAX: 408/ 544-1787 · http :/ / www.isd .c o m  
Introduc tion  
ISD-SR3000 PRODUCT FEATURES  
Speech Recognition Attributes  
Speech recognition processor optimized for command and control applications  
All speech recognition processing performed on chip  
Supports speaker-independent continuous speech  
- Command vocabulary selected from a large (>100k word) dictionary  
- Number of commands and voicetags determined by external memory availability  
- Multiple topics and finite state grammar supported  
- Connected digit recognition with no domain restrictions  
Supports speaker defined voicetags  
- Phonetic models of user speech input created on the fly”  
- More robust than typical speaker-dependent word models  
- Used for phone books and customized commands  
Recognition always active  
- Allows for voice activation with keyword command  
for  
- Push-to-talk option  
battery applications  
Zero power voicetag storage  
Hidden Markov Models and triphones used to optimize accuracy while maintaining real-time  
recognition  
Recognition Processor Attributes  
Recognition engine optimized for feature extraction and real-time acoustic model search  
Interfaces to µ-Law, A-Law or linear voice CODEC  
Serial interface to host microcontroller  
Single +5V or +3.3V power supply  
Current: 40mA (typical) during active recognition  
Package: 100-pin QFP  
Temperature range: 0 to +70°C  
Voice Solutions in Silicon™  
ii  
Introduc tion  
Application Attributes  
Advanced API enables sophisticated VUI development  
- True hands-free control  
- Optional activation by voice  
- Standard, easy to use interface for voice activated appliances  
- Minimizes adaptation time for users  
- Accelerated application development by providing standard interface software  
Flexible API provides high level commands suitable for a wide variety of applications  
Measure accuracy >99% per digit for connected digit strings  
Figure i: Stand-alone Speech Recognition System Diagram  
+3.3V  
V
CC  
EMCS  
ADDR  
CONT  
RESET  
BMCS  
IOCS  
16 Mbit  
FLASH/ROM  
ISD-SR3000  
64kB  
SRAM  
W26L010A  
Speaker  
CDOUT  
CDIN  
D 0-15  
Mic Preamp  
and Speaker  
Amplifier  
ADDR 0-15  
CCLK  
CFSO  
CODEC  
MC145481  
Micro-  
phone  
MWCLK  
MWDIN  
MWRQST  
MWCS  
MWRDY  
MWDOUT  
Host  
Microcontroller  
W77LE58  
V
SS  
Voice Solutions in Silicon™  
iii  
Table of Contents  
Chapter 1—HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1  
1.1  
PIN ASSIGNMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1  
1.1.1 Pin-Signal Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1  
1.2  
DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3  
1.2.1 Resetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3  
1.2.2 Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4  
1.2.3 Power-Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5  
1.2.4 Power and Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6  
1.2.5 Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-7  
1.2.6 The Codec Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-7  
1.2.7 Expansion Memory Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11  
1.3  
SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-19  
1.3.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-19  
1.3.2 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-19  
1.3.3 Switching Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-21  
1.3.4 Synchronous Timing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24  
1.3.5 Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-27  
Chapter 2—SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1  
2.1  
2.2  
OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1  
RECOGNITION ENGINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2  
2.2.1 Types of Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
2.2.2 Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2  
2.2.3 Vocabulary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3  
2.2.4 Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3  
2.2.5 Additional Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4  
2.3  
2.4  
2.5  
INITIALIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4  
RECO ENGINE MANAGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4  
HOST CONTROLLER INTERFACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5  
2.5.1 Input Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6  
2.5.2 Output Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6  
2.5.3 Signal Use in the Interface Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7  
2.5.4 Interface Protocol Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8  
2.5.5 Echo Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8  
ISD-SR3000  
2.6  
2.7  
MEMORY INTERFACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
CODEC INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
2.7.1 Supported Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
2.8  
SPEECH OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
2.8.1 International Vocabulary Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
2.8.2 Vocabulary Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
2.8.3 IVS Vocabulary Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11  
2.9  
THE STATE MACHINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
2.9.1 Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
2.9.2 Synchronous Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
2.9.3 Asynchronous Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
2.9.4 ISD-SR3000 Status and Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15  
2.10  
2.11  
2.12  
2.13  
SR3000 PROCESSOR COMMANDS--QUICK REFERENCE TABLE . . . . . . . . . 2-16  
COMMAND DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
TUNABLE PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-64  
EXAMPLE OPERATION PROCEDURES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-68  
2.13.1 ISD-SR3000 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-68  
2.13.2 Normal Operation Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-68  
2.13.3 Add Voice Tag Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-71  
Chapter 3—International Vocabulary Support and the IVS Tool . . 3-1  
3.1  
3.2  
3.3  
INTERNATIONAL VOCABULARY SUPPORT (IVS). . . . . . . . . . . . . . . . . . . . . . . . 3-1  
IVS FEATURES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
THE IVS TOOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
3.3.1 How to use the IVS Tool with the ISD-SR3000 Processor. . . . . . . . . . . . . 3-2  
Chapter 4—Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1  
4.1  
ERROR CODES AND EXPLANATIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
1—HARDWARE  
ISD-SR3000  
Chapter 1—Hardware  
1.1  
PIN ASSIGNMENT  
The following sections detail the pins of the ISD-SR3000 processor. Slashes separate the  
names of signals that share the same pin.  
1.1.1 PIN-SIGNAL ASSIGNMENT  
Table 1-1 shows all the pins and the signals that use them in different configurations. It also  
shows the type and direction of each signal.  
Figure 1-1: 100-MQFP Package Connection Diagram  
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81  
1
80  
79  
78  
77  
76  
75  
74  
73  
72  
71  
70  
69  
68  
67  
66  
65  
64  
63  
62  
61  
60  
59  
58  
57  
56  
55  
54  
53  
52  
51  
NC  
NC  
NC  
NC  
NC  
NC  
NC  
NC  
NC  
A9  
2
NC  
3
NC  
4
NC  
5
VssA  
6
X2 / CLKIN  
X1 / PLI  
WR0 / TST  
WR1  
7
8
ISD-SR3000  
9
NC  
NC  
A10  
NC  
NC  
NC  
D0  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
100-MQFP  
Top Vie w  
MWRDY  
MWDOUT  
NC  
V
D1  
D2  
SS  
MWRQST  
V
V
SS  
CC  
D3  
VCCHI  
Vc c  
D4  
MWCLK  
MWDIN  
CCLK  
CDIN  
CFS0  
CDOUT  
CFS1  
RESET  
NC  
D5  
D6  
D7  
A11  
A12  
NC  
NC  
NC  
NC  
NC  
NC  
NC  
NC  
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50  
Note: Pins marked NC should not be connected.  
ISD  
1-1  
 
1—HARDWARE  
ISD-SR3000  
Table 1-1: ISD-SR3000 Pin Signal Assignment  
Pin Name Signal Name  
Type  
Description  
Address bits 0 through 16  
A(0:15)  
CCLK  
BMCS  
A(0:16)  
CCLK  
BMCS  
BMCS  
Output  
I/O  
Codec Master/slave Clock  
Base memory chip select  
Output  
I/O  
BMCS/  
ENV1  
Base memory chip select  
Environment Select  
CDIN  
CDIN  
Input  
Output  
I/O  
Data Input from Codec  
CDOUT  
CFS0  
CFS1  
D(0:7)  
CDOUT  
CFS0  
CFS1  
D(0:7)  
EMCS  
Data Output to Codec  
Codec 0 Frame Synchronization  
Codec 1 Frame Synchronization  
Data bits 0 through 7  
Output  
I/O  
Output2  
EMCS/  
ENV0  
Expansion Memory Chip Select  
EMCS/  
ENV0  
ENV0  
Input1  
Environment Select  
MWCLK  
MWCS  
MWDIN  
MWDOUT  
MWRDY  
MWRQST  
RESET  
TST  
MWCLK  
MWCS  
MWDIN  
MWDOUT  
MWRDY  
MWRQST  
RESET  
TST  
Input3  
Input3  
Input3  
Output  
Output  
Output  
Input3  
Input  
MICROWIRE Clock  
MICROWIRE Chip Select  
MICROWIRE Data Input  
MICROWIRE DATA Output  
MICROWIRE Ready  
MICROWIRE Request Signal  
Reset  
Test pin  
VCC  
VCC  
Power  
Power  
Power  
3.3 V power supply pin  
3.3 V analog circuitry power supply pin  
VCCA  
VCCA  
VCCHI  
VCCHI  
5 V power supply pin. Connect to VCC if 3.3 V power supply  
is used.  
VSS  
VSS  
Power  
Power  
Ground for on-chip logic and output drivers  
Ground for on-chip analog circuitry  
VSSA  
VSSA  
X1  
X1  
Oscillator Crystal Oscillator Interface  
Oscillator Crystal Oscillator Interface  
X2/CLKIN  
X2  
1. TTL1 output signa ls provide CMOS le ve ls in the ste a dy sta te , for sm a ll loa ds.  
2. Input during re se t. CMOS le ve l input.  
3. Sc hm itt trigge r input.  
Voice Solutions in Silicon™  
1-2  
1—HARDWARE  
ISD-SR3000  
1.2 DESCRIPTION  
This section provides details of the functional characteristics of the ISD-SR3000 processor. It  
is divided into the following sections:  
Resetting  
Clocking  
Power-Down Mode  
Power and Grounding  
Memory Interface  
Codec Interface  
1.2.1 RESETTING  
The RESET pin is used to reset the ISD-SR3000 processor.  
On application of power, RESET must be held low for at least tpwr after VCC is stable. This en-  
sures that all on-chip voltages are completely stable before operation. Whenever RESET is ap-  
plied, it must also remain active for not less than tRST, see Table 1-11 and Table 1-12. During  
this period, and for 100 ms after, the TST signal must be high. This can be done with a pull-up  
resistor on the TST pins  
The value of MWRDY is undefined during the reset period, and for 100 ms after. The microcon-  
troller should either wait before polling the signal for the first time, or the signal should be pulled  
high during this period.  
Upon reset, the ENV0 and ENV1 input pins are sampled to determine the operating environ-  
ment. During reset, the EMCS/ENV0 and BMCS/ENV1 pins are used for the ENV0 and ENV1  
inputs signals respectively. An internal pull-up resistor sets ENV0 and ENV1 to 1. An external  
5.1k resistor connected to Vss can be used to set them to 0.  
After reset, the same pin is used for EMCS.  
SYSTEM LOAD ON ENV0  
For any load on the ENV0 pin, the voltage should not drop below VENVh. Therefore, applya load  
on the ENV0 pin that ensures the voltage does not go below 2.4V.  
Figure 1-2 shows a recommended circuit for generating a reset signal when the power is turned  
on.  
ISD  
1-3  
 
1—HARDWARE  
ISD-SR3000  
Figure 1-2: Recommended Power-On Reset Circuit  
V
CC  
V
CC  
ISD-SR3000  
RESET  
V
SS  
1.2.2 CLOCKING  
The ISD-SR3000 processor provides an internal oscillator that interacts with an external clock  
source through the X1 and X2/CLKIN pins. Either an external single-phase clock signal or a  
crystal oscillator may be used as the clock source.  
EXTERNAL SINGLE-PHASE CLOCK SIGNAL  
If an external single-phase clock source is used, it should be connected to the CLKIN signal as  
shown in Figure 1-3, and should conform to the voltage-level requirements for CLKIN stated in  
Electrical Characteristicson page 1-19.  
Note: the CLKIN signal is not 5V tolerant.  
Figure 1-3:External Clock Source  
ISD-SR3000  
X1  
X2/CLKIN  
Single -pha se Cloc k Signa l  
Cloc k Ge ne ra tor  
CRYSTAL OSCILLATOR  
A crystal oscillator is connected to the on-chip oscillator circuit via the X1 and X2 signals, as  
shown in Figure 1-4.  
Voice Solutions in Silicon™  
1-4  
 
1—HARDWARE  
ISD-SR3000  
Figure 1-4:Connections for an External Crystal Oscillator  
ISD-SR3000  
X2  
X1  
R1  
C2  
C1  
crysta l  
Keep stray capacitance and inductance, in the oscillator circuit, as low as possible. The crystal  
resonator, and the external components, should be as close to the X1 and X2/CLKIN pins as  
possible, to keep the trace lengths in the printed circuit to an absolute minimum.  
You can use crystal oscillators with maximum load capacitance of 20pF, although the oscillation  
frequency may differ from the crystal’s specified value.  
The following table lists the components in the crystal oscillator circuit.  
Table 1-2: Components of Crystal Oscillator Circuit  
Component  
Values  
Tolerance  
Crystal Resonator  
Resistor R1  
4.096MHz  
10M  
33pF  
5%  
Capacitors C1, C2  
20%  
1.2.3 POWER-DOWN MODE  
Power-down mode is useful during a power failure or in a power-saving model when the power  
source for the processor is a backup battery or in battery-powered devices, while the processor  
is in idle mode.  
In power-down mode, the clock frequency of the ISD-SR3000 processor is reduced and some  
ofthe processormodules are deactivated. Asa result, the ISD-SR3000 consumesconsiderably  
less power than in normal-power mode. Recognition is not active during power-down mode, so  
the ISD-SR3000 must return to normal power mode to resume speech recognition.  
Note: In power-down mode all the chip select signals, CS0 to CS3, are set to 1. To guarantee that there  
is no current flow from these signals to the Flash devices, the power supply to these devices must not be  
disconnected  
.
The ISD-SR3000 stores voicetags and all memory management information in Flash memory.  
When Flash memory is used for memory management, power does not need to be maintained  
to the processor to preserve stored voicetags.  
To keep power consumption low during power-down mode, the RESET, MWCS, MWCLK and  
MWDIN signals should be held above VCC – 0.5 V or below VSS + 0.5 V.  
ISD  
1-5  
 
1—HARDWARE  
ISD-SR3000  
1.2.4 POWER AND GROUNDING  
POWER PIN CONNECTIONS  
The ISD-SR3000 can operate over two supply voltage ranges 3.3V ±10% and 5V ±10%. The  
five power supply pins (VCC, VSS, VCCA, VSSA and VCCHI) must be connected as shown in Fig-  
ure 1-5 when operating in a 3.3 V environment, and as shown in Figure 1-6 when operating in  
a 5V environment. Failure to correctly connect the pins may result in damage to the device.  
The capacitor and resistor values are given in Table 1-3.  
Table 1-3: Components of Supply Circuit  
Component  
Resistor R1  
Values  
Tolerance  
10  
5%  
CapacitorsC1, C2, C3, C4, C5,  
C6, C7  
0.1µF  
Ceramic  
20%  
CapacitorsC8, C9, C10, C11,  
C12, C13, C14  
1µF Tantalum 20%  
Figure 1-5:13. 3V Power Connection Diagram  
C10  
+
3.3V Supply  
C6  
+
C9  
R1  
C5  
+
C8  
C1  
V
VSS  
97  
VCC VCCA  
87 86  
VCC  
95  
SS  
85  
VSSA  
VSS  
17  
76  
66  
+
VCCHI  
VSS  
C7  
19  
20  
ISD-SR3000  
C13  
+
VCC  
C11  
C4  
+
64  
V
CC  
40  
42  
VSS  
VCC  
3.3V Supply  
C3  
+
C12  
Note: all Vcc pins in Figure 1-5 should be connected to a 3.3V supply  
Voice Solutions in Silicon™  
1-6  
 
1—HARDWARE  
ISD-SR3000  
Figure 1-6:15V Power Connection Diagram  
C10  
+
C6  
C9  
+
R
1
C5  
+
C8  
C1  
V
V
V
V
V
SS  
SS  
CC  
CC CCA  
97  
95  
87  
86 85  
76  
V
SSA  
V
SS  
17  
C14  
5 V Supply  
+
V
SS  
V
CCHI  
ISD-SR3000  
66  
64  
C7  
19  
20  
C13  
+
V
C11  
C4  
CC  
+
V
CC  
40  
42  
V
V
SS  
CC  
C3  
+
C12  
For optimal noise immunity, the power and ground pins should be connected to VCC and the  
ground planes, respectively, on the printed circuit board. If VCC and the ground planes are not  
used, single conductors should be run directly from each VCC pin to a power point, and from  
each GND pin to a ground point. Avoid daisy-chained connections. The ISD-SR3000 does not  
perform recognition in power-down mode.  
When you build a prototype, using wire-wrap or other methods, solder the capacitors directly to  
the power pins of the ISD-SR3000 processor socket, or as close as possible, with very short  
leads.  
1.2.5 MEMORY INTERFACE  
The ISD-SR3000 supports flash or ROM devices for storing voicetags, vocabulary, prompts,  
and acoustic models, such that power can be removed from the system without any data loss.  
The ISD-SR3000 supports AMD-compatible parallel flash devices, depending upon the re-  
quired amount of memory. The recommended flash size is 16Mb, but larger sizes may be re-  
quired for some applications. Organization can be 1Mb X 16 or 2Mb X 8. The recommended  
device is Am29LV160D, which is organized as 1Mb X 16, and operates on a 3V power supply.  
1.2.6 THE CODEC INTERFACE  
The ISD-SR3000 provides an on-chip interface for analog and digital telephony, supporting  
master and slave CODEC interface modes. In master mode, the ISD-SR3000 controls the op-  
eration of the CODEC for use in analog telephony or stand-alone applications. In the slave  
mode, the ISD-SR3000 CODEC interface is controlled by an external source. This mode is  
ISD  
1-7  
 
 
1—HARDWARE  
ISD-SR3000  
used in digital telephony (i.e., ISDN or DECT lines). The slave mode is implemented with re-  
spect to IOM-2TM/CGI specifications.  
See Table 1-4 for CODEC options for the ISD-SR3000 (ISD supports compatible CODECS in  
addition to those listed below).  
The CODEC interface supports the following features:  
Master Mode or Slave Mode.  
8- or 16-bit channel width.  
Long (variable) or short (fixed) frame protocol.  
Single or double bit clock rate.  
Single or dual channel CODECS  
One or two CODECS  
Multiple clock and sample rates.  
One or two frame sync signals  
This CODEC interface uses five signals: CDIN, CDOUT, CCLK, CFSO, and CFS1. The CDIN,  
CDOUT, CCLK, and CFSO pins are connected to the first CODEC. The second CODEC (for  
speakerphone applications) is connected to CDIN, CDOUT, CCLK, and CFS1 pins. Data is  
transferred to the CODEC (for speakerphone applications) through the CDOUT output pin.  
Data is read from the CODEC through the CDIN input pin. The CCLK and CFSO pins are output  
in Master mode and input in Slave mode. The CFS1 is an output pin.  
SHORT FRAME PROTOCOL  
When the short frame protocol is configured, eight or sixteen data bits are exchanged with each  
CODEC in each frame (i.e., the CFSO cycle). Data transfer begins when CFSO is set to 1 for  
one CCLK cycle. The data is then transmitted, bit by bit, via the CDOUT pin. Concurrently, the  
received data is shifted in through the CDIN pin. Data is shifted one bit per CCLK cycle. After  
the last bit has been shifted, CFS1 is set to 1 for one CCLK cycle. Then, the data from the sec-  
ond CODEC is shifted out via CDOUT, concurrently with the inward shift of the data received  
via CDIN.  
LONG FRAME PROTOCOL  
When long frame protocol is configured, eight or sixteen data bits are exchanged with each CO-  
DEC, as for the short frame protocol. However, for the long frame protocol, data transfer starts  
by setting CFSO to 1 for eight or sixteen CCLK cycles. Short or long frame protocol is available  
in both Master and Slave modes.  
Voice Solutions in Silicon™  
1-8  
1—HARDWARE  
Manufacturer  
ISD-SR3000  
Table 1-4: Typical Supported CODEC Devices  
CODEC Device  
Name  
Operating  
Voltage  
Characteristics  
Single CODEC  
Conversion Type  
National  
TP3054  
5V  
µ-Law  
Semiconductor  
OKI  
MSM7533V  
MX93002FC  
T7503  
Dual CODEC  
Dual rail CODEC  
Dual CODEC  
Single CODEC  
5V  
5V  
5V  
3V  
µ-Law, A-Law  
µ-Law  
Macronix  
Lucent  
Motorola  
µ-Law  
MC145481  
µ-Law  
Channel Width  
The CODEC interface supports both 8-bit and 16-bit channel width in Master and Slave modes.  
Figure 1 shows how the CODEC interface signals behave when short frame protocol is config-  
ured.  
Slave Mode  
The ISD-SR3000 supports digital telephony applications including DECT and ISDN by provid-  
ing a Slave mode of operation. In Slave mode operation, the CCLK signal is input to the SR-  
3000 and controls the frequency of the CODEC interface operation. The CCLK may be any fre-  
quency between 500kHz and 4MHz. Both long and short frame protocols are supported with  
only the CFS1 output signal width affected. The CFSO input signal must be a minimum of one  
CCLK cycle.  
In slave mode, a double clock bit rate feature is available as well. When the CODEC interface  
is configured to double clock bit rate, the CCLK input signal is divided internally by two and the  
resulting clock used to control the frequency of the CODEC interface operation.  
Table 1-5: Typical CODEC Applications  
Long/  
Short  
Frame  
Channel  
Width  
(No.Bits)  
No. of  
Frame  
Syncs  
CODEC  
Type Channels Slave  
No. of  
Master/  
CCLK Freq. Sample  
Application  
Bit Rate  
(MHz)  
Rate (Hz)  
Protocol  
Analog  
single  
single  
1
1
Master  
8
short or  
long  
1
1
2.048  
8000  
8000  
1
1
µ-Law  
Linear  
Master 16  
short  
2.048  
ISD  
1-9  
1—HARDWARE  
ISD-SR3000  
Figure 1-7:1Codec Protocol-Short Frame—8-Bit Channel Width  
Voice Solutions in Silicon™  
1-10  
1—HARDWARE  
ISD-SR3000  
1.2.7 EXPANSION MEMORY ADDRESSING  
FUNCTIONAL OVERVIEW  
The ISD-SR3000 requires memory subsystems with enhanced physical address space and a  
paging scheme. The typical memory requirement for the system is 2Mbytes of ROM to store  
the application database, and an additional 64Kbytes of SRAM to enable the software to per-  
form sophisticated search on the database.  
The diagram below describes the connection of the ISD-SR3000 to external memory space of  
2Mbytes. This connection is typical for a recognition application. The external ROM holds the  
acoustic models (1Mbyte). The flash holds all the topics tables (vocabulary), speech prompts,  
and voicetag recordings that support the specific application (1Mbyte). The SRAM is used by  
the ISD-SR3000 as extension for the memory and is used to carry out the HMM algorithm  
(64Kbytes).  
Figure 1-8: ISD-SR3000 connection for external memory space of 2Mbytes  
Note: If the application does not support user-created voicetags, the Flash can be replaced with a ROM.  
ISD  
1-11  
 
1—HARDWARE  
ISD-SR3000  
BLOCK DIAGRAM  
Figure 1-9: Address Extension Lines Block Diagram  
Bi directional  
Data bus  
D0-D7  
Data  
Write  
Direction  
selector  
D0-D7  
Data  
Read  
R
Local PaDgine bRusegister  
Dou0t bus  
/
W#  
1
W
E
2
AF0  
AF1  
AF2  
AF3  
AF4  
D0-D7  
D
Sel  
e
c
o
d
i
n
g
L
D0-D7  
Local PaDgine bRusegister  
Dou1t bus  
1
8
X
4
to  
1
M
U
X
W
E
8
X
4
to  
1
M
U
X
D0-D7  
IOCS  
Active Low  
D0-D7  
low  
A1-A7  
Local PaDgine bRusegister  
Dou2t bus  
CFEN0  
1
W
E
A16/DDin  
CFEN1  
D0-D7  
CFEN2  
D0-D7  
Local PaDgine bRusegister  
Dou3t bus  
15  
A
1
o
g
i
W
E
CSINTROM  
EMCS  
D0-D7  
Se  
4
c
2
Delay N  
WR0  
WR  
EMWR  
Delay N  
1
1
#
W
Voice Solutions in Silicon™  
1-12  
1—HARDWARE  
ISD-SR3000  
INTERFACE SIGNALS  
Table 1-6:1ISD-SR3000 Extended Address Lines Interface Signals  
Signal Name  
Type  
Source Unit/Signal  
Description  
D[7:0]  
I/O  
ISD-SR3000  
Data Bus  
Address Bus  
A[7:1]  
IOCS  
I
I
ISD-SR3000  
ISD-SR3000  
I/O Expansion Chip Select to  
access the I/O registers  
EMCS  
I
I
ISD-SR3000  
ISD-SR3000  
Expansion Memory Chip select  
DDIN / A16  
Serve as direction in I/O operation  
of SR3000; otherwise is bit 16 of  
address bus  
A15  
I
I
ISD-SR3000  
ISD-SR3000  
Address line  
WR[0:1]  
AF[4:0]  
Write signal for external memory  
Extended Address bus  
O
To external Extended  
memory  
CFEN  
O
O
O
O
O
To external Extended  
memory  
Extended Memory CS could use  
for Flash CS  
CREN  
To external Extended  
memory  
Extended Memory CS could use  
for ROM CS  
CSEN  
To external Extended  
memory  
Extended Memory CS could use  
for RAM CS  
EMWR  
CSINTROM  
To external Extended  
memory  
Write signal to external SRAM  
To internal ROM  
Chip select for internal ROM  
(Added ROM for DSPM)  
ISD  
1-13  
1—HARDWARE  
ISD-SR3000  
INTERNAL DESCRIPTION  
Detailed Description  
The Memory Extension unit contains four page registers to perform memory decoding and con-  
trol functions, memory mapping and paging.  
The page registers are mapped into the I/O Expansion space defined by an active IOCS signal  
(*Addresses TBD*)  
from the ISD-SR3000. Only address lines A1-A7 are used, while A16 be-  
comes DDIN (data direction signal; low for reads). The registers are both writable and readable.  
The software accesses the page registers using store or load operations to the respective I/O  
ports from the ISD-SR3000. The decoding logic generates the proper signals to write and read  
the page registers, which are accessed by the ISD-SR3000 when store and load commands  
are executed.  
The paging operation works as follows:  
When the ISD-SR3000 accesses the expansion memory space (indicated by EMCS going  
active), the decoding logic will select one out of the four page registers, based on the state  
of A[16:15].  
The contents of the selected page register will be use to generate the proper Chip select  
and the extended address lines AF[4:0].  
Bits 0 to 4 of the page register connect to AF4 to AF0 respectively.  
Chip Select field is bits 5 to 7 and are used to generate the Chip Select lines  
The chip select signal CFEN will assert low if and only if the value inside the Page register,  
which is driving the bus, has a logic 1 at the bit 5 and the signal EMCS is low.  
The chip select signals CFRN will assert low if and only if the value inside the Page register,  
which is driving the bus, has a logic 1 at bit 6 and the signal EMCS is low.  
The chip select signals CFSN will assert low if and only if the value inside the Page register  
which is driving the bus has a logic 1 at bit 7 and the signal EMCS is low.  
When bits 5, 6, and 7 on the page register are all at logical 0 and the EMCS is asserted low,  
the signal CSINROM is asserted low.  
Table 1-7: Paging Operation  
Local Page  
Register  
7
6
5
4
3
2
1
0
CFSN  
CFRN  
CFEN  
AF[4]  
AF[3]  
AF[2]  
AF[1]  
AF[0]  
The mapping of the address from the ISD-SR3000 to the expansion memory is:  
Address 0x10000-0x17fff use page register 0.  
Address 0x18000-0x1ffff use page register 1.  
Address 0x20000-0x27fff use page register 2.  
Address 0x28000-0x2ffff use page register 3.  
Voice Solutions in Silicon™  
1-14  
1—HARDWARE  
ISD-SR3000  
Table 1-8: Address Mapping from ISD-SR3000 to Expansion Memory  
Page Reg #0  
Page Reg #1  
Page Reg #2  
Page Reg #3  
A15  
A16  
0
0
0
1
1
0
1
1
The signalEMWR is write strobe to external memory. The external SRAM chip can support byte  
or word access. In order to support this mode 3 signals are used: LB to support writing to low  
byte of the bus, UB to support writing the high byte of the bus, and WR strobe signal. Since the  
ISD-SR3000 block can supply WR[0-1] signal for the low or high byte of the bus , the WR strobe  
signal needs to be generated, which is the logical AND operation of the two signals. (for more  
details, refer to the Winbond W26L010A data sheet).  
Note that the block is operational only if the MCFG register of the ISD-SR3000 is programmed  
in extension memory mode, 64K x 16 RAM.  
The following figures illustrate the timing of Extended Memory Read and Write cycles. Note the  
timing of AF[7:5], which result of the qualification of the respective page register outputs with  
the delayed EMCS strobe.  
Flow Charts  
The software on the SR3000 that uses the SR3000 Extended address unit should do the following:  
1.  
2.  
3.  
Set the MCFG.EMC register to 64kbytes x 16 bits RAM mode. Mode 111 at MCFG.EMC.  
Set the page register to page xxxxxxxx. For example to the internal ROM use 0x00.  
To read or write from external memory use load or store operation from the expansion memory. For the  
internal ROM the address should be 0x10000 – 0x17fff.  
Unit Register Space  
The following registers are accessed at addresses <0xFBF2 - 0XFBF*> in the SR3000 I/O ad-  
dress space for write operation and addresses <0xFF9e - 0XFFbe> in the SR3000 I/O address  
space for read operation.  
ISD  
1-15  
1—HARDWARE  
ISD-SR3000  
Table 1-9: Unit Register Space  
Register Name  
Address  
Size  
(bits)  
Description  
R/W  
R/W  
R/W  
R/W  
R/W  
Reset  
Value  
Local Page register 0  
Local Page register 1  
Local Page register 2  
Local Page register 3  
0xFBF2  
0xff8e  
8
8
8
8
Page register  
Page register  
Page register  
Page register  
0
0
0
0
0xFBF4  
0xff9e  
0xFBF8  
0xffae  
0xFBFA  
0xffbe  
R – read only  
W – Write only  
R/W read and write  
RAC read auto clear for interrupt status registers  
Reset Activity  
On reset all the registers should be set to their default values 0 and all chip select signals should  
be inactive.  
Power Save Features  
On power down, all chip select signals must be high to ensure minimal power consumption by  
the external peripheral.  
Voice Solutions in Silicon™  
1-16  
1—HARDWARE  
ISD-SR3000  
Timing Diagrams  
Figure 1-10: Read operation to externals memory using the SR3000 extended memory unit  
ISD  
1-17  
1—HARDWARE  
ISD-SR3000  
Figure 1-11: Write operation to externals memory using the SR3000 extended memory unit.  
SPECIAL SOFTWARE REQUIREMENTS  
Note that the block is operational only if the MCFG register of the SR3000 is programmed in  
extension memory mode, 64K x 16 RAM.  
MICRO ARCHITECTURE AND DESIGN CONSIDERATIONS  
The designshould take intoaccountthatthe some ofsignals are connected to external memory  
units. Hence the timing diagram should comply with external parts. Required wait states will be  
supported using the EXPANSION MEMORY WAIT STATE mechanism.  
Voice Solutions in Silicon™  
1-18  
1—HARDWARE  
ISD-SR3000  
1.3 SPECIFICATIONS  
1.3.1 ABSOLUTE MAXIMUM RATINGS  
° °  
-65 C to +150 C  
Storage temperature  
°
°
Temperature under bias  
0 C to 70 C  
All input or output  
voltages, with respect to  
GND  
–0.5 V to +6.5 V  
1.3.2 ELECTRICAL CHARACTERISTICS  
TA = 0°C to +70°C, VCC = 5V ±10%, GND = 0V  
Note: Absolute maximum ratings indicate limits beyond which permanent damage may occur. Continuous  
operation at these limits is not intended; operation should be limited to the conditions specified below.  
Table 1-10: Electrical Characteristics  
(All Parameters with Reference to VCC = 3.3V)  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
80.0  
Units  
CX  
X1 and X2 capacitance1  
Active supply current  
17.0  
40.0  
pF  
ICC1  
Normal operation  
mode, running speech  
applications2  
mA  
ICC2  
ICC3  
IL  
Standby supply current  
Normal operation  
mode, DSPM idle2  
30.0  
mA  
mA  
Power-down Mode Supply Power-down Mode2,3  
Current  
12  
Input Load Current  
0 V < VIN < VCC  
–5.0  
–5.0  
5.0  
5.0  
µA  
µA  
IO (Off) Output Leakage Current (I/ 0 V < VOUT < VCC  
O pins in input mode)  
tCASa  
CAS Active  
After R.E. CTTL, T1 or  
T2W3  
12.0  
12.0  
nsec  
nsec  
tCASh  
tCASia  
CAS Hold  
After R.E. CTTL  
0.0  
CAS Inactive  
After R.E. CTTL, T3 or  
TERF  
tCASLw DRAM, PDM, CAS Width At 0.8 V, both edges  
600.0  
tWRa  
WR0 Active  
After R.E. CTTL, T1  
tCTp  
/
2 + 2  
tWRCSh WR0 Hold after EMCS4  
R.E. EMCS R.E. to  
R.E. WR0  
10.0  
ISD  
1-19  
 
1—HARDWARE  
ISD-SR3000  
Symbol  
Table 1-10: Electrical Characteristics  
(All Parameters with Reference to VCC = 3.3V)  
Parameter  
WR0 Hold  
Conditions  
Min  
Typ  
Max  
Units  
tWRh  
After R.E. CTTL  
tCTp/2 –  
6
tWRia  
WR0 Inactive  
After R.E. CTTL, T3  
tCTp/  
2 + 2  
VENVh  
VHh  
ENV0 Input, high voltage  
2.0  
2.1  
V
V
CMOS Input with  
hysteresis, logical 1 input  
voltage  
VHl  
CMOS Input with  
hysteresis, logical 0 input  
voltage  
0.8  
V
VHys  
VIH  
Hysteresis Loop Width1  
0.5  
2.0  
V
V
TTL Input, logical 1 input  
voltage  
VCC +  
0.5  
VIL  
TTL Input, logical 0 input  
voltage  
–0.5  
2.4  
0.8  
V
V
V
VOH  
Logical 1 TTL, output  
voltage  
IOH = –0.4 mA  
IOH = –50 µA5  
VOHWC EMCS Logical 1, output  
voltage  
VCC  
0.2  
VOL  
Logical 0, TTL output  
voltage  
IOL = 4 mA  
IOL = 50 µA5  
IOL = 50 µA5  
0.45  
0.2  
V
V
V
VOLWC  
EMCS Logical 0, output  
voltage  
0.2  
VXH  
VXL  
CLKIN Input, high voltage External clock6  
CLKIN Input, low voltage  
External clock6  
2.0  
V
V
0.8  
5. Gua ra nte e d by de sign.  
6. IOUT = 0, T = 25°C, V = 3.3 V for V pins a nd 3.3 V or 5 V on VCCHI pins, ope ra ting from a 4.096  
A
CC  
CC  
MHz c rysta l a nd running from inte rna l me m ory with Expa nsion Me m ory disa ble d.  
7. All input signa ls a re tie d to 0 (a bove VCC – 0.5 Vor be low VSS + 0.5 V), e xc e pt ENV0, whic h is tie d to  
V
.
CC  
8. Me a sure d in powe r-down m ode . The tota l c urre nt drive n, or sourc e d, by a ll the ISD-SR3000 proc e ssor’s  
output signa ls is le ss tha n 50 µA.  
9. Gua ra nte e d by de sign, but not fully te ste d.  
10.CLKIN signa l is not 5V tole ra nt.  
Voice Solutions in Silicon™  
1-20  
1—HARDWARE  
ISD-SR3000  
1.3.3 SWITCHING CHARACTERISTICS  
DEFINITIONS  
All timing specifications in this section refer to 0.8V or 2.0V on the rising or falling edges of the  
signals, as illustrated in Figure 1-12 through Figure 1-18, unless specifically stated otherwise.  
Maximum times assume capacitive loading of 50pF. CLKIN crystal frequency is 4.096MHz.  
Note: CTTL is an internal signal and is used as a reference to explain the timing of other signals. See Fig-  
ure 1-27  
.
Figure 1-12: Synchronous Output Signals (Valid, Active and Inactive)  
2.0V  
CTTL or  
MWCLK  
2.0V  
Sig na l  
0.8V  
t
Signa l  
Note: Signal valid, active or inactive time, after a rising edge of CTTL or MWCLK.  
Figure 1-13: Synchronous Output Signals (Valid)  
MWCLK  
0.8V  
2.0V  
Sig na l  
0.8V  
t
Signa l  
Note: Signal valid time, after a falling edge of MWCLK.  
ISD  
1-21  
 
1—HARDWARE  
Figure 1-14: Synchronous Output Signals (Hold), after rising edge of CTTL  
ISD-SR3000  
2.0V  
CTTL  
2.0V  
0.8V  
Sig na l  
t
Signa l  
Note: Signal hold time, after a rising edge of CTTL.  
Figure 1-15: Synchronous Output Signals (Hold), after falling edge of MWCLK  
2.0V  
MWCLK  
2.0V  
Sig na l  
0.8V  
t
Signa l  
Note: Signal hold time, after a falling edge of MWCLK.  
Figure 1-16: Synchronous Input Signals  
2.0 V  
CTTL or  
MWCLK  
2.0 V  
0.8 V  
2.0 V  
0.8 V  
Sig na l  
t
Se tup  
t
Hold  
Sig na l  
Sig na l  
Note: Signal setup time, before a rising edge of CTTL or MWCK, and signal hold time after a rising edge  
of CTTL or MWCK  
Voice Solutions in Silicon™  
1-22  
1—HARDWARE  
ISD-SR3000  
Figure 1-17: Asynchronous Signals  
2.0 V  
0.8 V  
Sig na l A  
2.0 V  
0.8 V  
Sig na l B  
t
Signa l  
Note: Signal B starts after rising or falling edge of signal A.  
The RESET has a Schmitt trigger input buffer. Figure 1-18 shows the input buffer characteris-  
tics.  
Figure 1-18: Hysteresis Input Characteristics  
V
out  
V
Hys  
V
V
Hh  
Hl  
ISD  
1-23  
1—HARDWARE  
ISD-SR3000  
1.3.4 SYNCHRONOUS TIMING TABLES  
In this section, R.E. means Rising Edge and F.E. means Falling Edge.  
Table 1-11: Output Signals  
Symbol Figure  
tAh  
Description  
Address Hold  
Reference Conditions Min (ns) Max (ns)  
After R.E. CTTL  
After R.E. CTTL, T1  
After R.E. CTTL  
After R.E. CTTL  
After R.E. CTTL  
After R.E. CTTL  
After R.E. CTTL  
0.0  
tAv  
Address Valid  
CCLK Active  
9.0  
tCCLKa  
tCCLKh  
tCCLKia  
tCDOh  
tCDOv  
tCTp  
12.0  
CCLK Hold  
0.0  
CCLK Inactive  
CDOUT Hold  
CDOUT Valid  
CTTL Clock Period1  
12.0  
0.0  
-2.03  
12.0  
R.E. CTTL to next R.E.  
CTTL  
30.5  
250,000  
tEMCSa  
tEMCSh  
tEMCSia  
tFSa  
EMCS Active  
EMCS Hold  
EMCS Inactive  
CFS0 Active  
CFS0 Hold  
After R.E. CTTL, T2W1  
After R.E. CTTL  
After R.E. CTTL T3  
After R.E. CTTL  
After R.E. CTTL  
After R.E. CTTL  
After R.E. CTTL  
12.0  
0.0  
0.0  
12.0  
25.0  
tFSh  
tFSia  
CFS0 Inactive  
25.0  
12.0  
tMMCLKa  
Master MICROWIRE Clock  
Active  
tMMCLKh  
tMMCLKia  
tMMDOh  
tMMDOv  
Master MICROWIRE Clock  
Hold  
After R.E. CTTL  
After R.E. CTTL  
0.0  
0.0  
Master MICROWIRE Clock  
Inactive  
12.0  
Master MICROWIRE Data Out After R.E. CTTL  
Hold  
Master MICROWIRE Data Out After R.E. CTTL  
Valid  
12.0  
70.0  
tMWDOf  
tMWDOh  
tMWDOnf  
tMWDOv  
tMWITOp  
tMWRDYa  
MICROWIRE Data Float1  
MICROWIRE Data Out Hold2  
MICROWIRE Data No Float2  
MICROWIRE Data Out Valid2  
MWDIN to MWDOUT  
After R.E. MWCS  
After F.E. MWCLK  
After F.E. MWCS  
After F.E. MWCLK  
Propagation Time  
After R.E. of CTTL  
0.0  
0.0  
70.0  
70.0  
70.0  
35.0  
MWRDY Active  
0.0  
Voice Solutions in Silicon™  
1-24  
 
1—HARDWARE  
Symbol Figure  
ISD-SR3000  
Table 1-11: Output Signals  
Description Reference Conditions Min (ns) Max (ns)  
MWRDY Inactive  
tMWRDYia  
tPABCh  
After F.E. MWCLK  
After R.E. CTTL  
0.0  
0.0  
70.0  
PB and MWRQST  
PB and MWRQST  
tPABCv  
After R.E. CTTL, T2W1  
12.0  
1.  
In normal operation mode, tCTp must be 30.5 ns; in power-down mode, tCTp must be 50,000 ns.  
2. Guaranteed by design, but not fully tested.  
3. Negative hold times are allowed since they are relative to the internal signal CTTL.  
Table 1-12: Input Signals  
Symbol Figure  
Description  
CDIN Hold  
Reference Conditions  
Min (ns) Max (ns)  
tCDIh  
tCDIs  
tDIh  
After R.E. CTTL  
0.0  
25.0  
0.0  
CDIN Setup  
Before R.E. CTTL  
Data in Hold (D0:7)  
Data in Setup (D0:7)  
After R.E. CTTL T1, T3 or TI  
tDIs  
Before R.E. CTTL T1, T3 or  
TI  
19.0  
tMMDINh  
tMMDINs  
tMWCKh  
tMWCKl  
Master MICROWIRE Data  
In Hold  
After R.E. CTTL  
0.0  
Master MICROWIRE Data  
In Setup  
Before R.E. CTTL  
At 2.0 V (both edges)  
At 0.8 V (both edges)  
11.0  
MICROWIRE Clock High  
(slave)  
100.0  
100.0  
2.5 µs  
50.0  
MICROWIRE Clock Low  
(slave)  
tMWCKp  
tMWCLKh  
tMWCLKs  
MICROWIRE Clock Period R.E. MWCLK to next R.E.  
(slave)1  
MWCLK  
MWCLK Hold  
After MWCS becomes  
inactive  
MWCLK Setup  
Before MWCS becomes  
active  
100.0  
tMWCSh  
tMWCSs  
tMWDIh  
tMWDIs  
MWCS Hold  
MWCS Setup  
MWDIN Hold  
MWDIN Setup  
After F.E. MWCLK  
Before R.E. MWCLK  
After R.E. MWCLK  
Before R.E. MWCLK  
75.0  
100.0  
50.0  
100.0  
ISD  
1-25  
1—HARDWARE  
ISD-SR3000  
Table 1-12: Input Signals  
Symbol Figure  
tPWR  
Description  
Reference Conditions  
After VCC reaches 4.5 V  
Min (ns) Max (ns)  
30.0 ms  
Power Stable to RESET  
R.E.2  
tRSTw  
tXh  
RESET Pulse Width  
CLKIN High  
At 0.8 V (both edges)  
At 2.0 V (both edges)  
At 0.8 V (both edges)  
10.0 ms  
tX1p/2 – 5  
tX1p/2 – 5  
244.4  
tXl  
CLKIN Low  
tXp  
CLKIN Clock Period  
R.E. CLKIN to next R.E.  
CLKIN  
1.  
Guaranteed by design, but not fully tested in power-down mode.  
2. Guaranteed by design, but not fully tested.  
Voice Solutions in Silicon™  
1-26  
1—HARDWARE  
ISD-SR3000  
1.3.5 TIMING DIAGRAMS  
Figure 1-19: SRAM Write Cycle Timing  
T3  
T1  
T2W1  
nxT2W  
T2  
T3  
nxT3H  
(Note 2)  
(Note 3)  
(Note 1)  
CTTL  
A1-16  
(Note 5)  
Addre ss  
t
Av  
EMCS  
t
t
EMCSa  
EMCSia  
t
t
EMCSh  
EMCSh  
t
DCSh  
t
WRCSh  
(Note 4)  
WR0-1  
(Note 6)  
t
t
WRia  
WRa  
t
t
WRh  
WRh  
D0-15  
(Note 5)  
Da ta Out  
t
Dh  
t
Dv  
t
Df  
1. This cycle may be either TI (Idle), T3 or T3H.  
2. 0 < n < 7  
3. If n = 0, this cycle may be either TI (Idle) or T1 (with a new address) and tDf and tDh are measured from  
the R.E. of CTTL in T3.  
4. If n = 1, this cycle is T3H, the address bus does not change its value and tDf and tDh are measured from  
the R.E. of CTTL in T3H.  
5. Depends on which bytes are written.  
6. For an 8-bit data bus, address lines are A0-15 and data lines are D0-7  
7. WR1 is not available if expansion memory is configured as 8-bit bus RAM.  
ISD  
1-27  
 
1—HARDWARE  
ISD-SR3000  
Figure 1-20: SRAM Read Cycle  
T3  
T1  
T2W1  
nxT2W  
T2  
T3  
nxT3H  
(Note 2)  
(Note 3)  
(Note 1)  
CTTL  
Address  
A1-16  
(Note 5)  
t
Av  
EMCS  
t
t
EMCSia  
EMCSa  
t
t
EMCSh  
EMCSh  
WR0-1  
(Note 6)  
Da ta In  
D0-15  
(Note 5)  
(Note 4)  
t
t
DIh  
DIs  
1. This cycle may be either TI (Idle), T3 or T3H.  
2. 0 < n < 7  
3. If n = 0, this cycle may be either TI (Idle) or T1 (with a new address). If n = 1, this cycle is T3H, and  
address bus does not change its value.  
4. Data can be driven by an external device at T2W1, T2W, T2 and T3.  
5. For an 8-bit data bus, address lines are A0-15 and data lines are D0-7.  
6. WR0 and WR1 are not available if Expansion Memory is configured as ROM. WR1 is not available  
if Expansion Memory is configured as 8-bit bus RAM.  
Figure 1-21: CODEC Short Frame Timing  
t
t
t
t
4xt  
CTp  
t
t
t
t
4xt  
CTp  
t
t
t
t
4xt  
CTp  
t
t
t
t
4xt  
t
t
t
t
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTTL  
CCLK  
t
CCLKa  
t
CCLKia  
t
t
CCLKh  
CCLKh  
CFS0/  
CFS1  
t
FSia  
t
FSa  
t
t
FSh  
FSh  
BIT 7  
CDOUT  
CDIN  
t
t
CDOv  
CDOv  
t
CDOh  
BIT 7  
t
t
CDIh  
CDIs  
Note: This cycle may be either TI (Idle), T2, T3 or T3H.  
Voice Solutions in Silicon™  
1-28  
1—HARDWARE  
ISD-SR3000  
Figure 1-22: CODEC Long Frame Timing  
t
t
t
t
4xt  
t
t
t
t
4xt  
t
t
t
4xt  
t
t
t
t
CTp  
t
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTTL  
CCLK  
tCCLKa  
tCCLKh  
tCCLKia  
tCCLKh  
CFS0/  
CFS1  
t
FSia  
FSh  
t
FSa  
t
t
FSh  
BIT 7  
BIT 0  
CDOUT  
CDIN  
t
t
CDOv  
CDOh  
BIT 7  
Figure 1-23: Slave CODEC CCLK and CFSO Timing  
t
CCLKSp  
CCLK  
t
t
CCLKSl  
CCLKSh  
CFS0  
t
CFS0Ss  
t
CFS0Sh  
ISD  
1-29  
1—HARDWARE  
ISD-SR3000  
Figure 1-24: MICROWIRE Transaction Timing--Data Transmitted to Output  
Voice Solutions in Silicon™  
1-30  
1—HARDWARE  
ISD-SR3000  
Figure 1-25: MICROWIRE Transaction Timing--Echoed Transmitted to Output  
Figure 1-26: Output Signal Timing for MWRQST  
(Note)  
ISD  
1-31  
1—HARDWARE  
ISD-SR3000  
Figure 1-27: CLKIN and CTTL Timing  
Figure 1-28: Reset Timing When Reset is not at Power-UP  
Voice Solutions in Silicon™  
1-32  
1—HARDWARE  
ISD-SR3000  
Figure 1-29: Reset Timing when reset is at power-on  
Figure 1-30: Codec Short Frame Timing  
t
t
t
t
4xt  
CTp  
t
t
t
t
4xt  
CTp  
t
t
t
t
4xt  
t
t
t
t
4xt  
t
t
t
t
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTTL  
CCLK  
t
CCLKa  
t
CCLKia  
t
t
CCLKh  
CCLKh  
CFS0/  
CFS1  
t
FSia  
t
t
FSa  
FSh  
t
FSh  
BIT 7  
CDOUT  
CDIN  
t
t
CDOv  
CDOv  
t
CDOh  
BIT 7  
t
t
CDIh  
CDIs  
Note: The CCLK and CFS0 timing is shown for Master Mode only. For Slave Mode, see Figure 1-32.  
ISD  
1-33  
1—HARDWARE  
ISD-SR3000  
Figure 1-31: Codec Long Frame Timing  
t
t
t
t
4xt  
t
t
t
t
4xt  
t
t
t
4xt  
t
t
t
t
CTp  
t
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTp  
CTTL  
CCLK  
tCCLKa  
tCCLKh  
tCCLKia  
tCCLKh  
CFS0/  
CFS1  
t
FSia  
FSh  
t
FSa  
t
t
FSh  
BIT 7  
BIT 0  
CDOUT  
CDIN  
t
t
CDOv  
CDOh  
BIT 7  
Note: The CCLK and CFS0 timing is shown for Master Mode only. For Slave Mode, see Figure 1-32.  
Figure 1-32: Slave Codec CCLK and CFS0 Timing  
t
CCLKSp  
CCLK  
CFS0  
t
t
CCLKSl  
CCLKSh  
t
CFS0Ss  
t
CFS0Sh  
Note: For CFS1, CDIN, CDOUT timing, see Figure 1-30 and Figure 1-31.  
Voice Solutions in Silicon™  
1-34  
1—HARDWARE  
ISD-SR3000  
Figure 1-33: MICROWIRE Transaction Timing--data transmitted to output  
ISD  
1-35  
1—HARDWARE  
ISD-SR3000  
Figure 1-34: MICROWIRE Transaction Timing--data echoed to output  
Voice Solutions in Silicon™  
1-36  
2—SOFTWARE  
ISD-SR3000  
Chapter 2—SOFTWARE  
2.1  
OVERVIEW  
In chapter one, the ISD-SR3000 was described as a hardware component in a system. This  
system must include a host controller to handle the Voice User Interface layer that controls the  
ISD-SR3000. The ISD-SR3000 recognizes words from a pre-defined fixed list and returns them  
to the host controller for handling. It is the host controller’s responsibility to decide how to react  
to a set of recognized words that has been returned by the recognition engine.  
The ISD-SR3000 software resides in the on-chip ROM. It includes speech recognition, speech  
compression, system support functions and a software interface to hardware peripherals. The  
following sections in this chapter describe, in detail, the ISD-SR3000 interface, operation pro-  
cedures, software, tools and commands set.  
Figure 2-35: Partitioning of Hardware Components and Software Code  
System under control  
Host controller  
Application VUI  
User Application  
Softw are  
(Voice User Interface)  
ISD-SR3000  
Recognition  
Compression  
Voice  
CODEC  
Audio I/O  
Application  
specific  
firmw are  
Hardw are  
Memory Elements  
Acoustic models  
Voicetag storage  
Audio prom pts  
Vocabulary  
ISD  
2-1  
 
2—SOFTWARE  
ISD-SR3000  
2.2  
RECOGNITION ENGINE  
ISD-SR3000 uses a segmented triphone recognition process. The sampled speech utterance  
is split into distinct phonetic sounds, the smallest units of speech. Because these phonemes  
vary in both sound and duration, the processor must be able to determine boundaries between  
the sounds. The ISD-SR3000 uses Hidden Markov Models to hypothesize boundaries between  
sounds and to form probabilistic models on each possible combination.  
The outputs are then classified by determining matches between the phonetic sounds and the  
stored phoneme models. The acoustic models for the phonemes are gathered from a large  
sample of speakers, allowing for a wide variation across accents, dialect, and gender. This al-  
lows the recognizer to associate the sound segments with a number of possible phonemes, en-  
abling recognition when words are pronounced differently.  
The phonemes are then matched to vocabulary words or phrases using a search routine. The  
set of phonemes is compared to the vocabulary models for the active topics, and the recognized  
word is returned. If the phonemes do not match any of the active vocabulary words, nothing is  
returned. The ISD-SR3000 does not return a score with the word; it either recognizes a word,  
or it does not.  
2.2.1 TYPES OF RECOGNITION  
The ISD-SR3000 is capable of both speaker-independent and speaker defined recognition.  
The recognition engine is continuous, allowing for multiple word commands and connected dig-  
its. However, there must be recognized silence before and after valid utterances. The length of  
the silence is programmed into the host controller, and may be as small as 100ms. The com-  
mands and digits are speaker-independent, with models constructed from a large corpus of  
speakers. The speaker-defined voicetags and commands are partially speaker-dependent.  
However, they are constructed by creating acoustic models on-the-fly” from the phoneme  
base. This means only one training pass is required for entering the voicetags, and recognition  
is possible with some variation in the way the name is spoken. The first pass is used to create  
the phoneme model, and a second pass is used for recognition confirmation.  
2.2.2 GRAMMAR  
A grammar is used to define the structure of the commands. The ISD-SR3000 is designed to  
work with multiple topics or a finite-state grammar. This type of grammar is designed to limit  
perplexity (the number of possible branches during recognition) by pre-defining the number of  
allowable words at a given state. For example, a prompt that requires a yesor noresponse  
has a perplexity of two. Greater perplexities increase the chances for substitution errors. During  
recognition, a limited number of topics are active. Topics are groups of words that are active at  
a given time. For example, in a voice dialing application, digit topics are active after the user  
issues the dialcommand. No other topics are open (except the global topics such as cancel”  
or help) so that the recognizer is only trying to recognize digits. This type of grammar and ac-  
tive topics inherently increases recognition accuracy.  
Voice Solutions in Silicon™  
2-2  
 
2—SOFTWARE  
ISD-SR3000  
Figure 2-36: Topic and Grammar Organization  
Command Topics  
Call  
Dial  
Store  
Delete  
Global Topics  
Help  
Cancel  
Go to sleep  
Wake up  
Answer  
Hangup  
Mute  
Parameters  
Name  
Digits  
Keyword  
Change name  
On line  
Redial  
Figure 2-36 shows an example of organizing the commands into menu structure format. From  
this example, it can be seen how topics are linked, and how only specific topics are active. This  
is a voice dialing command set furnished as ISD’s sample application. Independent VUIs and  
vocabulary can be developed, but it is necessary to follow the grammar syntax as shown here.  
2.2.3 VOCABULARY  
A vocabulary defines the following characteristics of the ISD-SR3000:  
Speaker-independent command words and digits for which ISD-SR3000 responds  
Topics under which the commands and digits are organized  
Mapping of tokens to the vocabulary  
ISD-SR3000 is designed to work with an application specific vocabulary set. The total vocabu-  
lary size is determined by available external memory. When the processor recognizes the com-  
mands, tokens (values) are returned to the host controller. These tokens represent spoken  
words. The host controller maintains a lookup table of the available words and their correspond-  
ing token numbers. The host controller can use the tokens to accomplish tasks, such as gen-  
erating DTMF for dialing a phone number.  
ISD supplies recommended vocabulary sets as part of the VUI for specific applications. The vo-  
cabulary sets have been carefully selected to ensure high recognition (avoiding words that may  
be phonetically confused) and effective user utility. The accuracy specifications for ISD-  
SR3000 are based on the ISD provided commands. It is possible to create custom vocabulary  
sets for specific applications. Contact ISD for information about vocabulary development tools.  
The vocabulary can be stored either in external ROM or Flash memory.  
2.2.4 LANGUAGE  
ISD-SR3000 uses a set of acoustic models designed to recognize a given language. Currently,  
the supported languages are American English and German. Additional languages require dif-  
ferent acoustic models. Contact ISD for availability of additional languages.  
ISD  
2-3  
 
2—SOFTWARE  
ISD-SR3000  
2.2.5 ADDITIONAL COMPONENTS  
MESSAGE  
A message is a compressed recording stored in the ISD-SR3000 memory. This message can  
be compressed, when using the R (Record Message) command, at 4.7, 6.7 or 8.7kbits/s.  
NOISE TOKENS  
Each topic can be supplemented with additional tokens that will absorb the ‘out of vocabulary’  
words. These tokens can be added upon user request with ISD’s development tools. These to-  
kens are not assigned an index number like the other words in the topic table. Once the engine  
recognizes a word as a noise token, the ISD-SR3000 returns the noise topic identifier (0xFD)  
instead of the current topic.  
CEPSTRA VALUES  
The cepstra coefficients are responsible for normalizing the voice input channel. The ISD-  
SR3000 contains 15 cepstra values starting from index 0.  
VOICE TAG  
A voice tag is a recorded message of a user-added word. This message can be compressed,  
when using the RR (Record for Reco) command, at 4.7, 6.7 or 8.7kbits/s.  
2.3  
INITIALIZATION  
After the system is powered up, it is the host controller’s responsibility to initialize the ISD-  
SR3000. This initialization includes: resetting the chip using the RESET signal, configuring the  
hardware environment using the CFG command (CODEC and memory types and parameters,  
etc.), and issuing the INIT and TUNE commands. The TUNE and CFG commands are required  
only if the system settings are different from the ISD-SR3000’s default values.  
ISD-SR3000 Initialization  
page 2-68  
for anexample illustratingthe sys-  
Refer to the section  
on  
tem initialization procedure for the ISD-SR3000.  
2.4  
RECO ENGINE MANAGEMENT  
After the system has been initialized (including setting the vocabulary for the prompts) it is the  
host controller’s responsibility to initialize the recognition engine. This includes loading of top-  
ics, enabling topics and activating the recognition engine. It is recommended that you load all  
the topics if the system memory size enables it, rather then loading and unloading a topic each  
time one needs to be enabled.  
Voice Solutions in Silicon™  
2-4  
 
2—SOFTWARE  
ISD-SR3000  
Once the recognition engine is initialized, the host controller should wait for the  
EV_RECO_QUEUE bit in the status register to be set. When the ISD-SR3000 sets this bit, it  
automatically asserts the MWRQST line as an indication for the host controller to read this reg-  
ister (by issuing the GSW command). When the host controller has identified this bit, it should  
start retrieving the recognized words (noted as topic number and token number) from the ISD-  
SR3000 recognition queue buffer using the GNR command. It is the host controller’s responsi-  
bility to interpret the incoming words into grammar commands using predefined tables. (These  
tables are created by the ISD development tool). When the host controller interprets a valid  
command, it can then respond by executing commands such as stopping the recognition en-  
gine, playing a prompt or a tone (only after the recognition engine is disabled), changing menus  
and topics, adding or deleting user voice tags (a new acoustic word), operating an external de-  
vice, etc. The recognition process is half-duplex. When the ISD-SR3000 is playing back audio,  
recognition is not active.  
Example Operation Procedures  
page 2-68  
for examples illustrating  
Refer to the section  
on  
the normal operation procedure for the ISD-SR3000 engine and the adding of a voice tag.  
2.5  
HOST CONTROLLER INTERFACE  
MICROWIRE/PLUS™ is a synchronous serial communication protocol that minimizes the num-  
ber of connections, and thus the cost, of communicating with peripherals.  
The ISD-SR3000 MICROWIRE interface implements the MICROWIRE/PLUS interface in slave  
mode, with an additional ready signal. It enables a host controller to interface efficiently with the  
ISD-SR3000 processor application.  
The host controller is the protocol master and provides the clock for the protocol. The ISD-  
SR3000 processor supports clock rates of up to 400kHz. This transfer rate refers to the bit  
transfer. The actual throughput is slower due to byte processing by the ISD-SR3000 processor  
and the host controller.  
Communication is handled in bursts of eight bits (one byte). In each burst the ISD-SR3000 pro-  
cessor is able to receive and transmit eight bits of data. After eight bits have been transferred,  
an internal interrupt is issued for the ISD-SR3000 processor to process the byte, or to prepare  
another byte for sending. In parallel, the ISD-SR3000 processor sets MWRDY to 1, to signal  
the host controller that it is busy with the byte processing. Another byte can be transferred only  
when the MWRDY signal is cleared to 0 by the ISD-SR3000 processor. When the ISD-SR3000  
processor transmits data, it expects to receive the value 0xAA before each transmitted byte.  
The ISD-SR3000 processor reports any status change by clearing the MWRQST signal to 0.  
If processor command’s parameter is larger than one byte, the host controller transmits the  
Most Significant Byte (MSB) first. If a return value is larger than one byte, the ISD-SR3000 pro-  
cessor transmits the MSB first.  
ISD  
2-5  
 
2—SOFTWARE  
ISD-SR3000  
SIGNAL DESCRIPTION  
The following signals are used for the interface protocol. Input and output are relative to the  
ISD-SR3000.  
2.5.1 INPUT SIGNALS  
MWDIN  
MICROWIRE Data In. Used for input only, for transferring data from the host controller to the  
ISD-SR3000.  
MWCLK  
This signal serves as the synchronization clock during communication. One bit of data is trans-  
ferred on every clock cycle. The input data is available on MWDIN, and is latched on the clock’s  
rising edge. The transmitted data is output on MWDOUT, on the clock’s falling edge. The signal  
should remain low when switching MWCS.  
MWCS  
MICROWIRE Chip Select. The MWCS signal is cleared to 0, to indicate that the ISD-SR3000  
is being accessed. Setting MWCS to 1 causes the ISD-SR3000 to start driving MWDOUT with  
bit 7 of the transmitted value. Setting the MWCS signal resets the transfer-bit counter of the pro-  
tocol. Thus, the MWCS signal is used to synchronize the ISD-SR3000 and the host controller  
to recognize the beginning of the byte transfer.  
To prevent false detection of access to the ISD-SR3000, due to spikes on the MWCLK signal,  
use this chip select signal to toggle the MWCLK input signal (only when the ISD-SR3000 is  
open for communication.)  
2.5.2 OUTPUT SIGNALS  
MWDOUT  
MICROWIRE Data Out. Used for output only, for transferring data from the ISD-SR3000 to the  
host controller. When the ISD-SR3000 receives data, it is echoed back to the host controller on  
this signal, unless the received data is 0xAA. In this case, the ISD-SR3000 echoes a  
command’s return value.  
MWRDY  
MICROWIRE Ready. When active (0), this signal indicates that the ISD-SR3000 is ready to  
transfer (receive or transmit) another byte of data.  
This signal is set to 1 by the ISD-SR3000 after each byte transfer has been completed. It re-  
mains 1 while the ISD-SR3000 is busy reading the byte, writing the next byte or executing the  
received command (after the last parameter has been received). MWRDY is cleared to 0 after  
reset. For proper operation after a hardware reset, this signal should be pulled up.  
Voice Solutions in Silicon™  
2-6  
 
2—SOFTWARE  
MWRQST  
ISD-SR3000  
MICROWIRE Request. When active (0), this signal indicates that new status information is  
available. MWRQST is deactivated (set to 1), after the ISD-SR3000 receives a GSW (Get Sta-  
tus Word) command from the host controller. After reset, this signal becomes active (0) to indi-  
cate that a reset occurred. MWRQST, unlike all the signals of the communication protocol, is  
an asynchronous line that is controlled by the ISD-SR3000 firmware.  
2.5.3 SIGNAL USE IN THE INTERFACE PROTOCOL  
After reset, both MWRQST and MWRDY are cleared to 0.  
The MWRQST signal is activated to indicate that a reset occurred. The EV_RESET bit in the  
status register is used to indicate a reset condition.  
The GSW command should be issued after reset to verify that the EV_RESET event occurred,  
and to deactivate the MWRQST signal.  
While the MWCS signal is active (0), the ISD-SR3000 reads data from MWDIN on every rising  
edge of MWCLK. The ISD-SR3000 also writes every bit back to MWDOUT. This bit is either the  
same bit, which was read from MWDIN (in this case it is written back as a synchronization echo  
after some propagation delay), or it is a bit of a value the ISD-SR3000 transmits to the host con-  
troller (in this case it is written on every falling edge of the clock).  
When a command has more than one parameter/return-value, the parameters/return-values  
are transmitted in the order of appearance. If a parameter/return-value is more than one byte  
long, the bytes are transmitted from the most significant to the least significant.  
The MWRDY signal is used as follows:  
1.  
Active (0) MWRDY signals the host controller that the last eight bits of data transferred  
to/from the voice module were accepted and processed (see below).  
2.  
The MWRDY signal is deactivated (set to 1 by the ISD-SR3000) after 8-bits of data were  
transferred to/from the ISD-SR3000. The bit is set following the falling edge of the eighth  
MWCLK clock-cycle.  
3.  
4.  
The MWRDY signal is activated (cleared to 0) by the ISD-SR3000 when it is ready to re-  
ceive the first parameter byte (if there are any parameters) and so on until the last byte  
of parameters is transferred. An active MWRDY signal after the last byte of parameters  
indicates that the command was parsed and (if possible) executed. If that command has  
a return value, the host controller must read the value before issuing a new command.  
When a return value is transmitted, the MWRDY signal is deactivated after every byte,  
andactivatedagainwhenthe ISD-SR3000 is ready tosend another byte or receive a new  
command.  
The MWRDY signal is activated (cleared to 0) after reset, and after a protocol time-out.  
The MWRQST signal is used as follows:  
ISD  
2-7  
 
2—SOFTWARE  
ISD-SR3000  
1. The MWRQST signal is activated (cleared to 0), when the status word is changed.  
2. The MWRQST signal remains active (0), until the ISD-SR3000 receives a GSW command.  
Figure 2-37 illustrates the sequence of activities during a MICROWIRE data transfer.  
Figure 2-37: Sequence of Activities During a MICROWIRE Byte Transfer  
2.5.4 INTERFACE PROTOCOL TIME-OUTS  
Depending on the ISD-SR3000’s state, if more than 100 milliseconds elapse between the as-  
sertion of the MWRDY signal of the 8th bit of the next byte pertaining to the same command  
transaction, a time-out event occurs, and the ISD-SR3000 responds as follows:  
1.  
2.  
3.  
4.  
5.  
Sets the error bit in the status word to 1.  
Sets the EV_TIMEOUT bit in the error word to 1.  
Activates the MWRQST signal (clears it to 0).  
Activates the MWRDY signal (clears it to 0).  
Waits for a new command. (After a time-out occurs, i.e. the host controller received  
MWRQST during the command transfer, or result reception, the host controller must wait  
at least four milliseconds before issuing the next command.)  
2.5.5 ECHO MECHANISM  
The ISD-SR3000 echoes back to the host controller all the bits received by the ISD-SR3000.  
Upon detection of an error in the echo, the host controller should stop the protocol clock, which  
eventually causes a time-out error (i.e., ERR_TIMEOUT bit is set in the error word).  
Voice Solutions in Silicon™  
2-8  
 
2—SOFTWARE  
ISD-SR3000  
Note: When a command has a return value, the ISD-SR3000 transmits bytes of the return value instead  
of the echo value.  
The ISD-SR3000 transmits a byte as an echo when it receives the value 0xAA from the host  
controller. Upon detection of an error, the ISD-SR3000 activates the MWRQST signal and sets  
the ERR_COMM bit in the error word.  
2.6  
MEMORY INTERFACE  
The ISD-SR3000 memory is externally stored on a ROM or a FLASH device. These devices  
are addressed through an Expansion Memory mechanism containing four registers that yields  
to a 20 bit address bus, A(0:19), and 16 bit of data bus, D(0:15). For a detailed description and  
references, please refer to section 1.2.7.  
2.7  
CODEC INTERFACE  
2.7.1 SUPPORTED FUNCTIONALITY  
The ISD-SR3000 processor supports two operational modes: the master mode and the slave  
mode. In master mode, the ISD-SR3000 provides the clock and the synchronization signals. It  
supports a list of single channel and dual channel CODECs, as listed in Table 1-4. In slave  
mode, the control signals are provided by an external source.  
The CODEC interface is designed to exchange data in short frame format as well as in long  
frame format. The channel width may be either 8 bits (u-Law format or A-Law format), or 16 bits  
(linear format). In slave mode the clock may be divided by two, if required (two bit rate clock  
mode). The ISD-SR3000 processor supports up to 2 voice channels.  
See THE CODEC INTERFACE” on page 1-7 for a detailed description of the supported CO-  
DEC devices and the hardware connectivity.  
Use the CFG command to define the CODEC mode (master or slave), the data frame format  
(short or long), the channel width (8 bits or 16 bits), the clock bit rate (single or dual) and the  
See “SR3000 pro-  
number and type of CODEC (one or two, single channel or dual channel).  
cessor commands--quick reference table” on page 2-16  
.
2.8  
SPEECH OUTPUT (AUDIO PROMPTS)  
Speech output is the technology that is used to create messages or prompts out of predefined  
words and phrases stored in a vocabulary.  
ISD  
2-9  
 
2—SOFTWARE  
ISD-SR3000  
There are two kinds of predefined messages: fixed messages (e.g., help information, indication  
prompts etc.) and programmable messages (e.g., time-and-day stamp, or the You have n en-  
tries in your phone book” announcement).  
A vocabulary includes a set of predefined words and phrases required to construct messages  
in any language. Applications can support more than one language by using a separate vocab-  
ulary for each language.  
2.8.1 INTERNATIONAL VOCABULARY SUPPORT (IVS)  
IVS is a mechanism by which the ISD-SR3000 processor utilizes several vocabularies stored  
on an external storage device. IVS enables the ISD-SR3000 to synthesize messages with the  
same meaning, but in different languages, from separate vocabularies.  
Among IVS features:  
Multiple vocabularies stored on a single storage device.  
Plug-and-play. The same host controller code is used for all languages.  
Synthesized and recorded messages use the same voice compression algorithm to achieve  
equal quality.  
You have <n> messages  
.)  
Argumented sentences. (For example:  
Auto-synthesized time-and-day stamp (driven by the ISD-SR3000 processor’s clock).  
Support for various language and sentence structures:  
have one message  
You have two  
versus  
One versus many. (For example: You  
messages  
.)  
None versus many. (For example:  
messages  
You have no messages  
You have two  
versus  
.)  
Number synthesis (English  
Twenty-one  
—Eighty  
Quatre-vingt  
versus French—  
).  
Einundzwanzig  
Word order (English—  
versus German—  
).  
Days of the week (Monday through Sunday versus Sunday through Saturday).  
2.8.2 VOCABULARY DESIGN  
There are several issues, sometimes conflicting, which must be addressed when designing a  
vocabulary.  
VOCABULARY CONTENT  
If memory space is not an issue, the vocabulary could contain all the required sentences, each  
recorded separately.  
If memory space is a concern, the vocabulary must be compact; it should contain the minimum  
set of words and phrases required to synthesize all the sentences. The least memory is used  
when phrases and words that are common to more than one sentence are recorded only once,  
and the IVS tool is used to synthesize sentences out of them.  
Voice Solutions in Silicon™  
2-10  
 
2—SOFTWARE  
ISD-SR3000  
A good combination of sentence quality and memory space is achieved if you take the com-  
pact” approach, and extend it to solve pronunciation problems. For example, the word twenty  
You have twenty names  
You have  
is pronounced differently when used in the sentences  
twenty-two names  
and  
. To solve this problem, words that are pronounced differently should be re-  
corded more than once, each in the correct pronunciation.  
VOCABULARY RECORDING  
When recording vocabulary words, there is a compromise between space and quality. The  
words should be recorded and saved in a compressed form, and you should use the best voice  
compression for that purpose. However, lower compression rates do affect the voice quality.  
Another issue to consider is the difference in voice quality between synthesized and recorded  
audio (e.g. between stored audio prompts and recorded names). It is more pleasant for the hu-  
man ear to hear both messages with the same sound quality.  
VOCABULARY ACCESS  
Sometimes compactness and high quality are not enough. There should be a simple and flex-  
ible interface to access the vocabulary elements. Not just the vocabulary, but the code to ac-  
cess the vocabulary should be compact.  
When designing for a multi-lingual environment, there are even more issues to consider. Each  
vocabulary should be able to handle language-specific structures and designed in a coopera-  
tive way with the other vocabularies so that the code to access each vocabulary is the same.  
Monday. 12:30 P.M.,  
When you use the command to synthesize the sentence  
care in what language the message is played back.  
you should not  
2.8.3 IVS VOCABULARY COMPONENTS  
This section describes the basic concept of an IVS vocabulary, its components, and the rela-  
tionships between them.  
BASIC CONCEPTS  
An IVS vocabulary consists of words, sentences, and special codes that control the behavior of  
the algorithm which ISD-SR3000 processor uses to synthesize sentences.  
WORD TABLE  
The words are the basic units in the vocabulary. Create synthesized sentences by combining  
words in the vocabulary. Each word in the vocabulary is given an index which identifies it in the  
word table.  
Note that, depending on the language structures and sentences synthesized, you may need to  
record some words more than once in the vocabulary. For example, if you synthesize the sen-  
ISD  
2-11  
 
2—SOFTWARE  
ISD-SR3000  
you have twenty names  
you have twenty-five names  
twenty  
is pro-  
should be defined as two different words.  
tences:  
and  
twenty  
, the word  
nounced differently. In this example,  
NUMBER TABLES  
The number tables allow you to treat numbers differently depending on the context.  
Example 1:  
one  
name number one  
The number 1 can be announced as  
as in  
or as first as in  
first name  
.
Example 2:  
no  
you have no names  
oh  
as in  
The number 0 can be announced as  
as in  
or as  
monday, eight oh five A.M  
.
A separate number table is required for each particular type of use. The number table contains  
the indices of the words in the vocabulary that are used to synthesize the number. Up to nine  
number tables can be included in a vocabulary.  
SENTENCE TABLE  
The sentence table describes the predefined sentences in the vocabulary. The purpose of this  
table is to make the host controller that drives the ISD-SR3000 processor independent of the  
language being synthesized. For example, if the Flash and/or ROM memory contains vocabu-  
laries in various languages, and the first sentence in each vocabulary means you have n mes-  
sages, the host controller switches languages by issuing the following command to ISD-  
SR3000 processor:  
SPT <storage_media>, <vocabulary_id> -Select a new vocabulary  
The host controller software is thus independent of the grammar of the language in use. The  
sentences consist of words, which are represented by their indices in the vocabulary.  
The following figure shows the interrelationship between the three types of tables.  
Voice Solutions in Silicon™  
2-12  
2—SOFTWARE  
ISD-SR3000  
Figure 2-38: The Interrelationship between the Word, the Number, and the Sentence  
Tables  
Se nte nc e Ta b le  
Word Ta b le  
You ha ve  
OPT_NUMBER CONTROL_SING  
NAMES  
five  
twe nty  
You ha ve  
na m e s  
na m e s  
Numb e r Ta b le  
CONTROL AND OPTION CODES  
The list of word indices alone cannot provide the entire range of sentences that the ISD-  
SR3000 processor is able to synthesize. IVS control and option codes send special instructions  
to control the speech synthesis algorithm’s behavior in the processor.  
For example, if the sentence should announce the time of day, the ISD-SR3000 processor  
should be able to substitute the current day and time in the sentence. These control words do  
not represent recorded words, rather they instruct the processor to take special actions.  
2.9  
THE STATE MACHINE  
The ISD-SR3000 processor functions as a state machine. It changes state either in response  
to a command sent by the host controller, after execution of a command is completed, or as a  
result ofaninternal event (e.g. memory full or power failure). The ISD-SR3000 processor states  
are listed below.  
RESET  
The ISD-SR3000 processor is initialized to this state after a full hardware reset by the RESET  
signal.  
ISD  
2-13  
 
2—SOFTWARE  
ISD-SR3000  
IDLE  
This is the state from which most commands are executed. As soon as a command and all its  
parameters are received, the ISD-SR3000 processor starts executing the command.  
PLAY  
In this state, a prompt is played.  
SYNTHESIS  
In this state, an individual word or sentence is synthesized from a vocabulary.  
RECORD  
In this state, a user’s speech is recorded and stored.  
RECO  
In this state, speech recognition is active.  
TONE_GENERATE  
In this mode, the ISD-SR3000 synthesizes Tones or Dual Tones to the output.  
2.9.1 COMMAND EXECUTION  
An ISD-SR3000 command is represented by an 8-bit opcode. Some commands have parame-  
ters, and some commands return values to the host controller. Commands are either synchro-  
nous or asynchronous.  
2.9.2 SYNCHRONOUS COMMANDS  
A synchronous command must complete execution before the host controller can send a new  
command  
A synchronous command sequence starts when the host controller sends an 8-bit opcode to  
the ISD-SR3000 processor, followed by the command’s parameters (if any).  
The ISD-SR3000 processor executes the command and, if required, transmits a return value to  
the host controller. Upon completion, the ISD-SR3000 processor notifies the host controller that  
it is ready to accept a new command by asserting the MWRDY signal.  
2.9.3 ASYNCHRONOUS COMMANDS  
An asynchronous command runs in the background. During execution of an asynchronous  
command, other commands can be executed according to the source state in the command ta-  
ble.  
Voice Solutions in Silicon™  
2-14  
 
2—SOFTWARE  
ISD-SR3000  
2.9.4 ISD-SR3000 STATUS AND REGISTERS  
STATUS WORD  
The 16-bit Status Word indicates events that occur during normal operation. The ISD-SR3000  
processor asserts the MWRQST signal to indicate a change in the Status Word. This signal re-  
mains asserted until the ISD-SR3000 processor receives a GSW command. The status word  
is cleared during reset, and upon successful execution of the GSW command.  
ERROR WORD  
The 16-bit Error Word indicates errors that occurred during execution of a command. If an error  
is detected, the command is not processed, the EV_ERROR bit in the Status Word is set to 1,  
and the MWRQST signal is asserted. The error bits will remain active in the error register until  
the register is read (using the GEW command).  
RECO ERROR WORD  
This 16-bit Reco Error Word indicates errors that have occurred in the reco engine. If an error  
is detected, the ERR_RECO bit in the Status Word is set to 1, and the MWRQST signal is as-  
serted. The Reco Error Word will remain in the Reco Error register until the register is read (us-  
ing the GRE command).  
ERROR HANDLING  
When the host controller detects that the MWRQST signal has been asserted, the host control-  
ler should issue the GSW (Get Status Word) command, which de-asserts the MWRQST signal.  
Then the host controller should test the EV_ERROR and the ERR_RECO bits in the data (the  
Status Word contents) returned by the GSW command. If the EV_ERROR bit is set, the host  
controller should issue the GEW (Get Error Word) command to read the Error Word for details  
of the error. If the ERR_RECO is set, the host controller should issue the GRE (Get Reco Error)  
command to read the Reco Error Word for details of the error.  
ISD  
2-15  
 
2—SOFTWARE  
ISD-SR3000  
2.10 SR3000 PROCESSOR COMMANDS--QUICK REFERENCE TABLE  
Ta ble 2-13: Re c o Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Result  
State  
Description  
Source State  
Name S/A  
Description  
Bytes Description Bytes  
AAW  
S
Add Acoustic 49  
Word  
Idle  
No  
change  
Topic_ID  
List_ID  
1+1  
2
Token Id  
1
4
CEPG S Get Cepstra  
Values  
4B  
Idle, Reco  
No  
change  
Cepstra  
Index  
Cepstra  
Value  
CEPS  
DAW  
S
S
Set (Restore) 4C  
Cepstra Values  
Idle, Reco  
Idle  
No  
change  
Cepst_Index 2 + 4 None  
Cepst_Value  
-
-
Delete  
4A  
No  
change  
Topic_ID  
List_ID  
1+1+1 None  
Acoustic Word  
in a list  
Token ID  
DAWL S Delete All  
Acoustic  
4F  
Idle  
No  
change  
Topic_ID  
List_ID  
1+1  
None  
-
Words in a List  
GRE  
GNR  
S
S
Get RECO  
Error code  
56  
41  
All States  
Idle, Reco  
Idle, Reco  
None  
None  
-
Error word  
2
Get Next  
Recognition  
No  
change  
-
Topic ID  
Token ID  
1+1  
2
GNWL S Get Number of 4E  
Added  
No  
change  
Topic_ID  
List_ID  
1+1  
Numer Of  
Words  
Acoustic  
Words in a list  
GPC  
GRV  
GVQ  
S
S
S
Gets the  
phoneme  
count  
54  
52  
51  
Idle, Reco  
Reset, Idle  
Reco, Idle  
No  
change  
None  
None  
None  
-
-
-
Num of  
Phonemes  
2
2
2
Get RECO  
Program  
Version  
No  
change  
Reco  
Version  
Get Num of  
arguments in  
the VQ buffer  
No  
change  
Number of  
VQ  
RE  
A
S
A
Recognition  
Enable  
40  
50  
57  
Idle  
Idle  
Idle  
RECO  
None  
None  
-
-
None  
None  
None  
-
-
-
ROL  
RR  
Recognize  
Offline  
No  
change  
Record  
Message for  
Reco  
RECORD Compression 1  
Rate  
SRI  
S
Stop Reco  
5A  
Reco  
Idle  
None  
-
None  
-
Immediately  
Voice Solutions in Silicon™  
2-16  
 
2—SOFTWARE  
ISD-SR3000  
Ta ble 2-13: Re c o Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Result  
State  
Description  
Source State  
Idle, Reco  
Idle, Reco  
Idle  
Name S/A  
Description  
Bytes Description Bytes  
TOPD S Topic Disable 44  
No  
change  
Topic_ID  
1
1
1
1
1
None  
None  
None  
None  
None  
-
-
-
-
-
TOPE  
TOPL  
TOPS  
S
S
S
Topic Enable 43  
No  
change  
Topic_ID  
Topic_ID  
Topic_ID  
Topic_ID  
Topic Load  
Topic Save  
5B  
4D  
No  
change  
Idle  
No  
change  
TOPU S Topic Unload 5C  
Idle  
No  
change  
Note: For the column labeled S/A, S = Synchronous command and A = Asynchronous command.  
Ta ble 2-14: IVS a nd Me ssa ge (Voic e Ta g s) Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Source  
State  
Result  
State  
Description  
Name S/A  
Description Bytes Description Bytes  
CP  
S
S
S
S
S
Check  
Prompts  
2B  
0A  
0B  
Idle  
No change None  
No change None  
-
Test  
Results  
1
DM  
Delete  
Message  
Idle  
Idle  
Idle  
Idle  
-
None  
DMS  
GML  
GMS  
Delete  
Messages  
No change Tag_Ref,  
Tag_Mask  
2+2  
None  
-
Get Message 19  
Length  
No change None  
-
Message  
Length  
2
Get Memory  
Status  
12  
No change Type  
1
Remaining 2  
memory  
blocks  
GMT  
GNM  
GTM  
INFG  
S
S
S
S
Get Message 04  
Tag  
Idle  
Idle  
Idle  
Idle  
No change None  
-
Message  
tag  
2
Get Number of 11  
Messages  
No change Tag_Ref,  
Tag_Mask  
2+2  
Num of  
messages  
2
Get Tagged  
Message  
09  
No change Tag_Ref,  
2+2+1 Massage  
found  
1
Tag_Mask, Dir  
No change Offset  
Num of bytes  
Tag data  
3E  
1+1  
Num  
information get  
byte1...byte of  
n
bytes  
INFS  
S
Tag data  
information set  
3D  
Idle  
No change Offset,  
Num of bytes  
byte1...byten  
1+1+N None  
-
ISD  
2-17  
2—SOFTWARE  
ISD-SR3000  
Ta ble 2-14: IVS a nd Me ssa ge (Voic e Ta g s) Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Source  
State  
Result  
State  
Description  
Name S/A  
Description  
Bytes Description Bytes  
PM  
R
A
A
Play Message 03  
Idle  
Idle  
PLAY  
RECORD  
None  
-
None  
-
-
Record  
0C  
Tag (message 2 + 1 None  
Message  
Tag),  
Compression_  
rate  
S
S
A
S
Stop  
0
AllStates IDLE  
except  
reset  
None  
-
None  
-
-
-
SAS  
SMT  
Say  
Argumented  
Sentence  
1E  
Idle  
SYNTHESIS Sentence_n,  
Mask ref  
1 + 2 None  
Set Message 05  
Tag  
Idle  
No change Tag_Ref  
2
None  
None  
SO  
A
S
Say One Word 07  
Idle  
Idle  
SYNTHESIS Word_number 1  
-
-
SPT  
Set Prompts  
Type  
20  
No change Type, Id  
1 + 1 None  
SS  
A
A
Say Sentence 1F  
Say Words 21  
Idle  
Idle  
SYNTHESIS Sentence_n  
1
None  
-
-
SW  
SYNTHESIS N,  
word1...wordn  
1 + N None  
Note: For the column labeled S/A, S = Synchronous command and A = Asynchronous command.  
Ta ble 2-15: Ge ne ra l Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Result  
State  
Description  
Source State  
Name S/A  
Description  
Bytes Description Bytes  
CCIO  
CFG  
GEW  
GHV  
S
S
S
S
Configure  
Codec I/O  
34  
01  
1B  
02  
Idle  
No  
change  
Config_value 1  
None  
-
Configure  
ISD-SR3000  
Reset  
No  
change  
Config_value 3  
None  
-
Get Error  
Word  
All States  
Reset, Idle  
No  
change  
None  
None  
-
-
Error word  
Version  
2
1
Get  
No  
Hardware  
Version  
change  
GSV  
GSW  
GT  
S
S
A
Get System 53  
Version  
Reset, Idle  
All States  
Idle  
No  
change  
None  
None  
Tone  
-
Version  
2
2
-
Get Status 14  
Word  
No  
change  
-
Status  
Word  
Generate  
Tone  
0D  
TONE_  
GENERA (single Tone  
TE or DTMF)  
1
None  
Voice Solutions in Silicon™  
2-18  
2—SOFTWARE  
ISD-SR3000  
Ta ble 2-15: Ge ne ra l Comma nd s  
Command  
Command Parameters  
Return Value  
Opcode  
Hex  
Result  
State  
Description  
Source State  
Name S/A  
Description  
Bytes Description Bytes  
GTD  
S
Get Time  
and Day  
0E  
Idle  
No  
change  
Time_day_  
option  
1
1
-
Time and  
day  
2
2
-
GTUNE S Get Tunable 06  
Parameter  
Idle, Reset  
Reset  
No  
change  
Index  
None  
None  
Parameter  
_ value  
INIT  
S
Initialize  
System  
13  
Idle  
None  
PDM  
S
Go To  
1A  
Idle  
No  
-
None  
-
Power-Down  
Mode  
change  
SETD  
TUNE  
S
S
Set Time  
and Day  
0F  
15  
Idle  
No  
change  
Time_and_da 2  
y
None  
None  
-
-
Tune  
Parameters  
Reset, Idle  
No  
change  
Index,  
1 + 2 None  
Parameter_  
value  
VC  
S
Volume  
Control  
28  
Idle, Play,  
Synthesis,  
Tone  
No  
change  
vol_level  
1
-
(increment/  
decrement)  
Generate,  
Reco, Record  
Note: For the column labeled S/A, S = Synchronous command and A = Asynchronous command.  
ISD  
2-19  
2—SOFTWARE  
ISD-SR3000  
2.11 COMMAND DESCRIPTION  
The commands are listed in alphabetical order. All command opcodes are one byte in length.  
All opcodes, parameters and examples are shown using hex values for 8 bit and larger quanti-  
ties, and binary values for bit values, unless otherwise noted.  
Each command description includes an example application of the command. The examples  
display the opcode issued by the host controller and the response returned by the ISD-SR3000  
processor. For commands that require a return value from the ISD-SR3000 processor, the start  
of the return value is indicated by a thick vertical line. When a return value is required, the host  
controller must pass value AA (hex) to the ISD-SR3000 engine as a place-holder for each byte  
to be returned.  
Page Location for Command Descriptions  
Command Page Number in this Chapter  
Command  
Page Number in this Chapter  
AAW  
CCIO  
CEPG  
CEPS  
CFG  
CP  
page 2-21  
page 2-21  
page 2-23  
page 2-24  
page 2-25  
page 2-26  
page 2-27  
page 2-27  
page 2-28  
page 2-33  
page 2-30  
page 2-31  
page 2-32  
page 2-33  
page 2-33  
page 2-34  
page 2-35  
page 2-36  
page 2-36  
page 2-37  
page 2-38  
page 2-39  
page 2-39  
page 2-41  
page 2-42  
page 2-45  
GTM  
page 2-44  
page 2-45  
page 2-46  
page 2-47  
page 2-48  
page 2-48  
page 2-49  
page 2-50  
page 2-50  
page 2-51  
page 2-52  
page 2-52  
page 2-53  
page 2-54  
page 2-55  
page 2-56  
page 2-56  
page 2-57  
page 2-58  
page 2-59  
page 2-59  
page 2-60  
page 2-61  
page 2-61  
page 2-62  
page 2-63  
INFG  
INFS  
INIT  
PDM  
PM  
DAW  
DAWL  
DM  
R
RE  
ROL  
RR  
DMS  
GEW  
GHV  
GML  
GMS  
GMT  
GNM  
GNR  
GNWL  
GPC  
GRE  
GRV  
GSV  
GSW  
GT  
S
SAS  
SETD  
SMT  
SO  
SPT  
SRI  
SS  
SW  
TOPD  
TOPE  
TOPL  
TOPS  
TOPU  
TUNE  
VC  
GTD  
GTUNE  
Voice Solutions in Silicon™  
2-20  
 
2—SOFTWARE  
ISD-SR3000  
Add Acoustic Word  
0x49  
AAW  
Opcode:  
Syntax:  
AAW topic_id list_id [Token_ID]  
Synchronous  
Type:  
Description:  
Parameters:  
Adds a new dynamic word (user recorded word) to list list_id in topic topic_id  
The topic_id, list_id and token_id parameters are one byte each.  
Example  
id is 05.  
: Add a new acoustic word to list 0 in topic 3. The new word was added and the token  
Source  
Code  
Byte Sequence  
AAW 0300  
Host Controller  
ISD-SR3000  
49  
49  
03  
03  
00  
00  
AA  
05  
Configure Codec I/O  
0x34  
CCIO  
Opcode:  
Syntax:  
Type:  
CCIO config_value  
Synchronous  
Description:  
Configures the voice sample paths in various states. It should be used to change  
the default ISD-SR3000 processor configuration.  
Parameters:  
The config_value parameter is one byte and is encoded as follows.  
ISD  
2-21  
2—SOFTWARE  
ISD-SR3000  
BIT  
0
DESCRIPTION  
Loopback control  
0: Loopback disabled (default)  
1: Loopback enabled. In the RECORD state, the input samples are echoed back  
unchanged (i.e., no volume control) to the codec. This is useful for debugging  
the analog and codec circuitry.  
1
Input control  
0: Input from line codec.  
1: Input from microphone (default).  
Output Control  
Bits  
3 - 2  
3
0
2
0
Settings  
Automatic configuration. When in RECO/RECORD mode output  
disabled to the 2 codecs. In IDLE mode, outputs to both (default).  
0
1
1
1
0
1
Output to codec 0 only  
Output to codec 1 only  
Output to both codecs.  
4 - 7  
Reserved. Must be set to 0.  
Example:  
Configure the codec to have loop back enabled.  
Source  
Code  
Byte Sequence  
CCIO 01  
Host Controller  
ISD-SR3000  
34  
34  
01  
01  
Voice Solutions in Silicon™  
2-22  
2—SOFTWARE  
ISD-SR3000  
Get Cepstra Values  
0x4B  
CEPG  
Opcode:  
Syntax:  
Type:  
CEPG cepstra_index [cepstra_value]  
Synchronous  
Description:  
Normalizes the speech environment as it comes in from the microphone. This  
parameter is automatically updated by the ISD-SR3000. The host controller  
should save the values (via the CEPS command) in the event the settings are  
required again.  
Parameters:  
The cepstra_index is 2 bytes and the returned parameter cepstra_value is 4  
bytes (MSB first).  
Example:  
Get the cepstra values (0300A184) of Cepstra index 2.  
Source  
Code  
Byte Sequence  
CEPG 0002 AAAA AAAA  
Host Controller  
ISD-SR3000  
4b  
4b  
00  
00  
02  
02  
AA  
03  
AA  
00  
AA  
A1  
AA  
84  
ISD  
2-23  
2—SOFTWARE  
ISD-SR3000  
Set (Restore) Cepstra Values  
CEPS  
Opcode:  
Syntax:  
0x4C  
CEPS cepstra_index cepstra_value  
Type:  
Synchronous  
Description:  
Parameters:  
Restore the value of cepstra cepstra_index by the value cepstra_value.  
The cepstra_index is a two byte parameter and the cepstra_value is a four byte  
parameter (MSB first).  
Example:  
Set the cepstra values for Cepstra index 4.  
Source  
Code  
Byte Sequence  
CEPS 0004 03002433  
Host Controller  
ISD-SR3000  
4c  
4c  
00  
00  
04  
04  
03  
03  
00  
00  
24  
24  
33  
33  
Voice Solutions in Silicon™  
2-24  
2—SOFTWARE  
ISD-SR3000  
Configure ISD-SR3000  
0x01  
CFG  
Opcode:  
Syntax:  
Type:  
CFG config_value  
Synchronous  
Description:  
Configures the ISD-SR3000 processor for various hardware environments. It  
should be used to change the default ISD-SR3000 processor configuration.  
Parameters:  
The config_value parameter is a 24-bit word and is encoded as follows.  
BIT  
DESCRIPTION (the sign Xrefers to a don’t care)  
Memory type  
Bits  
3 - 0  
3
0
1
2
0
0
1
0
0
0
0
0
Settings  
No Memory  
AMD’s AM29F800/AM29F160 Flash (default)  
Reserved  
All other  
15 - 4  
16  
Reserved.  
Clock bit rate  
0: One bit rate clock (default)  
1: Two bit rate clock.  
17  
CODEC configuration  
0: Short-frame format (default)  
1: Long-frame format (guaranteed by design, but not tested).  
CODEC type  
Bits  
19 - 18  
Bits  
19  
0
18  
0
Settings  
16-bit linear  
µ-Law (default)  
A-Law  
0
1
1
0
1
1
Reserved  
ISD  
2-25  
2—SOFTWARE  
ISD-SR3000  
20  
CODEC Interface Mode  
0: Master CODEC interface (default)  
1: Slave CODEC interface.  
CODEC type  
Bits  
22 - 21  
22  
0
21  
0
Settings  
One single CODEC  
Two single CODECs (default)  
One dual CODEC  
Reserved  
0
1
1
0
1
1
23  
Reserved. Must be set to 0.  
Example: Configure the ISD-SR3000 processor to work with:  
One single linear CODEC that supports short frame format  
One AMD AM29F800  
Master Mode  
Source  
Byte Sequence  
Code  
CFG 01 00 00 08  
Host Controller  
ISD-SR3000  
01  
01  
00  
00  
00  
00  
08  
08  
Check Prompts  
CP  
Opcode:  
Syntax:  
Type:  
0x2B  
CP [return_value]  
Synchronous  
Description:  
Checks (checksum) if the IVS data of the currently selected vocabulary was  
correctly programmed to the ROM or Flash device. If the vocabulary data is  
correct, the return value is 1. Otherwise the return value is 0. If the current  
vocabulary is undefined, ERR_INVALID is reported.  
Parameters:  
return_value is one byte long  
Example:  
2-26  
Check the prompt to be in order (returned value is 1).  
Voice Solutions in Silicon™  
2—SOFTWARE  
ISD-SR3000  
Source  
Byte Sequence  
Code  
CP  
2B  
2B  
Host Controller  
ISD-SR3000  
AA  
01  
Delete Acoustic Word in list  
0x4A  
DAW  
Opcode:  
Syntax:  
Type:  
DAW topic_id list_id token_id  
Synchronous  
Description:  
Deletes the identifying token token_id of a specific word in list list_id of topic  
topic_id. This command doesn’t erase the recorded message associated with  
the token token_id (see the DM command for details on deleting a message).  
Parameters:  
topic_id, list_id and token_id are one byte long.  
Example  
: Delete acoustic word 9 in list 1 of topic 3.  
Source  
Code  
Byte Sequence  
DAW 03 01 09  
Host Controller  
ISD-SR3000  
4a  
4a  
03  
03  
01  
01  
09  
09  
Delete All Acoustic Words in List  
0x4F  
DAWL  
Opcode:  
Syntax:  
Type:  
DAWL topic_id list_id  
Synchronous  
Description:  
This command erases all the tokens from topic topic_id that are associated with  
list list_id (each parameter is one byte long).  
Parameters:  
ISD  
2-27  
2—SOFTWARE  
ISD-SR3000  
Example: Delete all acoustic words in list 1 of topic 5.  
Source  
Byte Sequence  
Code  
DAWL 05 01  
Host Controller  
ISD-SR3000  
4f  
4f  
05  
05  
01  
01  
Delete Message (voicetag)  
DM  
Opcode:  
Syntax:  
Type:  
0x0A  
DM  
Synchronous  
Description:  
(Messages are synonymous with voicetags).  
Deletes the current message. Deleting a message clears its message tag.  
Deleting the current message does not cause a different message to become  
current. The current message remains undefined until you issue a new  
command; for example, issue the GTM command to skip to the next message.  
The memory space released by the deleted message is immediately available for  
recording new messages.  
Parameters:  
Example:  
Delete the current message.  
Source  
Code  
Byte Sequence  
DM  
Host Controller  
ISD-SR3000  
0A  
0A  
Voice Solutions in Silicon™  
2-28  
2—SOFTWARE  
ISD-SR3000  
Delete Messages (voicetags)  
0x0B  
DMS  
Opcode:  
Syntax:  
Type:  
DMS Tag_Ref Tag_Mask  
Synchronous  
Description:  
Deletes all messages whose message tags match the tag_ref parameter. Only  
bits set in tag_mask are compared, i.e. a match is considered successful if:  
message tag  
tag_mask tag_ref  
tag_mask  
and  
and  
=
where and is a bitwise AND operation  
After the command completes execution, the current message is undefined. Use  
the GTM command to select a message to be the current message.  
The memory space released by the deleted message is immediately available for  
recording new messages.  
Parameters:  
Tag_Ref Tag_Mask are each two bytes long  
Example:  
Deleting all the messages associated with topic 8:  
Source  
Code  
Byte Sequence  
DMS 0800 FF00  
Host Controller  
ISD-SR3000  
0B  
0B  
08  
08  
00  
00  
FF  
FF  
00  
00  
ISD  
2-29  
2—SOFTWARE  
ISD-SR3000  
Returns the 16-bit error word  
0x1B  
GEW  
Opcode:  
Syntax:  
Type:  
GEW [error_word]  
Synchronous  
Description:  
Indicates errors that occurred during execution of the last command. If an error is  
detected, the command is not processed; the EV_ERROR bit in the status word  
is set to 1, and the MWRQST signal is activated (driven low).  
The GEW command reads the error word. All bits in the error word are cleared to  
zero during reset and after execution of each GEW command.  
If errors ERR_COMMAND or ERR_PARAM occur during the execution of a  
command that has a return value, the return value is undefined. The host  
controller must still read the return value to ensure proper synchronization.  
Parameters:  
The 16-bits of the error word are as follows:  
BIT  
0
DESCRIPTION  
ERR_ROL  
0: No error  
1: Recording too short  
1
2
3
ERR_OPCODE  
0: No opcode errors  
1: Illegal opcode. The ISD-SR3000 processor does not recognize the opcode.  
ERR_COMMAND  
0: No command errors  
1: Illegal command sequence. The command is not legal in the current state.  
ERR_PARAM  
0: No parameter errors  
1: Illegal parameter. The value of the parameter is out of range or is not appropriate  
for the command.  
4
5
0 or 1: Bit 4 is reserved and should be disregarded  
ERR_COMM  
0: No communications error  
1: host controller MICROWIRE communication error  
6
ERR_TIMEOUT  
0: No timeout error  
1: Time out error. Depending on the ISD-SR3000’s processor’s state, more than  
100 milliseconds elapsed between the arrival of two consecutive bytes (for  
commands that have parameters).  
Voice Solutions in Silicon™  
2-30  
2—SOFTWARE  
7
ISD-SR3000  
ERR_INVALID  
0: No context error  
1: Command can not be performed in current context.  
8-9  
10  
0 or 1: Bits 8 and 9 are reserved and should be disregarded.  
ERR_VQ_OVERFLOW: VQ buffer is full (frames will be missed).  
ERR_FLASH_MAP: error in directory page of Flash.  
11  
12  
ERR_Q_FULL: queue of recognized words is full (clear using GNR command).  
Bits 13 to 15 are reserved and should be disregarded.  
13-15  
Example:  
error.  
ISD-SR3000’s error word is repeated and it returns the code for a communications  
Source  
Code  
Byte Sequence  
GEW  
Host Controller  
ISD-SR3000  
1B  
1B  
AA  
00  
AA  
20  
Get Hardware Version; returns a one byte value indicating the ISD-SR3000  
hardware version  
GHV  
Opcode:  
Syntax:  
02  
GHV [Hw_Version]  
Type:  
Synchronous  
Description:  
Parameters:  
Returns the hardware version  
The single byte, Hw_Version, return values are as follows:  
BIT  
DESCRIPTION  
0 - 7  
Magic number, which specifies the ISD-SR3000 processor’s hardware version  
ISD  
2-31  
2—SOFTWARE  
ISD-SR3000  
Example:  
Get the ISD-SR3000 processor’s magic number. The ISD-SR3000 responds that it  
is version 1.  
Source  
Byte Sequence  
Code  
GHV  
02  
Host Controller  
ISD-SR3000  
AA  
01  
02  
Get Message Length  
GML  
Opcode:  
Syntax:  
Type:  
0x19  
GML [message_length]  
Synchronous  
Description:  
Returns the length of the current voicetag in multiples of 4 Kbytes (blocks).  
The returned value includes the voicetag directory information (64 bytes for the  
first block and 32 bytes for every other block), the voicetag data, and the entire  
last block of the voicetag, even if the voicetag occupies only a portion of the last  
block. Since a memory block includes 2048 bytes, the returned length may be  
bigger than the actual voicetag length by up to 2047 bytes. The minimum length  
of a voicetag is one block. If the current voicetag is undefined, the error  
ERR_INVALID is generated. See the Glossary for a complete description of this  
error.  
Parameters:  
message_length is 2 bytes long  
Example: Get the length of the current voicetag. The ISD-SR3000 responds: 4. (The voicetag  
occupies 8192 = 4 x 2048).  
Source  
Byte Sequence  
Code  
GML  
19  
Host Controller  
ISD-SR3000  
AA  
00  
AA  
04  
19  
Voice Solutions in Silicon™  
2-32  
2—SOFTWARE  
ISD-SR3000  
Get Memory Status  
0x12  
GMS  
Opcode:  
Syntax:  
Type:  
GMS type [mem_status]  
Synchronous  
Description:  
Returns the total number of remaining memory blocks as a type 16bit unsigned  
integer. The parameter type must be 0. The estimated remaining recording time  
may be calculated as follows:  
Time = (Num_of_blocks x 2048 x 8) / (Compression_rate x 1000)  
Parameters:  
Example:  
A command is issued to return the number of remaining memory blocks. The ISD-  
SR3000 responds: 40 blocks.  
Source  
Byte Sequence  
Code  
GMS 00 AA AA  
Host Controller  
ISD-SR3000  
12  
12  
00  
00  
AA  
00  
AA  
28  
Get Message Tag  
GMT  
Opcode:  
Syntax:  
Type:  
0x04  
GMT [Tag_Ref]  
Synchronous  
Description:  
Returns the 16-bit tag associated with the current voicetag. If the current  
voicetag is undefined, ERR_INVALID is reported.  
Parameters:  
Tag_Ref is 2 bytes long  
ISD  
2-33  
2—SOFTWARE  
ISD-SR3000  
Example:  
Source  
Get the current message tag.  
Byte Sequence  
Code  
GMT AA AA  
Host Controller  
ISD-SR3000  
04  
04  
AA  
00  
AA  
0E  
Get Number of Messages  
0x11  
GNM  
Opcode:  
Syntax:  
Type:  
GNM Tag_Ref Tag_Mask [Num_Of_Messages] which are 2 bytes each  
Synchronous  
tag_ref  
Description:  
Returns the number of voicetags whose message tags match the  
tag_mask  
parameters. Only bits set in  
successful if:  
are compared. A match is considered  
message tag  
tag_mask tag_ref tag_mask  
and  
and  
=
where andis a bitwise AND operation.  
tag_ref  
tag_mask  
The  
and  
parameters are each two bytes. The return value is  
also two bytes long.  
tag_mask  
If  
= 0, the total number of all existing messages is returned, regardless  
tag_ref  
of the  
value.  
Parameters:  
Tag_Ref, Tag_Mask and Num_Of_Messages are all two bytes each  
Example:  
Get the number of voicetags which have bit 0 cleared, and bit 1 set in their message  
tags. The ISD-SR3000 processor responds there are five voicetags that satisfy the request.  
Source  
Byte Sequence  
Code  
GNM FF FE 00 03 AA AA  
Host Controller  
ISD-SR3000  
11  
11  
FF  
FF  
FE  
FE  
00  
00  
03  
03  
AA  
00  
AA  
05  
Voice Solutions in Silicon™  
2-34  
2—SOFTWARE  
ISD-SR3000  
Get Next Recognition  
0x41  
GNR  
Opcode:  
Syntax:  
Type:  
GNR [topic_id token_id]  
Synchronous  
Description:  
Gets the token for the next word recognized. This command should be issued by  
the host controller after it is interrupted by ISD-SR3000, following ISD-SR3000’s  
recognition of a word (as evidenced by the EV_RECO_QUEUE bit being set in  
the Status Word - see the GSW command). If the GNR command is issued when  
the EV_RECO_QUEUE bit is not set, the GNR command will execute but the  
data returned will not be valid.  
Parameters:  
The GNR command returns 2 bytes, defined as follows:  
BYTE  
0
DESCRIPTION  
The Topic number in which the recognition event occurred. The ISD-SR3000  
contains the following special topic indicators:  
0XFD - a pause was found  
0XFE - a noise was found  
1
The Token number that recognition event matches. The special token number zero  
hex (00h) means a pause was found.  
Example:  
indicates:  
The next recognition event is requested from ISD-SR3000. ISD-SR3000’s response  
this recognition event is from Topic 01  
the Token recognized is Token number 03  
Source  
Byte Sequence  
GNR  
Code  
Host Controller  
ISD-SR3000  
0x41  
AA  
01  
AA  
03  
0x41  
ISD  
2-35  
2—SOFTWARE  
ISD-SR3000  
Get Number Added Acoustic Words  
0x4E  
GNWL  
Opcode:  
Syntax:  
Type:  
GNWL topic_id list_id [num_of_words]  
Synchronous  
Description:  
Returns the number of acoustic words, num_of_words, that exist in list list_id in  
the topic of topic_id.  
Parameters:  
topic_id and list_id are one byte each. num_of_words is two bytes.  
Example:  
Get number of added acoustic words (returned four) for list 1 in topic 2.  
Source  
Code  
Byte Sequence  
GNWL 0201 AAAA  
Host Controller  
ISD-SR3000  
4e  
4e  
02  
02  
01  
01  
AA  
00  
AA  
04  
Gets Phoneme Count  
0x54  
GPC  
Opcode:  
Syntax:  
Type:  
GPC [num_of_phonems]  
Synchronous  
Description:  
Indicates the number of phonemes, num_of_phonems (two bytes long). This  
number is associated with the last processed recorded word (using the ROL  
command).  
num_of_phonems is two bytes  
Parameters:  
Voice Solutions in Silicon™  
2-36  
2—SOFTWARE  
ISD-SR3000  
Example:  
Get the phoneme count (returned nine).  
Source  
Code  
Byte Sequence  
GPC AA AA  
Host Controller  
ISD-SR3000  
54  
54  
AA  
00  
AA  
09  
Get RECO Error code  
0x56  
GRE  
Opcode:  
Syntax:  
Type:  
GRE [Reco_Error]  
Synchronous  
Description:  
Returns the reco engine error word Reco_Error, which contains the errors that  
occurred in the recognition engine.  
Parameters:  
Reco_Error is two bytes long.  
Value (in Hex) DESCRIPTION  
0x9E4B  
DWL error; bad phoneme on word. This indicates an unknown phoneme was  
returned from the ROL command.  
0x9E4C  
0x9E4D  
DWL error; too many senones. You have reached the number of senones limitation.  
DWL error; too many words. You have reached the limitation (50) number of words  
in one list.  
0x9E56  
DWL error; unknown word. This occurs when deleting an unknown word from a  
dynamic list (using the DAW command).  
0x9E57  
0xD120  
DWL error; unknown list. The list you have defined does not exist in the topic.  
Bad Reco environment. This might occur when trying to issue RE or ROL in a noisy  
environment.  
0xD8F1  
SR Error; This error will appear after running the reco engine using the RE  
command when no topic was enabled.  
ISD  
2-37  
2—SOFTWARE  
ISD-SR3000  
Example  
sued.  
: Get the Reco_Error register values (0x9E57) indicating that an unknown list was is-  
Source  
Code  
Byte Sequence  
GRE AA AA  
Host Controller  
ISD-SR3000  
56  
56  
AA  
9E  
AA  
57  
Get RECO program version  
0x52  
GRV  
Opcode:  
Syntax:  
GVR [reco_program_version]  
Synchronous  
Type:  
Description:  
Parameters:  
Returns the version of the recognition engine.  
reco_program_version is two bytes long.  
Example:  
Get the reco revision (returned 0123).  
Source  
Code  
Byte Sequence  
GRV AA AA  
Host Controller  
ISD-SR3000  
52  
52  
AA  
01  
AA  
23  
Voice Solutions in Silicon™  
2-38  
2—SOFTWARE  
ISD-SR3000  
Get System Program Version  
0x53  
GSV  
Opcode:  
Syntax:  
GSV [system_program_version]  
Synchronous  
Type:  
Description:  
Parameters:  
This command returns the ISD-SR3000 system firmware version  
system_program_version is two bytes long  
Example: Get the ISD-SR3000 system version (returned 0300).  
Source  
Byte Sequence  
Code  
GSV AA AA  
Host Controller  
ISD-SR3000  
52  
52  
AA  
03  
AA  
00  
Get Status Word  
GSW  
Opcode:  
Syntax:  
Type:  
0x14  
GSW [status_word]  
Synchronous  
Description:  
The ISD-SR3000 processor has a 16-bit status word to indicate events that  
occur during normal operation. The ISD-SR3000 processor asserts the  
MWRQST signal (driven low), to indicate a change in the status word. This signal  
remains active until the ISD-SR3000 processor receives a GSW command.  
The status word is cleared during reset and upon successful execution of the  
GSW command.  
Parameters:  
The GSW command returns a 16-bit status word, defined as follows:  
ISD  
2-39  
2—SOFTWARE  
ISD-SR3000  
BIT  
5
DESCRIPTION  
EV_NORMAL_END  
0: When this bit is zero, it means either:  
a) no command is underway, or  
b) a command is being processed but has not yet completed, or  
c) a command completed but had an error (as indicated by a ‘1’ in the EV_ERROR  
bit)  
1: Normal completion of an operation, e.g., end of playing of a prompt.  
6
7
EV_MEMFUL  
0: Memory is not full (when using the R command)  
1: Memory is full  
EV_ERROR  
0: No error detected  
1: Error detected in the last command. The host controller must issue the GEW  
command to return the error code and clear the error condition.  
10  
11  
EV_MEMLOW  
0: The ROL memory is not full (when using the RR command)  
1: The ROL memory is full (when using the RR command)  
EV_RECO_QUEUE  
0: There are no arguments in the ISD-SR3000 recognition queue.  
1: Reco has one or more recognition arguments in its queue.  
Use command GNR to retrieve items from the queue.  
14  
EV_RESET  
0: Normally, this bit changes to 0 after performing the INIT command.  
1: When the ISD-SR3000 processor completes its power-up sequence and enters  
the RESET state, this bit is set to 1, and the MWRQST signal is activated (driven  
low).  
Normally, this bit changes to 0 after performing the INIT command. If this bit is set  
during normal operation of the ISD-SR3000 processor, it indicates an internal ISD-  
SR3000 processor error. The host controller can recover from such an error by re-  
initializing the system.  
15  
ERR_RECO  
0: No reco error  
1: Reco error has occurred. The reco register contains the detailed information.  
(Use the GRE command to read the reco error register.)  
All other bits  
0 or 1: BIts are reserved and should be disregarded. These bits may return any mix  
if 0 and1.  
Voice Solutions in Silicon™  
2-40  
2—SOFTWARE  
ISD-SR3000  
Example: ISD-SR3000’s error word is requested and returns code 0x20, indicating normal  
command completion (EV_NORMAL_END) status.  
Source  
Byte Sequence  
Code  
GSW  
14  
Host Controller  
ISD-SR3000  
AA  
00  
AA  
20  
14  
Generate Tone  
GT  
Opcode:  
Syntax:  
Type:  
0x0D  
GT Tone  
Asynchronous  
Description:  
Generates the tone specified by the 1-byte tone parameter. The ISD-SR3000  
state changes to TONE_GENERATE. The tone generation continues until an S  
command is received. A DTMF or a single frequency tone may be generated as  
shown below.  
Parameters:  
Tone is one byte long. To generate a DTMF or a single frequency code, encode  
the bits as follows:  
BIT  
0
DESCRIPTION  
1 Specify a DTMF  
DTMF code, where the DTMF code is encoded as follows:  
Value (Hex) DTMF Digit  
4-1  
0 to 9  
0 to 9  
A
B
C
D
E
F
A
*
#
B
C
D
5-7  
0
ISD  
2-41  
2—SOFTWARE  
ISD-SR3000  
BIT  
0
DESCRIPTION  
0 Specify a single tone  
5-1  
3-30 The value in bits 1-5 is multiplied by 100 to generate the required frequency  
(300Hz-3000Hz).  
7-6  
0
Note: The ISD-SR3000 processor does not check for the validity of the tone specification. Invalid specifi-  
cation yields unpredictable results.  
Example:  
ISD-SR3000 generates a single-frequency 1600Hz tone.  
Source  
Code  
Byte Sequence  
GT 20  
Host Controller  
ISD-SR3000  
0D  
0D  
20  
20  
Get Time and Day  
0x0E  
GTD  
Opcode:  
Syntax:  
Type:  
GTD [time_day_option]  
Synchronous  
Description:  
Returns the time and day as a 2-byte value [time_day_value]. time_day_option  
must be set to: 0  
This will get the system time and day.  
Parameters:  
The time_day_option is one byte long. The time_day_value is two bytes long and  
is encoded as follows:  
Voice Solutions in Silicon™  
2-42  
2—SOFTWARE  
ISD-SR3000  
BIT  
DESCRIPTION  
2-0  
Day of the week (1 through 7)  
Hour of the day (0 through 23)  
Minute of the hour (0 through 59)  
00: The time was not set.  
7-3  
13-8  
15-14  
11: The time was set, i.e., the SETD (Set Time and Day) command was executed.  
Note: If the current message is undefined, and time_day_option is 1, an ERR_INVALID error is reported.  
Example  
: Get the current system time-and-day stamp. The ISD-SR3000 processor responds  
A M  
that the system date is the first day of the week and the time is 5:40 . .  
Source  
Byte Sequence  
Code  
GTD 00 AA AA  
Host Controller  
ISD-SR3000  
0E  
0E  
00  
00  
AA  
E8  
AA  
29  
ISD  
2-43  
2—SOFTWARE  
ISD-SR3000  
Get Tagged Message  
0x09  
GTM  
Opcode:  
Syntax:  
Type:  
GTM Tag_Ref Tag_Mask Dir [Result]  
Synchronous  
Description:  
Selects the current message, according to instructions in Dir, to be the first, nth next or  
nth previous message, which complies with the equation:  
message tag and tag_mask = tag_ref and tag_mask  
where “and” is a bitwise AND operation.  
Dir is one of the following:  
0: Selects the first (oldest) message.  
-64: Selects the last (newest) message.  
n: Selects the nth next message starting from the current message.  
–n: Selects the nth previous message starting from the current message.  
To select the nth message with a given tag to be the current message, you must first  
select the first message that complies with the above equation, and then issue another  
GTM command with n – 1 as a parameter, to skip to the nth message.  
The result value Result reports 1 when the message pointer is set. If the message  
pointer is not set, Result reports 0.  
Parameters:  
Tag_Ref (2 bytes), Tag_Mask (2 bytes), Dir (1 byte) and Result (1 byte)  
Note: If a message is found, it becomes the current message and 1 (TRUE) is returned. If no message is  
found, the current message remains unchanged and 0 (FALSE) is returned.  
If Dir is not 0, and the current message is undefined, the return value is unpredictable. After the com-  
mand execution, the current message may either remain undefined or change to any existing mes-  
sage. The only exception is when the GTM command is executed just after the DM command. (See  
the DM command for further details.)  
Example: Assuming the user arranged the message tag as an indication number received from the AAW  
command (using the upper byte to notate the topic number and the lower byte as the token number), the  
following will set the message pointer to the message with Tag_Ref = [0x02 0x06], noting a previously  
added voice tag message associated with acoustic word 6 in topic 2. The results show that the pointer is  
set to the desired message.  
Source  
Byte Sequence  
Code  
GTM 0206 FFFF 00 AA  
Host Controller 09  
02  
02  
06  
06  
FF  
FF  
FF  
FF  
00  
00  
AA  
01  
ISD-SR3000  
09  
Voice Solutions in Silicon™  
2-44  
2—SOFTWARE  
ISD-SR3000  
Get Tunable Parameter  
0x06  
GTUNE  
Opcode:  
Syntax:  
GTUNE Index [parameter_value]  
Synchronous  
Type:  
Description:  
Gets the value of the tunable parameter identified by Index as the value,  
parameter_value. This command may be used to read and identify the  
parameter value that was set to tune the ISD-SR3000.  
If Index does not point to a valid tunable parameter, ERR_PARAM is set in the  
error word.  
The GTUNE command may be used in IDLE state or RESET state. If TUNE  
command was not used to set the tunable parameters, then the GTUNE  
command will read the default parameter value.  
Parameters:  
Index is one byte long and parameter_value is 2 bytes long  
Example  
: Get the value of the return noise tokens flag (index number 0x53). The results indi-  
cate it to be enabled.  
Source  
Byte Sequence  
Code  
GTUNE 53  
Host Controller  
ISD-SR3000  
06  
06  
53  
53  
AA  
00  
AA  
01  
Tag Data Information Get  
0x3E  
INFG  
Opcode:  
Syntax:  
Type:  
INFG data_offsett Num_Of_Bytes [byte1...byten]  
Synchronous  
Description:  
Retrieves the data information (Num_Of_Bytes bytes long) stored in the tag  
data_offsett  
header, located at offset  
, of the current message.  
Parameters:  
data_offsett and Num_Of_Bytes are one byte long. The maximum number of  
bytes that can be stored in a message header is 74. This means that:  
74>(data_offsett + Num_Of_Bytes).  
Note  
: the maximum number of bytes allowed to be written in one transaction is 32 bytes.  
ISD  
2-45  
2—SOFTWARE  
ISD-SR3000  
Example:  
sage.  
Get the two byte data, ‘0123’, located at offset ‘0’ from the header of the current mes-  
Source  
Code  
Byte Sequence  
INFG 00 2 AA AA  
Host Controller  
ISD-SR3000  
3E  
3E  
00  
00  
2
2
AA  
01  
AA  
23  
Tag Data Information Set  
0x3D  
INFS  
Opcode:  
Syntax:  
Type:  
INFS data_offsett Num_Of_Bytes byte1...byten  
Synchronous  
Description:  
data_offsett  
of  
Resets the data information in the tag header, starting from offset  
the current message, for length of Num_Of_Bytes bytes.  
Note: the data in the Flash memory is set to FF and, by writing to it, the data is  
changed to 0. After resetting a bit in the Flash, you cannot set it to 1. (The  
memory is set back to FF after the erasing procedure).  
Parameters:  
data_offsett and Num_Of_Bytes are one byte long. The maximum number of  
bytes that can be stored in a message header is 74. This means:  
74>(data_offsett + Num_Of_Bytes).  
Note  
: the maximum number of bytes allowed to be written in one transaction is 32 bytes.  
Example:  
sage.  
Set the two byte data, ‘0123’, starting at offset ‘0’ from the header of the current mes-  
Source  
Code  
Byte Sequence  
INFS 00 02 01 23  
Host Controller  
ISD-SR3000  
3D  
3D  
00  
00  
02  
02  
01  
01  
23  
23  
Voice Solutions in Silicon™  
2-46  
2—SOFTWARE  
ISD-SR3000  
Initialize System  
0x13  
INIT  
Opcode:  
Syntax:  
Type:  
INIT  
Synchronous  
Description:  
Execute this command after the ISD-SR3000 processor has been configured  
(see the CFG command). INIT Performs a soft reset of the ISD-SR3000  
processor, which includes:  
Initializing the message directory information.  
Setting the volume level that is controlled by the VC commands, to 0.  
Switching to IDLE state.  
Note: Messages are not deleted. To delete the messages, use the DM and DMS  
commands.  
The current message is undefined after INIT execution.  
The tunable parameters are not affected by this command. They are set to their  
default values only during RESET.  
Parameters:  
Example:  
Source  
ISD-SR3000 is initialized.  
Byte Sequence  
Code  
INIT  
Host Controller  
ISD-SR3000  
13  
13  
ISD  
2-47  
2—SOFTWARE  
ISD-SR3000  
Go to Power-down mode  
PDM  
Opcode:  
Syntax:  
Type:  
0x1A  
PDM  
Synchronous  
Description:  
Switches the ISD-SR3000 processor to power-down mode. Sending any  
command while in power-down mode returns the ISD-SR3000 processor to  
normal operation mode. If an event report is pending (i.e., MWRQST is active)  
and it is not processed by the host controller prior to issuing the PDM command,  
the event is lost.  
Parameters:  
Example:  
This command tells ISD-SR3000 to go into power-down mode.  
Source  
Code  
Byte Sequence  
PDM  
Host Controller  
ISD-SR3000  
1A  
1A  
Play Message  
0x03  
PM  
Opcode:  
Syntax:  
Type:  
PM  
Asynchronous  
Description:  
Begins playback of the current message. The ISD-SR3000 processor state  
changes to PLAY. When playback is complete, the ISD-SR3000 processor sets  
the EV_NORMAL_END bit in the status word, and activates (clears to 0) the  
MWRQST signal. The state then changes to IDLE. Playback can be stopped with  
the S command. If the current message is undefined, ERR_INVALID is reported.  
Parameters:  
Voice Solutions in Silicon™  
2-48  
2—SOFTWARE  
ISD-SR3000  
Example:  
Play the current message.  
Source  
Code  
Byte Sequence  
PM  
Host Controller  
ISD-SR3000  
03  
03  
Record Message  
0x0C  
R
Opcode:  
Syntax:  
Type:  
R Tag_Ref Compression_Rate  
Asynchronous  
Description:  
Records a new voicetag with message tag [Tag_Ref] and compression rate  
Compression_Rate. The ISD-SR3000 processor state changes to RECORD.  
The R command continues execution until stopped by the S command.  
If the memory becomes full, recording stops and EV_MEMFULL is set in the  
status word. The compression rate may be defined as 0 for PCM recording or  
either 1,2,3 for compression rates 4.7 Kbits/s, 6.7 Kbits/s, 8.7 Kbits/s  
respectively. See VCDfor a description of the compression algorithm.  
Parameters:  
Tag_Ref is two bytes long and Compression_Rate is one byte long.  
Example:  
Record a new voicetag with a message tag 0x2001.  
Source  
Code  
Byte Sequence  
R 20 01 03  
Host Controller  
ISD-SR3000  
0C  
0C  
20  
20  
01  
01  
03  
03  
ISD  
2-49  
2—SOFTWARE  
ISD-SR3000  
Enable Recognition  
0x40  
RE  
Opcode:  
Syntax:  
Type:  
RE  
Asynchronous  
Description:  
Turns the ISD-SR3000 recognition engine on, thus allowing it to start listening for  
command keywords.  
Parameters:  
Example:  
This command tells ISD-SR3000 to start the recognition engine.  
Source  
Code  
Byte Sequence  
RE  
Host Controller  
ISD-SR3000  
40  
40  
Recognize Offline  
0x50  
ROL  
Opcode:  
Syntax:  
Type:  
ROL  
Synchronous  
Description:  
Takes the last RR-recorded voicetag and produces a phonetic representation of  
the voicetag. Once this command is finished (indication of normal end in the  
status register), the controller can check the number of phonemes (GPC) and  
then add the phonetic representation to a list in a topic using the AAW command.  
Note: This command execution duration is several seconds long and depends on  
the recording time.  
Parameters:  
Voice Solutions in Silicon™  
2-50  
2—SOFTWARE  
ISD-SR3000  
Example:  
Initiate the ROL command.  
Source  
Code  
Byte Sequence  
ROL  
Host Controller  
ISD-SR3000  
50  
50  
Record for Reco  
0x57  
RR  
Opcode:  
Syntax:  
Type:  
RR Compretion_Rate  
Asynchronous  
Description:  
Records a new voicetag with a message tag for recognition. The ISD-SR3000  
processor state changes to RECORD. The RR command continues execution  
until stopped by the S command. The recording buffer is limited to a maximum of  
8 seconds of A-Law or µ-Law, or 4 seconds of Linear speech. If the recording  
reaches these limits, the MEMORY_LOW bit is set (this buffer is erased by the  
ROL command). The result of the record is stored in a special buffer and can be  
used later for Recognition off-line. (See ROL command). Hence, after issuing the  
RR command, you must immediately call the ROL. You may never send two  
consecutive commands of RR or DM, and DMS may never follow the RR  
command. If any of these command violations occur, the ERR_COMMAND bit is  
set in the error register.  
If the memory becomes full, recording stops and EV_MEMFULL is set in the  
status word. The compression rate may be defined as 0 for PCM recording or  
either 1,2,3 for compression rates 4.7 Kbits/s, 6.7 Kbits/s, 8.7 Kbits/s  
respectively.  
Parameters:  
Compretion_Rate is one byte long.  
Example:  
Record a new voicetag at compression rate of 8.7 Kbits/s (recommended).  
Source  
Code  
Byte Sequence  
RR 03  
Host Controller  
ISD-SR3000  
57  
57  
03  
03  
ISD  
2-51  
2—SOFTWARE  
ISD-SR3000  
Stop  
S
Opcode:  
Syntax:  
Type:  
0x00  
S
Synchronous  
Description:  
Stops execution of the current asynchronous command and switches the ISD-  
SR3000 processor to the IDLE state.  
Parameters:  
Note: After recognition is enabled, the Stop command can take up to one second until the ready is active.  
Example  
: Stop the current activity and return the ISD-SR3000 processor to the IDLE state.  
Source  
Code  
Byte Sequence  
S
Host Controller  
ISD-SR3000  
00  
00  
Say Argumented Sentence  
0x1E  
SAS  
Opcode:  
Syntax:  
Type:  
SAS sentence_n tag_ref  
Asynchronous  
Description:  
Announces sentence number sentence_n of the currently selected vocabulary  
and passes arg to it. When playing is complete, the ISD-SR3000 processor sets  
the EV_NORMAL_END bit in the status word and activates the MWRQST signal.  
If the current vocabulary is undefined, ERR_INVALID is reported.  
Tag_Ref can be replaced by an argument in the event the sentence was built  
differently by the IVS tool (See Chapter 3 for a detailed description of all the  
available arguments.)  
Parameters:  
sentence_n topic is one byte long and Tag_Ref (or Argument) is two bytes long  
Voice Solutions in Silicon™  
2-52  
2—SOFTWARE  
ISD-SR3000  
Example:  
Announce the first sentence in the sentence table of the currently selected vocabu-  
lary with ‘3’ as the actual parameter topic and ‘6’ as the token ID.  
Source  
Byte Sequence  
Code  
SAS 0306  
Host Controller  
ISD-SR3000  
1E  
1E  
00  
00  
03  
03  
06  
06  
Set Time and Day  
SETD  
Opcode:  
Syntax:  
Type:  
0x0F  
SETD time_and_day  
Synchronous  
Description:  
Sets the system time and day as specified by the 2-bytes time_and_day  
parameter.  
Parameters:  
The time_and_day parameter is encoded as follows:  
BIT  
DESCRIPTION  
2-0  
Day of the week (1 through 7)  
Hour of the day (0 through 23)  
Minute of the hour (0 through 59)  
Must be set to 1.  
7-3  
13-8  
15-14  
Note: If time_and_day value is not valid, ERR_PARAM is set in the error word.  
Example  
: Set time and day to Monday 1:30AM (where Monday is the first day of the week.)  
Source  
Code  
Byte Sequence  
SETD DE09  
Host Controller  
ISD-SR3000  
0F  
0F  
DE  
DE  
09  
09  
ISD  
2-53  
2—SOFTWARE  
ISD-SR3000  
Set Message Tag  
0x05  
SMT  
Opcode:  
Syntax:  
Type:  
SMT Tag_Ref  
Synchronous  
Description:  
Sets the tag of the current message. To change the message tag, you should  
first get the tag using the GMT command, read the tag, modify it and write it  
back.  
Parameters:  
Tag_Ref is two bytes long.  
Note: Message tag bits can only be cleared. Message tag bits are set only when a message is first creat-  
ed. If the current message is undefined, ERR_INVALID is reported.  
Example  
:Change bit3 settingsinthe currentpointedmessage. Note thatthe ISD-SR3000 pro-  
cessor ignores bits in the tag that are set to 1- only bit 3 is modified in the message tag.  
Source  
Byte Sequence  
Code  
SMT FF F7  
Host Controller  
ISD-SR3000  
05  
05  
FF  
FF  
F7  
F7  
Voice Solutions in Silicon™  
2-54  
2—SOFTWARE  
ISD-SR3000  
Say One Word  
0x07  
SO  
Opcode:  
Syntax:  
Type:  
SO word_number  
Asynchronous  
Description:  
Plays the word number word_number in the current vocabulary. When playback  
of the selected word has been completed, the ISD-SR3000 processor sets the  
EV_NORMAL_END bit in the status word and activates the MWRQST signal. If  
word_number is not defined in the current vocabulary, or if it is an IVS control or  
option code, ERR_PARAM is set in the error word. If the current vocabulary is  
undefined, ERR_INVALID is reported.  
word_number is one byte long. word_number may be any value from 0 through  
the index of the last word in the vocabulary.  
Parameters:  
Example:  
This command tells ISD-SR3000 to announce the first word in the word table of the  
currently selected vocabulary.  
Source  
Byte Sequence  
Code  
SO 00  
07  
Host Controller  
ISD-SR3000  
00  
00  
07  
ISD  
2-55  
2—SOFTWARE  
ISD-SR3000  
Set Prompts Type  
0x20  
SPT  
Opcode:  
Syntax:  
Type:  
SPT type id  
Synchronous  
Description:  
Selects the vocabulary table to be used for voice synthesis. The vocabulary type  
is set according to the type parameter:  
0: For compatibility only.  
1: External vocabulary in ROM.  
2: External vocabulary in Flash.  
3-7: Reserved.  
The host controller is responsible for selecting the current vocabulary, using the  
SPT command, before using any of the play commands, e.g.- SAS, SO, SS, SW.  
Each external vocabulary table has a unique id that is part of the vocabulary  
IVS User’s Guide  
internal header (See the  
for more details). If type is 1 or 2, the  
ISD-SR3000 processor searches for the one byte id parameter in each  
vocabulary table header until a match is found. If the id parameter does not point  
to a valid IVS vocabulary, ERR_PARAM is set in the error word.  
Parameters:  
type and id are one byte long.  
Example  
: Select the vocabulary with vocabulary-id 3, which resides on a Flash as the current  
vocabulary.  
Source  
Byte Sequence  
Code  
SPT 02 02  
Host Controller  
ISD-SR3000  
20  
20  
02  
02  
03  
03  
Stop Recognition Immediately  
SRI  
Opcode:  
Syntax:  
Type:  
0x5A  
SRI  
Synchronous  
Description:  
Stops recognition immediately by flushing all internal buffers. It is the same as  
the regular S command in all other aspects.  
Parameters:  
Voice Solutions in Silicon™  
2-56  
 
2—SOFTWARE  
ISD-SR3000  
Example: Stop recognition process and immediately return the ISD-SR3000 processor to the  
IDLE state .  
Source  
Byte Sequence  
Code  
SRI  
5A  
Host Controller  
ISD-SR3000  
5A  
Say Sentence  
1F hex  
SS  
Opcode:  
Syntax:  
Type:  
SS sentence_n  
Asynchronous  
Description:  
Say sentence number sentence_n of the currently selected vocabulary. If the  
sentence has an argument, 0 is passed as the value for this argument. When  
playing has been completed, the ISD-SR3000 processor sets the  
EV_NORMAL_END bit in the status word and activates the MWRQST signal. If  
sentence_n is not defined in the current vocabulary, ERR_PARAM is set in the  
error word. If the current vocabulary is undefined, ERR_INVALID is reported.  
Parameters:  
sentence_n is one byte long  
Example: This command tells ISD-SR3000 to announce the first sentence in the sentence ta-  
ble of the currently selected vocabulary.  
Source  
Byte Sequence  
Code  
SS 00  
1F  
Host Controller  
ISD-SR3000  
00  
00  
1F  
ISD  
2-57  
2—SOFTWARE  
ISD-SR3000  
Say Words  
SW  
Opcode:  
Syntax:  
Type:  
0x21  
SW n word1...wordn  
Asynchronous  
Description:  
Plays  
n
words, indexed by word1 to wordn. On completion, the  
EV_NORMAL_END bit in the status word is set and the MWRQST signal goes  
low. If one of the words is not defined in the current vocabulary, or if it is an IVS  
control or option code, or if n > 20, ERR_PARAM is reported. If the current  
vocabulary is undefined, ERR_INVALID is reported.  
Parameters:  
The parameters n, word1 through wordn, are each one byte  
Example:  
Announce, twice, the first word in the word table of the currently selected vocabulary.  
Source  
Code  
Byte Sequence  
SW 02 00 00  
Host Controller  
ISD-SR3000  
21  
21  
02  
02  
00  
00  
00  
00  
Voice Solutions in Silicon™  
2-58  
2—SOFTWARE  
ISD-SR3000  
Topics Disable  
0x44  
TOPD  
Opcode:  
Syntax:  
Type:  
TOPD topic_id  
Synchronous  
Description:  
Disables selected topics. If the topic number does not exist, this command sets  
page 2-30  
bit ERR_PARAM in the Error Word (see the GEW command on  
).  
topic_id identifies the topic to be disabled. The special value FF (hex) disables all  
topics.  
Parameters:  
topic_id is one byte  
Example:  
ISD-SR3000 is instructed to disable Topic number 10 (hex).  
Source  
Code  
Byte Sequence  
TOPD 10  
Host Controller  
ISD-SR3000  
0x44  
0x44  
10  
10  
Topic Enable  
0x43  
TOPE  
Opcode:  
Syntax:  
Type:  
TOPE topic_id  
Synchronous  
Description:  
Enables selected topics. If the topic number does not exist, this command sets  
page 2-30  
bit ERR_PARAM in the Error Word (see the GEW command on  
). The  
value topic_id identifies the topic to be enabled. The special value FF (hex)  
enables all topics.  
Parameters:  
topic_id is one byte long  
ISD  
2-59  
2—SOFTWARE  
ISD-SR3000  
Example:  
ISD-SR3000 is instructed to enable Topic number 05 (hex).  
Source  
Code  
Byte Sequence  
TOPE 05  
Host Controller  
ISD-SR3000  
43  
43  
05  
05  
Topic Load  
0x5B  
TOPL  
Opcode:  
Syntax:  
Type:  
TOPL topic_id  
Synchronous  
topic_id  
Description:  
Loads topic  
from external ROM/FLASH to the RAM.  
NOTE: A topic must be loaded to the ISD-SR3000 RAM before it can be enabled  
with the TOPE command.  
Parameters:  
topic_id is one byte long  
Example:  
Load topic 8 from the external non volatile memory.  
Source  
Code  
Byte Sequence  
TOPL 08  
Host Controller  
ISD-SR3000  
5b  
5b  
08  
08  
Voice Solutions in Silicon™  
2-60  
2—SOFTWARE  
ISD-SR3000  
Topic Save  
0x4D  
TOPS  
Opcode:  
Syntax:  
Type:  
TOPS topic_id  
Synchronous  
topic_id  
into the external non volatile memory. It is strongly  
Description:  
Saves topic  
recommended to use this command for a topic with a dynamic list after adding a  
new word (using the AAW command)  
Parameters:  
topic_id is one byte long  
Example:  
Save topic 8 to the external non volatile memory.  
Source  
Code  
Byte Sequence  
TOPS 08  
Host Controller  
ISD-SR3000  
4d  
4d  
08  
08  
TOPU  
Topic Unload  
0x5C  
Opcode:  
Syntax:  
Type:  
TOPU topic_id  
Synchronous  
Description:  
Unloads topic topic_id from the RAM.  
NOTE: The host controller must load a topic before enabling it.  
Parameters:  
topic_id is one byte long.  
ISD  
2-61  
2—SOFTWARE  
ISD-SR3000  
Example:  
Load topic 8 from the external non volatile memory.  
Source  
Code  
Byte Sequence  
TOPU 08  
Host Controller  
ISD-SR3000  
5c  
5c  
08  
08  
Tune  
0x15  
TUNE  
Opcode:  
Syntax:  
Type:  
TUNE index parameter_value  
Synchronous  
Description:  
Sets the value of the tunable parameter identified by index to the value,  
parameter_value. This command may be used to tune the DSP algorithms or  
change other parameters. If you do not use TUNE, the ISD-SR3000 processor  
uses default values. If index does not point to a valid tunable parameter,  
ERR_PARAM is set in the error word.  
Parameters:  
index is one byte long and parameter_value is 2-byte long  
Note: The tunable parameters are assigned with their default values on application of power. The INIT  
command does not affect these parameters.  
Example:  
Change the ISD-SR3000 to enable the return of noise tokens.  
Source  
Code  
Byte Sequence  
TUNE 53 0001  
Host Controller  
ISD-SR3000  
15  
15  
53  
53  
00  
00  
01  
01  
Voice Solutions in Silicon™  
2-62  
2—SOFTWARE  
ISD-SR3000  
Volume Control  
0x28  
VC  
Opcode:  
Syntax:  
Type:  
VC vol_level  
Synchronous  
Description:  
Controls the energy level of all the voice outputs. The resolution is ±3 dB. The  
actual output level is composed of the tunable VCD_PLAY_LEVEL variable, plus  
the VOL_LEVEL. For example, if the tunable variable VCD_LEVEL is 6, and  
vol_level is -2, then the output level equals VCD_PLAY_LEVEL + VOL_LEVEL =  
4.  
Parameters:  
vol_level is one byte long  
Example:  
ISD-SR3000 is instructed to set the vol_level to +5 (hex).  
Source  
Code  
Byte Sequence  
VC 05  
Host Controller  
ISD-SR3000  
28  
28  
05  
05  
ISD  
2-63  
2—SOFTWARE  
ISD-SR3000  
2.12 TUNABLE PARAMETERS  
The tunable parameters are arguments that control some of the ISD-SR3000’s functionality.  
These parameters can be read using the GTUNE command or changed using the TUNE com-  
mand.  
Table 2-16: Tunable Parameters Page Reference by Parameter Name (in Alphabetical Order)  
Index  
Number  
Page Number in this  
Chapter  
Parameter Name  
Channel 0 Delay: CFRD0  
72  
73  
74  
76  
26  
75  
83  
15  
20  
88  
page 2-66  
page 2-66  
page 2-66  
page 2-66  
page 2-65  
page 2-66  
page 2-66  
page 2-65  
page 2-65  
page 2-66  
Channel 1 Delay: CFRD1  
Channel 2 Delay: CFRD2  
Data Valid Delay: CFET  
DTMF Generation: DTMF_GEN_TWIST_LEVEL  
Frame Synch Delay: CFSD  
Noise Token Enable: Noise_Report_Flag  
Tone Generation: TONE_GEN_LEVEL  
VCD Playback and Voice Synthesis: VCD_PLAY_LEVEL  
Dynamic Word Usage: WITH_DYNAMIC_WORDS  
Voice Solutions in Silicon™  
2-64  
2—SOFTWARE  
ISD-SR3000  
Table 2-17: Tunable Parameters LIsted by Index Number  
Description  
Index  
Parameter Name  
Default  
15  
Tone Generation:  
TONE_GEN_LEVEL  
Controls the energy level at which DTMF and other tones  
are generated. Each unit represents 3 dB. The default level  
is the reference level.  
6
For example, if you set this parameter to 4, the energy level  
is 6 dB less than the default level. The actual output level is  
the sum of TONE_GEN_LEVEL and the vol_level  
parameter, controlled by the VC command. The tones are  
distorted when the level is set too high.  
Legal values: 0 < TONE_GEN_LEVEL + vol_level <12.  
20  
VCD Playback and Voice  
Synthesis:  
VCD_PLAY_LEVEL  
Controls the energy during playback and external voice  
synthesis. Each unit represents 3 dB. The default level is  
the reference level.  
6
For example, if you set this parameter to 4, the energy level  
is 6 dB less than the default level. The actual output level is  
the sum of VCD_PLAY_LEVEL and the vol_level parameter  
(controlled by the VC command). Speech is distorted when  
the level is set too high.  
Legal values: 0 < VCD_PLAY_LEVEL + vol_level < 12.  
26  
DTMF Generation:  
A one-byte value that controls the twist level of a DTMF  
66  
DTMF_GEN_TWIST_LEVEL tone, generated by the GT command, by controlling the  
energy level of each of the two tones (low frequency and  
high frequency) composing the DTMF tone. The Least  
Significant Nibble (LSN) controls the low tone and the Most  
Significant Nibble (MSN) controls the high tone. The energy  
level of each tone, as measured at the output of a TP3054  
codec (before the DAA) connected to the ISD-SR3000  
processor, is summarized in the following table:  
Nibble Value  
Tone Energy (dB-Volts)  
0
0
1
2
3
4
5
6
7
–17.8  
–14.3  
–12.9  
–12.4  
–12.0  
–11.9  
–11.85  
–11.85  
8 - 15  
The volume of the generated DTMF tone during  
measurements was 6. (TONE_GEN_LEVEL+vol_level = 6).  
Note: the vol_level parameter is controlled by the VC  
command.  
For the default level, the high tone is –14.3 dBV and the low  
tone is –12.4 dBV, which gives a DTMF twist level of 1.9 dB.  
The energy level of a single generated tone is the level of  
the low tone.  
ISD  
2-65  
2—SOFTWARE  
ISD-SR3000  
Index  
Parameter Name  
Description  
Default  
72  
Channel 0 Delay:  
CFRD0  
The delay of codec channel 0 from Frame Synch 0 (CFS0)  
to start of valid data.  
1
Legal values: 0 to 255  
73  
74  
75  
76  
Channel 1 Delay:  
CFRD1  
The delay of codec channel 1 from Frame Synch 0 (CFS0)  
to start of valid data.  
Legal values: 0 to 255  
9
Channel 2 Delay:  
CFRD2  
The delay of codec channel 2 from Frame Synch 0 (CFS0) 17  
to start of valid data.  
Legal values: 0 to 255  
Frame Synch Delay:  
CFSD  
The delay of Frame Synch 1 (CFS1) from Frame Synch 0  
(CFS0).  
Legal values: 0 to 255  
16  
25  
Data Valid Delay:  
CFET  
The delay between Frame Synch 0 (CFS0) to end of valid  
data of all channels.  
Legal values: 0 to 255  
83  
88  
Noise Token Enable:  
Noise_Report_Flag  
When set to one, this tunable enables the return of noise  
tokens when they have identified by the ISD-SR3000.  
0
1
Dynamic Word Usage:  
WITH_DYNAMIC_WORDS  
This tunable is used when working with applications that do  
not support dynamic words.  
Note: without changing this tunable, the application will  
require the XYZ table in the Flash, which is unnecessary for  
non-dynamic-word applications. This table is in use when  
extracting the phonemes from a recorded voice tag.  
Voice Solutions in Silicon™  
2-66  
 
2—SOFTWARE  
ISD-SR3000  
2.13 EXAMPLE OPERATION PROCEDURES  
2.13.1 ISD-SR3000 INITIALIZATION  
Reset the ISD-SR3000 processor by activating the RESET signal.  
Issue a CFG (Configure ISD-SR3000) command to change the configuration according to  
your environment.  
Issue an INIT (Initialize System) command to initialize the ISD-SR3000 firmware.  
Issue a TUNE (Tune Parameter) command to change some of the ISD-SR3000 tunable  
Tunable Parameters  
parameters (only if you must change their default values. Refer to the  
page 2-64  
table on  
.)  
2.13.2 NORMAL OPERATION PROCEDURE  
The following application contains grammar and prompts as follows:  
Grammar (tokens are automatically indexed, in alphabetical order, by the compiler(s)  
<Topic 1  
>
Commands:  
HANG UP, MUTE, ANSWER PHONE, STORE NAME, CALL NAME  
0- ANSWER  
1- CALL  
2- HANG  
3- MUTE  
4- NAME  
5- PHONE  
6- STORE  
7- UP  
<Topic 2>  
0- NO  
1- YES  
ISD  
2-67  
2—SOFTWARE  
ISD-SR3000  
<Topic 3>  
0- EIGHT  
1- FIVE  
2- FOUR  
3- NINE  
4- OH  
5- ONE  
6- SEVEN  
7- SIX  
8- THREE  
9- TWO  
A- ZERO  
<Topic 4>  
0- Dynamic List  
-------------------------------------------------------  
Prompts (by their hexidecimal values)-  
0 to 9- Zero, One, ....., Nine  
A- Go Ahead  
B- Muted  
C- Good By  
D- Please Say The Name You Want To Store  
E- Please Repeat The Name  
F- Please Say The Telephone Number  
10- Is This Correct  
To initialize the recognition engine, the host controller will send the following commands to load  
topics 1, 2, 3 and 4 to the RAM, and enable topic 1:  
Voice Solutions in Silicon™  
2-68  
2—SOFTWARE  
ISD-SR3000  
TOPL 1  
TOPE 1  
TOPL 2  
TOPL 3  
TOPL 4  
Once all the desired topics are loaded and enabled, the host controller should enable the rec-  
ognition:  
RE  
At this point the recognition engine starts processing the incoming data from the system CO-  
DEC. When the user pronounces the command Answer Phone, the MWRQST signal goes  
low and the host controller should perform the following commands:  
Note: return values are marked with brackets.  
GSW [08 00]  
The status word returned 08 00 indicating that a recognition result is in the recognition buffer.  
The host controller should retrieve the words until the buffer is empty (noted by FF FF) as fol-  
lows:  
GNR [01 00]  
GNR [01 05]  
GNR [FD 00]  
GNR [FF FF]  
Using this internal look up table, the host controller interprets the words to be ANSWER PHONE  
and responds by playing a prompt Go Ahead.  
Note: the host controller must first stop the recognition engine before playing a prompt; it is recommended  
that you use the immediate stop command (SRI) for the quickest completion of the stop command.  
SRI  
SW 1 A  
At this point the host controller should wait for the EV_NORMAL_END bit to be set in the status  
register (0x20), indicating that the prompt finished playing (The host controller will get the status  
register after the MWRQST line is asserted)  
GSW [00 20]  
The host controller can now enable the recognition engine and wait for the next command. The  
following set of commands will demonstrate a similar procedure, but this time the user will say  
HANG UP” and the prompt will be Good Bye:  
RE  
(Wait for MWRQST to go low)  
Note  
: Every time a required token is entered into the reco queue, the EV_RECO_QUEUE is  
set, causing the MWRQST to go low. This means that a fast reading of the reco queue can  
cause or result in several assertions of the MWRQST.  
ISD  
2-69  
2—SOFTWARE  
ISD-SR3000  
GSW [08 00]  
GNR [01 02]  
GNR [01 07]  
GNR [FD 00]  
GNR [FF FF]  
SRI  
SW 1 B  
(Wait for MWRQST to go low)  
GSW [00 20]  
RE  
(Wait for MWRQST to go low)  
2.13.3 ADD VOICE TAG PROCEDURE  
In this section we will describe the procedure for adding a new user word, the voicetag. This  
example assumes that the recognition engine is enabled, the user said STORE NAMEand  
the ISD-SR3000 asserted the MWRQST signal:  
GSW [08 00]  
GNR [01 06]  
GNR [01 04]  
GNR [FD 00]  
GNR [FF FF]  
SRI  
SW 1 D  
(Wait for MWRQST to go low)  
GSW [00 20]  
These first few commands are similar to the previously described procedure for extracting  
words from the ISD-SR3000. After the host controller identifies the STORE NAME”command,  
Record for Reco  
it should execute the  
command:  
RR  
The host controller should wait for 4 seconds before stopping the recording (using the Stop  
command). Then the host controller should disable all of the topics, load and enable only topic  
0 (the phonemes topic) and run the ROL command for extracting the phoneme sequence from  
the recording:  
S
TOPD FF  
TOPL 0  
TOPE 0  
ROL  
(Wait for MWRQST to go low)  
At this stage the host controller can retrieve the number of phonemes extracted from the re-  
cording for evaluating whether to continue with the procedure or prompt the user to record  
Voice Solutions in Silicon™  
2-70  
2—SOFTWARE  
ISD-SR3000  
again. The more phonemes the voice tag has, the better the received recognition results. (A  
recommended threshold number is seven phonemes). Assuming the host controller received  
12 phonemes and continued, it then should add the phoneme information of the voice tag to a  
dynamic list in a topic (as topic 4 with dynamic list number 0) using the AAW command. The  
return value would be a token number that identifies the new word.  
GPC [00 0A]  
AAW 04 00 [01]  
After the host controller added the new word to a topic, it will now conduct a verification proce-  
dure by disabling all topics and enabling the one with the new word. It will then prompt the user  
to repeat the name.  
TOPD FF  
TOPE 4  
SW 1 E  
(Wait for MWRQST to go low)  
GSW [00 20]  
RE  
(Wait for MWRQST to go low)  
GSW [08 00]  
GNR [04 01]  
GNR [FF FF]  
After the host controller confirms the returned token to be the same as the AAW command pre-  
viously returned, it should set the tag of the recorded message to correspond with the token  
and topic so that in the future it can easily play this message again.  
SRI  
SMT 04 01  
The host controller can now continue to prompt the user for information to be associated with  
the new word, in our case a telephone number. After the host controller plays the appropriate  
prompt, it disables all topics and enables the digit topic.  
SRI  
SW 1 5  
(Wait for MWRQST to go low)  
GSW [00 20]  
TOPD FF  
TOPE 3  
RE  
(Wait for MWRQST to go low)  
GSW [08 00]  
GNR [03 05]  
ISD  
2-71  
2—SOFTWARE  
ISD-SR3000  
GNR [03 09]  
GNR [03 08]  
GNR [03 02]  
GNR [FF FF]  
The host controller will interpret this number sequence to be 1234. The host controller can  
confirm its findings with the user by playing back the numbers to the user and prompting the  
user with a yes/no question: Is this correct(prompt number 10). The host controller then en-  
ables the yes/no topic and waits for an answer.  
SW 5 1 2 3 4 10  
(Wait for MWRQST to go low)  
GSW [00 20]  
TOPD FF  
TOPE 2  
RE  
(Wait for MWRQST to go low)  
GSW [08 00]  
GNR [02 01]  
GNR [FF FF]  
The host controller received a Yes” answer and must now either store the information in its  
memory or attach it to the recording of the voice tag by using the INFS command as follows:  
INFS 0 4 1 2 3 4  
This commandwill store the information on the message informationheader startingfromoffset  
0 and can later be extracted by the host controller using the INFG command.  
Now that a new word has been added to topic 4, the host controller must ask the ISD-SR3000  
to save this topic (TOPS command) back into its non volatile memory so that the next time the  
system loads, the updated topic will be loaded.  
TOPS 4  
This finalizes the procedure for adding a user voice tag to the ISD-SR3000, and the host con-  
troller can continue to the next state in its state machine. Ifthe nextstate isreturningtothe main  
menu, the following commands should be assigned:  
TOPD FF  
TOPE 1  
RE  
Voice Solutions in Silicon™  
2-72  
IVS  
3—  
ISD-SR3000  
Chapter 3—INTERNATIONAL VOCABULARY SUPPORT (IVS)  
and the IVS Tool  
3.1  
INTERNATIONAL VOCABULARY SUPPORT (IVS)  
IVS is a mechanism by which the ISD-SR3000 processor utilizes several vocabularies stored  
on an external storage device. IVS enables the ISD-SR3000 to synthesize messages with the  
same meaning, but in different languages, from separate vocabularies.  
3.2  
IVS FEATURES  
Multiple vocabularies stored on a single storage device.  
Plug-and-play. The same Host Controller code is used for all languages.  
Synthesized and recorded messages use the same voice compression algorithm to achieve  
equal quality.  
You have <n> messages  
.)  
Argumented sentences. (For example:  
Auto-synthesized time-and-day stamp (driven by the ISD-SR3000 processor’s clock).  
Support for various language and sentence structures:  
have one message  
You have two  
versus  
One versus many. (For example: You  
messages  
.)  
None versus many. (For example:  
messages  
You have no messages  
You have two  
versus  
.)  
Number synthesis (English  
Twenty-one  
—Eighty  
Quatre-vingt  
versus French—  
).  
Einundzwanzig  
Word order (English—  
versus German—  
).  
Days of the week (Monday through Sunday versus Sunday through Saturday).  
3.3  
THE IVS TOOL  
The IVS tool includes two utilities:  
1.  
2.  
The DOS-based IVS Compiler  
IVSTOOL for Windows. A Windows 95/98/2000 utility  
The tools help create vocabularies for the ISD-SR3000 processor. They take you from design-  
ing the vocabulary structure, through defining the vocabulary sentences, to recording the vo-  
cabulary words.  
ISD  
3-1  
 
IVS  
3—  
ISD-SR3000  
IVS COMPILER  
The IVS compiler runs on MS-DOS (version 5.0 or later) and enables you to insert your own  
vocabulary, (i.e., basic words and data used to create numbers and sentences, as directories  
and files in MS-DOS). The IVS compiler then outputs a binary file containing that vocabulary.  
In turn, this information can be burned into an EPROM or Flash memory to be used by the ISD-  
SR3000 software.  
IVS VOICE COMPRESSION  
Each IVS vocabulary can be compiled with either the 4.7 Kbit/s, the 6.7 Kbit/s or the 8.7 Kbit/s  
voice compression algorithm, or in PCM format. Define the bit rate before compilation. The ISD-  
SR3000 processor automatically selects the required voice decompression algorithm when the  
SV command chooses the active vocabulary.  
GRAPHICAL USER INTERFACE (GUI)  
The IVS package includes a Windows utility to assist the vocabulary designer to synthesize  
sentences. With this utility, you can record words, compose sentences and listen to words and  
sentences in the specific compression rate quality selected.  
3.3.1 HOW TO USE THE IVS TOOL WITH THE ISD-SR3000 PROCESSOR  
The IVS tool creates IVS vocabularies, and stores them as a binary file. This file is burnt into a  
ROM device or programmed into a Flash memory device. The ISD-SR3000 processor SPT (Set  
Prompt Type) command is used to select the required vocabulary. The SW (Say Words), SO,  
SS (Say Sentence) and SAS (Say Argumented Sentence) commands are used to synthesize  
the required word or sentence. The typical vocabulary-creation process using the IVS Tool soft-  
ware is as follows:  
1.  
2.  
Design the vocabulary.  
Create the vocabulary files (as described in detail below). Use IVS TOOL for Windows to  
simplify this process.  
3.  
4.  
5.  
Record the words using any standard PC sound card and sound editing software, that  
can create.wav files.  
Run the IVS compiler to compress the.wav files, and compile them and the vocabulary  
tables into an IVS vocabulary file.  
Repeat steps 1 to 4 to create a separate IVS vocabulary for each language that you want  
to use. Note that each language file must have a different ID number. To specify an ID  
Number, go to the Vocabulary ID” option in the Vocabulary/Build Options menu.  
6.  
Exit IVS Tool and burn the IVS vocabulary files into a ROM (or Flash memory) device.  
Note: to concatenate vocabularies with multiple languages into one file, complete the fol-  
lowing steps.  
Voice Solutions in Silicon™  
3-2  
 
IVS  
3—  
ISD-SR3000  
Load each vocabulary into flash. You must load the vocabularies in consecutive blocks  
onthe flashandthe orderinwhichyouloadthe vocabulariesdictatesthe orderinwhich  
they are available on the flash. For example, the first vocabulary you load becomes  
vocabulary #1 on the flash.  
The two files are now combined into a single file.  
To switch between the two languages in real time operation, use the SPT command.  
type id  
(See page 2-56 for details.) The SPT  
vocabulary IDs.  
command switches between specified  
Once the vocabularyis inplace, the speechsynthesiscommandsofthe ISD-SR3000 processor  
can be used to synthesize sentences.  
Figure 3-39 shows the vocabulary-creation process for a single table on a ROM or Flash mem-  
ory device.  
Figure 3-39: Creation of an IVS Vocabulary  
.wa v File  
.wa v Files  
Editor  
Compressed  
Files (.vcd)  
Number  
Ta bles  
IVS Compiler  
IVS TOOL  
for  
PC  
+
Sound  
Ca rd  
INJ  
Comma nd  
IVS Voca bula ry  
Files  
Windows  
Sentence  
Ta ble  
ROM  
Progra mmer  
Fla sh  
.ini File  
ROM  
ISD  
3-3  
4—Glossary  
ISD-SR3000  
Chapter 4—Glossary  
This glossary contains the following information  
Topic  
Page Number in this Chapter  
page 4-2  
Error Codes and  
Explanations  
ISD  
4-1  
 
4—Glossary  
ISD-SR3000  
4.1  
ERROR CODES AND EXPLANATIONS  
ERR_PARAM (bit 3 in error word) occurrences:  
COMMAND  
RR (record for reco)  
RECORD  
PARAMETER  
LEGAL VALUE  
compression_type  
0 - 3  
0 - 3  
compression_type  
word index  
SO (Say One Word)  
SW (Say Words)  
up to number of words in IVS  
up to number of words in IVS  
word index  
number of words  
up to MAX_SENT_LEN  
(currently 20)  
SAS (Say Argumented  
Sentence)  
sentence number  
sentence number  
up to number of sentences in  
IVS  
SS (Say Sentence)  
up to number of sentences in  
IVS  
SETD (Set Date)  
minute  
hour  
0 - 59  
0 - 23  
1 - 7  
day  
TUNE  
tune_index  
up to number of tunables  
(currently 86)  
SPT (Set Prompt Type)  
ivs_type  
IVS_external (1)  
All Topics Command: TOPS/  
TOPD/TOPE/UTOP/LTOP  
topic index  
up to Max Topics  
all except LTOP also check  
that the topic is already loaded  
ERR_INVALID (bit 7 in error word)  
This invalid error occurs in the following conditions:  
while trying to use a command that refers to the current message when no message is  
declared current. These commands include: PLAY, CMT, DM, GML, GMT, INFG, INFS.  
when IVS is not set  
when using GTD (Get Time and Date) before setting a date  
when the RR command is not immediately followed by the ROL command. For example: if  
RR is called and followed by TOPS, RR, DMS or DM, then the invalid error is generated.  
Voice Solutions in Silicon™  
4-2  
 
                                                                                                              
5—Physical Dimensions  
ISD-SR3000  
Chapter 5—Device Physical Dimensions  
Figure: 5-1:100L PQFP (14x20x2.75mm footprint 3.2mm) IQC  
H
D
D
E
H
E
e
b
c
A2  
A1  
A
G
See Detail  
L
Y
Seating Plane  
L1  
Controlling dimension : Millimeters  
Dimension in inch Dimension in mm  
Symbol  
Min Nom Max  
Min Nom  
Max  
A
0.130  
0.018  
3.30  
0.45  
2.87  
0.40  
0.20  
14.10  
20.10  
0.80  
A1  
0.014  
0.25  
2.57  
0.20  
0.10  
13.90  
19.90  
0.50  
0.35  
2.72  
0.30  
0.15  
14.00  
20.00  
0.65  
0.010  
0.101  
0.008  
0.004  
0.547  
0.783  
0.020  
0.669  
0.905  
0.025  
A2  
b
0.107 0.113  
0.012 0.016  
c
0.006  
0.551  
0.787  
0.026  
0.008  
0.555  
0.791  
0.032  
0.685  
0.921  
0.037  
D
E
e
H
17.20 17.40  
23.20 23.40  
0.677  
0.913  
0.031  
0.063  
17.00  
23.00  
0.65  
D
H
E
L
0.80  
1.60  
0.95  
L1  
Y
0.003  
7
0.08  
7
0
0
G
ISD  
5-1  
ISD-SR3000  
5—Physical Dimensions  
Voice Solutions in Silicon™  
5-2  

相关型号:

ISD-T266SA/J

Solid-State Recorder
ETC

ISD-T266SA/Q

Solid-State Recorder
ETC

ISD-T266SC/J

Solid-State Recorder
ETC

ISD-T266SC/Q

Solid-State Recorder
ETC

ISD-T266SP/J

Solid-State Recorder
ETC

ISD-T266SP/Q

Solid-State Recorder
ETC

ISD-T267J

DIGITAL SPEECH PROCESSOR
ETC

ISD-T267Q

DIGITAL SPEECH PROCESSOR
ETC

ISD-T267SA/Q

Telephone Speech Circuit, PQFP100, 14 X 20 MM, 2.71 MM HEIGHT, MQFP-100
WINBOND

ISD-T267SC/J

Telephone Speech Circuit, PQCC68, PLASTIC, LCC-68
WINBOND

ISD-T267SC/Q

Telephone Speech Circuit, PQFP100, 14 X 20 MM, 2.71 MM HEIGHT, MQFP-100
WINBOND

ISD-T267SP

DIGITAL SPEECH PROCESSOR
ETC