Domanda:
Tristate e avendo basso e alto allo stesso tempo
Nick Alexis
2011-10-25 23:01:30 UTC
view on stackexchange narkive permalink

Sto leggendo di microcontrollori ora e sono stato confuso.

Sto leggendo alcuni pdf e c'è un simbolismo di condizione tristate Alto-> Alto / Basso. Significa passare da alto ad alto e basso allo stesso tempo. Come può essere possibile?? qual è il significato dietro questo ??

Ha anche qualche processo di passare da tristate ad alto e basso allo stesso tempo e il contrario.

È mostrato anche in alcune forme d'onda dopo .

Sarebbe utile se potessi indirizzarci a una copia dei PDF relativi o fornire un'immagine digitalizzata. Sarà una questione di interpretazione e se riusciamo a vedere ciò che viene detto non dovremmo avere problemi a spiegarlo.
http://alexander.ee.auth.gr:8083/eTHMMY/archive/147/customStore/hardware0.pdf Questo è il pdf di cui sto parlando nelle ultime pagine. Penso che quello che ha detto il signor Lathrop sia giusto, questo è quello che pensavo anch'io.
Otto risposte:
Olin Lathrop
2011-10-25 23:12:14 UTC
view on stackexchange narkive permalink

Qualsiasi segnale può essere a un solo voltaggio alla volta in un posto qualsiasi. I pin del microcontrollore digitale possono tirare attivamente in alto, attivamente tirare in basso o non tirare in alcun modo particolare, il che significa che sono ad alta impedenza e la linea dovrebbe essere guidata da qualcos'altro. Non esiste qualcosa come "alto e basso".

Ciò che probabilmente ti confonde sono i diagrammi temporali. Questi mostrano una linea alta quando alla logica alta tensione, bassa quando alla logica bassa tensione, e spesso nel mezzo quando il pin in questione non è pilotante (alta impedenza, a volte chiamata anche "tri-state"). In alcune condizioni mostrate dal diagramma di temporizzazione, è noto che il pin guiderà attivamente, ma il valore del dato non è noto o è irrilevante per la descrizione. In questi casi, le linee spesso tracciate sia ai livelli alto che basso per mostrare il perno potrebbero essere entrambe. Ovviamente può essere solo uno di quelli in ogni caso reale, ma quando la tempistica è indipendente dal valore dei dati, questo è ciò che di solito viene fatto. Dopotutto, sarebbe fuorviante mostrare la linea solo bassa o solo alta. Ciò indicherebbe che il pin doveva essere specificamente basso o alto in quel caso, non che a quel punto della logica possa assumere un valore di dati arbitrario.

Questo è quello che pensavo fosse logico
Oli Glaser
2011-10-25 23:14:55 UTC
view on stackexchange narkive permalink

Tristate significa che il pin può essere in tre stati: 1, 0 o alta impedenza (Hi-Z)

