Hva er hensikten med en bufferport?

Som jeg forstår er en buffer gate det motsatte av en NOT gate og endrer ikke inngangen:

Det gjør ingenting!

Imidlertid ser jeg noen ganger buffer gate IC-er brukt i kretser og til et uerfaren øye de ser ut til å ikke gjøre noe i det hele tatt. For eksempel har jeg nylig sett en ikke-inverterende bufferport brukt ved utgangen av en emitterfølger, omtrent noe slikt:

Men hvorfor?

Så når vil man kreve å bruke en buffer IC i kretsen deres? Hva kan være hensikten med porten i den ovennevnte skjematikken?

Kommentarer

  • Noen ganger er det ‘ en oversetter av logikknivå mellom forskjellige logiske familier.
  • @Colin__s Hva? Nei, jeg fikk nettopp et varsel og la merke til at tittelen hadde en grammatisk feil. Jeg fikk svaret mitt. Beklager det.
  • I så fall beklager jeg, jeg burde ikke ‘ t har vært så kort.

Svar

Buffere brukes når du trenger … vel … en buffer. Som i bokstavelig betydning av ordet. De brukes når du trenger å buffer inngangen fra utgangen. Det er utallige måter å bruke en buffer på. Det er digitale logiske portbuffere, som er gjennomganger logisk, og det er analoge buffere, som fungerer som gjennomganger, men for en analog spenning. Sistnevnte er slags utenfor omfanget av spørsmålet ditt, men hvis du er «nysgjerrig, slå opp» spenningsfølger «.

Så når eller hvorfor vil du bruke en? I det minste når den enkleste og billigste bufferen av alt er en kobbertråd / spor lett tilgjengelig?

Her er noen få grunner:

1. Logisk isolasjon. De fleste buffere har en ~ OE-pin eller lignende, en output-aktiveringsstift. Dette gjør at du kan gjøre hvilken som helst logikklinje til en tristate. Dette er spesielt nyttig hvis du vil være i stand til å koble til eller isolere to busser (med buffere begge veier om nødvendig), eller kanskje bare en enhet. En buffer, som er en buffer mellom disse tingene, lar deg gjøre det.

2. Nivåoversettelse. Mange buffere lar utgangssiden få strøm fra en annen spenning enn inngangssiden. Dette har åpenbare bruksområder for å oversette spenningsnivåer.

3. Digitalisering / gjentakelse / opprydding. Noen buffere har hysterese, slik at de kan ta et signal som prøver virkelig hardt å være digital, men bare ikke har veldig gode oppgangstider eller ikke helt spiller rett med terskler eller hva som helst, og rydde opp og gjøre det om til et fint, skarpt, rent kantet digitalt signal.

4. Fysisk isolasjon Du må sende et digitalt signal lenger enn du vil, ting støyer, og en buffer gjør en flott repeater. I stedet for at en GPIO-pinne i mottakeren har en fot av PCB-spor som er koblet til den, fungerer som en antenne, induktor og kondensator og bokstavelig talt kaster opp uansett hvilken støy og forferdelse den vil ha direkte i den stakkars gapende munn bruk en buffer. Nå ser GPIO-pinnen bare sporet mellom den og bufferen, og gjeldende sløyfer er isolert. Pokker, du kan til og med avslutte signalet ordentlig nå, som med en 50Ω motstand (eller hva som helst), fordi du har en buffer på senderenden også og kan laste dem på måter du aldri kunne laste en liten liten µC-pin på.

5. Kjøre last. Den digitale inngangskilden din er høy impedans, for høy til å faktisk grensesnittet med enheten du vil kontrollere. Et vanlig eksempel kan være en LED. Så du bruker en buffer. Du velger en som kan kjøre, si, en heftig 20mA enkelt, og du kjører LED med bufferen, i stedet for det logiske signalet direkte.

Eksempel: Du vil ha statusindikatorer på lysdioder på noe som en I2C-buss, men å legge til lysdioder direkte til I2C-linjene vil føre til signalproblemer. Så du bruker en buffer.

6. Offer . Buffere har ofte forskjellige beskyttelsesfunksjoner, som ESD-beskyttelse osv. Og ofte har de ikke det. Men uansett fungerer de som en buffer mellom noe og en annen ting. Hvis du har noe som kan oppleve en slags forbigående tilstand som kan skade noe, setter du en buffer mellom den tingen og den forbigående kilden.

Sagt på en annen måte, sjetonger elsker å eksplodere nesten like mye som de elsker halvledende . Og mesteparten av tiden, når noe går galt, eksploderer chips. Uten buffere vil ofte uansett det forbigående som spretter sjetonger venstre og høyre nå dypt inn i kretsen din og ødelegge en haug med sjetonger samtidig. Buffere kan forhindre det. Jeg er en stor fan av offerbufferen.Hvis noe kommer til å eksplodere, foretrekker jeg at det er en 50 ¢ buffer og ikke en $ 1000 FPGA.

