| Author |
Message |
Dave Boland
Guest
|
Posted:
Thu Dec 09, 2004 12:57 am Post subject:
Mixing logic families design rules |
|
|
I need to design a card that has a 3.3 volt processor on it, a couple of
5 volt CMOS parts, and interface to TTL. This is turning into a
headache, so I'd appreciate some advice from experienced system/logic
designers. Let me start by telling you what I think I know, and you can
correct me.
The processor is called 5 volt tolerant, which seems to mean it will
handle a 5.1 volt input without problem. One reference I read said to
add a 100 ohm resistor in series to limit current for the protection
diodes in the processor. Right so far? What is the impact to
reliability of the processor? The reason for asking about reliability
is that I want a design that will work for years and years, not just
long enough for a show and tell.
Back to that processor. The Voh is at least 2.5 volts and the Vol is
about .5 volts, so the output looks like it would work with TTL. Right
so far?
The processor outputs can be either totempole, or open drain. With open
drain, I can pull it high so the output will be above the 3.5 volts
needed by 5 volt CMOS. I assume (yes, I know what that word means) that
the processor can pull the line to .6 volts or less for a low output.
Will this work well and reliably?
I'm told that doing things as described will work, but I sacrifice
propagation speed. Typical numbers seem to be 40 to 80 nS. This may be
a problem for use on a bus.
The alternative is an alphabet soup of logic families from ABT(?), HC,
HCT, and others. This is where I feel especially in the dark. Any good
rules of thumb for mixing logic families? I have some info from Philips
(AN240 I believe), but is is almost 10 years old and fails to mention
some of the logic families I see being used. Have also looked at other
web sites, but things still seem as clear as mud.
Finally, one particular troubling area is interfacing the I2C bus. It
will see a 3.3 volt device, two 5 volt CMOS devices, and one TTL. Since
this is a bidirectional bus things really get messy. Max has some
devices to do this, but I don't know how well they work, or if there is
a better alternative?
Sorry for the long append. Hope no one dozes off reading this. Thanks
for any helpful information.
Dave, |
|
| Back to top |
|
 |
Tim Wescott
Guest
|
Posted:
Thu Dec 09, 2004 1:48 am Post subject:
Re: Mixing logic families design rules |
|
|
Dave Boland wrote:
| Quote: | I need to design a card that has a 3.3 volt processor on it, a couple of
5 volt CMOS parts, and interface to TTL. This is turning into a
headache, so I'd appreciate some advice from experienced system/logic
designers. Let me start by telling you what I think I know, and you can
correct me.
The processor is called 5 volt tolerant, which seems to mean it will
handle a 5.1 volt input without problem. One reference I read said to
add a 100 ohm resistor in series to limit current for the protection
diodes in the processor. Right so far? What is the impact to
reliability of the processor? The reason for asking about reliability
is that I want a design that will work for years and years, not just
long enough for a show and tell.
|
If the processor manufacturer is honest and you follow their guidelines
there should be no impact to reliability. You can often do bizarre and
wonderful things that a manufacturer won't even want to _see_, but that
work fine in practice -- so if you're going off the data sheet you
should be OK.
| Quote: |
Back to that processor. The Voh is at least 2.5 volts and the Vol is
about .5 volts, so the output looks like it would work with TTL. Right
so far?
|
Right.
| Quote: |
The processor outputs can be either totempole, or open drain. With open
drain, I can pull it high so the output will be above the 3.5 volts
needed by 5 volt CMOS. I assume (yes, I know what that word means) that
the processor can pull the line to .6 volts or less for a low output.
Will this work well and reliably?
|
You'd have to check. You'll be pulling it high with a resistor which
will flow some current into the 3.3V supply -- it's up to you to make
sure the voltage gets high enough. I wouldn't do this unless I had to
-- I'd use HCT or ACT parts if I could.
| Quote: |
I'm told that doing things as described will work, but I sacrifice
propagation speed. Typical numbers seem to be 40 to 80 nS. This may be
a problem for use on a bus.
|
See above comment. You can trade off speed, fanout and power
consumption by adjusting your pull-up resistor.
| Quote: |
The alternative is an alphabet soup of logic families from ABT(?), HC,
HCT, and others. This is where I feel especially in the dark. Any good
rules of thumb for mixing logic families? I have some info from Philips
(AN240 I believe), but is is almost 10 years old and fails to mention
some of the logic families I see being used. Have also looked at other
web sites, but things still seem as clear as mud.
|
Read all data sheets carefully, and think hard. In general a TTL
compatible 5V CMOS part should be fine with 3.3V logic.
| Quote: |
Finally, one particular troubling area is interfacing the I2C bus. It
will see a 3.3 volt device, two 5 volt CMOS devices, and one TTL. Since
this is a bidirectional bus things really get messy. Max has some
devices to do this, but I don't know how well they work, or if there is
a better alternative?
|
If you pull up to 5V this _should_ work, assuming that the 3.3V part
allows it and doesn't smoke.
| Quote: |
Sorry for the long append. Hope no one dozes off reading this. Thanks
for any helpful information.
Dave,
Two final suggestions: |
One: See if you can get app engineering support from the processor
vendor or from the distributor. I've always gotten good support and
I've never been involved in any high-volume stuff. There should be an
app engineer out there who's job it is to make you happy with that
processor, if there isn't you should be questioning your choice of
manufacturer and/or distributor.
Two: Allow me to repeat my advise about reading all data sheets
carefully and thinking hard. All the information should be there if you
dig for it or if your local applications engineer points it out. Having
said that, you're the one who's ultimately responsible for making it
work so you shouldn't feel like you're doing it b'guess and b'gosh.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com |
|
| Back to top |
|
 |
