Un diagramma temporale è un grafico che rappresenta in modo schematico come variano ingressi ed uscite di un circuito digitale in funzione del tempo:
Si consideri la seguente porta logica AND a due ingressi. Vogliamo disegnare l'andamento nel tempo dell'uscita Y, noto l'andamento di A e B.
I due ingressi hanno il seguente andamento temporale, descritto a parole:
Il diagramma temporale degli ingressi è quindi il seguente, disegnato a partire dalla descrizione (nota 2):
Il grafico è stato disegnato con WaveDrom e la seguente codifica testuale:
{signal: [
{name: 'A', wave: 'lhlhl'},
{name: 'B', wave: 'lh.l.'},
]}
Si noti che l'informazione sulla durata di ciascun intervallo non è stata riportata nel grafico in quando sufficientemente chiara nella descrizione (ed in questo caso neppure necessaria, nota 1). Sono state disegnate linee tratteggiate verticali in corrispondenza di ciascuna transizione di uno dei segnali di ingresso.
Analogamente non è presente alcun valore numerico o unità di misura sull'asse verticale per indicare il livelli logici alti e bassi, in genere noti o sottintesi.
Possiamo ora disegnare il diagramma temporale relativo all'uscita Y, ricavato direttamente dalla tabella di verità: solo quando A e B sono contemporaneamente alti, anche Y è alto.
Osservazioni:
Disegnare con WaveDrom l'uscita Y di una porta XOR quando gli ingressi A e B sono i seguenti:
Trovare la tabella di verità corrispondente al seguente diagramma temporale. Disegnare inoltre il circuito corrispondente. Disegnare con WaveDrom il diagramma temporale.
I diagrammi temporali (reali) possono essere osservati con un oscilloscopio.
L'immagine seguente mostra un segnale periodico reale (T = 373.8 ns), con valore alto pari a circa 3 V e valore basso 0 V.
Si possono notare i fronti non verticali. In un diagramma temporale questo aspetto viene messo in evidenza, se serve, inclinando le linee che rappresentano i fronti, come mostrato per il segnale A2:
Il grafico è stato disegnato con WaveDrom e la seguente codifica testuale:
{signal: [
{name: 'A1', wave: 'hlhl.h.'},
{name: 'A2', wave: '1010.1.'},
]}
L'inclinazione è definita attraverso il tempo di transizione.
Disegnare con WaveDrom il diagramma temporale dell'esercizio 3, rappresentando i tempi di transizione (con WaveDrom non è possibile impostare il valore numerico dell'inclinazione).
A volte il diagramma temporale appare complesso a causa di numerose linee, rendendo non facile la lettura. Per esempio il seguente diagramma rappresenta un insieme di quattro segnali A3, A2, A1 e A0 (bus)
In questi casi potrebbe essere conveniente raggruppare i segnali, immaginando i quattro bit come un unico numero binario, dove A3 è il bit più significativo (msb) e A0 il quello meno significativo (lsb).
Nel diagramma temporale possiamo indicare la sola linea A costituita da una serie di "esagoni", come rappresentato nell'ultima riga seguente.
Come leggere il diagramma temporale ottenuto:
Il grafico è stato disegnato con WaveDrom e la seguente codifica testuale:
{signal: [
{name: 'A0', wave: '0101010101010101'},
{name: 'A1', wave: '0.1.0.1.0.1.0.1.'},
{name: 'A2', wave: '0...1...0...1...'},
{name: 'A3', wave: '0.......1.......'},
{name: 'A', wave: '2222322222522227',
data: ['0x0', '0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7', '0x8',
'0x9', '1010', '1011', '1100', '13', '14', '15']},
]}
A volte per lunghi periodi di tempo, un segnale non cambia e può essere disegnato come nella seguente figura: A e A1 rappresentano lo stesso segnale
Il grafico è stato disegnato con WaveDrom e la seguente codifica testuale:
{ "signal" : [
{ "name": "A", "wave": "101......01." },
{ "name": "A1", "wave": "101|01." }
]}
Il seguente diagramma contiene due casi particolari (nota 3), riferiti la prima riga ad un segnale singolo, la seconda ad un bus:
L'intervallo evidenziato in blu indica che il valore logico "non ha importanza" (don't care oppure X). Potrebbe valere 1 oppure 0 (oppure alcuni bit a 0 ed alcuni a 1 per il bus) e questo non influenza il funzionamento del circuito. In un certo senso possiamo dire che il valore logico è sia alto che basso.
L'intervallo evidenziato in rosso indica che l'uscita di una porta si trova "ad alta impedenza" (3-state oppure High-Z), cioè né alta né bassa, ma semplicemente non collegata
{signal: [
{name: 'A', wave: '0x..1.z..10'},
{name: 'An', wave: '0x..2.z..22', data: ['0x5', '0x7', '0x0']},
]}
Pagina creata nel febbraio 2020
Ultima modifica: 8 aprile 2023
Appunti scolastici - Versione 0.1026 - Agosto 2024
Copyright 2012-2024, Vincenzo Villa (https://www.vincenzov.net)
Creative Commons | Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)