Vad är syftet med en buffertgrind?

Som jag förstår är en buffertgrind den motsatta av en NOT-grind och ändrar inte ingången:

Det gör ingenting!

Men ibland ser jag IC-buffertgrindar som används i kretsar och med ett oerfaren blick verkar göra ingenting alls. Till exempel har jag nyligen sett en icke-inverterande buffertgrind som används vid utgången av en emitterföljare, ungefär något så här:

Men varför?

Så när skulle man behöva använda en buffert-IC i sin krets? Vad kan syftet med grinden i ovannämnda schema?

Kommentarer

  • Ibland ’ är en översättare av logiknivå mellan olika logiska familjer.
  • @Colin__s Vad? Nej, jag fick precis ett meddelande och märkte att titeln hade ett grammatiskt fel. Jag fick mitt svar. Ledsen för det.
  • I så fall ber du om ursäkt, jag borde inte ’ t har varit så kort.

Svar

Buffertar används när du behöver … ja … en buffert. Som i ordets betydelse. De används när du behöver buffra inmatningen från utgången. Det finns otaliga sätt att använda en buffert. Det finns digitala logiska grindbuffertar, som är genomgående logiskt, och det finns analoga buffertar, som fungerar som genomgångar men för en analog spänning. Den senare ligger ungefär utanför ramen för din fråga, men om du är nyfiken, leta upp ”spänningsföljare”.

Så när eller varför skulle du använda en? Åtminstone när den enklaste och billigaste bufferten av alla är en koppartråd / spår lätt tillgänglig?

Här är några anledningar:

1. Logisk isolering. De flesta buffertar har en ~ OE-stift eller liknande, en utgångsaktiverande stift. Detta gör att du kan förvandla vilken logisk linje som helst till en tristate. Detta är särskilt användbart om du vill kunna anslut eller isolera två bussar (med buffertar åt båda håll om det behövs), eller kanske bara en enhet. En buffert, som är en buffert mellan dessa saker, låter dig göra det.

2. Nivåöversättning. Många buffertar låter utgångssidan drivas från en annan spänning än ingångssidan. Detta har uppenbara användningsområden för att översätta spänningsnivåer.

3. Digitalisering / upprepning / sanering. Vissa buffertar har hysteres, så de kan ta en signal som verkligen försöker vara digital, men bara inte har väldigt bra uppgångstider eller spelar inte riktigt med trösklar eller vad som helst, och städa upp den och förvandla den till en fin, skarp, renkantad digital signal.

4. Fysisk isolering Du måste skicka en digital signal längre än du vill, saker är bullriga och en buffert gör en fantastisk repeater. Istället för att en GPIO-stift i den mottagande änden har en fot av PCB-spår ansluten till den, fungerar som en antenn, induktor och kondensator och bokstavligen kräkas oavsett det höga ljud och förfäran det vill ha direkt i den dåliga tappens gapande mun, du använd en buffert. Nu ser GPIO-stiftet bara spåret mellan det och bufferten och de aktuella slingorna är isolerade. Heck, du kan till och med ordentligt avsluta signalen nu, som med ett 50Ω motstånd (eller vad som helst), för du har en buffert på sändänden också och kan ladda dem på sätt som du aldrig skulle kunna ladda en snygg liten µC-stift.

5. Köra laster. Din digitala ingångskälla är hög impedans, för hög för att faktiskt gränssnitt med enheten du vill styra. Ett vanligt exempel kan vara en lysdiod. Så du använder en buffert. Du väljer en som kan köra, säg, en rejäl 20mA lätt, och du kör lysdioden med bufferten istället för den logiska signalen direkt.

Exempel: Du vill ha statusindikatorer på lysdioder på något som en I2C-buss, men att lägga till lysdioder direkt till I2C-linjerna skulle orsaka signalproblem. Så du använder en buffert.

6. Offer . Buffertar har ofta olika skyddsfunktioner, som ESD-skydd osv. Och ofta inte. Men hur som helst fungerar de som en buffert mellan något och en annan sak. Om du har något som kan uppleva någon form av övergående tillstånd som kan skada något, sätter du en buffert mellan den saken och den övergående källan.

På ett annat sätt, chips älskar att explodera nästan lika mycket som de älskar halvledande . Och för det mesta, när något går fel, exploderar marker. Utan buffertar kommer ofta oavsett övergående som poppar marker åt vänster och höger nå djupt in i din krets och förstöra en massa chips på en gång. Buffertar kan förhindra det. Jag är ett stort fan av offertbufferten.Om någonting kommer att explodera, föredrar jag att det är en 50 ¢ buffert och inte en $ 1000 FPGA.

