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,