wire wrapping power, ground, and
speaker wires to the PCB. I set my DC
power supply to eight volts (there is
an on-board 7805 regulator on the
PCB to make + 5 volts) and connected
the power lead. The speaker instantly
said “Ready.” Wow! What a nice
indication that the PCB is working.
This, by the way, was the first thing
the SpeakJet said to me.
■ FIGURE 2. Here is
the setup on my
workbench that
interfaces the Z8
Encore! XP development board to the
SpeakJet and TTS256.
The SpeakJet supercarrier PCB is at the
top to the right of the
speaker. The T TS256
is plugged into the
large protoboard.
3. Next, I installed the PhraseAlator
application, which allows you to control the SpeakJet via a serial connection. Figure 1 shows the application
window. Clicking on a sound icon —
such as any of the Robot sounds R0
through R9 — instantly plays the
sound sample (allophone) on the
SpeakJet. All allophones required to
synthesize human speech are available
in the PhraseAlator, plus many other
useful sounds, such as the Touch Tone
and Musical sounds. The PhraseAlator
controls the SpeakJet via a serial cable
from the PC’s COM port, operating at
2400 baud. The PhraseAlator requires
the registered file MSCOMM32.OCX to
operate. Simply place a copy of the file
in the \windows\system folder and
then run the REGSVR32 application to
register the file, as in:
baud. Figure 2
shows the results of
my breadboarding.
The TTS256 (like the SpeakJet) requires
a TTL serial waveform (eight data bits,
no parity, one stop bit, abbreviated
as 8N1). An IC on the SpeakJet
supercarrier PCB (the eight-pin DS275)
converts from RS232 levels to TTL.
By carefully tapping into signals
available on the PCB, and by setting
the jumpers appropriately, I was able
to use the DS275 to drive the TTL
signals on the TTS256. The TTS256, in
turn, controls the SpeakJet with
its own TTL serial connection, as
illustrated in Figure 3.
regsvr32 \windows\system\mscomm
32.ocx
The PhraseAlator, SpeakJet
manual, and MSCOMM32.OCX are all
available via download.
4. After playing with the PhraseAlator
for several minutes, listening to all
the different sounds (these sounds
are the second ‘thing’ the SpeakJet
said to me), I then interfaced the
SpeakJet PCB with the 28-pin TTS256
Text-To-Speech translator
designed specifically for the
SpeakJet. You just send an
ASCII text string to the
TTS256, such as “Hello,
please talk,” and the TTS256
does all the work of controlling the SpeakJet to make the
required words come alive.
The ASCII text string is
sent to the TTS256 in serial
form also, at a speed of 9600
5. Before connecting the Z8 Encore!
XP as the host controller, I used my
PC and ran Hyper Terminal to communicate with the TTS256. I configured
HyperTerminal for 9600 baud and
8N1, established a connection, typed
in the phrase “Hello, please talk,” and
pressed Enter. The words “Hello
please talk” played out on the speaker. I was so pleased, I entered a second phrase and heard “This is so simple I cannot believe it” come out next.
ful. I searched ZiLOG’s application
notes for the XP development board,
and eventually found AN0191.PDF,
titled ‘Reading Temperature Using the
Z8 Encore! XP MCUs.’
A companion ZIP file, AN0191-
SC01.ZIP, contained the compiler
project files for the temperature
application. This is where I spent the
most time, learning how the application worked and then modifying it to
send the proper ASCII strings to the
TTS256. Part of this effort required a
change from ZiLOG’s standard 38,400
baud rate to the slower 9600 baud
used by the TTS256. I also had to set
the Flow Control parameter to None
in the COM port properties.
In addition, I had to add enough
of a pause between messages to allow
the SpeakJet to do its talking. Sending
the messages too fast resulted in
dropped words, as well as portions of
words pronounced incorrectly. I spun
my wheels for a while trying to get the
wrong project working (it was not
designed for the XP) and looking at
6. Now the challenge was to get the
Z8 Encore! XP to make the TTS256-
SpeakJet system say something use-
■ FIGURE 3. Simplified diagram
showing the connections between the
host controller (the Z8 Encore! XP), the
TTS256, and the SpeakJet.
Z8 Encore XP!
Development Board
TTS256
SpeakJet
RS232
DS
275
TTL
TTL
9600 Baud, 8N1
2400 Baud, 8N1
March 2006 85