Tristate und gleichzeitig niedrig und hoch

Ich lese jetzt über Mikrocontroller und bin verwirrt.

Ich lese einige PDFs und es gibt eine Symbolik des Tristate-Zustands High-> High / Low. Das bedeutet, gleichzeitig von hoch nach hoch und niedrig zu gehen. Wie kann das möglich sein?? was ist der sinn dahinter??

Es hat auch einen gewissen Prozess des gleichzeitigen Wechsels von Tristate zu High und Low und umgekehrt.

Es wird auch in einigen Wellenformen danach angezeigt.

Es wäre hilfreich, wenn Sie uns auf eine Kopie der betreffenden PDFs verweisen oder ein gescanntes Bild zur Verfügung stellen könnten. Dies wird eine Frage der Interpretation sein, und wenn wir sehen können, was gesagt wird, sollten wir keine Schwierigkeiten haben, es zu erklären.
alexander.ee.auth.gr:8083/eTHMMY/archive/147/customStore/… Das ist das PDF, über das ich auf den letzten Seiten spreche. Ich denke, was Herr Lathrop gesagt hat, ist richtig, das dachte ich auch.

Antworten (8)

Jedes Signal kann zu einem Zeitpunkt an einem Ort nur eine Spannung haben. Digitale Mikrocontroller-Pins können aktiv hochziehen, aktiv niedrig ziehen oder auf keine bestimmte Weise ziehen, was bedeutet, dass sie hochohmig sind und die Leitung von etwas anderem angesteuert werden soll. Es gibt kein „Hoch und Tief“.

Was Sie wahrscheinlich verwirrt, sind Zeitdiagramme. Diese zeigen eine Linie hoch bei logisch hoher Spannung, niedrig bei logisch niedriger Spannung und oft in der Mitte, wenn der betreffende Pin nicht angesteuert wird (hohe Impedanz, manchmal auch "Tri-State" genannt). Bei einigen Bedingungen, die durch das Zeitdiagramm gezeigt werden, ist bekannt, dass der Stift aktiv angesteuert wird, aber der Datenwert ist nicht bekannt oder für die Beschreibung irrelevant. In solchen Fällen können Linien, die oft sowohl auf der hohen als auch auf der niedrigen Ebene gezeichnet werden, um den Pin anzuzeigen, beides sein. Natürlich kann es nur in einer realen Instanz einer davon sein, aber wenn das Timing unabhängig vom Datenwert ist, ist dies normalerweise der Fall. Schließlich wäre es irreführend, die Linie nur niedrig oder nur hoch darzustellen. Das würde bedeuten, dass der Stift in diesem Fall besonders niedrig oder hoch sein muss,

Das fand ich logisch

Tristate bedeutet, dass der Pin drei Zustände annehmen kann: 1, 0 oder hochohmig (Hi-Z)

Ich bin mir nicht sicher, was Sie genau gelesen haben (Link zum PDF wäre nützlich), aber das bedeutet nicht, dass der Pin gleichzeitig hoch und niedrig sein kann . Ich vermute, dass die "Wellenform" ein Zeitdiagramm gewesen sein könnte, in dem z. B. Datensignale durch Hoch und Niedrig dargestellt werden können (da nicht bekannt ist, welche sie zu diesem Zeitpunkt sein könnten).

Ein Beispiel - in einem PIC-Mikrocontroller haben Sie ein TRIS-Register (Tristate), das die Pins von Ausgang (niedrige Impedanz) auf Eingang (hohe Impedanz) setzt.

Spannungen (Signale) sind niemals gleichzeitig hoch und niedrig. Sie können jedoch "undefiniert" oder "schwebend" oder "Tri-State" oder einen beliebigen Begriff sein. Dieser Zustand wird üblicherweise als Hochimpedanz bezeichnet. Ein (nicht der einzige) Weg, diesen Zustand in der CMOS-Logik zu erreichen, ist ein Inverter, gefolgt von einem invertierenden Latch. Ein Signal an den Block ist ein /ENABLESignal und das andere ist INPUT. Dieses Logikbit kann beispielsweise verwendet werden, um einen gemeinsam genutzten Bus unter vielen potentiellen Sendern zu multiplexen.

