I'm wondering if there is such a thing as a tri-state buffer that can
auto-detect the driven signal? It would recognize a driven high or low and
output the same, and be able to detect a floating input, and go to high Z.
I want a buffer that can source or sink >50mA, something my PIC won't
do. The auto detect saves me driving a separate enable line.
Can anyone point me to such a thing?
Thanks and Regards,
Max
My furnace controller has a set of these, for driving up to 100mA
tri-state from an MCU. It uses comparators and MOSFETS:
http://www.delorie.com/house/furnace/
For the gschem-challenged:
If they do what the OP wants, one would have to wonder what happens when
you connect two of them together.
Sylvia.
A window comparator, NPN and PNP transistors and a few resistors? Bias
the input to Vdd/2, connect the emitters to the respective rails,
connect the collectors to the output, drive the bases from the
comparators via resistors. (Level shifting left as an exercise for the
student.) ;)
A more Joergesque solution would probably involve four transistors--NPN
and PNP bases to the input, emitters tied together to Vdd/2 via
appropriate voltage divider, collectors drive output transistors as
above. (Joerg would be able to get the noise immunity right, too.)
Neither of these is as fast or as clean as a tri-state buffer, so if you
need the speed, the window comparator could drive the enable line.
For a MPU application, I might want to try a bit harder to have
everything under CPU control--having the effective circuit topology
change itself like that might give rise to some unusual failure scenarios.
Cheers
Phil Hobbs
Take an ordinary 3-state buffer. Add a pair of resistors and a pair of
the logic gates so they will control the OE.
...but the real problem is that you are giftless and the design is bad.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
There are a few around, but I don't know of one that will drive 50 mA.
Here's one way to do it...
http://focus.ti.com/docs/prod/folders/print/txb0106.html
John
2nd link gets a "do not link directly to this image" message.
LOL
> Hmm, so the PIC has a HI-Z output option?
Yes, program the port as input.
Regarding the problem of the OP: All automatic solutions require some time,
which depends on how much power you want to waste (lower voltage divider
means faster auto detection, but higher constant current flow). Why not
using a bigger microcontroller with more IOs and then using an extra output
for output enable?
--
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
>> For the gschem-challenged:
>>
>> http://www.delorie.com/house/furnace/zone1.png
>
> 2nd link gets a "do not link directly to this image" message.
> LOL
So just copy & paste the URL into your web browser.
http://www.delorie.com/house/furnace/zone1.html
I've had a lot of problems with people linking images from my server
into their web pages and eating up my bandwidth. You're likely using
web-based mail, which looks just like that case. I try to detect
those and block them, to save my bandwidth. I just put in a gmail
exception, that seems to be the common case, please try again.
The same thing that happens when you connect any other tri-state pins
together, I would guess.
I have inserted a Ltspice example , the Mfets need to have a low
gate turn on.
If the turn on state is a problem , Q1 and Q2 can drive a optical
coupler there by, the low voltage from the CPU will hinder the bias on
the Mfets.
Version 4
SHEET 1 880 680
WIRE 224 32 -16 32
WIRE 352 32 224 32
WIRE 448 32 352 32
WIRE 352 48 352 32
WIRE 224 64 224 32
WIRE 448 64 448 32
WIRE 160 112 64 112
WIRE 64 128 64 112
WIRE 304 160 224 160
WIRE 400 160 400 80
WIRE 400 160 304 160
WIRE 448 176 448 160
WIRE 512 176 448 176
WIRE 352 192 352 128
WIRE 352 192 224 192
WIRE 400 192 352 192
WIRE 448 192 448 176
WIRE 304 208 304 160
WIRE 160 240 160 112
WIRE 400 272 400 192
WIRE 448 288 448 256
WIRE -16 304 -16 112
WIRE 64 304 64 208
WIRE 64 304 -16 304
WIRE 224 304 224 288
WIRE 224 304 64 304
WIRE 304 304 304 288
WIRE 304 304 224 304
WIRE 448 304 448 288
WIRE 448 304 304 304
WIRE 512 304 512 256
WIRE 512 304 448 304
FLAG -16 304 0
SYMBOL voltage -16 16 R0
WINDOW 0 -48 16 Left 0
WINDOW 3 -49 104 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 5.0
SYMBOL Misc\\signal 64 112 R0
WINDOW 3 24 44 Invisible 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PULSE(0 3.3 0.0 0.01 0.01 0.25 0.5 0)
SYMBOL res 496 160 R0
SYMATTR InstName R2
SYMATTR Value 100
SYMBOL nmos 400 192 R0
SYMATTR InstName M2
SYMATTR Value Si4836DY
SYMBOL pmos 400 160 M180
SYMATTR InstName M1
SYMATTR Value SI3445DV
SYMBOL res 288 192 R0
WINDOW 0 38 37 Left 0
WINDOW 3 28 79 Left 0
SYMATTR InstName R3
SYMATTR Value 1000
SYMBOL npn 160 64 R0
SYMATTR InstName Q2
SYMBOL pnp 160 288 M180
WINDOW 0 41 38 Left 0
WINDOW 3 41 67 Left 0
SYMATTR InstName Q1
SYMBOL res 336 32 R0
WINDOW 0 -33 50 Left 0
WINDOW 3 -49 25 Left 0
SYMATTR InstName R1
SYMATTR Value 1000
TEXT -50 328 Left 0 !.tran 0 1 0 1 startup
TEXT -8 216 Left 0 ;Tri-State sign
>Hi All,
Frequency?
...Jim Thompson
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona 85048 Skype: Contacts Only | |
| Voice:(480)460-2350 Fax: Available upon request | Brass Rat |
| E-mail Icon at http://www.analog-innovations.com | 1962 |
I love to cook with wine Sometimes I even put it in the food
Wow! I don't think I've ever had a news group response like this
before. Thanks for all the suggestions.
Looking again, the PIC does not have a high z option for the IO pins.
I thought it did. (Rats!) I do need that, so I'll likely use a tri-state
buffer/drivers, and, as one person suggested, use a PIC with a few more IO
pins to cover the OE's.
Best Regards,
Max
><snip>
> Looking again, the PIC does not have a high z option for the IO pins.
>I thought it did. (Rats!)
><snip>
Which PIC? Have you looked closely at the TRIS registers and
considered modifying them as part of your protocol?
Jon
> Greegor <Gree...@gmail.com> writes:
>> > http://www.delorie.com/house/furnace/zone1.png
>>
>> 2nd link gets a "do not link directly to this image" message.
>
> http://www.delorie.com/house/furnace/zone1.html
>
> I've had a lot of problems with people linking images from my server
> into their web pages and eating up my bandwidth. You're likely using
> web-based mail, which looks just like that case.
His headers indicate that he's posting via Google Groups, so he's probably
reading that way:
http://groups.google.com/group/sci.electronics.design/browse_thread/thread/fd343c19af38c925
The PIC has a hi z option, just configure TRIS for that port as input.
Your questions has the following answer:
There are 3 states, high, low, and tristate.
The number 3 in binary is 11
That requires *2* digits, or in this case 2 pins, no matter how you slice it.
Normally, the output state of a tri-state is not a function of what it's
connected to. The OP's requirement appears to be an output that is. So
the situation would not be the same.
Sylvia.
Only in binary. If the logic has 3 values, one pin is like one egg.
(an oeuf).
Tri-state inputs are certainly not unheard of, especially on ICs where
active devices cost much less than pins.
Hi Jon,
Well, I guess I was wrong twice in a row. Sorry about that. I'm
looking at using a PIC18F4450. I picked this one for its USB port,
relatively high I/O count (34 IO), and DIP package. I'm a PIC virgin, and
want to do some dirty breadboarding to prove a concept before picking a
production part that may fit better.
Anyway, sure enough, if you set the TRIS register for inputs, the
output is high Z. I really need to give the rest of this thing a good read,
rather than skimming.
- Max
Nice!
Ed
Yes
>Tri-state inputs are certainly not unheard of, especially on ICs where
>active devices cost much less than pins.
About the only case I know about was Philips with the 'sandcastle' pulse.
That pulse was a combination of blanking and sync IIRC, saved them
a pin on a TV chip.
In FLASH memory, multiple level (I think they are up to 4 levels now, so 4 bits per
cell) are used, probably they use some comparators and gates to 'decode' to binary.
For multiple signals via one wire I think these days 'serial links' are in.
With FPGA (and those are not short of pins normally), you see super fast serial connects
at Gbit speed (like >6 Gbits/second) as interconnect emerging.
I do not expect much of multiple analog level connects, it is simply more complicated,
less noise margin, slower, and has less data transfer capability, then either more wires,
or a serial link.
Power of 2.
One I can recall is some TI op-amps, where a single pin sets one of
three bias levels TLC271? I've seen others as well.
>In FLASH memory, multiple level (I think they are up to 4 levels now, so 4 bits per
>cell) are used, probably they use some comparators and gates to 'decode' to binary.
4 levels would be 2 bits per cell. You'd need 16 levels to get 4
bits-- and would have to have sense amplifiers that are good to
single-digit % stability over temperature and other variations.
>>In FLASH memory, multiple level (I think they are up to 4 levels now, so 4 bits per
>>cell) are used, probably they use some comparators and gates to 'decode' to binary.
>
>4 levels would be 2 bits per cell. You'd need 16 levels to get 4
>bits-- and would have to have sense amplifiers that are good to
>single-digit % stability over temperature and other variations.
Yes, I did mean 4 bits,:
http://www.heise.de/newsticker/ISSCC-Neue-Fe-und-Re-RAMs--/meldung/127109
<quote>
Auf der ISSCC verraten SanDisk/Toshiba etwas mehr zu ihrem bereits
angekündigten Multi-Level-Cell-(MLC-)NAND-Flash mit 64 GBit Kapazität, das
zwar noch aus der 43-nm-Fertigung kommt, aber 4 Bit pro Zelle speichert.
Dennoch soll sich der Chip mit 5,6 MByte/s beschreiben lassen.
<end quote>
As you are so good in French , with 'egg', I thought you would do German too....
Anyways, it says that SanDisk/Toshiba have a multilevel NAND FLASH with 4 bits per cell.
How they do it? I dunno.
It's doable, but probably WAY more work than just tracking down and
extending the enable signal from the driving part.
Good Luck!
Rich
If you have CGI capability, you could block out access from everything
except your own server, with a little clever scripting.
Good Luck!
Rich
Rich Grise wrote:
> On Sun, 15 Feb 2009 07:00:08 +0000, Max Moor wrote:
>
>> I'm wondering if there is such a thing as a tri-state buffer that can
>>auto-detect the driven signal? It would recognize a driven high or low and
>>output the same, and be able to detect a floating input, and go to high Z.
>>
>> I want a buffer that can source or sink >50mA, something my PIC won't
>>do. The auto detect saves me driving a separate enable line.
>>
>
> It's doable, but probably WAY more work than just tracking down and
> extending the enable signal from the driving part.
Difficult, huh. How about two transistors and four resistors?
That's similar to what I do, but I do occasionally put up temporary
photos for people to see - which breaks if you use webmail or webnews.
autodetect is tricky.
maybe do this:
--+-- VCC
/
|/ C
-----| NPN
| |\|
| --\
pic ---+-[1K]--+---
| |/
| |/-
`----| PNP
|\
\
----+-- GND
>>>Tri-state inputs are certainly not unheard of, especially on ICs where
>>>active devices cost much less than pins.
I don' think the original poster was after that, more he wanted to use
the pin bidirectionally
>>About the only case I know about was Philips with the 'sandcastle' pulse.
>>That pulse was a combination of blanking and sync IIRC, saved them
>>a pin on a TV chip.
>
> One I can recall is some TI op-amps, where a single pin sets one of
> three bias levels TLC271? I've seen others as well.
relatively easy to do in analogue
+V
|
[R3]
|
in --[R1]--+--- Vout
|
[R2]
|
-V
another chip that used tristate inputs is the MC145026/145028
encoder/decoder pair historically used for garage door remotes
etc.
so many resistors ?
That doesn't go rail-to-rail, which might bother some logic buses.
...Jim Thompson
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona 85048 Skype: Contacts Only | |
| Voice:(480)460-2350 Fax: Available upon request | Brass Rat |
| E-mail Icon at http://www.analog-innovations.com | 1962 |
With all this hope and change, all you need is a dab of mayonaisse
and you'll have a tasty lunch.
Actually it does, via the 1k. Slow tail at the end, and all
that that implies, yadda yadda yadda.
Cheers,
James Arthur