Dette er noen av de vanligste årsakene jeg kunne tenke meg på toppen av hodet på meg. «Jeg er sikker på at det er andre situasjoner, kanskje du vil få flere svar med flere bruksområder. Jeg tror alle er enige om at buffere er veldig nyttige, selv om de ved første øyekast virker ganske meningsløse.

Kommentarer

  • Og du kan få den 50-cent-bufferen i en DIP og legge den i en stikkontakt, slik at når den blir ofret til gudene til den magiske blå røyk, div id = «3c2638d39c»>

er bare å poppe den ut og slå en ny inn;)

  • Også buffer kan brukes til å synkronisere to signaler ved å innføre forsinkelse.
  • Svaret ditt skal omfatte OP ‘ s saken: så neste trinn ‘ s inngangsimpedans er ikke ‘ t parallelt med R1, endrer oppførselen til Q1.
  • +1: flott svar og mye referanse info bare på ett sted! Bare en nitpick: » buffere har hysterese » skal erstattes av noe sånt som » noen buffere har hysterese «. De som ikke ‘ t kan til og med brukes til å øke analoge signaler.
  • @LorenzoDonati Nitpicking er alltid velkomne, det samme er endringer. Jeg gjør mitt beste for å gi gode svar, men ingen er perfekte, så jeg setter stor pris på det når andre tar seg tid til å rette opp eventuelle feil eller problemer. Og du ‘ har helt rett, bare visse buffere har hysterese. Jeg ‘ Jeg oppdaterer svaret tilsvarende, takk! 🙂
  • Svar

    Enkle bufferporter har noen få applikasjoner:

    • I eldre dager var det begrenset fan-out av en logisk utgang når den mates til flere påfølgende innganger. Hvis jeg ikke husker riktig, var det rundt 5 for TTL LS. Så hvis du brukte en utgang for å mate mer enn 5 innganger, var ikke logikknivået garantert lenger. Du kan bruke buffere for å løse dette problemet. Hver buffer kunne mate ytterligere 5 innganger (med litt forsinkelse involvert). Nå, med CMOS, er det egentlig ikke aktuelt lenger, fanout er størrelsesorden større, og det er aldri et problem.
    • Det kan brukes til å «forsterke» et svakt signal. Hvis signalet har en veldig høy impedans, og du vil bruke det som en inngang til en krets som har lav inngangsimpedans, ville ikke logikknivåene være innenfor spesifikasjonene. Kanskje dette er bruken i ditt spesifikke eksempel.
    • Den kan brukes som en liten forsinkelseslinje.
    • Vanligvis har bufferen en schmitt-triggerinngang (men vi tegner vanligvis et lite «hysteresetegn»: ⎎ i buffertriangelen, og det ser ut til at det ikke er ditt tilfelle). Så hvis logikknivået er mellom høyt og lavt, er fremdeles definisjonen forutsigbar (den holder seg på nivået den er). Dette har mange bruksområder når man kobler analoge signaler (f.eks. Fra sensorer) til digitale innganger.

    Bortsett fra det, er det ikke mange bruksområder av det. Det er derfor vi ikke finner dem lett, faktisk.

    Kommentarer

    • Forsterkning er rett på merket. Det er faktisk funksjonen i begge de to første kulene dine. Det er ikke tilfeldig at en digital buffer bruker det tomme trekant-symbolet til forsterkere. De fungerer som en spenningsbegrenset strømforsterker (med veldig ikke-lineær forsterkning). Det er den samme funksjonen og en analog spenningsbuffer (som en opamp konfigurert som en spenningsfølger). Forskjellen er at digitale buffere vanligvis bare støtter to utgangsspenningsnivåer, så har også en del ikke-lineær spenningsforsterkning.
    • Den tradisjonelle faktiske » buffer » er faktisk en opamp i enhetskonfigurasjonskonfigurasjon. En gate brukes vanligvis til mindre belastninger, eller for logisk kantforbedring fra deres integrerte schmidt-trigger , som standardlogikk lett kan imøtekomme noen få mA-belastning.
    • Vifte ut er en viktig bruk. Takk for at du nevner.

    Svar

    Buffere brukes når det er nødvendig for å oppfylle ikke-funksjonskrav, ofte hastighet (eller inngangs- / utgangsimpedans, som påvirker hastighet). En abstrakt krets viser ofte ikke nok detaljer til å forstå dette behovet. I kretsen din kan R1 være for høy til å kjøre det som er koblet til utgangen til lavt på en rask og pålitelig måte.

    En annen grunn kan være at bufferen inneholder utgangsbeskyttelse (strømbegrensning, ESD-beskyttelse).

    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *