Tretillståndslogik
Inom digital elektronik är en tri-state eller tre-state buffert en typ av digital buffert som har tre stabila tillstånd: ett högt utgångstillstånd, ett lågt utgångstillstånd och ett högimpedanstillstånd. I högimpedanstillståndet kopplas buffertens utgång från utgångsbussen, vilket tillåter andra enheter att driva bussen utan störningar från tri-state bufferten. Detta kan vara användbart i situationer där flera enheter är anslutna till samma buss och måste turas om att komma åt den. System som implementerar tretillståndslogik på sin buss är kända som en tretillståndsbuss eller tretillståndsbuss .
Tri-state buffertar används vanligtvis i bussbaserade system, där flera enheter är anslutna till samma buss och behöver dela den. Till exempel, i ett datorsystem kan flera enheter såsom CPU, minne och kringutrustning vara anslutna till samma databuss. För att säkerställa att endast en enhet kan överföra data på bussen åt gången, är varje enhet utrustad med en tri-state buffert. När en enhet vill överföra data, aktiverar den sin tri-state buffert, som ansluter dess utgång till bussen och låter den överföra data. När överföringen är klar avaktiverar enheten sin tri-state buffert, vilket kopplar bort dess utgång från bussen och tillåter en annan enhet att komma åt bussen.
Tretillståndsbuffertar kan implementeras med hjälp av grindar, vippor eller andra digitala logiska kretsar. De är användbara för att minska överhörning och brus på en buss, och för att tillåta flera enheter att dela samma buss utan störningar.
INMATNING | PRODUKTION | |
---|---|---|
A | B | C |
0 | 0 | Z (hög impedans) |
1 | Z (hög impedans) | |
0 | 1 | 0 |
1 | 1 |
Används
Grundkonceptet för det tredje tillståndet, hög impedans (Hi-Z), är att effektivt ta bort enhetens inflytande från resten av kretsen. Om mer än en enhet är elektriskt ansluten till en annan enhet, används ofta att sätta en utgång i Hi-Z-läge för att förhindra kortslutning, eller att en enhet kör högt (logisk 1) mot en annan enhet som kör lågt (logisk 0).
Tre-tillståndsbuffertar kan också användas för att implementera effektiva multiplexorer , särskilt de med ett stort antal ingångar.
Tretillståndsbuffertar är väsentliga för driften av en delad elektronisk buss .
Tre-tillståndslogik kan minska antalet ledningar som behövs för att driva en uppsättning lysdioder (tri-state multiplexing eller Charlieplexing ).
Utgångsaktivering vs. chipval
Många minnesenheter som är utformade för att ansluta till en buss (som RAM- och ROM-chips) har både CS ( chip select ) och OE (output enable) stift, som ytligt ser ut att göra samma sak. Om CS inte hävdas har utgångarna hög impedans.
Skillnaden ligger i den tid som behövs för att mata ut signalen. När chipval avaktiveras, fungerar inte chippet internt, och det kommer att finnas en betydande fördröjning mellan tillhandahållande av en adress och mottagning av data. (En fördel är förstås att chippet förbrukar minimalt med ström i det här fallet.)
När chipval bekräftas utför chipet internt åtkomsten, och endast de sista utgångsdrivrutinerna inaktiveras genom att utgångsaktiveringen avaktiveras. Detta kan göras medan bussen används för andra ändamål, och när utgångsaktivering slutligen bekräftas, kommer data att visas med minimal fördröjning. Ett ROM- eller statiskt RAM-chip med en utgångsaktiveringslinje kommer vanligtvis att lista två åtkomsttider: en från chipval bekräftad och adress giltig, och en andra, kortare tid som börjar när utgångsaktivering bekräftas.
Användning av pull-ups och pull-downs
När utgångar är tri-staterade (i Hi-Z-tillstånd) tas deras inflytande på resten av kretsen bort, och kretsnoden kommer att "flyta" om inget annat kretselement bestämmer dess tillstånd. Kretskonstruktörer kommer ofta att använda pull-up- eller pull-down-motstånd (vanligtvis inom intervallet 1–100 kΩ) för att påverka kretsen när utgången är tri-statlig.
PCI -lokalbussen tillhandahåller pull-up-motstånd, men de skulle kräva flera klockcykler för att dra en signal högt med tanke på bussens stora distribuerade kapacitans . För att möjliggöra höghastighetsdrift kräver protokollet att varje enhet som ansluter till bussen driver de viktiga styrsignalerna högt under minst en klockcykel innan de går till Hi-Z-tillståndet. På så sätt är pull-up-motstånden endast ansvariga för att bibehålla busssignalerna inför läckström .
Intel hänvisar till denna konvention som "sustained tri-state", och använder den även i Low Pin Count- bussen.
Alternativ till en trestatsbuss
Open collector input/output är ett populärt alternativ till logik med tre tillstånd. Till exempel I²C- bussprotokollet (ett dubbelriktat kommunikationsbussprotokoll som ofta används mellan enheter) användningen av pull-up-motstånd på de två kommunikationslinjerna. När enheter är inaktiva, "släpper" de kommunikationslinjerna och trelägen deras utgångar, vilket tar bort deras inflytande på kretsen. När alla enheter på bussen har "släppt" kommunikationsledningarna är den enda påverkan på kretsen pull-up-motstånden, som drar ledningarna högt. När en enhet vill kommunicera kommer den ur Hi-Z-tillståndet och driver linjen lågt. Enheter som kommunicerar med detta protokoll låter antingen linjen flyta högt eller driva den lågt – vilket förhindrar alla buskonflikter där en enhet driver en linje högt och en annan låg.
Tidiga mikrokontroller har ofta några stift som bara kan fungera som en ingång, andra stift som bara kan fungera som en push-pull-utgång och några stift som bara kan fungera som en öppen samlaringång /utgång. En typisk modern mikrokontroller har många tre-tillstånd allmänna ingångs-/utgångsstift som kan programmeras att fungera som någon av dessa typer av stift.
En buss med tre tillstånd används vanligtvis mellan chip på ett enda tryckt kretskort (PCB), eller ibland mellan kretskort som är anslutna till ett gemensamt bakplan .
Användning av logik med tre tillstånd rekommenderas inte för on-chip-anslutningar utan snarare för inter-chip-anslutningar.
Tre-tillståndsbuffertar, när de används för att möjliggöra för flera enheter att kommunicera på en databuss , kan funktionellt ersättas av en multiplexer . Det hjälper till att välja utdata från en rad enheter och skriva en till bussen.
Se även
- Buffertförstärkare
- Logisk nivå
- Metastabilitet
- Trevärdig logik
- Fyrvärdig logik
- Niovärdig logik
- Bryr dig inte
- Enpolig, centrerad av (SPCO)
Anteckningar och referenser
- ^ Kulle, Winfield; Horowitz, Paul (1989). Elektronikens konst . Cambridge University Press. s. 495–497. ISBN 0-521-37095-7 .
- ^ 경종민, On-Chip-bussar/nätverk för SoC "On-Chip-bussar [har] ingen användning av tri-state-signaler [eftersom] Tri-state buss är svår för statisk tidsanalys"
- ^ "Tri statlig buffert" .
externa länkar
- Särskilda utgångsportar på allt om kretsar
- Principen för Tristate Multiplexing