Non sono sicuro esattamente di quello che leggi (link al pdf sarebbe utile) ma ciò non significa che il pin possa essere alto e basso allo stesso tempo . Sospetto che la "forma d'onda" possa essere stata un diagramma temporale in cui ad es. i segnali dei dati possono essere rappresentati da alti e bassi (poiché non c'è modo di sapere quale potrebbero essere a quel punto)

Un esempio: in un microcontrollore PIC, hai un registro TRIS (tristate), che imposta i pin dall'uscita (bassa impedenza) all'ingresso (alta impedenza)

vicatcu
2011-10-25 23:26:05 UTC
view on stackexchange narkive permalink

Le tensioni (segnali) non sono mai sia alte che basse allo stesso tempo. Possono comunque essere "indefiniti" o "fluttuanti" o "tri-state" o qualunque termine tu voglia. Questo stato è generalmente chiamato alta impedenza. Un (non l'unico) modo per ottenere questo stato nella logica CMOS è un inverter seguito da un latch invertente. Un segnale al blocco è un segnale / ENABLE e l'altro è INPUT . Questo bit di logica può essere utilizzato per multiplexare un bus condiviso tra molti potenziali mittenti, ad esempio.

enter image description here

Se / ENABLE = 0 = GND quindi OUTPUT = INPUT . Se / Enable = 1 = VCC allora OUTPUT = High Impedence (cioè mobile). Vale a dire, quando / ENABLE = 1 , OUTPUT viene effettivamente scollegato da entrambe le guide (ad esempio VCC o GND codice>) perché i transistor PMOS e NMOS interni sono "spenti". Oltre a questo avvertimento, ciò che ho disegnato sono solo due inverter in cascata.

Come nota, il / prima del nome del segnale ENABLE è destinato a rafforzare l'idea che il segnale sia una logica invertita. Puoi leggere il nome del segnale ( / ENABLE ) come "Not Enable".

Penso che tu abbia bisogno di un altro inverter da qualche parte - tra la linea di abilitazione e il pFET a cui è attualmente connesso, o tra la linea di abilitazione e l'nFET a cui è attualmente connesso.
dext0rb
2011-10-25 23:19:15 UTC
view on stackexchange narkive permalink

Un segnale a tre dichiarazioni non è né basso né alto. Può essere considerato "disconnesso" dal resto del circuito.

V = IZ, se Z = qualche numero grande :: V / {GRANDE NUMERO} = quantità molto piccola di corrente che scorre.

(Z sta per impedenza, che è "resistenza complessa". Questo è il motivo per cui tri-dichiarato è talvolta chiamato Hi-Z)

Russell McMahon
2011-10-25 23:35:16 UTC
view on stackexchange narkive permalink

Sarebbe utile se potessi indirizzarci a una copia dei PDF relativi o fornire un'immagine digitalizzata. Sarà una questione di interpretazione e se possiamo vedere cosa viene detto non dovremmo avere problemi a spiegarlo.

Di seguito sono elencati tutti i tipi di pin di output validi e gli stati che vengono in mente. (E&OE). Le tue descrizioni descriveranno una transizione tra alcune di queste tate. L'uscita trigger di Schmitt pullable e i tipi di uscita quasi suonano possibili candidati.

Possibili stati dei pin di uscita.

Attivo alto / basso . Il perno è solo in uno di questi alla volta, ma è guidato in uno o in un altro stato. Lo stato intermedio è transitato rapidamente e non è considerato una condizione valida e le caratteristiche nello stato di transizione di solito non sono definite.

Scarico aperto o collettore aperto . Il driver può collegare il pin basso o può lasciare che il pin fluttui. Non è presente alcun drive high attivo. Il pin viene tirato in alto quando è in uno stato non pilotato da un resistore esterno o da un carico troppo alto o possibilmente da un resistore interno - in tal caso è probabilmente commutabile come opzione. Lo scarico aperto viene solitamente tirato attivamente a terra, ma un pin di riferimento sul lato alto sarebbe ugualmente valido con carichi di pull down o resistori. Lo scarico aperto è un mezzo per consentire a 2 o più pin di pilotare lo stesso circuito contemporaneamente. Più di un pin può comandare legalmente la connessione allo stesso tempo, MA qualsiasi basso attivo abbasserà la connessione in modo che si comporti come un ingresso multiplo AND gate
cioè Uscita = A e B e C e ... Qualsiasi valore basso significa che l'uscita è bassa.
Tutto alto significa che l'uscita è fluttuante e normalmente verrebbe richiamata.

Tri-State. Il pin ha driver high e low o un driver open drain sul lato basso, ma questi possono essere tutti disabilitati lasciando il pin in uno stato non vincolato.
Questo è noto come tristating (alto, basso, aperto).
Si prevede che il pin venga portato a un livello legale alto o basso da un altro pin collegato alla stessa connessione.
La modalità Tristate consente a 2 o più pin di guidare la stessa linea in momenti diversi.
Non più di quanto si possa legalmente guidare la linea contemporaneamente.

Quasi output . Alcuni produttori forniscono un pin con un azionamento volutamente molto debole in modo che possa essere sovrascritto da un segnale di ingresso srong, se lo si desidera.

Trigger di Schmitt autobloccante . Questo è diverso da un ingresso trigger di Schmitt e simile alla quasi uscita sopra.
Un gate di ingresso trigger di Schmitt non invertente ha un debole pull up / down collegato dalla sua uscita al pin. Quindi rileva il proprio stato e si aggancerà automaticamente sia alto che basso. Se questo debole pull up / down viene sovrascritto da un forte input sighnal, il pin seguirà il segnale e rimarrà nell'ultimo stato quando il segnale in ingresso viene rimosso (cioè quando la sorgente di pilotaggio diventa ad alta impedenza.) > Ingresso:

I pin di ingresso sono pin ad alta impedenza con logica interna che monitora il livello del pin. Può essere fornito un pullup interno opzionale. Può essere fornito un pull down interno opzionale, ma questo è meno comune. I pullup (o down) sono solitamente "deboli" rispetto alle tipiche pulsioni esterne e possono di solito essere facilmente sovrascritti da segnali interni.
Un pin di ingresso può avere un trigger di Schmitt rivolto verso l'interno in modo tale che lo stato percepito del pin si ribalti improvvisamente quando il livello di Schmitt è transitato. Ciò tende a non influenzare lo stato del segnale effettivo del pin, quindi è diverso dall'uscita "pullable" del trigger di Schmitt menzionata sopra.

supercat
2011-10-26 19:55:18 UTC
view on stackexchange narkive permalink

Per amplificare la risposta del signor Lathrop: i diagrammi di temporizzazione hanno due aspetti: (1) cosa farà un dispositivo e (2) cosa si aspetterà un dispositivo da altri dispositivi. I diagrammi temporali combinano quasi sempre alcuni di entrambi (poiché la maggior parte dei dispositivi esiste allo scopo di provocare una risposta a segnali esterni). In molti casi, alcuni segnali sul diagramma temporale mostreranno ciò che si presume sull'ingresso e altri mostreranno ciò che si assume sull'uscita; a volte i segnali bidirezionali possono combinare entrambi. La mia preferenza per i diagrammi temporali che coinvolgono segnali bidirezionali è di solito di avere le funzioni di ingresso e uscita mostrate su linee diverse; quando sono su una riga, a volte è facile dire cosa è input e cosa output, ma a volte può creare confusione.

Per quanto riguarda gli input del dispositivo, ci sono alcuni "simboli" di cui essere consapevoli . Una linea che è solidamente alta significa che si presume che l'input sia alto. Allo stesso modo uno che è solidamente basso. Una linea che si trova nel mezzo o una che è tratteggiata in alto e in basso significa che al dispositivo non importa cosa fa l'input in quel punto; potrebbe sedersi in alto, in basso o rimbalzare arbitrariamente tra alto e basso. Se la linea inizia in alto e poi va in basso con un gruppo di linee diagonali parallele, significa che il dispositivo si aspetterà che l'input vada da alto a basso esattamente una volta, ma non si preoccuperà esattamente quando accade. Allo stesso modo se la linea inizia bassa e va alta. Se ci sono linee orizzontali parallele in alto e in basso, significa che il segnale può essere legittimamente alto, o può essere legittimamente basso, ma deve rimanere nel suo stato attuale per la durata della parte indicata del diagramma.

Per quanto riguarda gli output del dispositivo, i "simboli" sono per lo più simili, tranne per il fatto che indicano ciò che ci si può aspettare dal dispositivo o indicano quando non ci si può aspettare che il dispositivo faccia qualcosa in particolare. L'unica differenza principale è che una linea centrata tra alto e basso non significa un comportamento non specificato - significa che è garantito che il dispositivo non emetterà un forte alto o un forte basso (il dispositivo potrebbe emettere molto debolmente alto o basso, ma non così fortemente che qualsiasi altro dispositivo avrebbe difficoltà di sorta a sopraffarlo).

Una cosa importante da notare con i diagrammi temporali, a proposito, è che generalmente non sono disegnati su una particolare scala orizzontale. Alcuni momenti nel tempo saranno etichettati, con frecce etichettate che li collegano. Generalmente, la funzione di un diagramma temporale è di fare affermazioni come le seguenti:

  1. Per un corretto funzionamento, l'evento X deve accadere almeno t prima dell'evento Y
  2. Per un corretto funzionamento, evento X deve accadere entro il tempo t dell'evento Y
  3. Per un corretto funzionamento, l'evento X deve avvenire tra il tempo t1 e t2 dell'evento Y
  4. Per un corretto funzionamento, l'evento X NON deve verificarsi tra il tempo t1 e t2 dell'evento Y
  5. Se si verifica l'evento X, il dispositivo emetterà l'evento Y entro il tempo t
  6. Se si verifica l'evento X, il dispositivo emetterà l'evento Y non prima dell'ora t
  7. Se si verifica l'evento X, il dispositivo emetterà l'evento Y tra il tempo t1 e t2 in seguito .

Una cosa importante da capire è che le affermazioni fatte da un diagramma temporale sono spesso indipendenti. Se i segnali non sono contrassegnati come aventi una particolare relazione di temporizzazione l'uno rispetto all'altro, il loro posizionamento relativo sul diagramma dovrebbe essere considerato casuale. Ad esempio, il diagramma temporale per un chip ROM potrebbe mostrare / CS in calo, quindi / OE in basso e avere una freccia dal bordo discendente di / CS all'output con un tempo etichettato di 100ns e una freccia dal fronte di discesa di / OE all'uscita con un tempo etichettato di 50ns. Un tale diagramma non significa che il fronte di discesa di / OE deve verificarsi prima del bordo di / CS. Significa che lo stato dell'uscita non è garantito tranne quando / CS è stato basso per almeno 100ns e / OE è stato basso per almeno 50ns. A meno che non siano dichiarate relazioni temporali esplicite tra / CS e / OE, possono salire e scendere arbitrariamente, con l'unico avvertimento che a meno che non siano state basse per le durate richieste non c'è alcuna garanzia su ciò che il chip produrrà. >

Jim C
2011-10-26 22:24:23 UTC
view on stackexchange narkive permalink

Per tristate abbiamo Z alta, bassa e alta dove Z è l'impedenza. Un dispositivo tristate viene spesso utilizzato nelle comunicazioni. Se si tenta di collegare tre dispositivi bistate (alto o basso) a un bus comune. Uno è inattivo, uno sta inviando e uno sta ricevendo. Il primo dispositivo che va allo stato basso, abbassa la linea per gli altri due in modo che non possano inviare dati. Con tristate, i dispositivi possono passare alla modalità Z alta invece che bassa, ora il dispositivo di traino rimanente può inviare dati normalmente.

Harry Weston
2011-10-31 23:50:33 UTC
view on stackexchange narkive permalink

Non credo che sia stato ancora menzionato esplicitamente in queste risposte che un diagramma temporale può mostrare una linea in entrambi gli stati per indicare che sta trasportando dati che non possono essere conosciuti fino a quando il dispositivo non funziona, quindi la linea potrebbe essere alto o basso quando è in uso ed è simbolicamente mostrato come entrambi allo stesso tempo.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...