![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
VoiceDSPTM Digital Speech Processor with Full-Duplex Speakerphone, Master/Slave CODEC Interface and --Advance Information--Multiple Flash Support ISD-T360SB The VoiceDSPTM product family combines multiple digital signal processing functions on a single chip for cost-effective solutions in telephony, automotive and consumer applications. The VoiceDSP processor offers necessary features to modern telephony products, such as: highquality speech record and playback, electrical and acoustic echo cancellation for full-duplex hands-free speakerphone operation. The T360SB VoiceDSP can be used in various applications: * Digital telephony with add-on speech processing: Digital Telephone Answering Machines (DTADs), hands-free speakerphone operation for ISDN, DECT, Digital Spread Spectrum, and analog cordless applications; CT0/1 Base stations. An add-on chip for corded telephones featuring DTAD functions and/or full-duplex, hands-free speakerphone operation. Stand-alone digital answering machines with full-duplex, hands-free speakerphone operation. Voice memo recording Automotive applications employing fullduplex speakerphone operations for handsfree, in-car communications, and for car status and information announcements. Based on ISD's unique concept which combines 16-bit DSP (Digital Speech Processor) and 16-bit RISC core technology, the ISD-T360SB is a highperforming chip solution for various applications. To facilitate incorporating the VoiceDSP processor, it features system support functions such as an interrupt control unit, codec interface (master, slave), Microwire interface to the system microcontroller, as well as a memory handler for Flash memory devices. Design of high-end, price optimized systems are possible with ISD's VoiceDSP flexible system interfaces (codec, microcontroller, and memory management support). The ISD-T360SB processor operates as a peripheral controlled by the system microcontroller via an enhanced, serial Microwire interface. The system microcontroller typically controls the analog circuits, buttons and display, as well as activates functions through commands. The VoiceDSP executes these commands and returns status information to the Microcontroller. The VoiceDSP software resides in the on-chip ROM. It includes DSP-based algorithms, system support functions, and a software interface to hardware peripherals. * * * * May 2000 ISD * 2727 North First Street, San Jose, CA 95134 * TEL: 408/943-6666 * FAX: 408/544-1787 * http://www.isd.com ISD-T360SB FEATURES AT A GLANCE DTAD MANAGEMENT * Highest quality speech recording in PCM format for music on hold or other OGM (Out Going Message) recording and IVS Selectable high-quality speech compression rate of 4.7 Kbit/s, 6.7 Kbit/s or 8.7 Kbit/s Up to approximately 15 minutes recording on a 4-Mbit Flash Up to 4 hour speech recording High-quality music compression for music on hold (64 Kbit/s PCM) Programmable message tag for message categorization, e.g., Mailboxes, Incoming Messages (ICM), OutGoing Messages (OGM) Message management Skip forward or backward during message playback Variable speed playback Real-time clock: Day of Week, Hours, Minutes Multi-lingual speech synthesis using International Vocabulary Support (IVS) Vocabularies available in: English, Japanese, Mandarin, German, French and Spanish Conversation Recording Software Automatic Gain Control (AGC) * * * SPEAKERPHONE * * * Digital full-duplex speakerphone Acoustic- and line-echo cancellation Continuous on-the-fly monitoring of external and internal conditions (acoustic and line) provides high-quality, hands-free, conversation in a changing environment Minimum microcontroller control intervention (Launch-and-forget) Supports: On, Off, Mute, and Hold functions Additional Software Automatic Gain Control for improved speakerphone performance * * * * * * * * * * * * * CALL AND DEVICE MANAGEMENT * * * * * * * * * * Digital volume control Least cost routing support (LCR) Power-down mode 3.3V or 5V selectable power supply 32.7 MHz internal operation using 4.096 MHz external crystal oscillator Available in the PQFP 100-pin package DTMF generation and detection Telephone line functions including busy, dial tone detection and VOX detection Single tone generation DTMF detection during message record and playback ii Voice Solutions in SiliconTM ISD-T360SB PERIPHERAL CONTROL Codec * * -Law, A-Law, and 16-bit linear codec input support Selectable master/slave codec interface. In addition, the slave mode is implemented with respect to IOM-2TM/GCI specifications Supports two selectable in-coming lines in slave mode without speakerphone for DTAD recording Supports one in-coming line in slave mode and one master speakerphone interface Supports up to 32 user-selectable speech channels in slave mode Software Automation Gain Control (AGC) Supports long-frame and short-frame codecs Single/double bit clock rate for slave mode On-chip codec clock generation Microwire * * MICROWIRE slave interface to an external microcontroller Sophisticated command language to optimize system code size * * * * * * * Memory * Supports up to four 4-Mbit, four 8-Mbit, or four 16-Mbit Flash devices from Toshiba or Samsung The number of messages that can be stored is limited only by memory size Direct access to message memory Message storage contains all data in a concatenated chain of memory blocks. Memory mapping and product floor test included Supports external vocabularies, using Flash memory or expansion ROM * * * * * ISD iii ISD-T360SB INTERNATIONAL VOCABULARY SUPPORT (IVS) For manufacturing recorded voice prompt and speech synthesis, the ISD International Vocabulary Support delivers pre-recorded voice prompts in the same high-quality of the user-recorded speech. For complete control over quality and memory management, the IVS features adjustable speech compressions. In addition, several pre-recorded voice prompt sets are available in various languages for further convenience. Available Languages: * * * * English Japanese Mandarin German * * French Spanish You can also develop a new vocabulary using the ISD-T360 IVSTOOL application. This PC-Windows95/ 98/2000TM-based application synthesizes recorded .wav files into the ISD-T360SB's various compression rates (including PCM). The IVSTool application supports various languages, including their unique grammar structures. ISD's VoiceDSP products store IVS vocabularies on either Flash memory or expansion ROM memories, thus DTAD manufacturers can design a product for multiple countries, featuring various languages. For more details about IVS, refer to the IVS User's Guide. Figure 1-1: ISD-T360SB Block Diagram--Basic Configuration with Four 4/8/16Mbit NAND Flash Devices (Samsung/Toshiba) iv Voice Solutions in SiliconTM ISD-T360SB Figure 1-2: ISD-T360SB Block Diagram-Basic Configuration with IVS EPROM A(0:15) A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 IVS EPROM D0 D1 D2 D3 D4 D5 D6 D7 ISD-T360SB VFRO DR DX PB0 PB1 PB2 CFS1 EMCS D(0:7) VFXI CLK FS CE OE Speakerphone Codec VFRO DR DX CDOUT CDIN CCLK CFS0 MWDIN MWCLK MWRQST MWCS MWRDY MWDOUT Microcontroller VFXI CLK FS Line Codec ISD v ISD-T360SB vi Voice Solutions in SiliconTM 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 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 Resetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Power-Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Power and Grounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 The Codec Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 1.3 SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Switching Characteristics--Preliminary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronous Timing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 1-19 1-21 1-24 1-26 Chapter 2--SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2.1 SYSTEM OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 The State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Message Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tone Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initialization and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power-Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-2 2-2 2-3 2-4 2-4 2-5 2.2 PERIPHERALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 2.2.1 2.2.2 2.2.3 Microcontroller interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 codec interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.3 ALGORITHM FEATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.3.1 2.3.2 2.3.3 VCD (Voice Compression and Decompression) . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 DTMF Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 Tone and Energy Detection (Call Progress) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13 ISD vii ISD-T360SB 2.3.4 2.3.5 2.3.6 Full-Duplex Speakerphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15 Speech Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.4 2.5 VOICEDSP PROCESSOR COMMANDS--QUICK REFERENCE TABLE . . . . . . . . . . . . . .2-22 COMMAND DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-25 Chapter 3--SCHEMATIC DIAGRAMS . . . . . . . . . . . . . . . . . . . 3-1 3.1 APPLICATION INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1 Chapter 4--PHYSICAL DIMENSIONS . . . . . . . . . . . . . . . . . . . 4-1 viii Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Chapter 1--HARDWARE 1.1 PIN ASSIGNMENT 1.1.1 PIN-SIGNAL ASSIGNMENT The following sections detail the pins of the ISDT360SB processor. Slashes separate the names of signals that share the same pin. 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-PQFP Package Connection Diagram NC NC A0 / A16 / DDIN VSS A1 VCC A2 A3 A4 A5 A6 A7 A8 VCC VccA NC Vss NC NC NC 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 NC NC NC NC NC NC NC NC A9 A10 NC NC NC D0 D1 D2 / RA11 VSS D3 VCCHI Vcc D4 D5 D6 D7 PC0 / A11 PC1/ A12 NC NC NC NC 1 2 3 4 5 6 7 8 80 79 78 77 76 75 74 73 ISD-T360SB 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 72 71 100-PQFP Top View 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 30 51 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 NC NC NC NC VssA X2 / CLKIN X1 / PLI TST / PA0 / WR0 PA1 / WR1 PA2 / CTTL PA3 / PFS PA4 / MWRDY PA5 / MWDOUT PA6 / BST0 VSS MWRQST / PA7 / BST1 VCC PD0 / MWCLK PD1 / MWDIN CCLK CDIN CFS0 CDOUT CFS1 / PWM RESET NC NC NC NC NC NC PC2 / A13 PC3 /A14 / BE0 PC4 / A15 / BE1 / ENV2 PC5 / IOCS / ENV3 PC6 / EMCS / ENV0 PC7 / BMCS / ENV1 PB0 / D8 PB1 / D9 VCC PB2 / D10 VSS PB3 / D11 PB4 / D12 PB5 / D13 PB6 / D14 PB7 / D15 INT3 / MWCS NC NC ISD 1-1 ISD-T360SB 1--HARDWARE Table 1-1: VoiceDSP Pin Signal Assignment Pin Name A(0:15) CCLK CDIN CDOUT CFS0 CFS1 D(0:7) EMCS/ENV0 EMCS/ENV0 MWCLK MWCS MWDIN MWDOUT MWRDY MWRQST PB(0:7)2,3 PC(0:7) RESET TST VCC VCCA VCCHI VSS VSSA X1 X2/CLKIN 1. 2. 3. 4. Signal Name A(0:15) CCLK CDIN CDOUT CFS0 CFS1 D(0:7) EMCS ENV0 MWCLK MWCS MWDIN MWDOUT MWRDY MWRQST PB(0:7) PC(0:7) RESET TST VCC VCCA VCCHI VSS VSSA X1 X2 Type Output I/O Input Output I/O Output I/O Output Input 1 Description Address bits 0 through 15 Codec Master/slave Clock Data Input from Codec Data Output to Codec Codec 0 Frame Synchronization Codec 1 Frame Synchronization Data bits 0 through 7 Expansion Memory Chip Select Environment Select MICROWIRE Clock MICROWIRE Chip Select MICROWIRE Data Input MICROWIRE DATA Output MICROWIRE Ready MICROWIRE Request Signal Port B, bits 0 through 7 Port C, bits 0 through 7 Reset Test pin 3.3 V power supply pin 3.3 V analog circuitry power supply pin 5 V power supply pin. Connect to VCC if 3.3 V power supply is used. Ground for on-chip logic and output drivers Ground for on-chip analog circuitry Crystal Oscillator Interface Crystal Oscillator Interface Input4 Input4 Input4 Output Output Output I/O Output Input4 Input Power Power Power Power Power Oscillator Oscillator Input during reset, otherwise output. Virtual address lines for IVS ROM, bits [0:2] Chip select lines for Flash devices, bits [3:6] Schmitt trigger input. 1-2 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB 1.2 DESCRIPTION If the load on the ENV0 pin causes the current to exceed 10 A, use an external pull-up resistor to keep the pin at 1. Figure 1-2 shows a recommended circuit for generating a reset signal when the power is turned on. This section provides details of the functional characteristics of the VoiceDSP processor. It is divided into the following sections: * * * * * * Resetting Clocking Power-Down Mode Power and Grounding Memory Interface Figure 1-2: Recommended Power-On Reset Circuit VCC Codec Interface VCC 1.2.1 RESETTING RESET ISD-T360 The RESET pin is used to reset the VoiceDSP processor. On application of power, RESET must be held low for at least tpwr after VCC is stable. This ensures that all on-chip voltages are completely stable before operation. Whenever RESET is applied, it must also remain active for not less than tRST, see Table 1-9 and Table 1-10. During this period, and for 100 ms after, the TST signal, which is an internal signal, must be high. This can be done with a pull-up resistor on the TST pin. The value of MWRDY is undefined during the reset period, and for 100 ms after. The microcontroller 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 signal is sampled to determine the operating environment. During reset, the EMCS/ENV0 pin is used for the ENV0 input signals. An internal pull-up resistor sets ENV0 to 1. After reset, the same pin is used for EMCS. VSS 1.2.2 CLOCKING The VoiceDSP 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 CHARACTERISTICS" on page 1-16. NOTE the CLKIN signal is not 5V tolerant. System Load on ENV0 For any load on the ENV0 pin, the voltage should not drop below VENVh (see Table 1-8). ISD 1-3 ISD-T360SB 1--HARDWARE Figure 1-3: External Clock Source Table 1-2 lists the components in the crystal oscillator circuit Table 1-2: Components of Crystal Oscillator Circuit Values 4.096 MHz 10 MW 33 pF Tolerance 50 PPM 5% 20% VoiceDSP X1 X2/CLKIN Component Crystal Resonator Single-phase Clock Signal Resistor R1 Clock Generator Capacitors C1, C2 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. 1.2.3 POWER-DOWN MODE Figure 1-4: Connections for an External Crystal Oscillator 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 VoiceDSP processor is reduced and some of the processor modules are deactivated. As a result, the ISD-T360SB consumes considerably less power than in normal-power mode. Although the VoiceDSP processor does not perform all its usual functions in power-down mode, it does retain stored messages and maintain the date and time. ISD-T360 X2 R1 X1 C2 crystal C1 NOTE 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 20 pF, although the oscillation frequency may differ from the crystal's specified value. 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-T360SB stores messages 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 messages. To keep power consumption low during powerdown mode, the RESET, MWCS, MWCLK and MWDIN signals should be held above VCC - 0.5 V or below VSS + 0.5 V. Voice Solutions in SiliconTM 1-4 1--HARDWARE ISD-T360SB 1.2.4 POWER AND GROUNDING The Capacitor and Resistor values are given in Table 1-3. Power Pin Connections The ISD-T360SB can operate over two supply voltage ranges 3.3 V 10% and 5 V 10%. The power supply and ground pins (VCC, VSS, VCCA, VSSA and VCCHI) must be connected as shown in Figure 1-5 when operating in a 3.3 V environment, and as shown in Figure 1-6 when operating in a 5 V environment. Failure to correctly connect the pins may result in damage to the device. Table 1-3: Components of Supply Circuit Values 10 W 0.1 F Ceramic Tolerance 5% 20% Component Resistor R1 Capacitors C1, C2, C3, C4, C5, C6, C7 Capacitors C8, C9, C10, C11, C12, C13, C14 2.2 F Tantalum 20% Figure 1-5: 3.3 V Power Connection Diagram C10 + C6 C9 C5 + R1 + VSS VSS 97 17 VCC VCC VCCA 95 87 86 VSS C1 C8 84 V SSA 76 +V C13 + C7 CCHI VSS 19 66 ISD-T360 C4 64 40 VCC 42 VSS C3 VCC C11 VCC 20 + 3.3V Supply + C12 ISD 1-5 ISD-T360SB 1--HARDWARE Figure 1-6: 5 V Power Connection Diagram C10 + C6 C9 C5 + R1 + VSS 97 VSS 17 C14 5 V Supply VCC VCC VCCA 95 87 86 VSS C1 C8 84 V SSA 76 + VCCHI 19 VSS 66 C13 + C7 VCC ISD-T360 C4 64 40 VCC C3 42 VSS VCC C11 20 + + 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 VoiceDSP does not perform its usual functions in power-down mode but it still preserves stored messages, maintains the time of day. When you build a prototype, using wire-wrap or other methods, solder the capacitors directly to the power pins of the VoiceDSP processor socket, or as close as possible, with very short leads. 1.2.5 MEMORY INTERFACE Flash Support The ISD-T360SB VoiceDSP supports Flash devices for storing recorded data, thus, power can be disconnected to the ISD-T360SB without losing data. The ISD-T360SB supports NAND Flash device interfaces, such as TC58V16BFT, TC5816BFT, TC58A040F, KM29N040T, KM29W8000T/IT, and KM29W16000AT/AIT. The ISD-T360SB may be connected to up to four Flash devices, resulting with maximum recording storage of 16-Mbits x 4 = 64 Mbits (up to 4 hours of recording time). The following flash devices are supported: 1-6 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Table 1-4: Supported Flash Devices Manufacturer Toshiba Toshiba Samsung Samsung Samsung Memory Device Name TC58V16BFT TC5816BFT KM29W040T KM29W8000T/IT KM29W16000AT/AIT Characteristics 2Mx8 2Mx8 512Kx8 1Mx8 2Mx8 Operating Voltage 3.3 V 5.0 V 2.7V - 5.0 V 2.7V - 5.0 V 2.7V - 5.0 V Memory Size 16-Mbit LV 16-Mbit 4-Mbit 8-Mbit 16-Mbit Internal Memory Organization The Flash devices detailed in Table 1-4 divide internally into basic 4-Kbyte block units. The ISD-T360SB uses one block on each device for memory management, leaving the rest of the blocks available for recording. Using at least one block for a single recorded message yields a maximum of NUM_OF_BLOCKS_IN_MEM - 1 (see Table 2-10 for parameter definition) messages per device. Figure 1-7: Memory Interface with Four 4/8/16 Mbit, NAND Flash Devices (Samsung, Toshiba) ISD 1-7 ISD-T360SB NAND Flash (Samsung, Toshiba) The VoiceDSP processor supports up to four NAND interface Flash memory devices for storing messages. A flash device with the NAND interface uses a single 8bit I/O port to set the address and access the data. The ISD-T360SB supports three types of Flash volumes (4Mbit, 8Mbit and 16Mbit as listed inTable 1-4) while all the connected Flash devices must be of the same type. Ports B and C are used to connect ISD-T360SB to the Flash devices using port B for address and data transfer and port C for communication control and chip select. Connecting less than four Flash devices requires connecting the Flash devices sequentially, starting from PC4 up to PC7 (see Figure 1-7). Upon initialization, the ISD-T360SB scans the flash devices to detect defected blocks. The defected blocks are marked in a special map, which is located in the last block of each device. 1--HARDWARE Table 1-5: Recording Time with No Silence Compression Compression Rate 4.7 Kbit/s 6.7 Kbit/s 8.7 Kbit/s 4.7 Kbit/s 6.7 Kbit/s 8.7 Kbit/s 4.7 Kbit/s 6.7 Kbit/s 8.7 Kbit/s 4.7 Kbit/s 6.7 Kbit/s 8.7 Kbit/s Total Recording Time 14.5 Minutes 10.2 Minutes 7.8 Minutes 29.1Minutes 20.4 Minutes 15.7 Minutes 58.1Minutes 40.8 Minutes 31.4 Minutes 116.2 Minutes 91.5 Minutes 62.8Minutes Memory Size 4 Mbit 4 Mbit 4 Mbit 8 Mbit 8 Mbit 8 Mbit 16 Mbit 16 Mbit 16 Mbit 32 Mbit 32 Mbit 32 Mbit Flash Endurance Rom interface A Flash memory may be erased a limited number of times. To maximize the Flash use, the memory manager utilizes the Flash's blocks evenly (i.e., each block is erased more or less the same number of times), to ensure that all blocks have the same lifetime. Refer to the respective Flash memory device data sheets for specific endurance specifications. A VoiceDSP processor message uses at least one block. The maximum recording time depends on four factors: 1. The basic compression rate (4.7 Kbit/s, 6.7 Kbit/s or 8.7 Kbit/s). 2. The amount of silence in the recorded speech 3. The number of bad blocks 4. The number of recorded messages. (The basic memory allocation unit for a message is a 4-Kbyte block, which means that half a block, on average, is wasted per recorded message.) IVS vocabularies can be stored in either Flash memory and/or ROM. The VoiceDSP processor supports IVS ROM devices through an Expansion Memory mechanism. Up to 64 Kbytes (64K x 8) of Expansion Memory are directly supported. Nevertheless, the processor uses bits of the on-chip port (PB) to further extend the 64 Kbytes address space up to 0.5 Mbytes address space. ROM is connected to the VoiceDSP processor using the data bus, D(0:7), the address bus, A(0:15), the extended address signals, EA(16:18), and Expansion Memory Chip Select, EMCS, controls. The number of extended address pins to use may vary, depending on the size and configuration of the ROM. ISD-T360SB configured with NAND Flash memory cannot support extension ROM. 1-8 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB 1.2.6 THE CODEC INTERFACE The ISD-T360SB provides an on chip interface for analog and digital telephony, supporting master and slave codec interface modes. In master mode, the ISD-T360SB controls the operation of the codec for use in analog telephony. In the slave mode, the ISD-T360SB codec interface is controlled by an external source. This mode is used in digital telephony (i.e., ISDN or DECT lines). The slave mode is implemented with respect to IOM-2TM/GCI specifications. See Table 1-6 for codec options for the ISD-T360SB (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 (Slave Mode Only) Clock Rate. Single or Dual Channel Codecs One or Two Codecs Multiple Clock And Sample Rates. One or Two Frame Sync Signals Table 1-6: Supported Codec Options Manufacturer National Semiconductor National Semiconductor Oki Oki Lucent Lucent Motorola Motorola Winbond Codec Device Name TP3054 TP 3057 MSM7533V MSM 7704 T7502 T7503 MC145482 MC145484 W6612 Characteristics Single codec Single codec Dual codec Dual codec Dual codec Dual codec Single codec Single codec Dual codec Operating Voltage 5V 5V 5V 3.3 V 5V 5V 5V 5V 5V Conversion Type -Law A-Law -Law, A-Law -Law, A-Law, LV A-Law -Law 16-bit linear -Law, A-Law -Law, A-Law Codec Configuration Options The codec interface may be configured so that the ISD-T360SB is connected to either: * * * one single codec (the default option) (using channel 0) two single codecs (using channels 0, 2) one dual codec (using channel 0, 1) ISD 1-9 ISD-T360SB 1--HARDWARE The Codec Interface Signals The codec interface consists of five signals: CDIN, CDOUT, CCLK, CFS0 and CFS1. The first codec is connected to CDIN, CDOUT, CCLK and CFS0 (see Figure 1-9). The second codec is connected to CDIN, CDOUT, CCLK and CFS1 (see Figure 1-10). Data is read from the codec through the CDIN input pin, while data is simultaneously transferred to the codec through the CDOUT output pin (see Figure 1-8). The Codec Frame Sync 0 signal (CFS0) is generated by the codec interface in master mode, and is generated externally in slave mode. The Codec Frame Sync 1 signal (CFS1) is generated by the codec interface in master and slave modes. The signal is generated with a delay relative to the CFS0 signal. CFS1 signal may be delayed between 0 and 255 CCLK cycles (see Figure 1-8). The Codec Clock (CCLK) signal is used to synchronize the data in and out of the codec interface. The CCLK signal is used to indicate a delay (relative to CFS0) of data and CFS1 signals. The CCLK signal is generated according to the programmed clock rate in master mode, and is generated externally in slave mode. Short-frame / Long-frame Formats The codec may be configured in one of the following formats: * * A short-frame format (see Figure 1-24) A long-frame format (see Figure 1-25) In short-frame operation, CFS0 and CFS1 are active for one CCLK cycle. In long-frame operation, CFS0 and CFS1 are active for the width of the transaction. Short-frame and long-frame formats are available in both master and slave modes (for more information refer to the software description on page 2-9). In Slave Mode operation, the CCLK signal is input to the ISD-T360SB and controls the frequency of the codec interface operation. The CCLK may take on any frequency between 500 KHz and 2.048 MHz. In master mode, the codec interface is configured to single bit rate clock. In slave mode, a double bit rate clock is available as well. When using double bit rate clock, the codec interface divides the frequency in half and the resulting clock is used as CCLK. Note that the signals are sampled on the falling edge of CCLK. 1-10 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Channel Width The Codec interface supports both 8-bit and 16-bit channel width in both master and slave modes. The channel width determines how many data bits are transferred in a single codec transaction per channel. Refer to Table 1-7 for typical codec applications. Table 1-7: Typical Codec Applications Application Codec Type No. of Channels Master/ Slave Channel Width (No. Bits) 8 Long/ CCLK Short Bit Rate Freq. Frame (MHz) Protocol short or long short 1 2.048 Sample Rate (Hz) No. of Frame Syncs 1 Analog -Law single 1 Master 8000 ISDN--8 bit digital--A-Law Linear IOM-2/GCI dual 2 Slave 8 1 or 2 2.048 8000 1 single single or dual single or dual 1 1-2 Master Slave 16 8 short short 1 1 or 2 2.048 1.536 8000 8000 1 1 266 Compatibility 1 or 2 Master 8 long or short 1 2.048 8000 1 or 2 Figure 1-8: Codec Protocol-Short Frame--8-Bit Channel Width ISD 1-11 ISD-T360SB 1--HARDWARE Figure 1-9: Codec Interface with One Single Codec, NSC TP3054, for Single Line Operation Figure 1-10: Codec Interface Diagram with Two, Single Codecs, NSC TP3054, and NSC TP3057, for Speakerphone Operation 1-12 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Figure 1-11: Codec Interface for Dual Line or Single Line and Speakerphone Operation with OKI Dual Codec Figure 1-12: Codec Interface for Dual Line or Single Line and Speakerphone with Lucent Dual Codec ISD 1-13 ISD-T360SB 1--HARDWARE Figure 1-13: Codec Interface with one single Motorola codec, MC145482, for single line operation Figure 1-14: Codec Interface with two single Motorola codecs, MC145482, for speakerphone operation 1-14 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Figure 1-15: Codec Interface for Dual Line or Single Line and Speakerphone Operation with Winbond Dual Codec NOTE: To use this codec, you must define the codec interface to operate with two single codecs. ISD 1-15 ISD-T360SB 1--HARDWARE 1.3 1.3.1 SPECIFICATIONS ABSOLUTE MAXIMUM RATINGS -65C to +150C 0C to +70C -0.5 V to +6.5 V NOTE Storage temperature Temperature under bias All input and output voltages with respect to GND 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. 1.3.2 ELECTRICAL CHARACTERISTICS TA = 0C to +70C, VCC = 5 V 10% Or 3.3 V 10%, GND = 0 V Table 1-8: Electrical Characteristics (All Parameters with Reference to VCC = 3.3 V) Symbol CX ICC1 Parameter X1 and X2 Capacitance Active Supply Current 1 Conditions Min Typ 17.0 Max Units pF Normal Operation Mode, Running Speech Applications2 Normal Operation Mode, DSPM Idle2 Power-down Mode2,3 0 V VIN VCC 0 V VOUT VCC After R.E. CTTL, T1 -5.07 -5.07 40.0 80.0 mA ICC2 ICC3 IL IO (Off) tWRa Standby supply current 30.0 mA Power-down Mode Supply Current Input Load Current Output Leakage Current (I/O pins in Input Mode) WR0 Active WR0 Hold after EMCS4 WR0 Hold WR0 Inactive 12.0 mA mA mA 5.0 5.0 tCTp/ 2+2 7.5 tCTp/2 - 6 tCTp/ 2+2 2.0 2.1 V V tWRCSh tWRh tWRia VENVh VHh VHl VHys R.E. EMCS R.E. to R.E. WR0 After R.E. CTTL After R.E. CTTL, T3 ENV0 Input, High Voltage CMOS Input with Hysteresis, Logical 1 Input Voltage CMOS Input with Hysteresis, Logical 0 Input Voltage Hysteresis Loop Width1 0.8 V 0.5 V 1-16 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Table 1-8: Electrical Characteristics (All Parameters with Reference to VCC = 3.3 V) Symbol VIH VIL VOH VOHWC Parameter TTL Input, Logical 1 Input Voltage TTL Input, Logical 0 Input Voltage Logical 1 TTL, Output Voltage MMCLK, MMDOUT and EMCS Logical 1, Output Voltage Logical 0, TTL Output Voltage IOH = -0.4 mA IOH = -0.4 mA IOH = -50 A5 IOL = 4 mA IOL = 50 VOLWC MMCLK, MMDOUT and EMCS Logical 0, Output Voltage CLKIN Input, High Voltage CLKIN Input, Low Voltage A5 Conditions Min 2.0 Typ Max VCC + 0.5 0.8 Units V -0.57 2.4 2.4 VCC - 0.2 V V V V 0.45 0.2 0.45 0.2 V V V V V 0.8 V VOL IOL = 4 mA IOL = 50 A5 External Clock6 External Clock6 2.0 VXH VXL 1. 2. 3. 4. 5. 6. 7. Guaranteed by design. IOUT =0, TA 25C, VCC = 3.3 V for VCC pins and 3.3 V or 5 V on VCCHI pins, operating from a 4.096 MHz crystal and running from internal memory with Expansion Memory disabled. All input signals are tied to 0 (above VCC - 0.5 V or below VSS + 0.5 V), except ENV0, which is tied to VCC. Measured in power-down mode. The total current driven, or sourced, by all the VoiceDSP processor's output signals is less than 50 A. Guaranteed by design, but not fully tested. CLKIN signal is not 5V tolerant. Negative hold times are allowed since they are relative to the internal signal CTTL ISD 1-17 ISD-T360SB 1--HARDWARE 1.3.3 SWITCHING CHARACTERISTICS Definitions All timing specifications in this section refer to 0.8 V or 2.0 V on the rising or falling edges of the signals, as illustrated in Figure 1-16 through Figure 1-22, unless specifically stated otherwise. Maximum times assume capacitive loading of 50pF. CLKIN crystal frequency is 4.096 MHz. NOTE CTTL is an internal signal and is used as a reference to explain the timing of other signals. See Figure 1-31. Figure 1-16: Synchronous Output Signals (Valid, Active and Inactive) 2.0V CTTL or MWCLK 2.0V Signal 0.8V tSignal NOTE: Signal valid, active or inactive time, after a rising edge of CTTL or MWCLK. Figure 1-17: Synchronous Output Signals (Valid) MWCLK 0.8V 2.0V Signal 0.8V tSignal NOTE: Signal valid time, after a falling edge of MWCLK. 1-18 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Figure 1-18: Synchronous Output Signals (Hold), after Rising Edge of CTTL 2.0V CTTL 2.0V Signal 0.8V tSignal NOTE: Signal hold time, after a rising edge of CTTL. Figure 1-19: Synchronous Output Signals (Hold), after Falling Edge of MWCLK 2.0V MWCLK 2.0V Signal 0.8V tSignal NOTE: Signal hold time, after a falling edge of MWCLK. Figure 1-20: Synchronous Input Signals 2.0 V CTTL or MWCLK 2.0 V Signal 0.8 V 2.0 V 0.8 V tSignal Setup tSignal Hold NOTE: Signal setup time, before a rising edge of CTTL or MWCK, and signal hold time after a rising edge of CTTL or MWCK ISD 1-19 ISD-T360SB 1--HARDWARE Figure 1-21: Asynchronous Signals 2.0 V Signal A 0.8 V 2.0 V Signal B 0.8 V tSignal NOTE: Signal B starts after rising or falling edge of signal A. The RESET has a Schmitt trigger input buffer. Figure 1-22 shows the input buffer characteristics. Figure 1-22: Hysteresis Input Characteristics Vout VHys VHl VHh 1-20 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB 1.3.4 SYNCHRONOUS TIMING TABLES In this section, R.E. means Rising Edge and F.E. means Falling Edge. Table 1-9: Output Signals Symbol tAlh [10:0] tAhh [15:11] tAv tCCLKa tCCLKh tCCLKia tCDOh tCDOv tCTp tEMCSa tEMCSh tEMCSia tFSa tFSh tFSia tMWDOf tMWDOh tMWDOnf tMWDOv tMWITOp tMWRDYa tMWRDYia tPCh tPABh tPABCv 1. 2. 3. Figure Description Address Hold Address Hold Address Valid CCLK Active CCLK Hold CCLK Inactive CDOUT Hold CDOUT Valid CTTL Clock Period EMCS Active EMCS Hold EMCS Inactive CFS0 Active CFS0 Hold CFS0 Inactive MICROWIRE Data Float1 MICROWIRE Data Out Hold 2 1 Reference Conditions After R.E. CTTL 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 R.E. CTTL to next R.E. CTTL 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. MWCS After F.E. MWCLK After F.E. MWCS After F.E. MWCLK Propagation Time After R.E. of CTTL After F.E. MWCLK After R.E. CTTL After R.E. CTTL, T2W1 After R.E. CTTL, T2W1 Min (ns) -1.53 0.0 Max (ns) 9.0 12.0 0.0 12.0 -2.03 12.0 30.5 250,000 12.0 0.0 12.0 25.0 -2.53 25.0 70.0 0.0 0.0 70.0 70.0 70.0 0.0 0.0 -0.53 -3.03 12.0 40.0 70.0 MICROWIRE Data No Float2 MICROWIRE Data Out MWDIN to MWDOUT MWRDY Active MWRDY Inactive PC hold PA, PB and MWRQST hold PB and MWRQST Valid2 In normal operation mode, tCTp must be 30.5 ns; in power-down mode, tCTp must be 50,000 ns. Guaranteed by design, but not fully tested. Negative hold times are allowed since they are relative to the internal signal CTTL. ISD 1-21 ISD-T360SB 1--HARDWARE Table 1-10: Input Signals Symbol tCCLKSp tCCLKSh tCCLKSl tCDIh tCDIs tCFS0Ss tCFS0Sh tDIh tDIs tMWCKh tMWCKl tMWCKp Figure Description Codec Clock Period (slave) Codec Clock High (slave) Codec Clock Low (slave) CDIN Hold CDIN Setup CFS0 Setup CFS0 Hold Data in Hold (D0:7) Data in Setup (D0:7) MICROWIRE Clock High (slave) MICROWIRE Clock Low (slave) MICROWIRE Clock Period (slave)1 MWCLK Hold MWCLK Setup MWCS Hold MWCS Setup MWDIN Hold MWDIN Setup Power Stable to RESET R.E. RESET Pulse Width CLKIN High CLKIN Low CLKIN Clock Period 2 Reference Conditions R.E. CCLK to next R.E. CCLK At 2.0 V (both edges) At 0.8 V (both edges) After R.E. CTTL Before R.E. CTTL Before R.E. CCLK After R.E. CCLK After R.E. CTTL T1, T3 or TI Before R.E. CTTL T1, T3 or TI At 2.0 V (both edges) At 0.8 V (both edges) R.E. MWCLK to next R.E. MWCLK Min (ns) 244 120 120 0.0 25.0 TBD TBD 0.0 19.0 100.0 100.0 2.5 s Max (ns) tMWCLKh tMWCLKs tMWCSh tMWCSs tMWDIh tMWDIs tPWR tRSTw tXh tXl tXp 1. 2. After MWCS becomes inactive Before MWCS becomes active After F.E. MWCLK Before R.E. MWCLK After R.E. MWCLK Before R.E. MWCLK After VCC reaches 4.5 V At 0.8 V (both edges) At 2.0 V (both edges) At 0.8 V (both edges) R.E. CLKIN to next R.E. CLKIN 50.0 100.0 75.0 100.0 50.0 100.0 30.0 ms 10.0 ms tX1p/2 - 5 tX1p/2 - 5 244.4 Guaranteed by design, but not fully tested in power-down mode. Guaranteed by design, but not fully tested. 1-22 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB 1.3.5 TIMING DIAGRAMS Figure 1-23: ROM Read Cycle Timing 1. 2. 3. This cycle may be either TI (Idle), T3 or T3H. Data can be driven by an external device at T2W1, T2W, T2 and T3. This cycle may be either TI (Idle) or T1. Figure 1-24: Codec Short Frame Timing tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp CTTL CCLK tCCLKia tCCLKh tCCLKa tCCLKh CFS0/ CFS1 tFSa tFSh CDOUT tCDOv tCDOv tCDOh CDIN tCDIs BIT 7 tCDIh tFSia tFSh BIT 7 NOTE: The CCLK and CFS0 timing is shown for Master Mode only. For Slave Mode, see Figure 1-26. ISD 1-23 ISD-T360SB 1--HARDWARE Figure 1-25: Codec Long Frame Timing tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp 4xtCTp tCTp tCTp tCTp tCTp CTTL CCLK tCCLKia tCCLKh tCCLKa tCCLKh CFS0/ CFS1 tFSa tFSh BIT 7 CDOUT tCDOv tCDOh CDIN BIT 7 BIT 0 tFSia tFSh NOTE: The CCLK and CFS0 timing is shown for Master Mode only. For Slave Mode, see Figure 1-26. Figure 1-26: Slave Codec CCLK and CFS0 Timing tCCLKSp CCLK tCCLKSh tCCLKSl CFS0 tCFS0Ss tCFS0Sh NOTE: For CFS1, CDIN, CDOUT timing, see Figure 1-24 and Figure 1-25. 1-24 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Figure 1-27: MICROWIRE Transaction Timing--Data Transmitted to Output ISD 1-25 ISD-T360SB 1--HARDWARE Figure 1-28: MICROWIRE Transaction Timing--Data Echoed to Output Figure 1-29: Output Signal Timing for Port PB and MWRQST NOTE: This cycle may be either TI (Idle), T2, T3 or T3H. 1-26 Voice Solutions in SiliconTM 1--HARDWARE ISD-T360SB Figure 1-30: CLKIN Timing Figure 1-31: CTTL Timing Figure 1-32: Reset Timing When Reset Is Not at Power-Up ISD 1-27 ISD-T360SB 1--HARDWARE Figure 1-33: Reset Timing When Reset Is at Power-Up 1-28 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Chapter 2--SOFTWARE The VoiceDSP software resides in the on-chip ROM. It includes DSP-based algorithms, system support functions and a software interface to hardware peripherals. er states, these detectors are active. (See the SDET and RDET commands for further details). IDLE 2.1 SYSTEM OPERATION This section provides details of the system support functions and their principle operation. It is divided into the following subjects: * * * * * * * The State Machine Command Execution Event Handling Message Handling Tone Generation Initialization and Configuration Power Down Mode (PDM) This is the state from which most commands are executed. As soon as a command and all its parameters are received, the processor starts executing the command. RECORD In this state a message is compressed (unless stored in PCM format) and recorded into the message memory. PLAY In this state a message is decompressed (unless stored in PCM format), and played back. 2.1.1 THE STATE MACHINE SYNTHESIS An individual word or a sentence is synthesized from an external vocabulary in this state. The ISD-T360SB operates in two modes, normal mode (DTAD) and speakerphone mode. To change the mode use the Set Speakerphone Mode (SSM) command. The VoiceDSP processor functions as a state machine under each mode. It changes state either in response to a command sent by the microcontroller, after execution of the command is completed, or as a result of an internal event (e.g. memory full or power failure). For more information see "VoiceDSP PROCESSOR COMMANDS--QUICK REFERENCE TABLE" on page 2-22. The VoiceDSP states in DTAD mode are described below. TONE_GENERATE In the TONE_GENERATE state, the VoiceDSP processor generates single or DTMF tones. MSG_OPEN The VoiceDSP processor either reads or writes 32 bytes to the message memory, or sets the message read/write pointer on a 32 byte boundary. RESET The VoiceDSP processor is initialized to the RESET state after a full hardware reset by the RESET signal (See "RESETTING" on page 1-3). In this state the processor detectors (VOX, constant energy, call progress tones and DTMF) are not active. In all oth- POWER DOWN MODE In this state, the power consumption is reduced for the VoiceDSP processor. For more information, refer to the Power Down Mode section on page 2-5. ISD 2-1 ISD-T360SB 2--SOFTWARE 2.1.2 COMMAND EXECUTION 2.1.3 EVENT HANDLING A VoiceDSP processor command is represented by an 8-bit opcode. Some commands require parameters. Some commands have return values. Commands are either synchronous or asynchronous. STATUS WORD The 16-bit status word indicates events that occur during normal operation. The VoiceDSP processor activates the MWRQST signal, to indicate a change in the status word. This signal remains active until the processor receives a GSW (Get Status Word) command. For detailed description of the Status Word and the meaning of each bit, see "GSW Get Status Word" on page 2-34. SYNCHRONOUS COMMANDS A synchronous command must complete execution before the microcontroller can send a new command (e.g. GMS, GEW). A command sequence begins when the microcontroller sends an 8-bit opcode to the processor, followed by the command's parameters (if any). The VoiceDSP processor then executes the command and, if required, transmits a return value to the microcontroller. Upon completion, the processor notifies the microcontroller that it is ready to accept a new command. ERROR WORD The 16-bit error word 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. ASYNCHRONOUS COMMANDS An asynchronous command starts execution in the background and notifies the microcontroller, which can send more commands while the current command is still running (e.g. R, P). After receiving an asynchronous command, such as P (Playback), R (Record), SW (Say Words) or GT (Generate Tone), the VoiceDSP processor switches to the appropriate state and executes the command until finished or a S (Stop) or PA (Pause) command is received from the microcontroller. When completed, the EV_NORMAL _END event is set and the processor switches to the IDLE state. "VoiceDSP PROCESSOR COMMANDS--QUICK REFERENCE TABLE" on page 2-22 displays all the processor commands, the valid source states in which these commands are valid, and the states resulting from the command. ERROR HANDLING When the microcontroller detects the active MWRQST signal, it issues the GSW command, deactivating the MWRQST signal. Then, the microcontroller tests the EV_ERROR bit in the status word, and, if set, sends the GEW (Get Error Word) command to read the error word for details. For detailed description of the Error Word and the meaning of each bit, see "GEW Get Error Word" on page 2-31. 2-2 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB 2.1.4 MESSAGE HANDLING (Record) commands, and resume them from the point at which they were suspended. A message is the basic unit on which most of the VoiceDSP commands operate. A VoiceDSP processor message, stored on a flash memory device, can be regarded as a computer file stored on a flash mass-storage device. The ISD-T360SB manages messages for a wide range of applications, which require different levels of DTAD functionality. The VoiceDSP processor features advanced memory-organization features such as multiple OutGoing Messages (OGMs), mailboxes, and the ability to distinguish between InComing Messages (ICMs) and OGMs. A message is created with either the R (Record) or the CMSG (Create Message) command. Once created, the message is assigned a time-andday stamp and a message tag which is read by the microcontroller. The R command takes voice samples from the codec, compresses them, and stores them in the message memory. When a message is created with the CMSG command the data to be recorded is provided by the microcontroller, via the WMSG (Write Message) command and not through the codec. Here, the data is transferred directly to the message memory, and not compressed by the ISD-T360SB voice compression algorithm. WMSG, RMSG (Read Message) and SMSG (Set Message Pointer) are message-data access commands used to store and read data to or from any location in the message memory (see "VoiceDSP PROCESSOR COMMANDS--QUICK REFERENCE TABLE" on page 2-22 for more details). Using these commands, the microcontroller can utilize messages for features such as a Telephone Directory and Caller Numbers List (Caller IDs of those who called but did not leave a message.) A message can be played back (P command) and deleted (DM command). Redundant data (e.g. trailing tones or silence) can be removed from the message tail with the CMT (Cut Message Tail) command. The PA (Pause) and RES (Resume) commands, respectively, suspend the P (Playback) and R CURRENT MESSAGE The GTM (Get Tagged Message) command selects the current message. Most message handling commands (P, DM, RMSG) operate on the current message. Deleting the current message does not cause a different message to become current; the current message is undefined. If you issue the GTM command to skip to the next message, the first message, newer than the just deleted message, becomes the current message. MESSAGE TAG Each message has a 2-byte message tag which is used to categorize messages, and implement features such as OutGoing Messages, mailboxes and different handling of old and new messages. The tag is created during the R (Record) command. Use the GMT (Get Message Tag) and SMT (Set Message Tag) commands to handle message tags. NOTE Message tag bits can only be cleared and are set only when a message is first created. This limitation, inherent in Flash memories, allows bits to be changed only from 1 to 0 (changing bits from 0 to 1 requires a special erasure procedure). However, the usual reason for updating an existing tag is to mark a message as old. This can be done when a message is first created by using one of the bits as a new/ old indicator, setting the bit to 1 and later clearing it when necessary. ISD 2-3 ISD-T360SB 2--SOFTWARE 2.1.5 TONE GENERATION 2.1.6 INITIALIZATION AND CONFIGURATION The VoiceDSP processor generates DTMF tones and single-frequency tones from 300Hz to 3000Hz in increments of 100Hz. The ISD-T360SB tone generation conforms to the EIA-470-RS standard. Note, however, that value of some tunable parameters may need adjusting to meet the standard specifications since the energy level of generated tones depends on the analog circuits used. 1. Tune the DTMF_GEN_TWIST_LEVEL parameter to control the twist level of the generated DTMF tones. 2. Use the VC (Volume Control) command, and tune the TONE_GEN_LEVEL parameter, to control the energy level at which these tones are generated. 3. Use the GT (Generate Tone) command to specify the DTMF tones, and the frequency at which single tones are generated. Refer to Table 2-5, VC command and GT command of the Command Description section for further details of the relevant tunable parameters and commands. NOTE The DTMF detector performance is degraded during tone generation, especially if the frequency of the generated tone is close to the frequency of one of the DTMF tones. Use the following procedures to initialize the VoiceDSP processor: NORMAL INITIALIZATION Reset the VoiceDSP processor by activating the RESET signal. (See "RESETTING" on page 1-3.) 1. Issue a CFG (Configure VoiceDSP processor) command to change the configuration according to your environment. 2. Issue an INIT (Initialize System) command to initialize the VoiceDSP firmware. 3. Issue a series of TUNE commands to adjust the VoiceDSP processor to the requirements of your system. NOTE The tuning of NUM_OF_BLOCKS_IN_MEM (tunable parameter number 62) should be done before the CFG command. This tune operation should be executed when using flash memory other than 4Mb. The tuning of NUM_OF_BLOCKS_FOR_TEST (tunable parameter number 63) should be done before the INIT command. TUNABLE PARAMETERS The VoiceDSP processor can be adjusted to the specific system's requirements using a set of tunable parameters. These parameters are set to their default values after reset and can be later modified with the TUNE command. By tuning these parameters, you can control various aspects of the VoiceDSP processor's operation, such as silence compression, tone detection, and noenergy detection. Table 2-4 to Table 2-12 of the Command Description section describes all the tunable parameters in detail. 2-4 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB 2.1.7 POWER-DOWN MODE connections, and thus the cost, of communicating with peripherals. The VoiceDSP MICROWIRE interface implements the MICROWIRE/PLUS interface in slave mode, with an additional ready signal. It enables a microcontroller to interface efficiently with the VoiceDSP processor application. The microcontroller is the protocol master and provides the clock for the protocol. The VoiceDSP processor supports clock rates of up to 400 KHz. This transfer rate refers to the bit transfer; the actual throughput is slower due to byte processing by the VoiceDSP processor and the microcontroller. Communication is handled in bursts of eight bits (one byte). In each burst the VoiceDSP processor is able to receive and transmit eight bits of data. After eight bits have been transferred, an internal interrupt is issued for the VoiceDSP processor to process the byte, or to prepare another byte for sending. In parallel, the VoiceDSP processor sets MWRDY to 1, to signal the microcontroller that it is busy with the byte processing. Another byte can be transferred only when the MWRDY signal is cleared to 0 by the VoiceDSP processor. When the VoiceDSP processor transmits data, it expects to receive the value 0xAA before each transmitted byte. The VoiceDSP processor reports any status change by clearing the MWRQST signal to 0. If processor command's parameter is larger than one byte, the microcontroller transmits the Most Significant Byte (MSB) first. If a return value is larger than one byte, the VoiceDSP processor transmits the MSB first. The following signals are used for the interface protocol. Input and output are relative to the VoiceDSP processor. The PDM (Go To Power-Down Mode) command switches the ISD-T360SB to power-down mode. The purpose of the PDM command is to save power during battery operation, or for any other power saving cause. During power-down mode only basic functions, such as time and date update, are active (for more details refer to POWERDOWN MODE description on page 1-4). This PDM command may only be issued when the processor is in IDLE mode (for an explanation of the ISD-T360SB states, see "The State Machine" on page 2-1). If it is necessary to switch to powerdown mode from any other state, the controller must first issue a S (Stop) command to switch the processor to the IDLE state, and then issue the PDM command. Sending any command while in power-down mode resets the VoiceDSP processor detectors, and returns it to normal operation mode. NOTE Entering or exiting power-down mode can distort the real-time clock by up to 500 s. Thus, to maintain the accuracy of the realtime clock, enter or exit the power-down mode as infrequently as possible. 2.2 PERIPHERALS This section provides details of the peripherals interface support functions and their principle operation. It is divided into the following subjects: * * * Microcontroller Interface (Slave MICROWIRE) Memory Interface Codec Interface INPUT SIGNALS MWDIN 2.2.1 MICROCONTROLLER INTERFACE MICROWIRE/PLUSTM is a synchronous serial communication protocol minimizes the number of MICROWIRE Data In. Used for input only, for transferring data from the microcontroller to the VoiceDSP processor. ISD 2-5 ISD-T360SB MWCLK MICROWIRE Clock. Serves as the synchronization clock during communication. One bit of data is transferred on every clock cycle. The input data is available on MWDIN and is latched on the clock rising edge. The transmitted data is output on MWDOUT on the clock falling edge. The signal should remain low when switching MWCS. 2--SOFTWARE 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. MWRQST MICROWIRE Request. When active (0), this signal indicates that new status information is available. MWRQST is deactivated (set to 1), after the VoiceDSP processor receives a GSW (Get Status Word) command from the microcontroller. After reset, this signal is active (0) to indicate that a reset occurred. MWRQST, unlike all the signals of the communication protocol, is an asynchronous line that is controlled by the VoiceDSP firmware. MWCS MICROWIRE Chip Select. The MWCS signal is cleared to 0, to indicate that the VoiceDSP processor is being accessed. Setting MWCS to 1 causes the VoiceDSP processor to start driving MWDOUT with bit 7 of the transmitted value. Setting the MWCS signal resets the transfer-bit counter of the protocol, so the signal can be used to synchronize between the VoiceDSP processor and the microcontroller. To prevent false detection of access to the VoiceDSP processor due to spikes on the MWCLK signal, use this chip select signal, and toggle the MWCLK input signal, only when the VoiceDSP processor is accessed. 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 VoiceDSP processor reads data from MWDIN on every rising edge of MWCLK. VoiceDSP processor 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 VoiceDSP processor transmits to the microcontroller (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. OUTPUT SIGNALS MWDOUT MICROWIRE Data Out. Used for output only, for transferring data from the VoiceDSP processor to the microcontroller. When the VoiceDSP processor receives data it is echoed back to the microcontroller on this signal, unless the received data is 0xAA. In this case, the VoiceDSP processor echoes a command's return value. MWRDY MICROWIRE Ready. When active (0), this signal indicates that the VoiceDSP processor is ready to transfer (receive or transmit) another byte of data. This signal is set to 1 by the VoiceDSP processor after each byte transfer has been completed. It remains 1, while the VoiceDSP processor is busy 2-6 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB The MWRDY signal is used as follows: 1. Active (0) MWRDY signals the microcontroller 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 VoiceDSP processor) after 8-bits of data were transferred to/from the VoiceDSP processor. The bit is set following the falling edge of the eighth MWCLK clock-cycle. 3. The MWRDY signal is activated (cleared to 0) by the VoiceDSP processor when it is ready to receive the first parameter byte (if there are any parameters) and so on till 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 microcontroller must read the value before issuing a new command. 4. When a return value is transmitted, the MWRDY signal is deactivated after every byte, and activated again when the VoiceDSP processor is ready to send another byte, or to receive a new command. 5. The MWRDY signal is activated (cleared to 0) after reset, and after a protocol time-out. (See "INTERFACE PROTOCOL TIME-OUTS") The MWRQST signal is used as follows: 1. The MWRQST signal is activated (cleared to 0), when the status word is changed. 2. The MWRQST signal remains active (0), until the VoiceDSP processor receives a GSW command. Figure 1-27 and Figure 1-28 illustrate the sequence of activities during a MICROWIRE data transfer between VoiceDSP and the microcontroller. INTERFACE PROTOCOL TIME-OUTS Depending on the VoiceDSP processor's state, if more than 100 milliseconds elapse between the assertion of the MWRDY signal and the transmission 8th bit of the next byte pertaining to the same command transaction, a time-out event occurs, and the VoiceDSP processor responds as follows: 1. Sets the error bit in the status word to 1. 2. Sets the EV_TIMEOUT bit in the error word to 1. 3. Activates the MWRQST signal (clears it to 0). 4. Activates the MWRDY signal (clears it to 0). 5. Waits for a new command. (After a timeout occurs, i.e., the microcontroller received MWRQST during the command transfer, or result reception, the microcontroller must wait at least four milliseconds before issuing the next command.) ECHO MECHANISM The VoiceDSP processor echoes back to the microcontroller all the bits received by the VoiceDSP processor. Upon detection of an error in the echo, the microcontroller should stop the protocol clock, which eventually causes a time-out error (i.e., ERR_TIMEOUT bit is set in the error word). For commands that have a return value, the microcontroller must transmit a byte value of 0xAA for each byte returned. In response, the VoiceDSP processor transmits the return values instead of echoing the 0xAA byte. Upon detection of an error the VoiceDSP processor activates the MWRQST signal, and sets the ERR_COMM bit in the error word. ISD 2-7 ISD-T360SB 2--SOFTWARE 2.2.2 MEMORY INTERFACE DEVICE NUMBER AND TYPE The VoiceDSP processor supports various types of Flash memory devices. Up to four devices may be connected to the VoiceDSP, where all the connected devices must be of the same type. Each memory device may be of 4Mbit, 8Mbit or 16Mbit; thus a total of 64Mbit non-volatile memory may be connected for message storage (up to 4 hours of voice recording). See "MEMORY INTERFACE" on page 1-6, for detailed description of the supported Flash and the hardware connectivity. Use the CFG command to define the type and number of installed memory devices (see "CFG Configure VoiceDSP config_value" on page 2-26). is significant and should be avoided during production (Refer to Table 1-4). Therefore, a dedicated parameter is defined in order to allow a production line testing while using a small part of the real connected memory size. It should be noted that in case of power failure during the production line testing, the connected memory devices should be replaced, and the process should be repeated. Refer to parameter index 63, in Table 2-10, for further explanation of the production line testing. MEMORY DEVICE SIZE The memory manager handles the memory devices in basic units of 4Kbyts blocks. This approach is defined due to the nature of Flash devices where the basic unit that can be erased is a 4Kbytes block. Memory blocks cannot be shared by different voice messages. Therefore, the maximum number of messages per memory device, equals to the number of memory blocks minus one (one block per device is used for memory management). The size of the connected memory devices, is defined by the number of memory blocks in each device. Refer to tunable parameter index 62, in Table 2-10, for detailed description of the available number of blocks for Flash. PRODUCTION LINE TESTING In many cases it is desired to test the ISD-T360SB in the production line as part of the whole application. Usually in these cases, the testing time is an important factor and should be minimized as possible. The initialization time of the memory devices 2-8 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB 2.2.3 CODEC INTERFACE Refer to tunable parameters index 65 to index 69, in Table 2-11, for detailed description of the delay registers and their significance. SUPPORTED FUNCTIONALITY The VoiceDSP processor supports analog and digital telephony in various configurations. For analog telephony the VoiceDSP operates in master mode, where it provides the clock and the synchronization signals. It supports a list of single channel and dual channel codecs, as listed in Table 1-6. For digital telephony the VoiceDSP operates in slave mode, where 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 (uLaw 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 VoiceDSP processor supports up to 2 voice channels, where the line should be connected as channel 0 (in master mode or in slave mode - depends on the configuration), and the speakerphone (speaker and microphone) should be connected as channel 1 or as channel 2, depends on the configuration (channel 2 is always connected as master). See "The Codec Interface" on page 1-9, for detailed description of the supported codec 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 number and type of codecs (one or two, single channel or dual channel). See "CFG Configure VoiceDSP config_value" on page 2-26. 2.3 ALGORITHM FEATURES This section provides details of the VoiceDSP algorithms and their principle operation. It is divided into the following subjects: * * * * * * VCD (Voice Compression and Decompression) DTMF Detection Tone and Energy Detection (Call Progress) Speakerphone Speech Synthesis SW Automatic Gain Control DATA CHANNEL TIMING To provide additional flexibility (e.g., when using speakerphone), the codec interface provides a programmable delay of data and synchronization signals, relative to the CFS0 signal. ISD 2-9 ISD-T360SB 2--SOFTWARE 2.3.1 VCD (VOICE COMPRESSION AND DECOMPRESSION) proach provides the same speech tone while playback speed varies. The VoiceDSP processor implements a state of the art VCD algorithm of the CELP family. The algorithm provides 3 compression rates that can be selected dynamically. PCM recording (no compression) is also provided. The lowest compression rate of 4.7 Kbit/s enables about 30 minutes of recording on an 8-Mbit device. The mid compression rate of 6.7 Kbit/s provides about 20 minutes of voice recording time. The highest compression rate of 8.7 Kbit/s, which provides the best compressed voice quality, stores approximately 10 minutes on an 8-Mbit device. For detailed information about recording times refer to Table 1-5. Before recording each message, the microcontroller selects one of the three compression rates, or PCM recording, with the compression_rate parameter of the R (Record) command. During message playback the VoiceDSP processor reads this one byte parameter and selects the appropriate speech decompression algorithm. IVS vocabularies can be prepared in either of the three compression rates, or in PCM format, using the IVS tool. All messages in a single vocabulary must be recorded using the same algorithm. (See the IVS User's Guide for more details). During speech synthesis, the VoiceDSP processor automatically selects the appropriate speech decompression algorithm. CONVERSATION RECORDING / PLAYBACK The VoiceDSP supports the conversation recording feature, which enables the user to simultaneously record the far end caller and near end caller. The VoiceDSP simultaneously records data from channels 0 and 1 by summing the two channels and then compressing the summation. The data is then saved in the flash memory. When Playing the compressed message, the data is simultaneously broadcast to both channels. This feature is available for all compression rates. This feature can be operated using the SLC command. For more details, refer to the SLC command in the Command Description section. PCM RECORDING The VoiceDSP is capable of recording data in PCM format (that is the original samples format either in 8 bit u-Law format, 8 bit A-law format or 16 bit linear format). The PCM data uses more storage space, but it provides the highest quality for OGM, music-on-hold or IVS data. The PCM recording may be selected as one of the available compression rates during the R command (compression_rate = 0). Variable Speed Playback is not accessible during PCM recording and playback. VARIABLE SPEED PLAYBACK This feature increases or decreases the speed of messages and synthesized messages during playback. Use the SPS (Set Playback Speed) to set the speed of message playback. The new speed applies to all recorded messages and synthesized messages (only if synthesized using IVS), until changed by another SPS command. If this command is issued while the VoiceDSP processor is in the PLAY state, the speed also changes for the message currently being played. The speedup / slowdown algorithm is designed to maintain the pitch of the original speech. This ap- 2-10 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB 2.3.2 DTMF DETECTION The VoiceDSP processor detects DTMF tones, thus enabling remote control operations. Detection is active throughout the operation of the VoiceDSP processor. Detection can be configured using the SDET (Set Detectors Mask) command, which controls the reporting of the occurrence of tones, and the RDET (Reset Detectors) command which resets the detectors. The accuracy of the tone length, as reported by the tone detectors, is 10 ms. DTMF detection may be reported at the starting point, ending point, or both. The report is made through the status word (for further details, see GSW command). For further details about tunable parameters refer to Table 2-6 of the Command description section. The DTMF detector performance, as measured on the line input using an ISD-DS360-DAA board, is summarized below in Table 2-1. Table 2-1: DTMF Detector Performance* Play/IVS Synthesis Detection Sensitivity1 Performance depends on the message being >50 ms 1.5% 12 dB 4 Record/Idle played.2 -34 dBm >40 ms 1.5% 12 dB >45 ms 8 dB 4 dB or 8 dB Accepted DTMF Length3 Frequency Tolerance S/N Ratio Minimum Spacing Normal Twist Reverse Twist5 >50 ms 8 dB 4 dB or 8 dB * Performance depends on the DAA design. For reliable DTMF detection: * * 1. 2. 3. 4. 5. A hardware echo canceller, that attenuates the echo by at least 6 dBm, is required during playback. The HW AGC, if present, must be disabled during playback. Tune parameters 60 and 61 affect DTMF detection sensitivity. The detection sensitivity is -34 dBm when these tunable parameters get their maximum value of 5. Performance with echo canceler is 10 dB better than without echo canceler. For a silent message, detection sensitivity is -34 dBm, with echo canceler. The accuracy of reported DTMF tones is 10 ms. If the interval between two consecutive identical DTMF tones is less than, or equal to, 20 ms, the two are detected as one long DTMF tone. If the interval between two consecutive identical DTMF tones is between 20 ms and 45 ms, separate detection is unpredictable. Determined by the DTMF_REV_TWIST tunable parameter value. DTMF SW AGC In order to remove the linkage between the HW AGC and the detection level of the DTMF detector, two new tunable parameters are added. These tunable parameters define the gain of the SW AGC for DTMF signals. DTMF_DET_AGC_IDLE - SW AGC for DTMF detection in Idle and Record states. When incrementing this tunable by 1, the dynamic range is increased by 3 dB. DTMF_DET_AGC_PLAY - SW AGC for DTMF detection in Play and Tone_Generate states. When incrementing this tunable by 1, the dynamic range is increased by 3 dB. For more information on the SW AGC commands, refer to index values 60 and 61 in Table 2-6 of the Command Description section. ISD 2-11 ISD-T360SB 2--SOFTWARE ECHO CANCELLATION Echo cancellation is a technique used to improve the performance of DTMF detection during speech synthesis, tone generation, and OGM playback. For echo cancellation to work properly, HW AGC must not be active in parallel. Thus, to take advantage of echo cancellation, the microcontroller must control the HW AGC, if exists, (i.e., disable the HW AGC during PLAY, SYNTHESIS and TONE_GENERATE states and enable it again afterwards). If HW AGC can not be disabled, do not use echo cancellation. The microcontroller should use the CFG command to activate/deactivate echo cancellation. NOTE Normally, a HW AGC is not required with The ISD-T360SB, since SW AGC is optional for the VCD algorithm, DTMF detection and the speakerphone module. (VOX). This enables call progress tracking. Detection is active throughout the operation of the VoiceDSP processor. Detection can be configured using the SDET (Set Detectors Mask) command, which controls the reporting of the occurrence of tones, and the RDET (Reset Detectors) command which resets the detectors. The accuracy of the tone length, as reported by the tone detectors, is 10 ms. TUNABLE PARAMETERS Tunable parameters control the detection of busy and dial tones, constant energy level (in the frequency range 200-3400Hz), and no-energy. These parameters should be tuned to fit the system hardware. In addition, changes may be required to the tunable parameters according to the setting (On or Off) of the HW Automatic Gain Control (HW AGC), if exists. For more information refer to Table 2-7 and Table 2-8 of the Command Description section. 2.3.3 TONE AND ENERGY DETECTION (CALL PROGRESS) The VoiceDSP processor detects busy and dial tones, constant energy level, and no-energy Figure 2-1: Busy and Dial-Tone Band-Pass Filter Frequency Response 0 -10 Magnitude dB -20 -30 -40 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Frequency (Hz) 2-12 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB BUSY AND DIAL TONES Busy and dial-tone detectors work with a bandpass filter that limits the frequency range in which tones can be detected to 0-1100Hz. Figure 2-2 shows the frequency response of this band-pass filter. The design of the busy-tone detector allows very high flexibility in detecting busy tones with varying cadences. The tunable parameters are divided into four sets: two compared On or Off periods, as determined by the BUSY_DET_TONE_TYPE tunable parameter. BUSY_DET_TONE_TYPE specifies the type of cadences that are supported. Legal values are: Two cadences only Three cadences only Both two and three cadences. The acceptance criteria for two cadences: 1. Busy Tone On-time and Off-time Range Specification: BUSY_DET_MIN_ON_TIME BUSY_DET_MIN_OFF_TIME BUSY_DET_MAX_ON_TIME BUSY_DET_MAX_OFF_TIME 2. Busy Tone Cadence Control Specification BUSY_DET_VERIFY_COUNT BUSY_DET_DIFF_THRESHOLD BUSY_DET_TONE_TYPE BUSY_DET_VERIFY_COUNT determines the number of On/Off cadences that detector should detect before reporting busy tone presence. BUSY_DET_DIFF_THRESHOLD describes the maximum allowed difference between [E1-E3] < BUSY_DET_DIFF_THRESHOLD and [S1-S3] < BUSY_DET_DIFF_THRESHOLD The acceptance criteria for three cadences: [E1-E4] < BUSY_DET_DIFF_THRESHOLD and [S1-S4] < BUSY_DET_DIFF_THRESHOLD 3. Busy and Dial Tone Energy Thresholds TONE_DET_ON_ENERGY THRESHOLD TONE_DET_OFF_ENERGY THRESHOLD 4. Busy Detection Time BUSY_DET_MIN_TIME Figure 2-2: Busy-Tone Detector--Default Cadence Specification E1 E2 E3 S1 [E1 S2 S3 - E3] < 100 ms [S1 - S3] < 100 ms 100 < Ei < 1680 ms 70 < Si < 1220 ms ISD 2-13 ISD-T360SB 2--SOFTWARE CONSTANT ENERGY The constant-energy detector reports the presence of constant energy in the range of 200Hz to 3400Hz. It is intended to detect both white and pink noise and can be used to detect line disconnection during recording. It is recommended to use the constant energy mechanism in conjunction with the no-energy (VOX) mechanism. The following tunable parameters control the operation of the constant-energy detector: CONST_NRG_DET_TIME_COUNT CONST_NRG_DET_TOLERANCE_TIME CONST_NRG_DET_LOW_THRESHOLD CONST_NRG_DET_HIGH_THRESHOLD The ISD-T360SB speakerphone is simple to use; it requires no special hardware or training for the echo cancelers. The gain control is fully digital, which eliminates the need for analog gain control hardware. The speakerphone features two types of echoes, the electrical echo (line or circuit) and the acoustic echo. The electrical echo is a result of an imperfect impedance match between the 4- to 2-wire interface (hybrid) and the line impedance. The electrical echo, relatively short term, has a transfer function that varies slowly. The second echo, the acoustic echo, is a line impedance returning from the speaker to the microphone. This echo is relatively long term, and its transfer function may vary quite quickly if anyone, or anything, moves in the room. Both echoes must be canceled to achieve a high-quality hands-free system. For more details of the speakerphone tunable parameters refer to Table 2-9 of the Command Description section. NO ENERGY (VOX) The no-energy detector reports when the energy in the frequency range of 200Hz to 3400Hz remains below a pre-programmed threshold for a pre-programmed time-out. A programmable tolerance is allowed. It is recommended to use the no-energy (VOX) mechanism in conjunction with the constant-energy mechanism. The following tunable parameters control the operation of the no-energy (VOX) mechanism: VOX_DET_ENERGY_THRESHOLD VOX_DET_TIME_COUNT VOX_DET_TOLERANCE_TIME SPEAKERPHONE TERMINOLOGY Send Path The signal path from the microphone (near-end speaker) to the line (far-end listener). The microphone is the input port, and line-out is the output port of this signal path. Receive Path The signal path from the line (far-end speaker) to the loudspeaker (near-end listener). The line-in is the input port, and the speaker is the output port for this signal path. 2.3.4 FULL-DUPLEX SPEAKERPHONE The speakerphone feature lets the user communicate through a telephone line, using the unit's speaker and microphone instead of its handset. The speakerphone processes signals sent from the line to the speaker, and from the microphone to the line. It also performs the necessary switching, attenuation and echo cancellation on the signals present on the line/speaker. AEC Acoustic Echo Controller. The part in the speakerphone algorithm that controls the echo in the send path. 2-14 Voice Solutions in SiliconTM 2--SOFTWARE EEC Electric Echo Controller. The part in the speakerphone algorithm that controls the echo in the receive path. ISD-T360SB to the speaker, with no processing. This mode should be used only for tuning and testing the system. Silence SPEAKERPHONE MODES OF OPERATION Full-Duplex (ON) The speakerphone works in full-duplex mode, meaning both parties can speak and hear each other simultaneously. In this mode both the acoustic and electric echo controllers are active. The VoiceDSP processor tone detectors are not active in this mode. In silence mode, only the electric echo cancellor is active. Listen In Listen mode the line is audible on the speaker, and the processor tone detectors are active. During Listen mode, dialing with the GT command and call progress detection are possible, since the busy and dial tone detectors are active. The following pseudo-code demonstrates how to make a call from speakerphone mode: Mute In this mode of operation, the speakerphone generates silence to the line. The near-end listener can hear the far-end speaker but not vice versa. Tone detectors are not active. Hold During Hold mode silence is generated to the line and the speaker, and neither side can hear the other. Restart In Restart mode the speakerphone re-initializes itself to the last speakerphone mode (full-duplex, transparent or mute). This mode should be used to resume the speakerphone operation when there is a significant change in the environmental conditions (e.g., parallel pickup) that may affect the speakerphone quality. Transparent While in Transparent mode, the speakerphone works in full-duplex mode but without echo cancellation. Samples from the microphone are transferred to the line, and samples from the line are transferred ISD 2-15 ISD-T360SB 2--SOFTWARE Figure 2-3: Speakerphone Pseudo Code Representation while () { EV = wait_event() case EV of: spkr_button_pressed: if (speakerphone_on) { SSM 0 // Put VoiceDSP in idle mode first_digit = TRUE deactivate_digit_timeout_event() } else SSM 1 // Put VoiceDSP in full-duplex speakerphone mode digit_pressed: if (first_digit) { SSM 4 // Enter LISTEN mode first_digit = FALSE } GT 2.3.5 SPEECH SYNTHESIS Speech synthesis is the technology used to create messages out of predefined words and phrases stored in a vocabulary. There are two kinds of predefined messages: fixed messages (voice menus in a voice-mail system) and programmable messages (time-and-day stamp, or the You have n messages announcement in a DTAD). A vocabulary includes a set of predefined words and phrases, needed to synthesize messages in any language. Applications which support more than one language require a separate vocabulary for each language. INTERNATIONAL VOCABULARY SUPPORT (IVS) IVS is a mechanism by which the VoiceDSP processor utilizes several vocabularies stored on an external storage device. IVS enables the ISDT360SB to synthesize messages with the same meaning, but in different languages, from separate vocabularies. IVS Features * * * Multiple vocabularies stored on a single storage device. Plug-and-play. The same microcontroller code is used for all languages. Synthesized and recorded messages use the same voice compression algorithm to achieve equal quality. Argumented sentences. (For example: You have * 2-16 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB * * Auto-synthesized time-and-day stamp (driven by the VoiceDSP processor's clock). Support for various language and sentence structures: - One versus many. (For example: You have one message versus You have two messages.) - None versus many. (For example: You have no messages versus You have two messages.) - Number synthesis (English--Eighty versus French--Quatre-vingt). - Word order (English--Twenty-one versus German--Einundzwanzig). - Days of the week (Monday through Sunday versus Sunday through Saturday). recorded 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 messages (e.g., between time-and-day stamp and ICMs in a DTAD environment). It is more pleasant to the human ear to hear both messages have the same sound quality. Vocabulary Access VOCABULARY DESIGN There are several issues, sometimes conflicting, which must be addressed when designing a vocabulary. Sometimes compactness and high quality are not enough. There should be a simple and flexible interface to access the vocabulary elements. Not just the vocabulary but the code to access 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 languagespecific structures and designed in a cooperative way with the other vocabularies so that the code to access each vocabulary is the same. When you use the command to synthesize the sentence Monday. 12:30 P.M., you should not care in what language it is going to be played back. 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. A good combination of sentence quality and memory space is achieved if you take the "compact" approach, and extend it to solve pronunciation problems. For example, the word twenty is pronounced differently when used in the sentences You have twenty messages and You have twenty-two messages. To solve this problem, words that are pronounced differently should be ISD 2-17 ISD-T360SB Sentence Table 2--SOFTWARE IVS VOCABULARY COMPONENTS This section describes the basic concept of an IVS vocabulary, its components, and the relationships between them. Basic Concepts An IVS vocabulary consists of words, sentences, and special codes that control the behavior of the algorithm which VoiceDSP processor uses to synthesize sentences. The sentence table describes the predefined sentences in the vocabulary. The purpose of this table is to make the microcontroller that drives the VoiceDSP processor independent of the language being synthesized. For example, if the Flash and/or ROM memory contains vocabularies in various languages, and the first sentence in each vocabulary means you have n messages, the microcontroller switches languages by issuing the following command to VoiceDSP processor: SV 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 sentences: you have twenty messages and you have twenty-five messages, the word twenty is pronounced differently. In this example, twenty should be defined as two different words. The microcontroller 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. Sentence 0 All sentences but one are user defined. The VoiceDSP processor treats the first sentence in the sentence table (sentence 0) specially, to support time-and-day stamp. The processor assumes that the sentence is designed for both system time, and message time-and-day stamp announcement, and has one argument which is interpreted as follows: 0 1 System time is announced The time-and-day stamp of the current message is announced. Number Tables The number tables allow you to treat numbers differently depending on the context. Example 1: The number 1 can be announced as one as in message number one or as first as in first message. Example 2: The number 0 can be announced as no as in you have no messages or as oh as in 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. Example 1: When the microcontroller sends the command: SAS 0, 0 The system time and day is announced. Example 2: When the microcontroller sends the command: SAS 0, 1 The current message time-and-day stamp is announced. The following Figure 2-4 shows the interrelationship between the three types of tables. 2-18 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Figure 2-4: The Interrelationship between the Word, the Number, and the Sentence Tables Sentence Table Word Table You have OPT_NUMBER CONTROL_SING MESSAGES five twenty You have messages message Number Table Control and Option Codes The list of word indices alone cannot provide the entire range of sentences that the VoiceDSP 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 VoiceDSP 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. vocabulary sentences, to recording the vocabulary words. 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 VoiceDSP software. IVS Voice Compression THE IVS TOOL The IVS tool includes two utilities: 1. The DOS-based IVS Compiler 2. IVSTOOL for Windows. A Windows 95/98/ 2000 utility The tools help create vocabularies for the VoiceDSP processor. They take you from designing the vocabulary structure, through defining the 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 VoiceDSP processor automatically selects the required voice decompression algorithm when the SV command chooses the active vocabulary. ISD 2-19 ISD-T360SB Graphical User Interface (GUI) 2--SOFTWARE 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. HOW TO USE THE IVS TOOL WITH THE VOICEDSP 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 using the INJ (Inject IVS) command. The VoiceDSP processor SO (Say One Word) 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 software is as follows: 1. Design the vocabulary. 2. Create the vocabulary files (as described in detail below). Use IVS TOOL for Windows to simplify this process. 3. Record the words using any standard PC sound card and sound editing software, that can create.wav files. 4. Run the IVS compiler to compress the.wav files, and compile them and the vocabulary tables into an IVS vocabulary file. 5. 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. Use the INJ (Inject IVS) command to program the data into a Flash device. 7. For injecting vocabularies with multiple languages into the flash memory: * From a DOS prompt, issue the following DOS command: copy voc1.bin + voc2.bin voc_both.bin (where voc1.bin and voc2.bin are the two vocabulary files and voc_both.bin is the combined file.) * The two files are now combined into a single file. * Inject the united vocabulary file using the INJ command. (See page 2-40 for details.) * To switch between the two languages in real time operation, use the SV command. (See page 2-52 for details.) The SV type id command switches between specified vocabulary IDs. Once the vocabulary is in place, the speech synthesis commands of the VoiceDSP processor can be used to synthesize sentences. Figure 2-5 shows the vocabulary-creation process for a single table on a ROM or Flash memory device. 2-20 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Figure 2-5: Creation of an IVS Vocabulary .wav File Editor .wav Files Compressed Files (.vcd) PC + Sound Card IVS TOOL for Windows Sentence Table ROM Programmer .ini File ROM Flash Number Tables IVS Compiler IVS Vocabulary Files INJ Command 2.3.6 SW AGC The Software Automatic Gain Control (SWAGC) algorithm can be activated with the compression algorithm or with the Speakerphone algorithm. When used with the compression algorithm, it regulates the input signal to a dynamic range that can provide higher compression quality. When used with the speakerphone algorithm, it amplifies the input signal from the line to the speaker and this improves the quality for attenuated far end speakers. The SWAGC algorithm senses the energy level and updates the signal gain in order to amplify low energy signals and to avoid signal saturation. The SWAGC feature eliminates the need for an external hardware AGC, thus reducing hardware costs and complexity. Hardware AGC may be used with the compression algorithm to avoid signal saturation prior to sampling the signal. Note that the hardware AGC cannot be used with the speakerphone algorithm. A set of tunable parameters is available for controlling the SWAGC algorithm. Different values can be used for the compression and speakerphone algorithms. The SWAGC may even be turned completely off for either one of the algorithms. The way to use different tunable values is by updating the tunable parameter values prior to activating each one of the algorithms. For more details on the SWAGC tunable parameters, see Table 2-4 in the Command Description section. Figure 2-6: SWAGC Characteristics with Default Tunable Parameter Values JNM Output Power (dBm @ 600 ohm) JNR JOM JOR JPM JPR JQM JQM JPR JPM JOR JOM JNR JNM JR M Input Power (dBm @ 600 ohm) ISD 2-21 ISD-T360SB 2--SOFTWARE 2.4 VOICEDSP PROCESSOR COMMANDS--QUICK REFERENCE TABLE Table 2-2: Speech Commands Description Configure Codec I/O Configure VoiceDSP Create Message Cut Message Tail Check Vocabulary Delete Message Delete Messages Get Configuration Value Get Error Word Get Information item Get Length Get Memory Status Get Message Tag Get Number of Messages Get Status Word Generate Tone Opcode Hex 34 01 33 Source State RESET, IDLE RESET IDLE Result State No change No change MSG_OPEN Command Parameters Description Config_value Config_value Tag, Num_of_ blocks, comp_rate Time_length None None Tag_ref, Tag_mask None Bytes 1 3 Return Value Description None None Bytes - Command Name S/A* CCIO CFG CMSG S S S 2+2+1 None CMT CVOC DM DMS GCFG S S S S S 26 2B 0A 0B 02 IDLE IDLE IDLE IDLE RESET, IDLE No change No change No change No change No change 2 2+2 - None Test result None None Version 1 1 GEW GI S S 1B 25 All states PLAY, RECORD, SYNTHESIS, TONE_ GENERATE, IDLE IDLE IDLE No change No change None Item 1 Error word Item value 2 2 GL GMS S S 19 12 No change No change None Type 1 Message length Remaining memory blocks Message tag Number of messages Status word None 2 2 GMT GNM GSW GT S S S A 04 11 14 0D IDLE IDLE All states IDLE No change No change No change TONE_ GENERATE No change No change No change IDLE No change None Tag_ref, Tag_mask None Tone (single Tone or DTMF) Time_day_ option Tag_ref, Tag_mask,Dir Index None N, byte1...byten 2+2 1 2 2 2 - GTD GTM GTUNE INIT INJ S S S S S Get Time and Day Get Tagged Message Get Tunable Parameter Initialize System Inject IVS data 0E 09 06 13 29 IDLE IDLE IDLE, RESET RESET, IDLE IDLE 1 Time and day 2 1 2 - 2+2+1 Message found 1 4+n Parameter_ value None None 2-22 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-2: Speech Commands (Continued) Command Name S/A* MR P PA S A S Description Memory Reset Playback Pause Opcode Hex 2A 03 1C Source State RESET, IDLE IDLE Result State No change PLAY Command Parameters Description None None None Bytes Return Value Description None None None Bytes - PLAY, RECORD, No change SYNTHESIS, TONE_GENERATE, IDLE* IDLE IDLE No change RECORD PDM R S A Go To PowerDown Mode Record Message 1A 0C None Tag (message Tag), Compression_ rate Detectors_ reset_mask None 2+1 None None - RDET RES S S Reset Detectors Resume 2C 1D IDLE No change 1 - None None - PLAY, RECORD, No change SYNTHESIS, TONE_GENERATE IDLE* IDLE, MSG_OPEN MSG_OPEN All states but RESET IDLE IDLE SYNTHESIS RMSG S SAS S S A Read Message Stop Say Argumented Sentence Skip Backward Set Detectors Mask Skip to End of Message Set Time and Day Skip Forward Set Line Channels Set Message Pointer Set Message Tag Say One Word Set Playback Speed Say Sentence 32 00 1E None None Sentence_n, Arg Time_length Detectors_ mask None Time_and_ day Time_length Active_chann els Num_of_ pages Message_tag Word_number Speed Sentence_n 1+1 Data None None 32 - SB SDET SE SETD SF SLC SMSG SMT SO SPS SS S S S S S S S S A S A 23 10 24 0F 22 38 30 05 07 16 1F PLAY, IDLE* IDLE PLAY, IDLE* IDLE PLAY, IDLE* IDLE No change No change No change No change No change No change 2 1 2 2 1 2 2 1 1 1 None None None None None None None None None None None - IDLE, MSG_OPEN MSG_OPEN IDLE IDLE PLAY, SYNTHESIS, IDLE IDLE No change SYNTHESIS No change SYNTHESIS ISD 2-23 ISD-T360SB Table 2-2: Speech Commands (Continued) Command Name S/A* SV SW TUNE S A S Description Set Vocabulary Type Say Words Tune Parameters Volume Control Opcode Hex 20 21 15 Source State IDLE IDLE IDLE, RESET Result State No change SYNTHESIS No change Command Parameters Description Type, Id N, word1...wordn Index, Parameter_ value Bytes 1+1 1+N 1+2 2--SOFTWARE Return Value Description None None None Bytes - VC S 28 PLAY, SYNTHESIS, No change IDLE, TONE_GENERATE IDLE, MSG_OPEN MSG_OPEN vol_level (increment/ decrement) Data 1 None - WMSG NOTE: S Write Message 31 32 None - * Command is valid in IDLE state, but has no effect. S = Synchronous command A= Asynchronous command Table 2-3: Speakerphone Commands Command Name S/A* GEW GSW GT S S A Description Get Error Word Get Status Word Generate Tone Opcode Hex 1B 14 0D Source State Result State Command Parameters Description Bytes 1 Return Value Description Error word Status word None Bytes 2 2 - TONE_GENERATE, No change None IDLE TONE_GENERATE, No change None IDLE IDLE TONE_GEN Tone ERATE (Single Tone or DTMF) No change Detectors_reset _mask None RDET S SDET SSM S S S S Reset Detectors Stop Set Detectors Mask Set Speakerphone Mode Tune Parameters Volume Control 2C 00 10 2F IDLE 1 1 1 None None None None - TONE_GENERATE, IDLE IDLE IDLE IDLE No change Detectors_ mask No change Mode TUNE S 15 IDLE, RESET No change Index, Parameter_ value 1 + 2 None - VC S 28 TONE_GENERATE, No change vol_level IDLE (increment/ decrement) 1 None - NOTE: * Command is valid in IDLE state, but has no effect. S = Synchronous command A = Asynchronous command 2-24 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB 2.5 COMMAND DESCRIPTION The commands are listed in alphabetical order. The execution time for all commands, when specified, includes the time required for the microcontroller to receive the return value, where appropriate. The execution time does not include the protocol timing overhead, i.e., the execution times are measured from the moment that the command is detected as valid until the command is fully executed. NOTE: Each command description includes an example application of the command. The examples show the opcode issued by the microcontroller and the response returned by the VoiceDSP processor. For commands which require a return value from the processor, the start of the return value is indicated by a thick vertical line. CCIO Configure Codec I/O config_value Configures the voice sample paths in various states. It should be used to change the default VoiceDSP processor configuration. It is relevant only when two codecs are used and speakerphone is connected. The config_value parameter is encoded as follows: Bit 0 Loopback control. 0 1 Loopback disabled (default). Loopback enabled. In the RECORD state, the input samples are echoed back, unchanged (i.e., no volume control), to the same codec. Bit 1 Codec input control. 0 1 Bits 2-3 Codec output control. 00 In PLAY, IDLE, SYNTHESIS and TONE_GENERATE states, output is to both codecs. In RECORD state, output is to the non-input codec (no volume control). If the loopback control bit is set, output in RECORD state is to both codecs as well (default). Output in all states is to the line codec. Output in all states is to the speakerphone codec. Output in all states is to both codecs. Input is received via the line codec (default). Input is received via the speakerphone codec. 01 10 11 Bits 4-7 Reserved. ISD 2-25 ISD-T360SB Example CCIO 01 Byte sequence: Microcontroller VoiceDSP Description: Enable loopback 2--SOFTWARE 34 34 01 01 CFG Configure VoiceDSP config_value Configures the VoiceDSP processor in various hardware environments. It should be used to change the default processor configuration. The config_value parameter is encoded as follows: Bits 0-3 Memory type. 0000 No Memory (default). 0001 Reserved. 0010 Reserved. 0011 Reserved. 0100 Samsung NAND Flash. 0101 Toshiba NAND Flash. 0110 Reserved. 0111 Reserved. 1000 - 1111 Reserved. Bits 4-5 Number of installed memory devices. 00 01 10 11 Bit 6 -10 Reserved Bit 11-14 Reserved 1 (Default) 2 3 4 2-26 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Bit 15 Echo Cancellation Control (for DTMF Detection). 0 Echo cancellation off. 1 Echo cancellation is on during playback. (recommended) Echo cancellation improves the performance of DTMF detection during playback. Echo cancellation can be turned on only with a system that can disable HW AGC (if present) during playback. A system featuring HW AGC, that cannot be controlled by the microcontroller (i.e., disabled or enabled), must not turn on this bit. Bit 16 Clock bit rate (in Slave Mode only). 0 1 Bit 17 Codec configuration. 0 1 Bits 18-19 Codec type. 00 01 10 Bit 20 Codec interface mode. 0 1 Bits 21-22 Number and type of codecs 00 01 10 11 One single codec (default). Two single codecs. One dual codec. Reserved. Master codec interface (default). Slave codec interface. 16-bit linear (default). -Law. A-Law. Short-frame format (default). Long-frame format (guaranteed by design but not tested). One bit rate clock (default). Two bit rate clock. ISD 2-27 ISD-T360SB 2--SOFTWARE The codecs should be connected as follows: Telephone line or equivalent - always connected as channel 0. Speaker and microphone - connected as channel 1 in case of one dual codec, connected as channel 2 in case of two single codecs. Bit 23 Reserved. Example CFG 188013 Byte sequence: Microcontroller VoiceDSP Description: 01 01 18 18 80 80 13 13 Configure the VoiceDSP to work with: Single codec in Slave Mode and A-Law compressed samples. Data in Short Frame format and Single Bit Rate interface. Two Serial Toshiba Flash devices. Echo Cancellation for DTMF detection is On. CMSG Create Message tag num_of_blocks compression_rate Creates a new message with a message tag tag, and compression rate compression_rate allocates num_of_blocks 4-Kbytes blocks for the new message, and sets the message pointer to the beginning of the message data. CMSG switches the VoiceDSP processor to the MSG_OPEN state. The memory space available for the message data is computed as follows: (127 x num_of_blocks - 2) x 32 bytes. Once a message is open (the processor is in the MSG_OPEN state), the message pointer can be set to any position on a page (32 bytes) boundary within the message with the SMSG command. Modify the message contents with the WMSG command, and read with the RMSG command. The microcontroller must issue an S command to close the message and switch the VoiceDSP processor to the IDLE state. If the memory is full, EV_MEMFULL is set in the status word and no message is created. If the memory is not full but there is insufficient memory and the processor cannot allocate more memory space, EV_MEMLOW is set in the status word and no message is created. The compression rate may be defined as 0 for PCM recording or either 1,2,3 for compression rates 4.7 Kbit/s, 6.7 Kbit/s, 8.7 Kbit/s respectively. See section "VCD" on page 2-10 for a description of the compression algorithm. Example CMSG 0101 0001 Byte sequence: Microcontroller VoiceDSP Description: 33 33 01 01 01 01 00 00 01 01 Create a new message with a tag=0101, and allocate 1 block (4 Kbytes) for its data. 2-28 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB CMT Cut Message Tail time_length Cut time_length units, in 10 ms segments, off the end of the current message. The maximum value of time_length is 6550. In case of silence, cut-time accuracy is 0.1 to 0.2 seconds (depends on compression rate). If time_length is greater than 6550 the ERR-PARAM is set in the ERR_WORD. NOTE If time_length is longer than the total duration of the message, the EV_NORMAL_END event is set in the status word and the message becomes empty but not deleted. A compressed frame represents 21 ms of speech, thus the minimum meaningful parameter is 3, (i.e., a 30 ms cut). CMT 1 or CMT 2 have no effect. The CMT command can not be used on data messages. In PCM recording mode the accuracy of -, A-Law configuration is 0.50 sec while the accuracy of linear configuration is 0.25 sec. Use the DM (Delete Message), or DMS (Delete Messages) command to delete the message. Example CMT 02BC Byte sequence: Microcontroller VoiceDSP Description: Cut the last seven seconds of the current message. 26 26 02 02 BC BC CVOC Check Vocabulary 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. Example CVOC Byte sequence: Microcontroller VoiceDSP Description: Check the current vocabulary. The VoiceDSP processor responds that the vocabulary is OK. 2B 2B AA 01 ISD 2-29 ISD-T360SB 2--SOFTWARE DM Delete Message 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 is undefined. If, for example, you issue the GTM command to skip to the next message, the first message that is newer than the just deleted message is selected as the current message. The memory space released by the deleted message is immediately available for recording new messages. Example DM Byte sequence: Microcontroller VoiceDSP 0A 0A Description: Delete current message. DMS Delete Messages tag_ref tag_mask 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 and tag_mask = tag_ref and tag_mask 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 messages is immediately available for recording new messages. Example DMS FFC2 003F Byte sequence: Microcontroller VoiceDSP 0B 0B FF FF C2 C2 00 00 3F 3F Description: Delete all old incoming messages from mailbox Number 2 in a system where the message tag is encoded as follows: Bits 0-2: mailbox ID 8 mailboxes indexed: 0 to 7 Bit 3: new/old message indicator 0--Message is old 1--Message is new Bits 4-5: message type 00--ICM/memo 01--OGM 10--Call transfer message Bits 6-15: not used Note: the description of the tag is an example only. All bits of the tag are userdefinable. 2-30 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB GCFG Get Configuration Value Returns one byte with the following information: Bits 0-7 Magic number, which specifies the VoiceDSP firmware version. Example GCFG Byte sequence: Description: Microcontroller VoiceDSP Get the VoiceDSP processor magic number. The VoiceDSP processor responds that it is Version 1. 02 02 AA 01 GEW Get Error Word Returns the 2-byte error word. ERROR WORD The 16-bit error word 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 (set to 0). The GEW command reads the error word. The error word is cleared during reset and after execution of the 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 microcontroller must still read the return value, to ensure proper synchronization. 15 Res 9 8 ERR_CID 7 ERR_ INVALID 6 ERR_ TIMEOUT 5 ERR_ COMM 4 Res 3 ERR_ PARAM 2 ERR_ COMMAND 1 ERR_ OPCODE 0 Res The bits of the error word are used as follows: ERR_OPCODE Illegal opcode. The VoiceDSP processor does not recognize the opcode. ERR_COMMAND Illegal command sequence. The command is not legal in the current state. ERR_PARAM Illegal parameter. The value of the parameter is out of range, or is not appropriate for the command. ISD 2-31 ISD-T360SB ERR_COMM Microcontroller MICROWIRE communication error. ERR_TIMEOUT 2--SOFTWARE Time-out error. Depending on the VoiceDSP processor's state, more than 100 milliseconds elapsed between the arrival of two consecutive bytes (for commands that have parameters). ERR_INVALID Command can not be performed in current context. ERR_CID Error during CID detection. Example GEW Byte sequence: Microcontroller VoiceDSP Description: 1B 1B AA 00 AA 02 Get the VoiceDSP processor error word (typically sent after GSW when EV_ERROR is reported in the status word). The VoiceDSP processor responds: ERR_OPCODE: GI Get Information item Returns the 16-bit value specified by item from one of the internal registers of the VoiceDSP processor. item may be one of the following: 0 The duration of the last detected DTMF tone, in 10 ms units. The return value is meaningful only if DTMF detection is enabled, and the status word shows that a DTMF tone was detected. The duration of the last detected busy tone in 10 ms units. The energy level of the samples in the last 10 ms. The energy level of the samples, in the last 10 ms, that are in the frequency range described in Figure 2-1 on page 2-12. The return value is meaningful only if one of the tone detectors is enabled (bits 0,1 of the detectors mask; see the description of SDET command). 1 2 3 The return value is unpredictable for any other value of item. 2-32 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Example GI 0 Byte sequence: Microcontroller VoiceDSP Description: Get the duration of the last detected DTMF tone. The VoiceDSP processor responds: 60 ms. 25 25 00 00 AA 00 AA 06 GL Get Length Returns the length of the current message in multiples of 4 Kbytes (blocks). The returned value includes the message directory information (64 bytes for the first block and 32 bytes for every other block), the message data, and the entire last block of the message, even if the message occupies only a portion of the last block. Since a memory block includes 4096 bytes, the returned length may be bigger than the actual message length by up to 4095 bytes. The minimum length of a message is one block. Example GL Byte sequence: Microcontroller VoiceDSP Description: Get the length of the current message. The VoiceDSP processor responds: 4 i.e., the message occupies 16384 (4 * 4096) bytes. 19 19 AA 00 AA 04 GMS Get Memory Status type Returns the total remaining memory blocks as a 16bit unsigned integer. The parameter type must be 0. The estimated remaining recording time may be calculated as follows: Time = (Num_of_blocks x 4096 x 8) / (Compression_rate x 1000) This estimate assumes no silence compression: a real recording may be longer, according to the amount of silence detected and compressed. Example GMS 00 Byte sequence: Microcontroller VoiceDSP Description: Return the remaining memory blocks. The VoiceDSP responds: 40 blocks. 12 12 00 00 AA 00 AA 28 ISD 2-33 ISD-T360SB 2--SOFTWARE GMT Get Message Tag Returns the 16-bit tag associated with the current message. If the current message is undefined, ERR_INVALID is reported. Example GMT Byte sequence: Microcontroller VoiceDSP Description: 04 04 AA 00 AA 0E Get the current message tag. In a system where the message tag is encoded as described in the DMS command, the VoiceDSP processor return value indicates that the message is a new ICM in mailbox Number 6. GNM Get Number of Messages tag_ref tag_mask Returns the number of messages whose message tags match the tag_ref parameter. Only bits set in tag_mask are compared, a match is considered successful if: message tag and tag_mask = tag_ref and tag_mask where and is a bitwise AND operation. The tag_ref and tag_mask parameters are each two bytes; the return value is also two bytes long. See "Message Tag" on page 2-3 for a description of message-tag encoding. If tag_mask = 0, the total number of all existing messages is returned, regardless of the tag_ref value. Example GNM FFFE 0003 Byte sequence: Microcontroller VoiceDSP Description: 11 11 FF FF FE FE 00 00 03 03 AA 00 AA 05 Get the number of messages which have bit 0 cleared, and bit 1 set, in their message tags. VoiceDSP processor responds that there are five messages which satisfy the request. GSW Get Status Word Returns the 2-byte status word. STATUS WORD The VoiceDSP processor has a 16-bit status word to indicate events that occur during normal operation. The VoiceDSP processor asserts the MWRQST signal (clears to 0), to indicate a change in the status word. This signal remains active until the VoiceDSP processor receives a GSW command. 2-34 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB The status word is cleared during reset, and upon a successful GSW command. 15 EV_ DTMF 14 EV_ RESET 13 EV_ VOX 12 EV_ CONST_ NRG 11 Res 10 EV_ MEMLOW 9 EV_ DIALTONE 8 EV_ BUSY 7 EV_ ERROR 6 EV_ MEMFULL 5 EV_ NORMAL_ END 4 EV_ DTMF_ END 3 0 EV_ DTMF_ DIGIT The bits in the status word are used as follows: EV_DTMF_DIGIT DTMF digit. A value indicating a detected DTMF digit. (See the description of DTMF code in the GT command.) EV_DTMF_END 1 = Ended detection of a DTMF tone. The detected digit is held in EV_DTMF_DIGIT. EV_NORMAL_END 1 = Normal completion of operation, e.g., end of message playback. EV_MEMFULL 1 = Memory is full. EV_ERROR 1 = Error detected in the last command. You must issue the GEW command to return the error code and clear the error condition. EV_BUSY 1 = Busy tone detected. Use this indicator for call progress and line disconnection. EV_DIALTONE 1 = Dial tone detected. Use this indicator for call progress and line disconnection. EV_MEMLOW 1 = Not enough memory. (See CMSG command for further details.) EV_CONST_NRG 1 = A period of constant energy was detected. Use this indicator for line disconnection. (See CONST_NRG_DET_TIME_COUNT in Table 2-8.) EV_VOX 1 = A period of silence (no energy) was detected on the telephone line. Use this indicator for line disconnection. (See VOX_DET_TIME_COUNT in Table 2-8.) EV_RESET When the VoiceDSP processor completes its power-up sequence and enters the RESET state, this bit is set to 1, and the MWRQST signal is activated (cleared to 0). Normally, this bit changes to 0 after performing ISD 2-35 ISD-T360SB 2--SOFTWARE the INIT command. If this bit is set during normal operation of the VoiceDSP processor, it indicates an internal VoiceDSP processor error. The microcontroller can recover from such an error by re-initializing the system. EV_DTMF 1 = Started detection of a DTMF tone. Example GSW Byte sequence: Microcontroller VoiceDSP Description: 14 14 AA 00 AA 40 Get the VoiceDSP processor Status Word (typically sent after the MMRQST signal is asserted by the VoiceDSP processor which indicates a change in the status word). The VoiceDSP processor responds that the memory is full. GT Generate Tone tone Generates the tone specified by the 1-byte tone parameter. The VoiceDSP 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: To generate a DTMF encode the bits as follows: Bit 0 1 Bits 1-4 DTMF code. Where the DTMF code is encoded as follows: Value (Hex) 0 to 9 A B C D E F DTMF Digit 0 to 9 A * # B C D Bits 5-7 0 2-36 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB To generate a single frequency tone encode the bits as follows: Bit 0 0 Bits 1-5 3-30 The value in bits 1-5 is multiplied by 100 to generate the required frequency (300Hz-3000Hz). Bits 6-7 0 The VoiceDSP processor does not check for the validity of the tone specification. Invalid specification yields unpredictable results. Example GT 20 Byte sequence: Microcontroller VoiceDSP Description: Generate a single-frequency 1600Hz tone. 0D 0D 20 20 GTD Get Time and Day time_day_option Returns the time and day as a 2-byte value. time_day_option may be one of the following: 0 1 Get the system time and day. Get the current message time-and-day stamp. Any other time_day_option returns the time-and-day stamp of the current message. Time and day are encoded as follows: Bits 0-2 Day of the week (1 through 7). Bits 3-7 Hour of the day (0 through 23). Bits 8-13 Minute of the hour (0 through 59). Bits 14-15 00 The time was not set before the current message was recorded. 11 The time was set, i.e., the SETD (Set Time of Day) command was executed. NOTE If the current message is undefined, and time_day_option is 1, an ERR_INVALID error is reported. ISD 2-37 ISD-T360SB Example GTD 1 Byte sequence: Microcontroller VoiceDSP Description: Get the current message time-and-day stamp. 0E 0E 01 01 2--SOFTWARE AA E8 AA 29 The VoiceDSP processor responds that the message was created on the first day of the week at 5:40 A.M. The return value also indicates that the SETD command was used to set the system time and day before the message was recorded. Note: If the SAS command is used to announce the time-and-day stamp, "Monday" is announced as the first day of the week. For an external vocabulary, the announcement depends on the vocabulary definition (See the IVS User's Manual for more details). GTM Get Tagged Message tag_ref tag_mask dir 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. -128 Selects the last (newest) message. n -n Selects the nth next message starting from the current message. Selects the nth previous message starting from the current message. NOTE To select the nth, or -nth, message with a given tag to be the current message you must first select the first message (dir=0), or the last message (dir=-128), that complies with the above equation, and then issue another GTM command with n-1 (for next message), or -n+1 (for previous message), as a parameter, to skip to the nth, or -nth, message respectively. 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 command execution the current message may either remain undefined or changed to any existing message. The only exception is when the GTM command is executed just after the DM command. (See the DM command for further details.) To access the nth message, when n > 127, a sequence of GTM commands is required. 2-38 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Example GTM FFCE 003F 00 Byte sequence: Microcontroller VoiceDSP Description: 09 09 FF FF CE CE 00 00 3F 3F 00 00 AA 01 Select the oldest of the new ICMs, in mailbox number 6, to be the current message, for a system where the message tag is encoded as described in the example for the DMS command. The VoiceDSP processor returns a value indicates that there is such a message. The following pseudo-code demonstrates how to play all new ICMs in mailbox number 6. The messages are marked as old after being played: Return_val = GTM(FFCE, 003F, 00) /*Get the oldest message with the defined tag*/ While (Return_Val == TRUE) Begin P() /* Play */ Message_tag = GMT() /* Get message tag */ SMT(FFF7) /* Mark the message as `old' */ GTM(FFCE, 003F, 01) /* Get next message with the same tag */ End GTUNE Get Tune index Gets the value of the tunable parameter identified by index (one byte) as the 2-byte value, parameter_value. This command may be used to read and identify the parameter value that was set to tune the VoiceDSP. If index does not point to a valid tunable parameter, ERR_PARAM is set in the error word. This index parameter should be in a hexidecimal value. 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. Example GTUNE 17 Byte sequence: Microcontroller VoiceDSP Description: Get the minimum period for busy detection ComactSPEECH responds: 700 (7 seconds). 06 06 17 17 AA 02 AA BC Table 2-4 through Table 2-12 describe the tunable parameters, their index numbers in decimal, and their default values. ISD 2-39 ISD-T360SB 2--SOFTWARE INIT Initialize System Execute this command after the VoiceDSP processor has been configured (see CFG command). INIT performs a soft reset of the VoiceDSP as follows: * * * * * * * Initializes the message directory information. Messages are not deleted. To delete the messages, use the DM and DMS commands. Sets the detectors mask to 0. Sets the volume level that is controlled by the VC command, to 0. Sets the playback speed to normal (0). Switches to the IDLE state. Initializes the tone detectors. 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. Example INIT Byte sequence: Microcontroller VoiceDSP Description: Initialize the VoiceDSP processor. 13 13 INJ Inject IVS Data n byte1... byten Injects vocabulary data of size n bytes to good Flash blocks. This command programs Flash devices, on a production line, with IVS vocabulary data. It is optimized for speed; all VoiceDSP processor detectors are suspended during execution of the command. Use the CVOC command to check whether programming was successful. If there is not enough memory space for the vocabulary data, ERR_PARAM is set in the error word, and execution stops. Flash blocks that include IVS data can not be used for recording, even if only one byte of the block contains IVS data (e.g., if the vocabulary size is 4K + 100 bytes, two blocks of the Flash are not available for message recording). Example INJ 00000080 Data Byte sequence: Microcontroller VoiceDSP Description: 29 29 00 00 00 00 00 00 80 80 Vocabulary Data Echo of Data Inject 128 bytes of vocabulary data. 2-40 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB MR Memory Reset Erases all memory blocks and initializes the memory and message management. Bad blocks, and blocks which are used for IVS vocabularies, are not erased. This command can be issued in either RESET or IDLE states. NOTE When Memory Reset is used in RESET state, it must be issued after the CFG command is issued, or the memory type and number of devices are not defined. In this case the result is unpredictable. NOTE The command erases all messages and should be used with care. Example MR Byte sequence: Microcontroller VoiceDSP Description: Erase all memory blocks. 2A 2A P Playback Begins playback of the current message. The VoiceDSP processor state changes to PLAY. When playback is complete, the VoiceDSP 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 paused with the PA command, and can be resumed later with the RES command. Playback can be stopped with the S command. If the current message is undefined, ERR_INVALID is reported. Example P Byte sequence: Microcontroller VoiceDSP Description: Play the current message. 03 03 PA Pause Suspends the execution of the current GT, P, R, SAS, SO, SW, or SS commands. The PA command does not change the state of the VoiceDSP processor; execution can be resumed with the RES command. NOTE DTMF and tone detectors remain active during Pause, Play and Record commands. ISD 2-41 ISD-T360SB Example PA Byte sequence: Microcontroller VoiceDSP Description: Suspend playback of current message. 2--SOFTWARE 1C 1C PDM Go To Power-Down Mode Switches the VoiceDSP processor to power-down mode (see "POWER-DOWN MODE" on page 1-4 for details). Sending any command while in power-down mode resets the processor detectors, and returns it to normal operation mode. NOTE If an event report is pending (MWRQST is active) and not processed by the microcontroller prior to issuing the PDM command, the event is lost. Example PDM Byte sequence: Microcontroller VoiceDSP Description: Put the VoiceDSP processor in power-down mode. 1A 1A R Record tag compression_rate Records a new message with message tag tag and compression rate compression_rate. The VoiceDSP processor state changes to RECORD. The R command continues execution until stopped by the S command. Recording can be paused with the PA command, and can be resumed later with the RES command. If the memory becomes full, recording stops and EV_MEMFULL is set in the status word. See "Message Tag" on page 2-3 for a description of message-tag encoding. 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 "VCD" on page 2-10 for a description of the compression algorithm. NOTE A time-and-day stamp is automatically attached to each message. Before using the R command for the first time, use the SETD command. Failure to do so results in undefined values for the timeand-day stamp. The CID_RECORD tunable parameter (index 51) may be used to attach the contents of the CID buffer to the message memory during recording. To read CID information attached to the message, use the GCID command. See page 2-31 for details. 2-42 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Example R 000E 03 Byte sequence: Microcontroller VoiceDSP Description: 0C 0C 00 00 0E 0E 03 03 Record a new ICM in mailbox Number 6 in a system where the message tag is encoded as described in the example of the DMS command. The compression rate is defined as 8.7 Kbit/s RDET Reset Detectors detectors_reset_mask Resets the VoiceDSP processor tone and energy detectors according to the value of the detectors_reset_mask parameter. A bit set to 1 in the mask, resets the corresponding detector. A bit cleared to 0 is ignored. The 1-byte detectors_reset_mask is encoded as follows: Bit 0 Reset the busy and dial tone detectors. Bits 1-3 Reserved. Must be cleared to 0. Bit 4 Reset the constant energy detector. Bit 5 Reset the no energy (VOX) detector. Bit 6 Reset the DTMF detector. Bit 7 Reserved. Must be cleared to 0. Example RDET 20 Byte sequence: Microcontroller VoiceDSP Description: Reset the VOX detector. 2C 2C 20 20 ISD 2-43 ISD-T360SB 2--SOFTWARE RES Resume Resumes the activity that was suspended by the PA, SB, SE or SF commands. Example RES Byte sequence: Microcontroller VoiceDSP Description: Resume playback which was suspended by either the PA, SF or SB command. 1D 1D RMSG Read Message Returns 32 bytes of data from the current position of the message pointer, and advances the message pointer by 32 bytes. If the VoiceDSP processor was in the IDLE state, the command opens the current message, switches the VoiceDSP processor to the MSG_OPEN state, sets the message pointer to the beginning of the message data, and returns the 32 bytes of data. The microcontroller must issue an S command to close the message, and switch the VoiceDSP processor to the IDLE state. If the current message is undefined, ERR_INVALID is reported. Trying to read beyond the end of the message sets the EV_NORMAL_END event, and the VoiceDSP processor switches to the IDLE state. In this case, the return value is undefined and should be ignored. Example RMSG Byte sequence: Microcontroller VoiceDSP Description: 32 32 AA AA ... 32 bytes of data Read 32 bytes from the current message memory. S Stop Stops execution of the current command and switches the VoiceDSP processor to the IDLE state. S may be used to stop the execution of CMSG, SMSG, WMSG, RMSG and all asynchronous commands. See Table 2-2 on page 2-22 for details. This command may also be used to switch the VoiceDSP processor state to IDLE in order to issue commands that are allowed to execute only while in the IDLE state. Example S Byte sequence: Microcontroller VoiceDSP Description: 00 00 Stop current activity (e.g., playback, recording) and change the VoiceDSP processor to IDLE state. 2-44 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB SAS Say Argumented Sentence sentence_n arg Announces sentence number sentence_n of the currently selected vocabulary, and passes arg. sentence_n and arg are each 1-byte long. The VoiceDSP processor state changes to SYNTHESIS. When playing is complete, the VoiceDSP processor sets the EV_NORMAL_END bit in the status word, and activates the MWRQST signal. The state then changes to IDLE. If the current vocabulary is undefined, ERR_INVALID is reported. Example SAS 00 03 Byte sequence: Microcontroller VoiceDSP Description: 1E 1E 00 00 03 03 Announce the first sentence in the sentence table of the currently selected vocabulary with `3' as the actual parameter. SB Skip Backward time_length Skips backward in the current message time_length units, in 0.2 second segments, and pauses message playback. The RES command must be issued to continue playback. time_length is a 2-byte parameter that can have any value up to 320 (64 seconds). The skip accuracy is five percent. SB is meaningful only in the PLAY state. If the beginning of the message is detected during the execution of the SB command, execution terminates, the EV_NORMAL_END bit in the status register sets, the MWRQST signal activates, and the processor switches to the IDLE state. If time_length is greater than 320, ERR_PARAM is set in the error word. Playback speed does not affect the behavior of this command. Example SB 0019 Byte sequence: Microcontroller VoiceDSP Description: 23 23 00 00 19 19 Skip backwards five seconds from the current position in the message being played. SDET Set Detectors Mask detectors_mask Controls the reporting of detection of tones and energy detectors according to the value of the detectors_mask parameter. A bit set to 1 in the mask, enables the reporting of the corresponding detector. A bit cleared to 0 disables the reporting. Disabling reporting of a detector does not stop or reset the detector. The 1-byte detectors_mask is encoded as follows: ISD 2-45 ISD-T360SB Bit 0 Report detection of a busy tone. Bit 1 Report detection of a dial tone. Bit 2 -3 Reserved. Must be cleared to 0. Bit 4 Report detection of a constant energy. Bit 5 Report detection of no energy (VOX) on the line. Bit 6 Report the ending of a detected DTMF. Bit 7 Report the start of a detected DTMF (up to 40 ms after detection start). Example SDET BB Byte sequence: Microcontroller VoiceDSP Description: Set reporting of all VoiceDSP processor detectors, except for end-of-DTMF. 2--SOFTWARE 10 10 BB BB SE Skip to End of Message This command is valid only in the PLAY state. When invoked, playback is suspended (as for the PA command), and a jump to the end of the message is performed. Playback remains suspended after the jump. Example SE Byte sequence: Microcontroller VoiceDSP Description: Skip to end of current message. 24 24 2-46 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB SETD Set Time and Day time_and_day Sets the system time and day as specified by the 2-bytes time_and_day parameter. The time_and_day parameter is encoded as follows: Bits 0-2 Day of the week (1 through 7). Bits 3-7 Hour of the day (0 through 23). Bits 8-13 Minute of the hour (0 through 59). Bits 14-15 Must be set to 1. If time_and_day value is not valid, ERR_PARAM is set in the error word. Example SETD DE09 Byte sequence: Microcontroller VoiceDSP Description: 0F 0F DE DE 09 09 Set time and day to Monday 1.30 A.M. (where Monday is the first day of the week) SF Skip Forward time_length Skips forward in the current message time_length units, in 0.2 second segments, and causes message playback to pause. The RES command must be issued to continue playback. time_length is a 2-byte parameter that can have any value up to 320 (64 seconds). The skip accuracy is five percent. This command is meaningful only in the PLAY state. If the end of the message is detected during execution of SF, execution of the command terminates, the EV_NORMAL_END bit in the status word sets, the MWRQST signal activates, and the processor switches to the IDLE state. If time_length is greater than 320, ERR_PARAM is set in the error word. Playback speed does not affect the behavior of this command. Example SF 0019 Byte sequence: Microcontroller VoiceDSP Description: 22 22 00 00 19 19 Skip forward five seconds from the current position in the message being played. ISD 2-47 ISD-T360SB 2--SOFTWARE SLC Set Line Channels active_channels Configures the VoiceDSP to activate/deactivate channel 1. The activation of channel 1 is used to enable the conversation recording feature. When activating this feature, the VoiceDSP sums channel 0 and channel 1 during the record command and then compresses the sum. When playing the message, it is decompressed and broadcasted to the active channels as set by this command. Note that channel 0 is always active and is used as the default line channel. Use the following parameter values to activate the channels: Active Channel value 1 3 Channel 1 Non-active Active Example SLC 03 Byte sequence: Microcontroller VoiceDSP Description: Enables both channel 0 and 1 0x38 0x38 03 03 SMSG Set Message Pointer num_of_pages Sets the message pointer to num_of_pages x 32 bytes from the beginning of the current message data. If the VoiceDSP processor was in the IDLE state, the command opens the current message and switches the VoiceDSP processor to the MSG_OPEN state. The microcontroller must issue an S command to close the message, and switch the VoiceDSP processor to the IDLE state. If num_of_pages x 32 is greater than the message length, EV_NORMAL_END is set in the status word, the message pointer is set to the end of the message, and the VoiceDSP processor switches to the IDLE state. If the current message is undefined, ERR_INVALID is reported. Example SMSG 000A Byte sequence: Microcontroller VoiceDSP Description: 30 30 00 00 0A 0A Set the message pointer to 10 pages (320 bytes) from the beginning of the current message data. SMT Set Message Tag message_tag Sets the tag of the current message. The 2-byte message_tag can be used to implement mailbox functions by including the mailbox number in the tag, or to handle old and new messages differently by using one bit in the tag to mark the message as old or new. See "Message Tag" on page 2-3. To change the message tag, you should first get the tag using the GMT command, read the tag, modify it, and write it back. 2-48 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB NOTE Message tag bits can only be cleared. Message tag bits are set only when a message is first created. If the current message is undefined, ERR_INVALID is reported. Example SMT FFF7 Byte sequence: Microcontroller VoiceDSP Description: 05 05 FF FF F7 F7 Mark the current message as old in a system where the message tag is encoded as described in the example of the DMS command. Note that the VoiceDSP processor ignores bits in the tag which are set to 1; only bit 3 is modified in the message tag. SO Say One Word word_number Plays the word number word_number in the current vocabulary. The 1-byte word_number may be any value from 0 through the index of the last word in the vocabulary. The VoiceDSP processor state changes to SYNTHESIS. When playback of the selected word has been completed, the VoiceDSP processor sets the EV_NORMAL_END bit in the status word, and activates the MWRQST signal. The state then changes to IDLE. 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. Example SO 00 Byte sequence: Microcontroller VoiceDSP Description: 07 07 00 00 Announce the first word in the word table of the currently selected vocabulary. SPS Set Playback Speed speed Sets the speed of message playback as specified by speed. The new speed applies to all recorded messages and synthesized messages (only if synthesized using IVS), until changed by another SPS command. If this command is issued while the VoiceDSP processor is in the PLAY state, the speed also changes for the message currently being played. Speed may be one of 13 values, from -6 to +6. A value of 0 represents normal speed. If speed is not in the -6 to +6 range, ERR_PARAM is set in the error word. ISD 2-49 ISD-T360SB 2--SOFTWARE NOTE A negative speed value represents an increase in speed, a positive value represents a decrease in speed. NOTE The playback speed control is not applicable when the stored messages or the IVS data are not compressed (Stored in PCM format). The change in speed is approximate, and depends on the recorded data. In any case, if i < j, playback speed with parameter i is the same or faster than with parameter j. Example SPS FB Byte sequence: Microcontroller VoiceDSP Description: Set playback speed to -5. 16 16 FB FB SS Say Sentence sentence_n Say sentence number sentence_n of the currently selected vocabulary. sentence_n is 1-byte long. The VoiceDSP processor state changes to SYNTHESIS. If the sentence has an argument, 0 is passed as the value for this argument. When playing has been completed, the VoiceDSP processor sets the EV_NORMAL_END bit in the status word, and activates the MWRQST signal. The state then changes to IDLE. 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. Example SS 00 Byte sequence: Microcontroller VoiceDSP Description: 1F 1F 00 00 Announce the first sentence in the sentence table of the currently selected vocabulary. 2-50 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB SSM Set Speakerphone Mode mode Sets the speakerphone to the mode mode of operation. The command is valid when the VoiceDSP processor is in IDLE state. mode can be one of: 0 OFF Deactivate the speakerphone, and return the VoiceDSP processor to normal operation mode. Put the VoiceDSP processor in speakerphone mode and activate speakerphone in full-duplex mode i.e., with full cancellation of both the acoustic and the electrical echoes. Tone detectors are not active. Gains in the Send and Receive paths are set by the relevant tunable parameters. Activate the speakerphone with no echo cancellation (this mode is used for system tuning). Activate the speakerphone, while generating silence to the line. The nearend-listener can hear the far-end-speaker, but not vice versa. Tone detectors are not active. The line is audible on the speaker. Tone detectors are active. This mode is used for call generation. 1 ON 2 TRANSPARENT 3 MUTE 4 LISTEN 5 6 Reserved. RESTART Restart the current speakerphone mode. This mode differs from ON; it does not require full initialization of the speakerphone. It should be used to resume the speakerphone operation to adjust to an environment change (e.g., parallel pickup). Stop the codec interrupts. Neither side can hear each other. The speakerphone is disabled. Electric echo cancellation is active for the CAS detection (CIDCW). 7 8 HOLD SILENCE See "Full-duplex Speakerphone" on page 2-14 for more details. NOTE Only commands that are specified in Table 2-3, are active during all speakerphone modes (other than 0). Example SSM 01 Byte sequence: Microcontroller VoiceDSP Description: 2F 2F 01 01 Put the VoiceDSP processor into Speakerphone mode, and set the speakerphone to full-duplex mode. ISD 2-51 ISD-T360SB 2--SOFTWARE SV Set Vocabulary Type type id Selects the vocabulary table to be used for voice synthesis. The vocabulary type is set according to the 1-byte type parameter: 0 1 2 3-7 For compatibility only. External vocabulary in ROM. External vocabulary in Flash. Reserved. The host is responsible for selecting the current vocabulary, with SV command, before using an SAS, SO, SS or SW command. Each external vocabulary table has a unique id which is part of the vocabulary internal header (See the IVS User's Guide for more details). If type is 1 or 2, the VoiceDSP 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. Example SV 02 03 Byte sequence: Microcontroller VoiceDSP Description: 20 20 02 02 03 03 Select the vocabulary with vocabulary-id 3, which resides on a Flash, as the current vocabulary. SW Say Words n word1. . . wordn Plays n words, indexed by word1 to wordn (<9). The VoiceDSP processor state changes to SYNTHESIS. On completion, the EV_NORMAL_END bit in the status word is set, and the MWRQST signal goes low. The state then changes to IDLE. 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 > 8, ERR_PARAM is reported. If the current vocabulary is undefined, ERR_INVALID is reported. Example SW 02 00 00 Byte sequence: Microcontroller VoiceDSP Description: 21 21 02 02 00 00 00 00 Announce the first word, in the word table of the currently selected vocabulary, twice. 2-52 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB TUNE Tune index parameter_value Sets the value of the tunable parameter identified by index (one byte) to the 2-byte value, parameter_value. This command may be used to tune the DSP algorithms to a specific Data Access Arrangement (DAA) interface, or to change other parameters. If you do not use TUNE, the VoiceDSP processor uses default values. If index does not point to a valid tunable parameter, ERR_PARAM is set in the error word. NOTE The tunable parameters are assigned with their default values on application of power. The INIT command does not affect these parameters. The index parameter of this command should be in hexidecimal numbers while the index of the tunable parameter should be a decimal number. Example TUNE 17 02BC Byte sequence: Microcontroller VoiceDSP Description: 15 15 17 17 02 02 BC BC Set the minimum period for busy detection to 700 (7 seconds). The tables 2-4 through 2-13 describe the tunable parameters, their index numbers and their default values, grouped by their functionality. Table 2-4: TUNABLE PARAMETERS: Software Automatic Gain Control Index 70 Parameter Name SWAGC enabling: AGC_enable_flag Description Enables the SWAGC. Value 1 to enable, value 0 to disable. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Required value for speakerphone mode is 0 - disabling the SWAGC. Legal values: 0,1 Default 1 86 Input threshold for gain modification: AGC_VAD_THR Power threshold for Voice activity detection. Only signals stronger 4 than the threshold are considered voice and are increased by the SWAGC algorithm. The default value is equivalent to -38dBm input. Each multiplication of the value by 2 adds approximately 3dB to the input level. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Legal values: 0 - 32767 ISD 2-53 ISD-T360SB Table 2-4: TUNABLE PARAMETERS: Software Automatic Gain Control Index 87 Parameter Name SWAGC time scale operation: AGC_DECAY_COEFF Description 2--SOFTWARE Default 2048 Determines the desired time scale for SWAGC algorithm operation. Increasing this parameter decreases the time scale, and the SWAGC reacts quicker to changes in input levels and can become more sensitive to fluctuations in signal power. Default value is equivalent to 5 sec per 12dB change. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Legal values: 0 - 32767 Low bound of desired signal power. The SWAGC algorithm amplifies the gain whenever the output signal power decreases below AGC_POWER_LOW. The default value is equivalent to -17dBm output power. Each multiplication of the value by 2 adds approximately 3dB to the output power. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Legal values: 0 - 32767 High bound of desired signal power. The SWAGC algorithm attenuates the gain whenever the output signal power increases above AGC_POWER_HIGH. The default value is equivalent to -11dBm output power. Each multiplication of the value by 2 adds approximately 3dB to the output power. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Required value for speakerphone mode is 5000. This value should be given only if the SWAGC is enabled in this mode. Legal values: 0 - 16384 This tunable parameter controls the maximum gain of the SWAGC algorithm. Adding 1 to the tunable parameter increases the gain by 6dB. Default is equivalent to 12dB gain. Different values of the tunable parameter can be used for the compression and Speakerphone algorithms. In order to change the value of the tunable parameter use the TUNE command prior to entering each of the two algorithms. Legal values: 0 - 3 85 SWAGC low power bound: AGC_POWER_LOW 512 11 SWAGC High power bound: AGC_POWER_HIGH 2048 88 SWAGC maximum gain step: AGC_MAX_GAIN 2 2-54 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-5: TUNABLE PARAMETERS: Tone Generation and Message Playback Index 27 Parameter Name DTMF Generation: DTMF_GEN_TWIST_LEVEL Description A one-byte value that controls the twist level of a DTMF 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 VoiceDSP processor is summarized in the following table: Nibble Value Tone Energy (dB-Volts) 0 0 1 -17.8 2 -14.3 3 -12.9 4 -12.4 5 -12.0 6 -11.9 7 -11.85 8 - 15 -11.85 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. 16 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. 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. Controls the energy during playback and external voice synthesis. Each unit represents 3 dB. The default level is the reference level. 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. 6 Default 66 21 VCD Playback and Voice Synthesis: VCD_PLAY_LEVEL 6 ISD 2-55 ISD-T360SB Table 2-6: TUNABLE PARAMETERS: DTMF Detection Index 17 Parameter Name Energy Level: DTMF_DET_MIN_ENERGY Description 2--SOFTWARE Default 32 Minimum energy level at which DTMF tones are detected. If you divide (multiply) the value by 2, the detection sensitivity decreases (increases) by 3 dB. Legal values: 8 to 4096 The near-echo delay in samples. The sampling rate is 8000Hz (i.e., 125 ms per sample). Legal values: 0 to 8. Controls the reverse twist level at which the VoiceDSP processor detects DTMF tones. While the normal twist is set at 8 dB, the reverse twist can be either 4 dB (default) or 8 dB (if this parameter is set to 1). SW AGC for DTMF in Idle/Record modes. When incrementing the tunable by 1, the dynamic range is increased by 3 dB. Legal values: 0 to 5. SW AGC for PLAY and TONE_GENERATE modes. When incrementing the tunable by 1, the dynamic range is increased by 3 dB. Legal values: 0 to 5. 24 Echo Canceler: DTMF_DET_ECHO_DELAY 4 26 Twist Level: DTMF_DET_REV_TWIST 0 60 SW AGC: DTMF_DET_AGC_IDLE 0 61 SW AGC: DTMF_DET_AGC_PLAY 3 Table 2-7: TUNABLE PARAMETERS: Tone Detection Index 18 Parameter Name Dial Tone: TONE_DET_TIME_COUNT Description Controls the duration of a tone before it is reported as a dial tone, in 10 msec units. The accuracy of the constant is 10 ms. Legal values: 0 to 65535. Minimum energy level at which busy and dial tones are detected as ON (after 700Hz filtering). If you divide (multiply) the value by 2 you get about 3 dB decrease (increase) in the threshold. The mapping between energy level and the parameter value is as follows (measured on the codec output when a 400Hz tone was injected to the codec input): Tunable value Energy threshold (dB-Volts) 10 -31.8 20 -28.6 100 -21.7 500 -14.7 8000 -2.5 Legal values: 0 to 65535. Default 700 19 Busy and Dial Tone: TONE_DET_ON_ENERGY_ THRESHOLD 160 2-56 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-7: TUNABLE PARAMETERS: Tone Detection Index 20 Parameter Name Busy and Dial Tone: TONE_DET_OFF_ENERGY_ THRESHOLD Description Default Maximum energy level at which busy and dial tones are detected 110 as OFF (after 700Hz filtering). If you divide (multiply) the value by 2 you get about 3 dB decrease (increase) in the threshold. The mapping between energy level and the parameter value is the same as for TONE_DET_ON_ENERGY_THRESHOLD Legal values: 0 to 65535. Minimum time period for busy detection, in 10 ms units. The accuracy of the constant is 10 ms. Legal values: 0 to 65535. Minimum period considered as On period for busy tone detection. Note that for weak signals: (-30 dB and below) the maximum value is 12 (i.e., 120 ms minimum detection time). Unit: 10 ms. Accuracy is 20 ms. Legal values: 10 to 1000. Maximum period considered as On for busy-tone detection. Unit: 10 ms. Accuracy is 20 ms. Legal values: 10 to 1000. Minimum period considered as Off for busy-tone detection. Unit: 10 ms. Accuracy is 20 ms. Legal values: 5 to 1000. Maximum period considered as On for busy-tone detection. Unit: 10 ms. Accuracy is 20 ms. Legal values: 5 to 1000. Number of On/Off cadences that must be detected prior to reporting busy-tone presence. Legal values: 9 to 127. Specifies the type of busy tone to detect: 1 --Two cadences 2 --Three cadences 3 --Both two and three cadences The maximum allowed difference between two compared On or Off periods. Unit: 10 ms. Legal values: 0 to 255. 600 23 Busy Tone: BUSY_DET_MIN_TIME 53 Busy Tone: BUSY_DET_MIN_ON_TIME 10 54 Busy Tone: BUSY_DET_MAX_ON_TIME 170 55 Busy Tone: BUSY_DET_MIN_OFF_TIME 7 56 Busy Tone: BUSY_DET_MAX_OFF_TIME 130 57 Busy Tone: BUSY_DET_VERIFY_COUNT 9 58 Busy Tone: BUSY_DET_TONE_TYPE 1 59 Busy Tone: BUSY_DET_DIFF_THRESHOLD 9 ISD 2-57 ISD-T360SB 2--SOFTWARE Table 2-8: TUNABLE PARAMETERS: Energy Detection Index 10 Parameter Name Silence (VOX): VOX_DET_ENERGY_THRES HOLD Description This parameter determines the minimum energy level at which voice is detected. Below this level, it is interpreted as silence. If you divide (multiply) the value by 2, you get approximately a 3db decrease (increase) in the threshold. The mapping between energy level and the parameter value is as follows (measured on the codec output when a 400Hz tone was injected into the codec input): Tunable value Energy threshold (dB-Volts) 10 -45 20 -42 40 -39 80 -36 160 -33 320 -30 640 -27 1280 -24 2560 -21 Legal values: 1 to 32767. This parameter, in units of 10 ms, determines the period of silence before the VoiceDSP processor reports silence. The accuracy of the constant is 10 ms. Legal values: 0 to 65535. Default 12 12 Silence (VOX): VOX_DET_TIME_COUNT 700 22 Silence (VOX): Controls the maximum energy-period, in 10 ms units, that does VOX_DET_TOLERANCE_TIM NOT reset the vox detector. E Legal values: 0 to 255. Constant Energy: CONST_NRG_DET_TIME_ COUNT Constant Energy: CONST_NRG_DET_ TOLERANCE_TIME Constant Energy: CONST_NRG_DET_LOW_ THRESHOLD Minimum elapsed time until the VoiceDSP processor reports constant energy level. Units: 10 ms. Accuracy: 10 ms Legal values: 1 to 65534 Variations in constant energy, up to this time, do not reset the constant energy detector. Units: 10 ms. Legal values: 0 to 255 Determines the minimum energy level that is treated as constant energy. The minimum energy is calculated as follows: (1--1/2CONST_NRG_DET_LOW_THRESHOLD) * average_energy Legal values: 1 to 16 Determines the maximum energy level that is treated as constant energy. The maximum energy is calculated as follows: (1 + 1/2CONST_NRG_DET_HIGH_THRESHOLD) * average_energy Legal values: 0 to 16 3 47 700 48 5 49 1 50 Constant Energy: CONST_NRG_DET_HIGH_ THRESHOLD 1 2-58 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-9: TUNABLE PARAMETERS: Speakerphone Index 31 Parameter Name Acoustic Echo Canceler (AEC): SP_AEC_PRIORITY_BIAS Description Controls the bias in priority between the Send and Receive paths. If send priority-bias is preferred, the value should be greater than zero. For no priority bias, the value should be zero. For priority bias for the Receive path, the value should be negative. Steps are 3 dB each (e.g., +3 is 9 dB bias for the Send path, -2 is 6 dB bias for the Receive path). Legal values: -4 to 4. Note: this parameter is represented as a signed byte in the system. When reading its value with the GTUNE command, ignore the upper byte of the returned value. This parameter limits the acoustic return loss. Its value (SP_AEC_COUPLING_LOSS_THRESHOLD / 32767) is compared with the RMS value of Sout divided by the RMS value of Rin, during a single-talk event. The loop gain is decreased, if necessary, to control the TCL level. For SP_AEC_COUPLING_LOSS_THRESHOLD = 32767 this loop is disabled. Legal values: 0 to 32767. Controls the speakerphone gain from the microphone to the lineout. The total attenuation, or gain, depends on both the analog gain and this value. The gain is: K * signal where: K = SP_AEC_LR_LEVEL/4096. Legal values: 0 to 16000. Controls the speakerphone gain from the line-in to the speaker. The total attenuation, or gain, depends on both the analog gains and this value. The gain is: K * signal where: K = (SP_EEC_LR_LEVEL/4096) * (2(6 + vol_level)/2) (vol_level is controlled by the VC command) Legal values: 0 to 400. Default 0 32 Acoustic Echo Canceler (AEC): SP_AEC_COUPLING_ LOSS_THRESHOLD 2047 34 Acoustic Echo Canceler (AEC): SP_AEC_LR_LEVEL 14000 35 Electric Echo Canceler (EEC): SP_EEC_LR_LEVEL 281 ISD 2-59 ISD-T360SB Table 2-9: TUNABLE PARAMETERS: Speakerphone Index 36 Parameter Name Acoustic Echo Canceler (AEC): SP_AEC_CLIP_POS Description 2--SOFTWARE Default 16000 Specifies the positive peak-value at which the analog circuit of the speaker saturates. Codec analog full scale corresponds to LAW full scale values after expansion. Assume that positive saturation occurs at amplitudes higher than those of a sine wave at X [dBm0]. The SP_AEC_CLIP_POS value is set as: SP_AEC_CLIP_POS = 32636 * 10((X - 3.17)/20) Note: a sine wave with amplitude 4 * 8159 = 32636 corresponds to 3.17 dBm0. Example: For X = -6.2761 dBm0, the value is: SP_AEC_CLIP_POS = 32636 * 10((-6.2761- 3.17)/20) = 0.3371 * 32636 =11000; Legal values: 0 to 32767. Specifies the negative peak value at which the analog circuit of the speaker saturates. Codec analog full scale corresponds to LAW full scale values after expansion.The value of SP_AEC_CLIP_NEG is set as shown for SP_AEC_CLIP_POS, above. Legal values: -32768 to 0. Specifies the positive peak value at which the analog circuit of the line-out saturates. Codec analog full scale corresponds to LAW full scale values after expansion. The value of SP_EEC_CLIP_POS is set as shown for SP_AEC_CLIP_POS, above. Legal values: 0 to 32767. Specifies the negative peak value at which the analog circuit of the line-out saturates. Codec analog full scale corresponds to LAW full scale values after expansion. The value of SP_EEC_CLIP_NEG is set as shown for SP_AEC_CLIP_POS, above. Legal values: -32768 to 0. Controls the hysteresis in near-talker detection. (The speakerphone state machine has a built-in hysteresis mechanism to prevent fluctuations in the talker identification process i.e., identifying the active side.) The value of this parameter is a dimensionless number, which should be evaluated during the tuning process for specific hardware. Larger values for the parameter correspond to a wider hysteresis loop. Negative values increase the probability that the state machine remains in the last state. Legal values: -127 to 127. Note: this parameter is represented as a signed byte in the system. When reading its value with the GTUNE command, ignore the upper byte of the returned value. 37 Acoustic Echo Canceler (AEC): SP_AEC_CLIP_NEG -16000 38 Electric Echo Canceler (EEC): SP_EEC_CLIP_POS 16000 39 Electric Echo Canceler (EEC): SP_EEC_CLIP_NEG -16000 43 Acoustic Echo Canceler (AEC): SP_AEC_VOX_HYST 10 2-60 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-9: TUNABLE PARAMETERS: Speakerphone Index 44 Parameter Name Electric Echo Canceler (EEC): SP_EEC_VOX_HYST Description Controls the hysteresis in far-talker detection. (The speakerphone state machine has a built-in hysteresis mechanism to prevent fluctuations in the talker identification process i.e., identifying the active side.) The value of this parameter is a dimensionless number, which should be evaluated during the tuning process for specific hardware. Larger values for the parameter correspond to a wider hysteresis loop. Negative values increase the probability that the state machine remains in the last state. Legal values: -127 to 127. Note: this parameter is represented as a signed byte in the system. When reading its value with the GTUNE command, ignore the upper byte of the returned value. Controls the sensitivity of the system. Low values correspond to high sensitivity, with a greater false alarm probability (i.e., an echo is considered a real talker). High values correspond to low sensitivity, with slower switching. This parameter is affected by the loop gain and the specific hardware characteristics. Legal values: 0 to 127. Controls the sensitivity of the system. Low values correspond to high sensitivity, with a greater false alarm probability (i.e., an echo is considered a real talker). High values correspond to low sensitivity, with slower switching. This parameter is affected by the loop gain and the specific hardware characteristics. Legal values: 0 to 127. Controls the maximum attenuation level of the speakerphone suppressors. It affects the speakerphone stability and its subjective quality. The maximum attenuation is calculated according to: SP_BLOCK_LEVEL/228 Legal values: 550 to 32000. Controls the energy level at which DTMF, and other tones, are generated to the line (codec 0) while the speakerphone is active. Each unit represents 3 dB. Legal values: 0 to 10. Note: the energy level at which the tones are generated to the speaker (codec 1) while the speakerphone is active, is controlled by the TONE_GEN_LEVEL tunable parameter and the vol_level. Note: vol_level is controlled by the VC command. Default 10 45 Acoustic Echo Canceler (AEC): SP_AEC_DTD_TH 73 46 Electric Echo Canceler (EEC): SP_EEC_DTD_TH 82 33 Attenuation: SP_BLOCK_LEVEL 10922 42 Tone Generation: SP_TONE_GEN_ LEVEL 6 NOTE: Refer to the Software Automatic Gain Control tunable parameters, listed in Table 2-4, for more details on speakerphone-related tunable parameters. ISD 2-61 ISD-T360SB 2--SOFTWARE Table 2-10: TUNABLE PARAMETERS: Memory Support Index 62 Parameter Name Memory Device Size: NUM_OF_BLOCKS_IN_ME M Description Defines the number of blocks (each block is of 4096 bytes) in every Flash memory device. The number and type of connected devices are defined by the CFG command. Flash Device Size (Mbits) 4 8 16 Number of Blocks Value 128 256 512 Default 128 Note: this parameter must be tuned before the CFG command. 63 Memory Size for Testing Defines the number of blocks (each block is of 4096 bytes) in every NUM_OF_BLOCKS_FOR_TE Flash memory device for production line testing purposes. ST The number should be small to minimize testing time during the production sequence. However, the number of blocks should be larger than the number of expected bad blocks in the memory device. In case of value=0, no production test is performed. In any case other than value= 0, the number of blocks is defined by the parameter value, and a production testing cycle is performed after RESET. Legal values: 0 to the value of tune 62. Note: If power fails during production testing cycle, the memory status is unpredicted. The memory device should be replaced and the production test should be repeated. 0 Note: this parameter must be tuned before the INIT command. Table 2-11: TUNABLE PARAMETERS: Codec Support (Samples) Index 65 Parameter Name Channel 0 Delay: CFRD0 Description The delay of codec channel 0 from Frame Synch 0 (CFS0) to start of valid data. Legal values: 0 to 255 The delay of codec channel 1 from Frame Synch 0 (CFS0) to start of valid data. Legal values: 0 to 255 The delay of codec channel 2 from Frame Synch 0 (CFS0) to start of valid data. Legal values: 0 to 255 Default 1 66 Channel 1 Delay: CFRD1 9 67 Channel 2 Delay: CFRD2 17 2-62 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB Table 2-11: TUNABLE PARAMETERS: Codec Support (Samples) Index 68 Parameter Name Frame Synch Delay: CFSD Description The delay of Frame Synch 1 (CFS1) from Frame Synch 0 (CFS0). Legal values: 0 to 255 The delay between Frame Synch 0 (CFS0) to end of valid data of all channels. Legal values: 0 to 255 Default 16 69 Data Valid Delay: CFET 25 Table 2-12: TUNABLE PARAMETERS: Clocking Index 79 Parameter Name PLL_Configuration: PLL_MODE Description Controls the internal clock PLL multiplication factor, which generates the master system clock. The default value (0) allows using external crystal (or oscillator) of 4.096Mhz. Setting this value to 1 allows using external crystal (or oscillator) of 65.536Mhz. Legal values: 0, 1 Default 0 ISD 2-63 ISD-T360SB 2--SOFTWARE VC Volume Control vol_level Controls the energy level of all the output generators (playback, tone generation, voice synthesis and speakerphone), with one command. The resolution is 3 dB. The actual output level is composed of the tunable level variable, plus the vol_level. The valid range for the actual output level of each output generator is defined in Table 2-5. For example, if the tunable variable VCD_PLAY_LEVEL (parameter number 21) is 6, and vol_level is -2, then the output level equals VCD_PLAY_LEVEL + vol_level = 4. Example VC 04 Byte sequence: Microcontroller VoiceDSP Description: Set the volume level to VCD_PLAY_LEVEL + 4. 28 28 04 04 WMSG Write Message data Writes 32 bytes of data to the current position of the message pointer, and advances the message pointer by 32 bytes. If the VoiceDSP processor is in IDLE state, the command opens the current message, switches the VoiceDSP processor to MSG_OPEN state, sets the message pointer to the beginning of the message data, and writes the 32 bytes of data. To add data at the end of an existing message, issue the SMSG command to the last page of the message. Issue the WMSG command with a buffer consisting of 32 FF bytes (this has no effect on the current data in the page). A subsequent WMSG command adds a new block to the message, and writing continues at the beginning of the new block. The microcontroller must issue an S command to close the message and switch the VoiceDSP processor to IDLE state. If the current message is undefined, ERR_INVALID is reported. NOTE When updating an existing message, bits can only be cleared, but not set. Example WMSG 32 bytes Byte sequence: Microcontroller VoiceDSP Description: 31 31 32 bytes of data to write echo 32 bytes of data Write 32 bytes in the message memory. 2-64 Voice Solutions in SiliconTM 2--SOFTWARE ISD-T360SB ISD 2-65 ISD-T360SB 2--SOFTWARE 2-66 Voice Solutions in SiliconTM 3--SCHEMATIC DIAGRAMS ISD-T360SB Chapter 3--SCHEMATIC DIAGRAMS 3.1 APPLICATION INFORMATION The following schematic diagrams are extracted from a VoiceDSP demo unit, based on the ISD-ES360 board. The demo includes three basic clusters: * * * COP888EEG Microcontroller VoiceDSP processor cluster working with 3.3v, including two TP3054 codecs and an ISD-T360SB controlling Samsung 16Mb NAND flash. User interface that includes a 12-key (4x3) keypad. For more details about the demo, please refer to the ISD-ES360 Demo Operating Instructions. ISD 3-1 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 NC NC NC NC A0/A16/nDDIN A0/A16/nDDIN Vss Vss A1 A1 Vcc Vcc A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 Vcc Vcc VccA VccA NC NC Vss Vss 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 Vcc3.3 NC NC PC2/A13 PC2/A13 PC3/A14/BE0 PC3/A14/BE0 PC4/A15/BE1 PC4/A15/BE1 PC5/nIOCS/ENV3 PC5/nIOCS/ENV3 PC6/nEMCS PC6/nEMCS PC7/nBMCS/ENV1 PC7/nBMCS/ENV1 PB0/D8 PB0/D8 PB1/D9 PB1/D9 Vcc Vcc PB2/D10 PB2/D10 Vss Vss PB3/D11 PB3/D11 PB4/D12 PB4/D12 PB5/D13 PB5/D13 PB6/D14 PB6/D14 PB7/D15 PB7/D15 nINT3/nMWCS nINT3/nMWCS NC NC NC NC 3-2 C35 2.2UF Vcc3.3 2.2UF .1UF C47 R59 10 ohm C48 ISD-T360SB VoiceDSP ISD-T360SA C36 .1UF C41 U17 2.2UF C40 .1UF R64 10M C46 33PF Y1 4.096MHz MWRQST MWRDY MWDOUT C45 Vcc3.3 33PF 10K ISD-360SB ISD-T360SA TST R63 MWRQST R73 MWRDY R74 10K 10K Vcc3.3 .1UF C33 PC0 PC1 C34 2.2UF MWCLK MWDIN CCLK CDIN CFS0 CDOUT CFS1 RESET- Figure 3-1: VoiceDSP ISD-T360SB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 NC NC NC NC NC NC NC NC A9 A10 NC NC nISE D0 D1 D2/RA11 Vss D3 VCCHI Vcc D4 D5 D6 D7 PC0/A11 PC1/A12 NC NC NC NC Vcc3.3 C44 .1UF C51 2.2UF 80 NC 79 NC 78 NC 77 NC 76 VssA 75 X2/CLKIN 74 X1/PLI 73 TST/PA0/NwrO 72 PA1/nWR1 71 PA2/CTTL 70 PA3/PFS 69 PA4/nMWRDY 68 PA5/MWDOUT 67 PA6/BST0 66 Vss 65 nMWRQST/PA7/BST1 64 Vcc 63 PD0/MWCLK 62 PD1/MWDIN 61 CCLK 60 CDIN 59 CFS0 58 CDOUT 57 CFS1/PWM 56 nRESET 55 NC 54 NC 53 NC 52 NC 51 NC MWCS PB1 PB0 PB2 PB7 PB6 PB5 PB4 PB3 PC4 PC3 PC2 C43 .1UF PC[0..4] 3--SCHEMATIC DIAGRAMS C39 2.2UF Voice Solutions in SiliconTM PB[0..7] ISD NAND FLASH PC[0..4] VCC 3--SCHEMATIC DIAGRAMS R46 4.7K KM29W16000AT PC0 PC1 PC2 PC4 PC3 Figure 3-2: Nand Flash Device VCC R47 100K 1 2 3 4 5 6 7 8 9 10 VSS CLE ALE WE WP N.C N.C N.C N.C N.C VCC CE RE R/B GND N.C N.C N.C N.C N.C 44 43 42 41 40 39 38 37 36 35 C38 .1UF C37 .1UF PB0 PB1 PB2 PB3 13 14 15 16 17 18 19 20 21 22 N.C N.C N.C N.C N.C I/O0 I/O1 I/O2 I/O3 VSS N.C N.C N.C N.C N.C I/O7 I/O6 I/O5 I/O4 VCC U9 32 31 30 29 28 27 26 25 24 23 PB7 PB6 PB5 PB4 PB[0..7] ISD-T360SB 3-3 3-4 VCCA VCCA R39 10 C28 .1UF C23 22UF J3 ISD-T360SB LINE CODEC C31 R54 100K 1 VBB VFX+ CINA .1UF R56 0 .1UF COUTA C30 U12 16 VFXPB 15 VFXNB 14 GSXB 13 12 11 10 9 R55 0 R52 10K CINB COUTB CINA COUTA CFS1 CFS0 CDOUT CCLK CDIN 2 GNDA VFXGSX TSX FSX DX BCLKX MCLKX COUT VCC FSR DR BCLKR MCLKR TP3054 1 2 3 4 5 6 7 8 9 10 11 12 CON12 NVCC 3 4 5 6 7 8 CFS0 CFS1 SPEAKERPHONE CODEC 1 VBB VFX+ VFXGSX TSX FSX DX BCLKX MCLKX 10 9 11 12 13 14 15 GSXA C25 U10 R50 100K C26 VFXPA VFXNA R51 0 .1UF CINB 16 2 GNDA COUT VCC FSR DR BCLKR MCLKR TP3054 CCLK R41 10 CDIN COUTB .1UF 3 4 5 CDOUT R49 0 R48 10K 6 7 8 Figure 3-3: Line and Speakerphone Codec C24 22UF C29 .1UF 3--SCHEMATIC DIAGRAMS Voice Solutions in SiliconTM NVCC 3--SCHEMATIC DIAGRAMS 3.5795MHz MWCS MWRDY MWDIN MWCLK MWDOUT 1 1 1 6 6 6 5 4 3 3 3 2 1 44 44 44 43 42 41 41 41 40 G7 G6 G5 G4 C3 C3 C3 C2 C1 C0 C0 C0 G3 G2 G1 G1 G1 VCC ROW1 ROW2 ROW3 ROW4 2 2 2 L1 L2 L3 C4 C5 C5 C5 C6 C7 L4 L4 L4 L5 L6 L7 L7 L7 18 18 18 19 20 21 21 21 22 23 24 24 24 25 26 27 27 27 28 1 1 1 2 2 2 ISD VCC MICROCONTROLLER AND USER INTERFACE R58 10K R69 1M R70 560 R67 10K VCC WD Y2 C52 39PF C50 39PF D14 GREEN LED MWRQST OFFHK\ SPSDWN RING- 7 8 9 10 11 12 13 14 15 16 17 CKI VCC I0 I1 I2 I3 COP888EG1 I4 I5 I6 I7 L0 U20 G0 RESET GND D7 D6 D5 D4 D3 D2 D1 D0 39 38 37 36 35 34 33 32 31 30 29 COL3 COL2 COL1 COL3 COL1 VCC D11 SD103 D13 SD103 D12 SD103 COL2 RESET SWITCH 1 3 U19 VCC 1 3 10K 10K S4 1 2 3 S5 1 3 3 R72 R66 R65 10K S3 1 R60 10K ROW1 1 2 MR 3 N.C 4 N.C GND 8 Vcc 7 N.C 6 RESET 5 RESET MAX701 Figure 3-4: Microcontroller and User Interface RESE 4 3 S7 1 5 3 S8 1 6 3 ROW2 S6 1 7 3 S10 1 8 3 S11 1 9 3 ROW3 S9 1 * 3 S13 1 0 3 S14 1 # 3 S12 1 ISD-T360SB ROW4 3-5 ISD-T360SB 3--SCHEMATIC DIAGRAMS 3-6 Voice Solutions in SiliconTM 4--PHYSICAL DIMENSIONS ISD-T360SB Chapter 4--PHYSICAL DIMENSIONS Figure 4-1: 100L PQFP (14x20x2.75mm footprint 3.2mm) IQC H D D E H E e b c A2 See Detail Seating Plane Y A1 A L L1 G Controlling dimension : Millimeters Symbol A A1 A2 b c D E e H D E Dimension in inch Nom Min Max 0.130 0.010 0.101 0.008 0.004 0.547 0.783 0.020 0.669 0.905 0.025 0.014 0.107 0.012 0.006 0.551 0.787 0.026 0.677 0.913 0.031 0.063 0.003 0 7 0.018 0.113 0.016 0.008 0.555 0.791 0.032 0.685 0.921 0.037 Dimension in mm Nom Min Max 3.30 0.25 2.57 0.20 0.10 13.90 19.90 0.50 17.00 23.00 0.65 0.35 2.72 0.30 0.15 14.00 20.00 0.65 17.20 23.20 0.80 1.60 0.08 0 7 0.45 2.87 0.40 0.20 14.10 20.10 0.80 17.40 23.40 0.95 H L L1 Y G ISD 4-1 ISD-T360SB 4--PHYSICAL DIMENSIONS 4-2 Voice Solutions in SiliconTM 4--PHYSICAL DIMENSIONS ISD-T360SB ISD 4-3 IMPORTANT NOTICES The warranty for each product of ISD (Information Storage Devices, Inc.), is contained in a written warranty which governs sale and use of such product. Such warranty is contained in the printed terms and conditions under which such product is sold, or in a separate written warranty supplied with the product. Please refer to such written warranty with respect to its applicability to certain applications of such product. These products may be subject to restrictions on use. Please contact ISD, for a list of the current additional restrictions on these products. By purchasing these products, the purchaser of these products agrees to comply with such use restrictions. Please contact ISD for clarification of any restrictions described herein. ISD, reserves the right, without further notice, to change the ISD VoiceDSP product specifications and/or information in this document and to improve reliability, functions and design. ISD assumes no responsibility or liability for any use of the ISD VoiceDSP products. ISD conveys no license or title, either expressed or implied, under any patent, copyright, or mask work right to the ISD VoiceDSP products, and ISD makes no warranties or representations that the ISD VoiceDSP products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Application examples and alternative uses of any integrated circuit contained in this publication are for illustration purposes only and ISD makes no representation or warranty that such applications shall be suitable for the use specified. The ISD products described herein may not be used in recordable greeting cards intended for resale in Japan without ISD's prior written consent. Recordable greeting cards are articles, usually constructed of paper or cardboard (but not limited to these materials), that include artwork(including pre-printed or customer-affixed photographs or artwork) and/or editorials that have the look and feel of greeting cards and are able to be inserted into an envelope (but do not necessarily need to be inserted) and primarily intended to be presented or delivered to an individual as a greeting card, that allow the sender to record and the recipient to play back, and audio signal message. The foregoing restriction applies only to recordable greeting cards intended, directly or indirectly, for retail distribution. Recordable greeting cards incorporating ISD products may not be sold, directly or indirectly, through retail channels without ISD's prior written consent. The 100-year retention and 100K record cycle projections are based upon accelerated reliability tests, as published in the ISD Reliability Report, and are neither warranted nor guaranteed by ISD. Information contained in this ISD VoiceDSP data sheet supersedes all data for the ISD VoiceDSP products published by ISD prior to August, 1999. This data sheet and any future addendum to this data sheet is (are) the complete and controlling ISD VoiceDSP product specifications. In the event any inconsistencies exist between the information in this and other product documentation, or in the event that other product documentation contains information in addition to the information in this, the information contained herein supersedes and governs such other information in its entirety. Copyright(c) 1999, ISD (Information Storage Devices, Inc.) All rights reserved. ISD is a registered trademark of ISD. ChipCorder is a trademark of ISD. VoiceDSP is a trademark of ISD. All other trademarks are properties of their respective owners. 2727 North First Street San Jose, California 95134 Tel: 408/943-6666 Fax: 408/544-1787 Part No. 052000DS360SB |
Price & Availability of T360SB
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |