Connect with us

Is there an "auto-detect" tri-state buffer?

Discussion in 'Electronic Design' started by Max Moor, Feb 15, 2009.

Scroll to continue with content
  1. Max Moor

    Max Moor Guest

    Hi All,

    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
     
  2. DJ Delorie

    DJ Delorie Guest

    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:

    http://www.delorie.com/house/furnace/zone1.png
     
  3. Sylvia Else

    Sylvia Else Guest

  4. 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
     
  5. Greegor

    Greegor Guest

  6. Jamie

    Jamie Guest

    Hmm, so the PIC has a HI-Z output option?


    http://webpages.charter.net/jamie_5"
     
  7. Frank Buss

    Frank Buss Guest

    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?
     
  8. Nobody

    Nobody Guest

    So just copy & paste the URL into your web browser.
     
  9. DJ Delorie

    DJ Delorie Guest

    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.
     
  10. DJ Delorie

    DJ Delorie Guest

    The same thing that happens when you connect any other tri-state pins
    together, I would guess.
     
  11. Jamie

    Jamie Guest

    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

    http://webpages.charter.net/jamie_5"
     
  12. Max Moor

    Max Moor Guest

    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
     
  13. Jon Kirwan

    Jon Kirwan Guest

    Which PIC? Have you looked closely at the TRIS registers and
    considered modifying them as part of your protocol?

    Jon
     
  14. Nobody

    Nobody Guest

  15. Sylvia Else

    Sylvia Else Guest

    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.
     
  16. Max Moor

    Max Moor Guest

    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
     
  17. 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.
     
  18. ehsjr

    ehsjr Guest

  19. 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.
    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.
     
  20. Rich Grise

    Rich Grise Guest

    It's doable, but probably WAY more work than just tracking down and
    extending the enable signal from the driving part.

    Good Luck!
    Rich
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-