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
Sorry for the long append. Hope no one dozes off reading
this. Thanks for any helpful information.
Reply by Paul E. Bennett●December 8, 20042004-12-08
Dave Boland wrote:
> 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.
> Sorry for the long append. Hope no one dozes off reading
> this. Thanks for any helpful information.
It's OK Dave, I am still wide awake ;>
You could take a look with the help of Google. Use "Level Shifter Logic" as
the search phrase and you will see a number of different family part
numbers presented that may be of some interest to you.
If, as you say, propogation slew rate is important to you, then using level
shifters or level translators may be the most suitable way of achieving the
If you decide that the speed is not so important then appropriate
pull-up's/down's and careful analysis of the input and output parameters of
your logic families will give you an adequate solution.
Paul E. Bennett ....................<email://peb@a...>
Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/>
Mob: +44 (0)7811-639972 .........NOW AVAILABLE:- HIDECS COURSE......
Tel: +44 (0)1235-811095 .... see http://www.feabhas.com for details.
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
Reply by Joerg●December 8, 20042004-12-08
If this is a long life series product the longevity of parts is an
issue. Personally I believe the HCT series may diminish a bit but HC
should be around a while. HC can operate down to 2V but will become a
lot slower there.
Consider open drain HC parts. Also, you'd have to carefully check the
worst case input transition point of the logic chips you pick. This can
veer from VCC/2 with process tolerances. If you stick with CMOS
throughout you can at least be sure that the outputs swing very close to
the rails under very light loads.
Then there are the usual tricks with feedback, diodes etc. But that
increases complexity and the required real estate. I wouldn't sink from
5V into a 3.3V input via a 100Ohm resistor. Most CMOS logic can't
reliably source so much current and even if it could, 15-20mA into the
port diodes is painful. It's like using the shoes to stop a bicycle.
Also, the current consumption and dissipation of your circuitry goes up
quite a bit. Even worse, if that same output drives something else that
expects 5V it might not be able to reliably do that anymore.
If you do use some special level translators it would be best to talk
with a rep whom you trust well enough. Ask him or her about sales volume
of the part, how many different large volume buyers, and the sales
trend. Don't get stuck with a part that is mainly bought by one party
and then when their design changes the part suddenly becomes unobtanium.
I am not very familiar with FPGA but I have seen digital guys use
versions that were kind of 'bilingual' when it comes to logic levels. I
believe each port could be programmed accordingly.
Reply by ●December 10, 20042004-12-10
> Any good rules of thumb for mixing logic families?
I suggest you use a 74HCT or 74VHCT buffer at 5V for the
TTL/CMOS output signals. These devices accept your 3V IO
and generate good stable 0-5V output swings.
Your input pins can be wired directly, as your micro is
5V tolerant and TTL compatible (as you say).
For the problem regarding I2C I suggest you browse the
Philips website. They have an appnote up that addresses
exactly this problem.