Voice annunciated test box circuitry

M

mirach

Guest
Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or 256leds
on them and an internal battery and a lead so that when you touch one
of the wires with the lead one of the leds will light showing which pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
individual areas that could store the voice message for the number and
be random accessed. would it need some sort of special trigger? As im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.
 
"mirach" <mirach9320@cox.net> wrote in message
news:1108615433.517803.162940@c13g2000cwb.googlegroups.com...
Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or 256leds
on them and an internal battery and a lead so that when you touch one
of the wires with the lead one of the leds will light showing which pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
individual areas that could store the voice message for the number and
be random accessed. would it need some sort of special trigger? As im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.
I'm sure you'll need to create a circuit to encode all the input lines into
an 8 bit
binary number first. From there, you can interconnect it to a PC so that
the
speech processor, in WinXP can read the decimal equivalent to you.

A program should be running that reads the port for input then clears and
writes
the decimal equivalent to the screen. The Windows accessibility tools
include a
audio screen reader that I have only played with at times. (Microsoft Sam
sounds
like the obsolete SC-01 from Federal Screw Works)

http://www.mindspring.com/~ssshp/ssshp_cd/ss_votr.htm
 
mirach wrote:
Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or
256leds
on them and an internal battery and a lead so that when you touch
one
of the wires with the lead one of the leds will light showing which
pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or
so
individual areas that could store the voice message for the number
and
be random accessed. would it need some sort of special trigger? As
im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.
Hi, Mirach. You're definitely heading in the right direction.

I've done things like this before. In this kind of work environment,
you don't want to have some kind of contraption no one else can
understand in exchange for possibly saving a few bucks. The KISS
principle (Keep It Safe and Simple) applies here. The most important
thing is reliability, and next that your test fixture will be easy to
document and calibrate/test.

If you've got some bucks to spend, nuke the problem by buying a
Measurement Computing CIO-DI-192 board ($299 USD, providing 192 digital
inputs to a PC through an ISA slot), and a CIO-DI-96 board ($179 USD
for 96 inputs). Get some 1K SIPs to use as pullups, and solder them on
the boards before installing them in the closest junker PC with sound
card. Then wire it up and write a program in VB to scan the lines and
output the audio you want to the speakers.

Something which might give you some flexibility in the cost/hassle
tradeoff without adding enormous complexity is to get a CIO-DI48 ($119)
and a CIO-DO48H($179) and use shottky diodes to make a keyboard reading
matrix. You'll have to put the diode matrix in a blivet box outside
the PC.

I would recommend against using the 8255-based DIO-48 for this purpose,
even though it would be a lot cheaper ($119 USD covers the whole thing
-- you can program one 8255 to be all inputs, one to be all outputs,
and you're done) because the I/O are going to be in the "real world".
Even with proper ESD precautions, the 82C55 is trivially easy to hang
up, and you don't want to make a test fixture that's going to make you
look bad because it always messes up. But no matter what route you
use, you really should use a PC for this test.

I hope this has been of help. Simple test fixtures like this can
really help make you look good. If there's a chance of overrunning
outputs, make sure to place a beep sound between outputs to avoid
chatter. Remember to spend enough time on the user interface to make
it user friendly (and don't forget to place your name under your
supervisor's name prominently on the splash screen ;-) ).

Chris
 
Robert Monsen wrote:
mirach wrote:

Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or 256leds
on them and an internal battery and a lead so that when you touch one
of the wires with the lead one of the leds will light showing which pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
individual areas that could store the voice message for the number and
be random accessed. would it need some sort of special trigger? As im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.


You can buy digital voice recorder chips from windbond
(http://tinyurl.com/4y4rp) that allow you to record some amount of
voice. You can cue the voice at any point. Thus, you could record
yourself saying 1,2,3.. and then cause the chip to replay the individual
digits on command. You control it using SPI from a microcontroller. They
go up to 240s of recording time, so you could conceivably record all 256
numbers, but individual digits are probably easier. You can buy them at
digikey or futurlec. I'm sure you can also get pre-recorded voices, but
I didn't spend the time searching.

As to encoding the data, you could use individual multiplexer chips.
However, you could also get 8 octal buffers with high impedance outputs.
Tie each input to a correponding buffer pin, and tie the outputs
together into a bus, all bit zeros together, ones together, etc. Then,
select the buffer chips one at a time, and read the bits for that buffer
in parallel using 8 pins on your microcontroller. Once you have a hit,
just program the SPI device to output the proper voice codes. 16 bits on
the final device, 8 for input, 8 for output. Plus, of course, the 3 or 4
bits for SPI to control the recorder.
Meh. Multiplication. You'd need 32 buffers, and 32 pins to select them.
You need a pin per input. There are probably better ways to do this...

The total part count for this solution would be the voice chip, the
microcontroller, the buffers, and such. You could run it off of a 9V
battery, or use a set of rechargable batteries, and build a recharger
unit for it. Alternately, if it didn't need to be portable, you could
run it off of a wall wart. Total cost would be around $30 for parts, I
think, including PCB and enclosure, depending on the cost of the plug.
If you were to mass-produce these, you could probably make them for $10
each.

I'll work up an estimate for 10 if you want... ;)

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
Thanks guys for the great responses . I could actually get by at
present with 128 individual numbers. (we currently arnt working on the
units with 256 wires). Some of the involved electronics is beyond my
scope of knowlege, so im not against paying someone to put a couple of
these together if a price could be worked out that we both could live
with. I could even send you the empty boxes probably 8"Wide by 6"
high by 2" deep. and they would probably be assembled without the plug
(we can wire the actual plugs) so basically its making the boards and
chips work then I can take it from there. I like the idea of a portable
device ,this is the way our current light boxes are and it would be a
plus to be portable. I had originally wondered if you might be able to
get 128 small cheap 1 or 2 second voice chips that could each be
triggered by a voltage when that wire is touched . But I may be
dreaming on that one :) . I was originally thinking of these chips
replacing the LEDs currently in the boxes. That may be too simplistic
of an idea since im not sure whats avialiable. Let me know what you
think guys. And again Thank You
 
mirach wrote:
Thanks guys for the great responses . I could actually get by at
present with 128 individual numbers. (we currently arnt working on the
units with 256 wires). Some of the involved electronics is beyond my
scope of knowlege, so im not against paying someone to put a couple of
these together if a price could be worked out that we both could live
with. I could even send you the empty boxes probably 8"Wide by 6"
high by 2" deep. and they would probably be assembled without the plug
(we can wire the actual plugs) so basically its making the boards and
chips work then I can take it from there. I like the idea of a portable
device ,this is the way our current light boxes are and it would be a
plus to be portable. I had originally wondered if you might be able to
get 128 small cheap 1 or 2 second voice chips that could each be
triggered by a voltage when that wire is touched . But I may be
dreaming on that one :) . I was originally thinking of these chips
replacing the LEDs currently in the boxes. That may be too simplistic
of an idea since im not sure whats avialiable. Let me know what you
think guys. And again Thank You
The voice chips are fairly expensive, so I think getting a slew of them
won't be practical.

I spent some time attempting to redeem myself by coming up with a simple
way to input your 256 signals.

One simple way would be to use a 16x16 grid of NPN transistors, arranged
in rows and columns. The collectors of all the transistors in a
particular row would be wired together. All of the bases in a column
would be connected together, in such a way that all the bases in a
column could be driven by raising a single pin for that column.

The plug pin you want to identify is then grounded. The others are left
to float.

Now, by powering the columns one by one (through a 1k resistor), you can
find the grounded plug pin by noticing which row goes to 0, using the
column number as the low address byte, and the row number as the high
address byte. If no emitter is grounded, the row will be near logic 1
due to the diode action of the collector.

You can walk through the rows by asserting them one at a time, and then
reading the result with a microcontroller. Once you find the row that is
low, you know the row and column address, and can thus tell the voice
chip which digits to say.

The voice chip will be expensive to run in terms of power, particularly
if you want volume. However, using an earplug would make it a lower
power device, thus allowing for the ability to carry it around.

How big are the plugs?

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
On 16 Feb 2005 20:43:53 -0800, "mirach" <mirach9320@cox.net> wrote:

Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or 256leds
on them and an internal battery and a lead so that when you touch one
of the wires with the lead one of the leds will light showing which pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
individual areas that could store the voice message for the number and
be random accessed. would it need some sort of special trigger? As im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.


---
You will need a microcontroller with 16 bits of IO and an IRQ input,
seventeen 4 line to 16 line decoders, two 8 bit serial-in parallel-out
shift registers, four 4-bit programmable counters, a 512K Eprom with
the words 'zero', 'one', 'two', 'three', 'four', 'five', 'six',
'seven', 'eight', 'nine' burned into it, an 8-bit parallel in DAC, an
audio amp, a loudspeaker, and a test probe.

--
John Fields
 
John Fields wrote:
On 16 Feb 2005 20:43:53 -0800, "mirach" <mirach9320@cox.net> wrote:


Hello
I am a repair tech for medical equipment and am needing to make some
test boxes for simple location of the number of a wire that has been
cut off in a harnesses with as many as 256 wires in them.

These harnesses have a plug on one end and the cut-off unlabled wires
at the other end . Up untill now I have used what is called a "light
box" these boxes have a plug to plug the harness into.. 128 or 256leds
on them and an internal battery and a lead so that when you touch one
of the wires with the lead one of the leds will light showing which pin
on the plug is associated with that wire (each wire is then labled)

Now with what I would like to build.
Since you have to look at these wires through a microscope it is very
time consuming to look up from the scope to see the led every time.
What I would like to do is replace these leds with something that
announces the number like "21" "102" "128" etc. with a voice this
would make labeling much faster.
Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
individual areas that could store the voice message for the number and
be random accessed. would it need some sort of special trigger? As im
sure you can tell my knowlege is limited in this area, I am just
starting to work on this project and anyones ideas would be greatly
appreciated.




---
You will need a microcontroller with 16 bits of IO and an IRQ input,
seventeen 4 line to 16 line decoders, two 8 bit serial-in parallel-out
shift registers, four 4-bit programmable counters, a 512K Eprom with
the words 'zero', 'one', 'two', 'three', 'four', 'five', 'six',
'seven', 'eight', 'nine' burned into it, an 8-bit parallel in DAC, an
audio amp, a loudspeaker, and a test probe.
and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap, and are
addressible for both writing and reading. They have onboard flash too.
This cuts the complexity quite a bit. Once the voice is programmed, you
can copy the data from chip to chip. This replaces the DAC, eeprom, and
all the addressing logic. Just send an SPI command, and it says the
digit. I think the speaker and amp isn't required, if they use
headphones. The winbond chips will drive them directly, I believe.

One could also use one of those phoneme chips (remember "macintalk"?).
They sound horrible though, unless you take great care in building the
phoneme string and timing the output.

The horror is going to be the 256 wires to the plug. Hopefully there is
a reasonable header connection that can be built.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
John Fields wrote:
On Sun, 20 Feb 2005 20:13:34 -0800, Robert Monsen
rcsurname@comcast.net> wrote:



and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap,


---
Got a part number and a price?
---
The ISD400x looks promising. It's $7 at futurlec

http://www.futurlec.com/ICSFOthers.shtml

I'm sure you can get it far cheaper in volume, although fururlec tends
to have alarmingly good prices for certain things. I'm guessing one
could sample a few as well. It's available it in PDIP, which is nice for
quick prototypes.

I reread the datasheet last night. It does have an internal amplifier
that can be used for a headset. The datasheet has a schematic for a
small system using it.

I was hoping they have a version with a prerecorded 'voice model' doing
digits, but, sadly, they don't appear to.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
On Mon, 21 Feb 2005 12:02:40 -0800, Robert Monsen
<rcsurname@comcast.net> wrote:

John Fields wrote:
On Sun, 20 Feb 2005 20:13:34 -0800, Robert Monsen
rcsurname@comcast.net> wrote:



and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap,


---
Got a part number and a price?
---



The ISD400x looks promising. It's $7 at futurlec

http://www.futurlec.com/ICSFOthers.shtml

I'm sure you can get it far cheaper in volume, although fururlec tends
to have alarmingly good prices for certain things. I'm guessing one
could sample a few as well. It's available it in PDIP, which is nice for
quick prototypes.

I reread the datasheet last night. It does have an internal amplifier
that can be used for a headset. The datasheet has a schematic for a
small system using it.

I was hoping they have a version with a prerecorded 'voice model' doing
digits, but, sadly, they don't appear to.
---
2ea HC164 @ 0.50........ $1.00
4ea HC163 @ 0.50........ $2.00
1ea 27C256.............. $1.50
8ea 1% 1/8W R........... $0.25
1ea LM386............... $0.75
-----
Total, Digi-Key......... $5.50

Approximately...

--
John Fields
 
John Fields wrote:
On Mon, 21 Feb 2005 12:02:40 -0800, Robert Monsen
rcsurname@comcast.net> wrote:


John Fields wrote:

On Sun, 20 Feb 2005 20:13:34 -0800, Robert Monsen
rcsurname@comcast.net> wrote:




and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap,


---
Got a part number and a price?
---



The ISD400x looks promising. It's $7 at futurlec

http://www.futurlec.com/ICSFOthers.shtml

I'm sure you can get it far cheaper in volume, although fururlec tends
to have alarmingly good prices for certain things. I'm guessing one
could sample a few as well. It's available it in PDIP, which is nice for
quick prototypes.

I reread the datasheet last night. It does have an internal amplifier
that can be used for a headset. The datasheet has a schematic for a
small system using it.

I was hoping they have a version with a prerecorded 'voice model' doing
digits, but, sadly, they don't appear to.


---
2ea HC164 @ 0.50........ $1.00
4ea HC163 @ 0.50........ $2.00
1ea 27C256.............. $1.50
8ea 1% 1/8W R........... $0.25
1ea LM386............... $0.75
-----
Total, Digi-Key......... $5.50

Approximately...
Where is the DAC? Are you planning on using the EEPROM to bitbang a
filter to get the right sounds? I've seen tricks like that for the PIC.

Also, you don't include the tools for creating the sounds and burning
them into the eeprom. He only wants a few of them. The winbond chip has
a facility to do it itself.

You could probably clock the counters using an output from the uC. The
PIC chips, have the option of outputting the instruction clock on one of
their pins. However, I'm guessing that you would need to divide down the
output somewhat.

One advantage of the SPI interface for the winbond chip is that it's
probably less than a day of work to get working for both record and
send, and has a facility to cue at any point for either recording or
playback. I noticed you are using a counter to clock the eeprom. How are
you going to start at particular digit values? I suppose you could
preset the counters using microprocessor pins, but that means you need
extra uC pins and traces for that.

Maybe outputting a couple of high address pins from the microprocessor
would work. That way, you could divide the address space up into 16
chunks, and easily clock through any of them. All you would need is a
reset line for the counters, and a clock source.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
On Mon, 21 Feb 2005 14:09:21 -0800, Robert Monsen
<rcsurname@comcast.net> wrote:

John Fields wrote:
On Mon, 21 Feb 2005 12:02:40 -0800, Robert Monsen
rcsurname@comcast.net> wrote:


John Fields wrote:

On Sun, 20 Feb 2005 20:13:34 -0800, Robert Monsen
rcsurname@comcast.net> wrote:




and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap,


---
Got a part number and a price?
---



The ISD400x looks promising. It's $7 at futurlec

http://www.futurlec.com/ICSFOthers.shtml

I'm sure you can get it far cheaper in volume, although fururlec tends
to have alarmingly good prices for certain things. I'm guessing one
could sample a few as well. It's available it in PDIP, which is nice for
quick prototypes.

I reread the datasheet last night. It does have an internal amplifier
that can be used for a headset. The datasheet has a schematic for a
small system using it.

I was hoping they have a version with a prerecorded 'voice model' doing
digits, but, sadly, they don't appear to.


---
2ea HC164 @ 0.50........ $1.00
4ea HC163 @ 0.50........ $2.00
1ea 27C256.............. $1.50
8ea 1% 1/8W R........... $0.25
1ea LM386............... $0.75
-----
Total, Digi-Key......... $5.50

Approximately...


Where is the DAC? Are you planning on using the EEPROM to bitbang a
filter to get the right sounds? I've seen tricks like that for the PIC.


+------+
| Q7|----[128R]--+
| | |
| Q6|----[64R]---+
| | |
| Q5|----[32R]---+
| | |
| Q4|----[16R]---+
| | |
| Q3|----[8R]----+
| | |
| Q2|----[4R]----+
| | |
| Q1|----[2R]----+
| | |
| Q0|----[R]-----+---|+\
+------+ | >--+--
27C256 +---|-/ |
| |
+--[R1]---+
|
[R2]
|
GND


Also, you don't include the tools for creating the sounds and burning
them into the eeprom. He only wants a few of them. The winbond chip has
a facility to do it itself.
---
The tools for creating the sounds are a microphone, a PC sound card,
and whatever editing software came with the card or with Windows. I
already have an EPROM programmer but if the OP doesn't, oh, well...
He'll have to work out all the addresses and do a lot of bit-banging
on the SPI interface to set up the addresses to do the recording, so
he'll have to, essentially, build a programmer and program each chip
in real time unless he buys a Winbond programmer.
---

You could probably clock the counters using an output from the uC. The
PIC chips, have the option of outputting the instruction clock on one of
their pins. However, I'm guessing that you would need to divide down the
output somewhat.

One advantage of the SPI interface for the winbond chip is that it's
probably less than a day of work to get working for both record and
send, and has a facility to cue at any point for either recording or
playback. I noticed you are using a counter to clock the eeprom. How are
you going to start at particular digit values? I suppose you could
preset the counters using microprocessor pins, but that means you need
extra uC pins and traces for that.
---
You load the starting address of the digit to be spoken into the shift
registers with two ľC IOs, then broadside load it into the counters
(and through the counters into the EPROM) and clock the counters 'n'
times until the digit data at those addresses has exited the EPROM.
---

Maybe outputting a couple of high address pins from the microprocessor
would work. That way, you could divide the address space up into 16
chunks, and easily clock through any of them. All you would need is a
reset line for the counters, and a clock source.
---
You don't need to reset the counters, you need to load them with the
address corresponding to the start of the audio data for the peculiar
digit needed and then clock them until the digit data has been played
back.

To make it work you only need three ľC IOs; SERIAL DATA for the shift
register, ASYNCHRONOUS PARALLEL LOAD for the counter, and CLOCK for
both of them. With a little judicious programming and counter
selection, the clock line can be shared with the shift register.

--
John Fields
 
John Fields wrote:
On Mon, 21 Feb 2005 14:09:21 -0800, Robert Monsen
rcsurname@comcast.net> wrote:


John Fields wrote:

On Mon, 21 Feb 2005 12:02:40 -0800, Robert Monsen
rcsurname@comcast.net> wrote:



John Fields wrote:


On Sun, 20 Feb 2005 20:13:34 -0800, Robert Monsen
rcsurname@comcast.net> wrote:





and a partridge in a pair tree.

Actually, those winbond SPI voice chips are very cheap,


---
Got a part number and a price?
---



The ISD400x looks promising. It's $7 at futurlec

http://www.futurlec.com/ICSFOthers.shtml

I'm sure you can get it far cheaper in volume, although fururlec tends
to have alarmingly good prices for certain things. I'm guessing one
could sample a few as well. It's available it in PDIP, which is nice for
quick prototypes.

I reread the datasheet last night. It does have an internal amplifier
that can be used for a headset. The datasheet has a schematic for a
small system using it.

I was hoping they have a version with a prerecorded 'voice model' doing
digits, but, sadly, they don't appear to.


---
2ea HC164 @ 0.50........ $1.00
4ea HC163 @ 0.50........ $2.00
1ea 27C256.............. $1.50
8ea 1% 1/8W R........... $0.25
1ea LM386............... $0.75
-----
Total, Digi-Key......... $5.50

Approximately...


Where is the DAC? Are you planning on using the EEPROM to bitbang a
filter to get the right sounds? I've seen tricks like that for the PIC.




+------+
| Q7|----[128R]--+
| | |
| Q6|----[64R]---+
| | |
| Q5|----[32R]---+
| | |
| Q4|----[16R]---+
| | |
| Q3|----[8R]----+
| | |
| Q2|----[4R]----+
| | |
| Q1|----[2R]----+
| | |
| Q0|----[R]-----+---|+\
+------+ | >--+--
27C256 +---|-/ |
| |
+--[R1]---+
|
[R2]
|
GND
Your resistors are set up for Q0 outputting MSB. Do Windows sound
programs save bits this way? I've seen gang programmers can be set up to
reverse the order of bits.

Do you know what kind of fidelity you'll get with that setup? Not that
it matters much for digit output, but you want it to be intelligible.

Also, you don't include the tools for creating the sounds and burning
them into the eeprom. He only wants a few of them. The winbond chip has
a facility to do it itself.


---
The tools for creating the sounds are a microphone, a PC sound card,
and whatever editing software came with the card or with Windows. I
already have an EPROM programmer but if the OP doesn't, oh, well...
He'll have to work out all the addresses and do a lot of bit-banging
on the SPI interface to set up the addresses to do the recording, so
he'll have to, essentially, build a programmer and program each chip
in real time unless he buys a Winbond programmer.
---
Or, he could use a simple onboard programmer, and perhaps a simple uC
program to copy from one device to another using the analog ports. I
don't think you can gang-program the winbond chip, unfortunately, and it
doesn't look like the SPI interface allows programming the flash. It
really is designed to be a voice recorder playback toy.

You could probably clock the counters using an output from the uC. The
PIC chips, have the option of outputting the instruction clock on one of
their pins. However, I'm guessing that you would need to divide down the
output somewhat.

One advantage of the SPI interface for the winbond chip is that it's
probably less than a day of work to get working for both record and
send, and has a facility to cue at any point for either recording or
playback. I noticed you are using a counter to clock the eeprom. How are
you going to start at particular digit values? I suppose you could
preset the counters using microprocessor pins, but that means you need
extra uC pins and traces for that.


---
You load the starting address of the digit to be spoken into the shift
registers with two ľC IOs, then broadside load it into the counters
(and through the counters into the EPROM) and clock the counters 'n'
times until the digit data at those addresses has exited the EPROM.
---


Maybe outputting a couple of high address pins from the microprocessor
would work. That way, you could divide the address space up into 16
chunks, and easily clock through any of them. All you would need is a
reset line for the counters, and a clock source.


---
You don't need to reset the counters, you need to load them with the
address corresponding to the start of the audio data for the peculiar
digit needed and then clock them until the digit data has been played
back.
You could save the shift registers by using 4 bits to set the high
address bits, dividing your eeprom up into 16 equal sections. Program
the digits at those sections, set those bits, and perform a reset when
you want to start playing a section. It's a couple more uC pins, and
it's less flexible, obviously, but it saves the shift registers. That's
a buck!

To make it work you only need three ľC IOs; SERIAL DATA for the shift
register, ASYNCHRONOUS PARALLEL LOAD for the counter, and CLOCK for
both of them. With a little judicious programming and counter
selection, the clock line can be shared with the shift register.
You can get the ISD4002 winbond chips from digikey for $5.08 each if you
buy 25.

You can get the 20 second verion (which is probably enough for 10
digits) for $3.27, although it may be more difficult to cue the output,
since it doesn't have an SPI interface.

There are also dedicated sound output chips that use external eeprom,
similar to your scheme, but they seem designed for higher end systems.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
Robert Monsen wrote:
You can get the ISD4002 winbond chips from digikey for $5.08 each if you
buy 25.

You can get the 20 second verion (which is probably enough for 10
digits) for $3.27, although it may be more difficult to cue the output,
since it doesn't have an SPI interface.
This last bit is in error. I was looking at the european digikey catalog
by mistake (google took me there.) Those prices are in EUROs.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
On Mon, 21 Feb 2005 18:00:25 -0600, John Fields wrote:
On Mon, 21 Feb 2005 14:09:21 -0800, Robert Monsen

Where is the DAC? Are you planning on using the EEPROM to bitbang a
filter to get the right sounds? I've seen tricks like that for the PIC.



+------+
| Q7|----[128R]--+
| | |
| Q6|----[64R]---+
| | |
| Q5|----[32R]---+
| | |
| Q4|----[16R]---+
| | |
| Q3|----[8R]----+
| | |
| Q2|----[4R]----+
| | |
| Q1|----[2R]----+
| | |
| Q0|----[R]-----+---|+\
+------+ | >--+--
27C256 +---|-/ |
| |
+--[R1]---+
|
[R2]
|
GND
Wouldn't an R-2R ladder be less picky about values? Or wouldn't a DAC-08
or the like be cheaper than stuffing all those resistors?

Cheers!
Rich
 
On Mon, 21 Feb 2005 18:18:53 -0800, Robert Monsen
<rcsurname@comcast.net> wrote:

John Fields wrote:
On Mon, 21 Feb 2005 14:09:21 -0800, Robert Monsen
rcsurname@comcast.net> wrote:

+------+
| Q7|----[128R]--+
| | |
| Q6|----[64R]---+
| | |
| Q5|----[32R]---+
| | |
| Q4|----[16R]---+
| | |
| Q3|----[8R]----+
| | |
| Q2|----[4R]----+
| | |
| Q1|----[2R]----+
| | |
| Q0|----[R]-----+---|+\
+------+ | >--+--
27C256 +---|-/ |
| |
+--[R1]---+
|
[R2]
|
GND




Your resistors are set up for Q0 outputting MSB.
---
It's an EPROM, so the bits can be weighted at the discretion of the
designer.
---

Do Windows sound
programs save bits this way?
---
Dunno, don't care. It's a concept, not a finished design. In any
case, reordering bits in a file is semi-trivial.
---

I've seen gang programmers can be set up to
reverse the order of bits.
---
Great.
---

Do you know what kind of fidelity you'll get with that setup? Not that
it matters much for digit output, but you want it to be intelligible.
---
Depends on the sampling frequency, and certainly as good as any of the
"cheap" winbond chips, but what do you mean by "fidelity"?
---


---
You don't need to reset the counters, you need to load them with the
address corresponding to the start of the audio data for the peculiar
digit needed and then clock them until the digit data has been played
back.


You could save the shift registers by using 4 bits to set the high
address bits, dividing your eeprom up into 16 equal sections. Program
the digits at those sections, set those bits, and perform a reset when
you want to start playing a section. It's a couple more uC pins, and
it's less flexible, obviously, but it saves the shift registers. That's
a buck!
---
That's a good idea _and_ it would save a counter, (another 50 cents)
but, at the expense of 4 ľC IOs.
---

You can get the ISD4002 winbond chips from digikey for $5.08 each if you
buy 25.
---
At 25 units, my scheme also gets cheaper...
---

You can get the 20 second verion (which is probably enough for 10
digits) for $3.27, although it may be more difficult to cue the output,
since it doesn't have an SPI interface.
---
The least expensive 20 second chip I can find, which they carry and
which you can buy in quantity 1, is the ISD1420P, and it goes for
$8.72. The 10 second ISD1110P goes for 6.98, but you'd have to send
it the 10 starting addresses and then clock it for just the right
amount of time so that it wouldn't overrun the digit boundaries. So
my counters go away, but the shift register comes back.

Using a cheap Eprom OTOH, at 500ms per digit, 5 seconds is enough, so
a 256k Eprom is just about right.

Sampling at 2f and assuming an upper limit of 3kHz and an 8 bit byte
for the audio source material requires 6000 bytes per second, or 3000
bytes per 500ms digit, for a total of 30,000 bytes. 8 bits per byte
times 30,000 bytes equals 240,000 bits.
---

There are also dedicated sound output chips that use external eeprom,
similar to your scheme, but they seem designed for higher end systems.
---
Mine _is_ the higher end system, scaled back for a mundane
application.

--
John Fields
 
On Tue, 22 Feb 2005 04:34:51 GMT, Rich Grise <richgrise@example.net>
wrote:

On Mon, 21 Feb 2005 18:00:25 -0600, John Fields wrote:
On Mon, 21 Feb 2005 14:09:21 -0800, Robert Monsen

Where is the DAC? Are you planning on using the EEPROM to bitbang a
filter to get the right sounds? I've seen tricks like that for the PIC.



+------+
| Q7|----[128R]--+
| | |
| Q6|----[64R]---+
| | |
| Q5|----[32R]---+
| | |
| Q4|----[16R]---+
| | |
| Q3|----[8R]----+
| | |
| Q2|----[4R]----+
| | |
| Q1|----[2R]----+
| | |
| Q0|----[R]-----+---|+\
+------+ | >--+--
27C256 +---|-/ |
| |
+--[R1]---+
|
[R2]
|
GND

Wouldn't an R-2R ladder be less picky about values? Or wouldn't a DAC-08
or the like be cheaper than stuffing all those resistors?
---
An R-2R ladder would require 17 resistors, so as a discrete
substitution it would be more than twice as expensive. Eight 5%
resistors (plenty good for this application) cost less than a quarter,
lots cheaper than a DAC-08.

Plus, take a look at

http://www.analog.com/UploadedFiles/Application_Notes/72999933AB6.pdf

--
John Fields
 

Welcome to EDABoard.com

Sponsor

Back
Top