Jag introducerades för detta tillstånd med hög impedans (det vill säga inte 0 och inte 1) i en tråd.
Jag don ”t förstår skillnaden mellan 0 och hög Z, jag ser att dessa båda är frånvaro av energi i tråden.
Till exempel, om jag är på ena sidan av tråden och på den andra sidan där är en signal, hur kan jag se skillnaden mellan 0 och Z?
Kommentarer
Svar
Jag don” t vet så mycket om andra logikfamiljer, men låt mig berätta om TTL:
Om du lämnar en ingång från en TTL-grind utan anslutning, kommer grinden att läsa det som en logik 1. Folk säger att för att få en logisk 0 måste du ”köra grinden lågt.” Men vad det egentligen betyder är att du måste dra ström från ingångsstiftet för att dra spänningen under logik 0-tröskeln.
En normal TTL-utgångsstift antingen driver utgångsledningen högt (i vilket fall väldigt lite ström strömmar), eller annars driver den ledningen lågt (i vilket fall utgångsstiftet drar ström från hur många ingångsstift det ”fläktar ut” till.
Obs: Dessa strömmar läggs samman. Det är därför det finns en gräns för hur många ingångar som kan drivas från en utgång.
A tri-stat e -utgången kan antingen köra utgångsledningen högt, köra den låg eller ange ”hi-Z-tillstånd” (aka, ”högimpedans-tillstånd”, aka, ”inaktiverad”, aka, ”tri-anges”). I högt Z-läge kopplas utgångsstiftet effektivt bort.
Syftet med tri-state-utgångar är att låta mer än ett chip köra samma linje, som vanligtvis kallas en buss i detta sammanhang. Normalt, om du ansluter två utgångar tillsammans, när den ena går hög och den andra går låg, får du rök — kanske. Om du inte röker får du en stor ström från utgången som försöker köra linjen högt till utgången som försöker köra linjen låg, och du får en odefinierad spänning på bussen.
Om du å andra sidan har ett antal tri-state-utgångar anslutna till bussen, är allt du behöver göra att se till att endast en av dessa utgångar är aktiverade (dvs inte i hög-Z-tillstånd ) när som helst.
Om ingen av förarna på bussen är aktiverad, kommer ”bussen” att flyta ”högt, men förmodligen inte i en väldefinierad tid ram. För att avhjälpa problemet är en TTL-buss med tri-state-drivrutiner vanligtvis ansluten till V + via ett ”pull up” -motstånd som hjälper den att uppnå ett väldefinierat logiskt 1-tillstånd i rätt tid.
Svar
Till exempel om jag är på ena sidan av kabeln och på den andra sidan där är en signal, hur kan jag se skillnaden mellan 0 och Z?
Du ringer skillnaden t.ex. genom att följa kretsen:
Lysdioden kommer att tänds om din signallinje är i 0 -status.
Den tänds inte om den är i Z tillstånd.
Svar
Om man ansluter ett oscilloskop till en kabel som är ansluten till utgångar som alla är i högimpedansläge, får kabeln mycket ljud i datorns miljö.
För att säkerligen se, är en kabel ansluten endast till högimpedansutgångar, är att försöka ansluta ledningen i sin tur till + logisk matningsspänning och GND via ett motstånd. Trådens spänning följer inte om någon matar ut 1 eller 0 till ledningen. Rätt motstånd som kan dra upp och ner beror på den använda logikfamiljen. Det anges i databladet för logikfamiljen.
Svara
om jag är på ena sidan av kabeln och på andra sidan finns signaler (1, 0) eller hög Z, hur kan jag upptäcka skillnaden.
Den verkliga frågan är, varför skulle du vilja till?
Den vanliga anledningen till att ha högt Z är så att flera enheter kan dela en tråd med bara en som sätter data på den åt gången och / eller för att använda en stift som både in- och utgång. applikationer om alla enheter är höga Z är logikenivån odefinierad och kabeln kommer att ”flyta” till vilken restspänning som helst.
Om du tittar på en signal med ett oscilloskop då sondmotståndet (vanligtvis 1 eller 10M Ω) kommer (svagt) att dra spänningen ner till marken och du kan inte säga om den aktivt dras lågt (logik 0) eller hög Z. Ett enkelt sätt att se skillnaden är att injicera en högimpedanssignal (t.ex. nätbrum via fingret) som kortsluts w när logiken drar högt eller lågt.
En annan möjlig användning av högt Z är att generera en 3-utgång. Kretsen nedan (från en Amstrad CPC 464 hemdator) genererar 27 färger med bara 3 digitala utgångar från grindmatrisen. Varje utgång kan antingen dra upp eller ner eller vara hög Z. I hög Z bestäms stiftets spänning av motstånden anslutna mellan Vcc och 0V.
Svar
I digital logik används ofta tri-tillstånd (0,1, Z) för dubbelriktade ”inout” -rader. Detta syns ofta i FPGA (även om detta är mindre vanligt i dagens modernare arkitekturer, där tri-state-modeller vanligtvis syntetiseras till LUTs eller MUXs bakom kulisserna).
Fortfarande, tri-state buffertar på FPGA IO-block finns fortfarande i många tyger. De används för att styra riktningen för dataflödet. Till exempel, om en IO-linje är programmerad att växla från en utgång till en ingång, kommer utgångsdrivrutinen att gå in i en hög -impedans (”Z”), inaktivera utgången och låta mottagargrinden läsa raden.
Svar
Tänk på en digital grind med 5 volt som 1 (HÖG) och 0 volt som 0 (LÅG). Tänk nu på följande fall:
- Om utgången är 0 (LÅG) och om du ansluter en 5 voltbatteri till utgången genom ett motstånd på 5k så kommer strömmen på 1mA att strömma. Om du ansluter utgången till marken (0 volt,) kommer ingen ström att strömma.
- Om utgången är 1 (HÖG) och om du ansluter ett 5 volts batteri till utgången via en motstånd på 5k, då kommer strömmen inte att strömma, men om du ansluter utgången till marken (0 volt) genom ett 5k-motstånd, kommer 5mA ström att strömma. batteriet eller till jordströmmen kommer inte att strömma i vilket fall som helst eftersom kretsen är öppen (dvs. hög impedans.)
0
är när kabeln är ansluten till0
potentialen.Z
är när kabeln är flytande (inte ansluten till någonting). Du kan ’ t ” upptäcka ” high-Z, men du kan dra upp det eller ner.