Det här är några av de vanligaste anledningarna jag kunde tänka mig ovanför mitt huvud. ”Jag är säker på att det finns andra situationer, kanske du kommer att få fler svar med fler användningsområden. Jag tror att alla är överens om att buffertar är väldigt användbara, även om de vid första anblicken verkar ganska meningslösa.

Kommentarer

  • Och du kan få den 50-cent bufferten i en DIP och sätta den i ett uttag, så att när den offras till gudarna för den magiska blå rök, div id = ”3c2638d39c”>

är bara att poppa ut och slå en ny in;)

  • Även buffert kan användas för att synkronisera två signaler genom att införa fördröjning.
  • Ditt svar ska innehålla OP ’ s fall: så nästa steg ’ s ingångsimpedans är inte ’ t parallellt med R1, ändrar Q1s beteende.
  • +1: bra svar och massor av referens info bara på ett ställe! Bara en nitpick: ” buffertar har hysteres ” bör ersättas med något som ” vissa buffertar har hysteres ”. De som inte ’ t kan till och med användas för att öka analoga signaler.
  • @LorenzoDonati Nitpicking är alltid välkommen, liksom redigeringar. Jag gör mitt bästa för att ge bra svar men ingen är perfekt, så jag uppskattar det mycket när andra människor tar sig tid att rätta till eventuella fel eller problem. Och du ’ har helt rätt, bara vissa buffertar har hysteres. Jag ’ Jag uppdaterar svaret därefter, tack! 🙂
  • Svar

    Enkla buffertgrindar har några applikationer:

    • På äldre dagar var det begränsad fan-out av en logisk utgång när den matades till flera efterföljande ingångar. Om jag minns rätt var det cirka 5 för TTL LS. Så om du använde en utgång för att mata mer än 5 ingångar garanterades inte logiknivåerna längre. Du kan använda buffertar för att lösa detta problem. Varje buffert kan mata ytterligare 5 ingångar (med en liten fördröjning involverad). Nu, med CMOS, är det inte riktigt relevant längre, fan-out är större än storleksordningen, och det är aldrig ett problem.
    • Det kan användas för att ”förstärka” en svag signal. Om signalen har en mycket hög impedans och du vill använda den som en ingång till en krets som har låg ingångsimpedans, skulle logiknivåerna inte vara inom specifikationerna. Kanske är det användningen i ditt specifika exempel.
    • Det kan användas som en liten fördröjningslinje.
    • Vanligtvis har bufferten en schmitt-triggeringång (men vi ritar vanligtvis ett litet ”hysteres” -tecken: ⎎ i buffertriangeln, och det verkar som om det inte är ditt fall). Så om logikenivån är mellan hög och låg, är utdata fortfarande förutsägbart definierad (den förblir till den nivå den är). Detta har många användningsområden när man ansluter analoga signaler (t.ex. från sensorer) till digitala ingångar.

    Förutom det finns det inte många användningsområden. Det är därför vi inte hittar dem lätt, faktiskt.

    Kommentarer

    • Förstärkning är rätt på märket. Det är faktiskt funktionen i båda dina första två kulor. Det är ingen slump att en digital buffert använder den tomma triangelns symbol för förstärkare. De fungerar som en spänningsbegränsad strömförstärkare (med mycket icke-linjär förstärkning). Det är samma funktion och en analog spänningsbuffert (som en opamp konfigurerad som en spänningsföljare). Skillnaden är att digitala buffertar vanligtvis bara stöder två utspänningsnivåer, så har också en viss icke-linjär spänningsförstärkning.
    • Den traditionella faktiska ” buffert ” är faktiskt en opamp i enhetsförstärkningskonfiguration. En grind används vanligtvis för mindre belastningar, eller för logisk kantförbättring från deras integrerade schmidt-utlösare , eftersom standardlogik enkelt kan rymma några mA-belastning.
    • Fläkt är en viktig användning. Tack för att du nämnde.

    Svar

    Buffertar används när det behövs för att uppfylla icke-funktionskrav, ofta hastighet (eller ingångs- / utgångsimpedans, vilket påverkar hastigheten). En abstrakt krets visar ofta inte tillräckligt med detaljer för att uppskatta detta behov. I din krets kan R1 vara för hög för att köra vad som är anslutet till utgången till lågt på ett snabbt och pålitligt sätt.

    kan vara att bufferten innehåller utdataskydd (strömbegränsning, ESD-skydd).

    Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *