Summary of Contents for Texas Instruments MSP53C391
Page 1
MSP53C391 and MSP53C392 Speech Synthesizers User’s Guide May 2000 SPSU016A Printed on Recycled Paper...
Page 2
IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete.
Page 3
Preface Read This First How to Use This Manual This document contains the following chapters: Chapter 1 –Introduction to the MSP53C391 and MSP53C392 Speech Synthesizers Chapter 2 –MSP53C391 Hardware Description Chapter 3 –MSP53C392 Hardware Description Chapter 4 –MSP53C391 and MSP53C392 Software Description Appendix A –Editing Tools and Data Preparation...
MSP53C391 and MSP53C392 are standard slave synthesizers from Texas Instruments that accept compressed speech data from another microproces- sor and produce speech with that data. This allows the MSP53C391 and MSP53C392 to be used with a master microprocessor in the various speech products including electronic learning aids, games, and toys.
The MSP53C392 is optimized to support an 8-bit wide data transfer protocol. The use of the 4-bit wide protocol in the MSP53C391 frees up some I/O pins that can be used for other purposes. These pins (EOS and BUSY) can be used to simplify the interface by minimizing the need to periodically poll the MSP53C391 for its current status.
End of speech signal. Output high when end of speech is reached. INIT Initialize input. When INIT goes low, the clock stops, the MSP53C391 goes into low-power mode, the program counter is set to zero, and the contents of the RAM are retained.
RAM are retained. An INIT pulse of 1 µs is sufficient to reset the processor. OSC IN This signal should be connected to Vss. Read/write signal STROB Strobe signal for read/write – 5-V nominal supply voltage – Ground pin Introduction to the MSP53C391 and MSP53C392 Speech Synthesizers...
D/A Information 1.5 D/A Information Two-Pin Push Pull (Option 1) is selected in MSP53C391 and MSP53C392 that can directly drive a 32-Ω speaker. Please refer to the MSP50x3x Mixed Signal Processor Users Guide (literature number: SPSU006B) for more information on the D/A and amplifier circuit.
MSP53C391 when the STROB is pulsed low. If the R/W is high, then a read from the MSP53C391 is done when the STROB is pulsed low. If the R/W is low, then data is written to the MSP53C391 when the STROB is pulsed low.
Reset signal. A low pulse to reset the chip. It can also be used to stop the MSP53C391 operation during speech synthesis. Following the rising edge of the INIT pulse, a delay of up to 5 ms will be required to permit the MSP53C391 to com- pletely initialize its internal condition.
Read/write signal DATA 0–3: 4-bit data line BUSY: Active low busy signal form MSP53C391. A high signal indicates that the MSP53C391 is not busy and is ready to accept data. EOS: End-of-speech data. A high signal indicates end-of-speech. Two bytes of dummy data writen resets the EOS to low.
Page 18
BUSY and EOS. 3) The master microprocessor sets STROB high. If the BUSY signal was high in step 2, the MSP53C391 is not busy and is ready to accept a write operation. If the BUSY signal was low in step 2, the MSP53C391 is not ready to accept a write operation and the read operation should be repeated until BUSY is asserted high.
DAC+ Output Port INIT TO SPEAKER OR DAC– AMPLIFIER/FILTER I/O Port DATA3 I/O Port DATA2/EOS I/O Port DATA1 I/O Port DATA0 NOTE A: IRQ: Negative edge interrupt to master microprocessor when MSP53C391 is not busy and ready to accept data.
Page 20
The EOS is used to signal that the end-of-speech has been reached. In this case, the master microprocessor should stop trying to send data and act to re- set the MSP53C391 so as to prepare it to accept additional commands or syn- thesis data.
RESET Operation 1) Perform a read operation to determine that the EOS signal is high. 2) If the EOS signal is high, write 2 bytes of dummy data to the MSP53C391 by repeating the write operation four times as described previously.
Page 22
The reset can be done in one of two ways: Pulsing the INIT pin low and then waiting for the MSP53C391 to re-ini- tialize itself or by writing two dummy bytes to the MSP53C391.
Master Microprocessor Interface Timing 2.4 Master Microprocessor Interface Timing 2.4.1 Timing Method 1: Polling Data Transfer STROB DATA0 – 3 DATA3/BUSY DATA2/EOS NOTE A: State A: Polling the status by reading the BUSY and EOS State B: Write operation End-of-Speech STROB DATA0 –...
NOTE A: State A: Read the EOS state State B: Write operation End-of-Speech STROB DATA0 – 3 DATA2/EOS NOTE A: State A: EOS detected by read DATA2/EOS State B: Dummy write. A 4-byte dummy write resets the EOS for the next transfer. MSP53C391 Hardware Description 2-11...
Master Microprocessor Interface Timing 2.4.3 Timing Method 3: Interrupt 2 Data Transfer STROB DATA0 – 3 NOTE A: State A: Write operation End-of-Speech STROB DATA0 – 3 NOTE A: State A: EOS detected by read on pin 6 State B: Dummy write. A 4-nibble dummy write resets the EOS for the next transfer. 2-12...
MSP53C391 Device Initialization 2.5 MSP53C391 Device Initialization For proper operation, the MSP53C391 device should be initialized by sending the following command sequence of bytes: F,F,F,F,0,A,0,1,0,0,F,F,F,F,F,F Following this command sequence, the normal command sequence options are available as described in Section 4.2 and onwards.
1 µs is enough to reset the device. Following the rising edge of the INIT pulse, a delay of up to 5 ms will be required to permit the MSP53C391 and MSP53C392 to completely initialize its internal condition.
Signal Description 3.2 Signal Description Table 3–1. MSP53C392 Signal Description Description Name DAC+ PDM-style DAC used for speech output. DAC– DATA7/BUSY 16 The BUSY signal can be obtained on DATA 7 during a read operation. A high signal indicates that the MSP53C392 is not BUSY and ready to accept data. A low signal indicates that the MSP53C392 is BUSY and master should not write any command or data to MSP53C392.
Master Microprocessor Interface Description 3.3 Master Microprocessor Interface Description 3.3.1 Method 1: Polling Three control lines and eight I/O data lines are used in this interface. Data is written to the MSP53C392 device and the status can be read back. Two status bits (BUSY and EOS) can be read back by the master microprocessor to signal that the MSP53C392 is busy and signal the end-of-speech has been reached.
Page 31
Master Microprocessor Interface Description Read Operation 1) The master microprocessor sets R/W high to indicate a read operation. 2) The master microprocessor sets STROB to low and reads the state of BUSY and EOS signals. 3) The master microprocessor sets STROB high. If the BUSY signal was high in step 2, the MSP53C392 is not busy and is ready to accept a write operation.
Page 32
Master Microprocessor Interface Description If the EOS signal is asserted high during the read operation, the end-of-speech has been reached and a reset operation should be performed prior to sending new commands or speech data. The reset can be done in one of two ways: Pulsing the INIT pin low and then waiting for the MSP53C392 to re-initialize itself or by writing four dummy bytes as described in the following.
Master Microprocessor Interface Timing 3.4 Master Microprocessor Interface Timing 3.4.1 Timing Method 1: Polling Data Transfer STROB DATA0 – 5 DATA7/BUSY DATA6/EOS NOTE A: State A: Polling the status by reading the BUSY and EOS State B: Write operation End-of-Speech STROB DATA0 –...
MSP53C392 Device Initialization 3.5 MSP53C392 Device Initialization For proper operation, the MSP53C392 device should be initialized by sending the following command sequence of bytes: FF,FF,FF,FF,0A,01,00,FF,FF,FF,FF,FF Following this command sequence, the normal command sequence options are available as described in Section 4.2 and onwards. The function of this sequence is to properly initialize the synthesis engine by speaking a short selection of LPC prior to speaking selections using other syn- thesis algorithms.
MSP53C392 because of the different data bus widths. The command header used for the MSP53C391 is a series of at least 5 nibbles with all bits set high followed by a 0x0, 0xA sequence. The complete command header sequence used for the MSP53C391 is therefore: 0xF, 0xF, 0xF, 0xF, 0xF, 0x0, 0xA.
Because the CELP 5.8 kbps is not a standard CELP rate, it is not recommended for less experienced users. The standard CELP rates (4.2 kbps, 4.8 kbps, 6.2 kbps, 8.6 kbps, and 10.7 kbps) should be used instead. MSP53C391 AND MSP53C392 Software Description...
Command Sequences 4.5 Command Sequences A command sequence transmits controlling commands that instruct the MSP53C391 or MSP53C392 to modify its function in some way. Available commands are: Set the two general-purpose output pins either high or low (MSP53C391 only) Place the MSP53C391 or MSP53C392 into a low-power sleep state...
Echo mode 4.5.2 Pin Expansion The OUT1 and OUT2 pins are available on the MSP53C391 for pin expansion. To program these pins to the desired state, transmit one of the command codes as shown in Table 4–5: Table 4–5. Pin Expansion Command Codes...
The version information is then available on DATA0, DATA1, and DATA2 on the MSP53C391. It can be read from these pins using the READ protocol de- scribed in Chapter 2. The version number read from the MSP53C391 is 1.
INIT pin low. Sending a command code of 0xE96D to the MSP53C391 causes it to enter a special test mode in which the input data latched into the device is echoed out to the OUT2, OUT1, EOS, and IRQ pins.
Page 42
Appendix A Appendix A Editing Tools and Data Preparation Topic Page Editing Tools ..........Data Preparation .
Editing Tools A.1 Editing Tools TI provides several tools to support speech editing. The WINSDS is a tool for LPC editing and the SDS3000 is a tool for MELP editing and CELP and MELP encoding. A.1.1 WINSDS WINSDS (Windows interface speech development station) is a powerful tool to produce high-quality LPC (linear predictive coding) speech and sound.
TI or generated from a TI tool (SDS3000 for MELP or CELP and WINSDS for LPC). The data preparation for different algorithms for MSP53C391 and MSP53C392 is discussed in the following paragraphs. A.2.1 LPC LPC is processed and editing using the WINSDS station. Please refer to the WINSDS User’s Guide (literature number: SPSU010) for details.
SHAPES use the Hiss shape to reduce the noise. 6) It is necessary to append a termination code to the end of the PCM data to signal the end of the file to the MSP53C391 or MSP53C392. The proper end code is the two byte sequence: 0x7F, 0x80.
MIDI files, which the MD2FM program pro- cesses. 1) The MSP53C391 and MSP53C392 support a maximum of two channels of FM synthesis music. The MD2FM can convert only one track or channel at a time. Two passes through the program are required to convert the two channels into two separate output file.
Page 47
Appendix B Appendix A FM Synthesis Topic Page FM Synthesis Overview ........FM Synthesis Format and Commands .
FM Synthesis Format and Commands B.2.1 Musical Notes Musical notes are defined as: BYTE Notevalue, TimeValue,Duration,Velocity Where: Notevalue defines the pitch of the musical note. The valid values for Note- value are defined in Appendix C. In general, they range from a minimum of C1 to a maximum of C6.
FM Synthesis Format and Commands B.2.3 Tempo Synchronization The tempo of the two channels needs to be the same. If it changes, it needs to change at the same point in the music for both channels. This is accom- plished by placing the tempo change information in the channel one data stream (using the TEMPO command) and by placing a synchronizing place- holder in the channel 2 data stream to ensure that the tempo change happens at the same point in the music for both channels.
FM Synthesis Format and Commands BYTE –9,–8 ;CarAmp=107, FmAmp=119 BYTE –8,–7 ;CarAmp=99, FmAmp=112 BYTE –7,–6 ;CarAmp=92, FmAmp=106 BYTE –6,–5 ;CarAmp=86, FmAmp=101 BYTE –5,–4 ;CarAmp=81, FmAmp=97 BYTE –81,–3 ;CarAmp=0, FmAmp=94 B.2.5 Transposition Two commands are available for transposing the music (i.e., uniformly shifting the notes to higher or lower frequencies).
FM Synthesis Format and Commands FaderInc allows a gradual transition to the new volume. It is a signed two- byte value that specifies the incremental amount to change the volume during each interval. For example: BYTE FADER,f100p ;Set volume to 100 DATA NOFADER ;Change is abrupt...
FM Synthesis Format and Commands B.2.10 Command Summary Table B–1 summarizes the several valid commands. Table B–1. Command Summary Command and Format Description Music Notes: Note: Is the music note that can range form C0 to C6 Format: TimeValue: Total length of the note. n4 is 1/4 note. Note,TimeValue,Duration,Velocity Example: C1, n4, n4, 127...
Page 54
FM Synthesis Format and Commands Table B–1. Command Summary (Continued) Command and Format Description Detune: DETUNE: Allows detuning channel 2 Format: DETUNE,NUM NUM: A signed offset to the channel 2’s frequency Example: value. DETUNE,4 (add 4 to channel 2’s Sine table index) Fade control: FADER: Fader command Format: FADER,InitialFaderValue,FaderInc...
FM Synthesis Data Structure B.3 FM Synthesis Data Structure As there are two channels data that are passed to the MSP53C391 or MSP53C392 through a single data path; the note information needs to be in- terleaved to provide the correct sequencing.
Page 56
FM Synthesis Data Structure byte –25,–19 byte 000,–06 byte 000,–25 byte –38,–32 byte –10,–23 BYTE C4,12,12,127 ; load first note of channel 1 * define Channel 2 and loading the first note * Channel 2 BYTE TEMPOSYNC ; sync the Tempo of channel 2 with 1 BYTE ATRNS,0 ;...
Page 57
FM Synthesis Data Structure BYTE G4,12,12,127 * Channel 2 BYTE A4,12,12,64 * Channel 1 BYTE E4,12,12,127 * Channel 2 BYTE A4,12,12,64 * Channel 1 BYTE C5,12,12,127 * Channel 2 BYTE REST,48,2,OFF * Channel 1 BYTE E5,12,12,127 ; the duration of channel 2 is still larger than 1 BYTE C5,12,12,127 ;...
Alternatively, software utilities are available for converting a song from MIDI (musical instrument digi- tal interface) formatted files to a format accepted by MSP53C391 AND MSP53C392. There are two utilities, MD2FM.exe and FM2MERGE.exe, for the conversion.
Data Preparation of FM Synthesis B.4.1 MD2FM Software MD2FM converts a MIDI format file to a FM data accepted by MSP50C391/2. With this routine, users can compose or translate music base on the MIDI for- mat. This routine runs under the DOS environment and the syntax is as fol- lows: md2fm songt1 songt1_1 –c1 –t1 input : songt1.mid (MIDI format)
FM2MERGE is a routine run on the DOS environment. The function of the pro- gram is to merge two FM data stream into one data file for the MSP53C391 and MSP53C392 slave synthesis. The two data streams are combined ac- cording to the accumulative duration of the notes on channel 1 and 2.
Appendix C Appendix A Listing of FMequM2.inc Topic Page Listing of FMequM2.inc ........
Page 63
Listing of FMequM2.inc C.1 Listing of FMequM2.inc FMequM2.inc contains all the FM command and note definitions that are used for preparation of FM data. The listings are shown in the following: FMEQU.INC Version 2.08 RAM Definitions Constant Definitions DC,BA98:7654,3210 ––,––––:––––,–––– BIT0 #0001 ;00,0000:0000,0001 BIT1...
Page 64
Listing of FMequM2.inc (EXTSG ON) and Update Fader. When calculating Loudness, use Fader / 16 * Current Signal. My standard fader values f100p f94p f87p f75p f62p f50p f37p f25p f18p f12p ;use for REST event, set velocity = 0 NOFADER ;Fader Increment = 0.
Page 66
Listing of FMequM2.inc REST Lookup values for Instrument Sound tables PatchFLT1 128+0 ;FM Flute tone 1 PatchBRS1 128+1 ;FM Brass tone 1, Medium slow attack PatchBRS2 128+2 ;FM Brass tone 2, Fast attack PatchBRS3 128+3 ;FM Brass tone 3, Slow attack PatchTRM1 128+4 ;FM Brass tone Trombone 1, Slow attack...
Page 67
Listing of FMequM2.inc PatchMT2c 128+13 ;FM Metallic tone 2c PatchMT3a 128+14 ;FM Metallic tone 3a PatchMT3b 128+15 ;FM Metallic tone 3b PatchMT3c 128+16 ;FM Metallic tone 3c PatchMT4a 128+17 ;FM Metallic tone 4a PatchMT4b 128+18 ;FM Metallic tone 4b PatchMT4c 128+19 ;FM Metallic tone 4c PatchMT5a...
Page 68
Listing of FMequM2.inc ATRNS ;Control code for ABSOLUTE Transpose TEMPO ;Control code for Tempo FADER ;Control code for Set Fader MIX0 ;Control code for Modix (Modulation Index) MIX1 ;isolate bits 0–3 for table lookup MIX2 MIX3 MIX4 MIX5 MIX6 MIX7 MIX8 MIX9 MIX10...
Once the MSP53C391 or MSP53C392 has been polled and determined to be ready to accept new data, the data should be loaded quickly until the buffer is again full.
MSP53C391 which might affect the quality of the speech. At the same time, polling the slave less frequently would lengthen...
Page 75
MSP53C391 Timing Waveforms In both cases, it is advisable to follow the timing window for the width of the strobe pulse and also to provide speech data to the slave in response to the interrupt as soon as possible. It is also advisable to keep any interrupt service routine small so that a new Interrupt service request does not occur while the master is processing the previous request.
Page 77
MSP53C392 Timing Waveforms In both cases, it is advisable to follow the timing window for the width of the strobe pulse and also to provide speech data to the slave in response to the interrupt as soon as possible. It is advisable to follow the typical timing window as much as possible for any synthesis algorithm;...
Appendix E Appendix A Listing of FM2INTR1.inc Topic Page Listing of FM2INTR1.inc ........
Page 79
Listing of FM2INTR1.inc E.1 Listing of FM2INTR1.inc FM2INTR1.inc contains ?????? The listings are shown in the following: Patch tables define each instrument sound. * PatchFLT1: Flute tone 1 byte LOADTIMBRE byte ;Carrier Fc = 2Fo byte ;Modulator Fm = 2Fo byte 16*4 ;Modulation Index Scaler...
Page 80
Listing of FM2INTR1.inc * PatchBRS3: Brass tone 3, Slow attack byte LOADTIMBRE byte ;Carrier Fc = Fo byte ;Modulator Fm = Fo byte 32*4 ;Modulation Index Scaler byte 127,69 ;CarAmp, FmAmp Initial Values byte –22,58 CarInc, FmInc – byte –18,–50 CarInc, FmInc –...
MSP53C31 and MSP53C32 Data Sheet F.1 MSP53C31 and MSP53C32 Data Sheet...
Page 100
8-bit data bus Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. Copyright 1999, Texas Instruments Incorporated PRODUCTION DATA information is current as of publication date.
Page 101
MSP53C391, MSP53C392 SLAVE SPEECH SYNTHESIZERS SPSS024 – NOVEMBER 1999 † absolute maximum ratings over operating free-air temperature range Supply voltage range, V (see Note 1) ..........
Page 102
MSP53C391, MSP53C392 SLAVE SPEECH SYNTHESIZERS SPSS024 – NOVEMBER 1999 electrical characteristics over recommended ranges of supply voltage and operating free-air temperature (unless otherwise noted) PARAMETER TEST CONDITIONS UNIT V DD = 3.5 V V T+ Positive going threshold voltage (INIT)
Page 103
MSP53C391, MSP53C392 SLAVE SPEECH SYNTHESIZERS SPSS024 – NOVEMBER 1999 switching characteristics PARAMETER TEST CONDITIONS UNIT Rise time, DATA0 – DATA7, DAC V DD = 3.3 V, C L = 100 pF, 10% to 90% Fall time, DATA0– DATA7, DAC V DD = 3.3 V,...
Page 104
MSP53C391, MSP53C392 SLAVE SPEECH SYNTHESIZERS SPSS024 – NOVEMBER 1999 PARAMETER MEASUREMENT INFORMATION t su1(R/W) t h1(R/W) STROB t su(d) t h(d) DATA Data Valid Figure 2. Write Timing Diagram (Slave Mode) t su2(R/W) t h2(R/W) STROB t dis DATA Data Valid Figure 3.
Page 105
MSP53C391, MSP53C392 SLAVE SPEECH SYNTHESIZERS SPSS024 – NOVEMBER 1999 MECHANICAL DATA N (R-PDIP-T**) PLASTIC DUAL-IN-LINE PACKAGE 16 PIN SHOWN PINS ** 0.775 0.775 0.920 0.975 A MAX (19,69) (19,69) (23.37) (24,77) 0.745 0.745 0.850 0.940 A MIN (18,92) (18,92) (21.59) (23,88) 0.260 (6,60)
Page 106
B-12 sleep state, 4-6 data structure, B-9 volume control, 4-6 detune, B-5 command summary, FM synthesis, B-7 end of song, B-6 commands, FM synthesis, B-2 FM2MERGE software, B-14 comparison, MSP53C391 with MSP53C392, 1-3 format and commands, B-2 Index-1...
Page 107
Index FM synthesis interrupt 2 load timbre command, B-4 MSP53C391, 2-8 MD2FM software, B-13 modulation index adjustment, B-6 musical notes, B-3 tempo control, B-3 load timbre command, FM synthesis, B-4 tempo synchronization, B-4 low power sleep state, 4-6 transposition, B-5...
Page 108
FM synthesis, B-6 command header, 4-2 command sequence, 4-2 MSP50x3x mixed-signal processor, 1-2 command sequences, 4-4 MSP53C391 comparison with MSP53C391, 1-3 CELP data preparation, A-3 D/A information, 1-6 command codes, 4-5 data preparation, A-3 command header, 4-2 data sheet, F-2–F-8...
Need help?
Do you have a question about the MSP53C391 and is the answer not in the manual?
Questions and answers