Tom Knight
Guest
|
Posted:
Thu Dec 09, 2004 3:21 am Post subject:
Re: Mixing logic families design rules |
|
|
In addition to what Tim writes, you should also check the Iol of the
processor. TTL inputs source significant current, and, especially
with the addition of a pullup resistor to +3.3 you should check that
the output pad can pull it all the way down. The size of the resistor
should be chosen to load the output pad near capacity, likely, if you
are concerned about output speed, since the risetime will be
controlled by the resistance of the pullup and the parasitic
capacitance of the wiring and pads. |
|
| Back to top |
|
 |
Fritz Schlunder
Guest
|
Posted:
Thu Dec 09, 2004 4:06 am Post subject:
Re: Mixing logic families design rules |
|
|
"Dave Boland" <NOSPAMdboland9@stny.rr.com> wrote in message
news:G0Jtd.52231$AL5.10883@twister.nyroc.rr.com...
| Quote: | Finally, one particular troubling area is interfacing the I2C bus. It
will see a 3.3 volt device, two 5 volt CMOS devices, and one TTL. Since
this is a bidirectional bus things really get messy. Max has some
devices to do this, but I don't know how well they work, or if there is
a better alternative?
|
This document may be of some use to you:
http://www.semiconductors.philips.com/acrobat_download/other/mcu/notes_82b96.pdf |
|
| Back to top |
|
 |
Nico Coesel
Guest
|
Posted:
Thu Dec 09, 2004 2:12 pm Post subject:
Re: Mixing logic families design rules |
|
|
Dave Boland <NOSPAMdboland9@stny.rr.com> wrote:
| Quote: | I need to design a card that has a 3.3 volt processor on it, a couple of
5 volt CMOS parts, and interface to TTL. This is turning into a
headache, so I'd appreciate some advice from experienced system/logic
designers. Let me start by telling you what I think I know, and you can
correct me.
The processor is called 5 volt tolerant, which seems to mean it will
handle a 5.1 volt input without problem. One reference I read said to
add a 100 ohm resistor in series to limit current for the protection
diodes in the processor. Right so far? What is the impact to
|
Follow the datasheet for the processor: if it doesn't say 'use
resistors' then don't use resistors.
However, I think you will be running into trouble anyway. If you are
going to mix 3.3V and 5V devices on 1 bus, the 3.3V devices need to be
5V tolerant as well. You can use any 5V tolerant 3.3V logic family to
split the bus with a '245 bidirectional buffer, but this also requires
to make separate address ranges for the 3.3V and 5V devices otherwise
you don't know when to switch the bus on and of. If you need 5V levels
on the 5V side, put a 5V HCT245 in series with the 3.3V '245 and
you'll have comlete translation with standard components. Same goes
for the address line, you can use a 5V HCT244 for these.
| Quote: | Finally, one particular troubling area is interfacing the I2C bus. It
will see a 3.3 volt device, two 5 volt CMOS devices, and one TTL. Since
this is a bidirectional bus things really get messy. Max has some
devices to do this, but I don't know how well they work, or if there is
a better alternative?
|
You can create 2 busses. One for 3.3V devices (pull-up resistors to
3.3V) and one for 5V devices (pull-up resistors to 5V) since the
processor is 5V tolerant.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl |
|
| Back to top |
|
 |
Ken Smith
Guest
|
Posted:
Fri Dec 10, 2004 12:11 am Post subject:
Re: Mixing logic families design rules |
|
|
In article <G0Jtd.52231$AL5.10883@twister.nyroc.rr.com>,
Dave Boland <NOSPAMdboland9@stny.rr.com> wrote:
| Quote: | I need to design a card that has a 3.3 volt processor on it, a couple of
5 volt CMOS parts,
|
Which sort of CMOS do you mean? CD4000 or 74HCXXXX
I suggest you look at using 74HCTXX parts to buffer the outputs of the
micro and raise the swing to full CMOS if you need full swing outputs.
If the number of chips on 3.3V is low, it is usually best to standardize
all your logic signals up to the 5V.
--
--
kensmith@rahul.net forging knowledge |
|
| Back to top |
|
 |
|
|
|
|