Geben Sie hier die Bildbeschreibung ein

Wenn /ENABLE= 0 = GNDdann OUTPUT = INPUT. Wenn /Enable = 1 = VCCdann OUTPUT = High Impedence(dh schwebend). Das heißt, wenn /ENABLE = 1, OUTPUTist effektiv von jeder Schiene (z. B. VCCoder GND) getrennt, weil die inneren PMOS- und NMOS-Transistoren "aus" sind. Abgesehen von dieser Einschränkung habe ich nur zwei kaskadierte Wechselrichter gezeichnet.

Als Hinweis: Der Name /vor dem ENABLESignal soll die Vorstellung verstärken, dass das Signal eine invertierte Logik ist. Sie können diesen Signalnamen ( /ENABLE) als „Not Enable“ lesen.

Ich denke, Sie brauchen irgendwo einen anderen Wechselrichter - entweder zwischen der Aktivierungsleitung und dem pFET, mit dem er derzeit verbunden ist, oder zwischen der Aktivierungsleitung und dem nFET, mit dem er derzeit verbunden ist.

Ein Tri-State-Signal ist weder niedrig noch hoch. Es kann als vom Rest der Schaltung „getrennt“ betrachtet werden.

V = IZ, wenn Z = eine große Zahl: V/{BIG NUMBER} = sehr kleiner fließender Strom.

(Z ist Impedanz - was "komplexer Widerstand" ist. Aus diesem Grund wird Tri-State manchmal als Hi-Z bezeichnet.)

Es wäre hilfreich, wenn Sie uns auf eine Kopie der betreffenden PDFs verweisen oder ein gescanntes Bild zur Verfügung stellen könnten. Dies wird eine Frage der Interpretation sein, und wenn wir sehen können, was gesagt wird, sollten wir keine Schwierigkeiten haben, es zu erklären.

Im Folgenden sind alle gültigen Ausgangs-Pin-Typen und -Zustände aufgeführt, die Ihnen in den Sinn kommen. (E&OE). Ihre Beschreibungen werden einen Übergang zwischen einigen dieser Zustände beschreiben. Der ziehbare Schmitt-Trigger-Ausgang und Quasi-Ausgangstypen klingen als mögliche Kandidaten.

Mögliche Zustände der Ausgangspins.

Aktiv hoch/niedrig . Pin befindet sich jeweils nur in einem von diesen, wird aber in den einen oder anderen Zustand getrieben. Der Zwischenzustand wird schnell durchlaufen und wird nicht als gültiger Zustand angesehen, und Merkmale im Übergangszustand sind normalerweise nicht definiert.

Offener Abfluss oder offener Kollektor . Der Treiber kann den Pin niedrig verbinden oder den Pin floaten lassen. Es gibt keinen aktiven High-Drive. Der Pin wird im nicht angesteuerten Zustand durch einen externen Widerstand oder Last auf High gezogen oder eventuell durch einen internen Widerstand - falls ja, ist er wahrscheinlich optional schaltbar. Open Drain wird normalerweise aktiv auf Masse gezogen, aber ein High-Side-referenzierter Pin wäre ebenso gültig mit Pull-Down-Last oder Widerständen. Open Drain ist ein Mittel, mit dem 2 oder mehr Pins gleichzeitig denselben Schaltkreis ansteuern können. Mehr als ein Pin kann die Verbindung gleichzeitig treiben, ABER jedes aktive Low zieht die Verbindung auf Low, so dass sie wie ein UND-Gatter mit mehreren Eingängen wirkt,
dh Ausgang = A und B und C und ... .
Jeder niedrige Wert bedeutet, dass der Ausgang niedrig ist.
Ganz hoch bedeutet, dass der Ausgang schwebt und normalerweise hochgezogen würde.

Dreistaaten. Der Pin hat entweder High- und Low-Treiber oder einen Low-Side-Open-Drain-Treiber, aber diese können alle deaktiviert werden, wodurch der Pin in einem nicht festgeschriebenen Zustand verbleibt.
Dies ist als Tristateing (hoch, niedrig, offen) bekannt.
Es wird erwartet, dass der Pin durch einen anderen Pin, der mit derselben Verbindung verbunden ist, auf einen zulässigen hohen oder niedrigen Pegel gezogen wird.
Im Tristate-Modus können 2 oder mehr Pins dieselbe Leitung zu unterschiedlichen Zeiten ansteuern.
Nicht mehr als einer darf die Linie gleichzeitig legal befahren.

Quasi-Ausgabe . Einige Hersteller liefern einen Pin mit möglichst geringer Ansteuerung aus, um ihn auf Wunsch durch ein starkes Eingangssignal übersteuern zu können.

Selbsthaltender Schmitt-Trigger . Dies unterscheidet sich von einem Schmitt-Trigger-Eingang und ähnelt dem Quasi-Ausgang oben.
Ein nicht invertierendes Schmitt-Trigger-Eingangsgatter hat einen schwachen Pull-Up/Down, der von seinem Ausgang zurück zum Pin verbunden ist. Somit erfasst es seinen eigenen Zustand und verriegelt sich selbst entweder hoch oder niedrig. Wenn dieses schwache Pull-Up/Down durch ein starkes Eingangssignal außer Kraft gesetzt wird, folgt der Pin dem Signal und bleibt im letzten Zustand, wenn das Eingangssignal entfernt wird (dh wenn die Treiberquelle hochohmig wird).

Eingang:

Eingangspins sind hochohmige Pins mit interner Logik, die den Pegel des Pins überwacht. Ein optionaler interner Pullup kann bereitgestellt werden. Ein optionaler interner Pulldown kann bereitgestellt werden, aber dies ist weniger üblich. Pullups (oder Downs) sind normalerweise "schwach" im Vergleich zu typischen externen Antrieben und können normalerweise leicht durch interne Signale überschrieben werden.
Ein Eingangsstift kann einen internen, nach innen weisenden Schmitt-Trigger haben, so dass der wahrgenommene Zustand des Stifts plötzlich umkehrt, wenn der Schmitt-Pegel überschritten wird. Dies wirkt sich tendenziell nicht auf den Zustand des tatsächlichen Pin-Signals aus und unterscheidet sich daher von dem oben erwähnten "Pullable Output" des Schmitt-Triggers.

Um die Antwort von Herrn Lathrop zu verstärken: Zeitdiagramme haben zwei Aspekte: (1) was ein Gerät tun wird und (2) was ein Gerät von anderen Geräten erwartet. Timing-Diagramme kombinieren fast immer etwas von beidem (da die meisten Geräte dazu dienen, eine Reaktion auf externe Signale zu bewirken). In vielen Fällen zeigen einige Signale im Zeitdiagramm, was am Eingang angenommen wird, und andere zeigen, was am Ausgang angenommen wird; manchmal können bidirektionale Signale beides kombinieren. Meine Vorliebe für Zeitdiagramme mit bidirektionalen Signalen besteht normalerweise darin, dass Eingangs- und Ausgangsfunktionen auf verschiedenen Zeilen angezeigt werden. Wenn sie sich in einer Zeile befinden, ist es manchmal einfach zu sagen, was Eingabe und was Ausgabe ist, aber manchmal kann es verwirrend sein.

Bei den Geräteeingängen sind einige „Symbole“ zu beachten. Eine durchgehend hohe Linie bedeutet, dass der Eingang als hoch angenommen wird. Ebenso eine, die solide niedrig ist. Eine Linie, die in der Mitte sitzt, oder eine, die hoch und tief schraffiert ist, bedeutet, dass es dem Gerät egal ist, was die Eingabe an diesem Punkt tut; es könnte hoch sitzen, niedrig sitzen oder willkürlich zwischen hoch und niedrig springen. Wenn die Linie hoch beginnt und dann mit einer Reihe paralleler diagonaler Linien niedrig wird, bedeutet dies, dass das Gerät erwartet, dass der Eingang genau einmal von hoch nach niedrig wechselt, sich aber nicht genau darum kümmert, wann dies geschieht. Ebenso, wenn die Linie niedrig beginnt und hoch geht. Wenn bei High und Low parallele horizontale Linien vorhanden sind, bedeutet dies, dass das Signal berechtigterweise hoch oder niedrig sein kann.

In Bezug auf Geräteausgaben sind die "Symbole" größtenteils ähnlich, außer dass sie entweder angeben, was das Gerät tun kann, oder angeben, wann das Gerät etwas Bestimmtes nicht erwarten kann. Der einzige große Unterschied besteht darin, dass eine Linie, die zwischen hoch und niedrig zentriert ist, kein unspezifisches Verhalten bedeutet – es bedeutet, dass das Gerät garantiert kein starkes Hoch oder starkes Tief ausgibt (das Gerät kann sehr schwach hoch oder niedrig ausgeben, aber nicht so stark, dass jedes andere Gerät Schwierigkeiten hätte, es zu überwältigen).

Übrigens ist bei Timing-Diagrammen zu beachten, dass sie im Allgemeinen nicht auf einer bestimmten horizontalen Skala gezeichnet sind. Bestimmte Zeitpunkte werden beschriftet, mit beschrifteten Pfeilen, die sie verbinden. Im Allgemeinen besteht die Funktion eines Zeitdiagramms darin, Aussagen wie die folgenden zu machen:

  1. Für einen korrekten Betrieb muss Ereignis X mindestens Zeit t vor Ereignis Y eintreten
  2. Für einen korrekten Betrieb muss Ereignis X innerhalb der Zeit t von Ereignis Y eintreten
  3. Für einen korrekten Betrieb muss Ereignis X zwischen den Zeitpunkten t1 und t2 von Ereignis Y eintreten
  4. Für einen korrekten Betrieb darf Ereignis X NICHT zwischen den Zeitpunkten t1 und t2 von Ereignis Y eintreten
  5. Wenn das Ereignis X eintritt, gibt das Gerät das Ereignis Y innerhalb der Zeit t aus
  6. Wenn das Ereignis X eintritt, gibt das Gerät das Ereignis Y frühestens zum Zeitpunkt t aus
  7. Wenn Ereignis X eintritt, gibt das Gerät Ereignis Y zwischen den Zeitpunkten t1 und t2 danach aus.

Es ist wichtig zu wissen, dass die Aussagen eines Zeitdiagramms oft unabhängig voneinander sind. Wenn Signale nicht so gekennzeichnet sind, dass sie eine bestimmte zeitliche Beziehung zueinander haben, sollte ihre relative Platzierung im Diagramm als zufällig angesehen werden. Zum Beispiel könnte das Zeitdiagramm für einen ROM-Chip zeigen, dass /CS auf Low geht und dann /OE auf Low geht, und einen Pfeil von der fallenden Flanke von /CS zum Ausgang mit einer beschrifteten Zeit von 100 ns und einen Pfeil von hat fallende Flanke von /OE an den Ausgang mit einer beschrifteten Zeit von 50 ns. Ein solches Diagramm bedeutet nicht, dass die fallende Flanke von /OE vor der Flanke von /CS auftreten muss. Dies bedeutet, dass der Zustand des Ausgangs nicht garantiert ist, außer wenn /CS mindestens 100 ns lang niedrig und /OE mindestens 50 ns lang niedrig war. Sofern keine expliziten zeitlichen Beziehungen zwischen /CS und /OE angegeben sind,

Für Tristate haben wir hohes, niedriges und hohes Z, wobei Z die Impedanz ist. In der Kommunikation wird häufig ein Tristate-Gerät verwendet. Wenn Sie versuchen, drei Bistate-Geräte (High oder Low) an einen gemeinsamen Bus anzuschließen. Einer ist inaktiv, einer sendet und einer empfängt. Das erste Gerät, das in den Low-Zustand geht, zieht die Leitung für die anderen beiden herunter, damit sie keine Daten senden können. Mit Tristate können die Geräte in den High-Z-Modus statt in den Low-Modus wechseln, jetzt kann das verbleibende Schleppgerät Daten normal senden.

Ich glaube nicht, dass in diesen Antworten noch ausdrücklich erwähnt wurde, dass ein Zeitdiagramm in beiden Zuständen eine Linie anzeigen kann, um anzuzeigen, dass es Daten enthält, die nicht bekannt sind, bis das Gerät funktioniert, sodass die Linie entweder hoch sein könnte oder niedrig, wenn es in Gebrauch ist, und wird symbolisch als beides gleichzeitig gezeigt.