LogicAnalyzer: analizzatore logico basato su Raspberry Pi Pico

LogicAnalyzer

Un analizzatore logico è uno strumento indispensabile quando si lavora con l'elettronica digitale. Tuttavia, è anche uno strumento piuttosto costoso. L'analizzatore logico di Agustàn Gimenez Bernad mira ad offrire una soluzione open source a basso costo. Dopo essere passato attraverso diverse revisioni, la versione più recente del dispositivo utilizza un Pico 2 come unità di elaborazione. In questo articolo andremo a descrivere il progetto in questione, sia dal punto di vista hardware che software.

Introduzione

L'analizzatore logico è uno strumento indispensabile per gli ingegneri che progettano circuiti digitali ed è usato per le misure digitali che coinvolgono numerosi segnali o che presentano stringenti requisiti di trigger. Essi si sono evoluti nello stesso periodo in cui i primi microprocessori commerciali sono arrivati sul mercato. Gli ingegneri progettisti di sistemi basati su questi nuovi dispositivi scoprirono presto che il debug dei progetti dei microprocessori richiedeva più input di quelli che gli oscilloscopi potevano offrire. Gli analizzatori logici, con i loro ingressi multipli, offrirono la soluzione a questo problema. Ci sono somiglianze e differenze tra oscilloscopi e analizzatori. Per capire meglio come i due strumenti risolvono le rispettive applicazioni, è utile dare uno sguardo comparativo alle loro capacità individuali.

Oscilloscopio vs Analizzatore

L'oscilloscopio digitale è lo strumento fondamentale per la visualizzazione a scopo generico del segnale. La sua elevata frequenza di campionamento e larghezza di banda consentono di acquisire molti punti in un dato arco di tempo, fornendo misurazioni delle transizioni del segnale (edge), eventi transitori e piccoli incrementi di tempo. Sebbene l’oscilloscopio sia certamente in grado di visualizzare gli stessi segnali digitali di un analizzatore logico, la maggior parte degli utilizzatori di oscilloscopi sono interessati a misurazioni di tipo analogico come tempi di salita e di discesa, ampiezze di picco e tempo trascorso tra le transizioni. Gli oscilloscopi hanno generalmente fino a quattro canali di ingresso e ciò limita la possibilità di misurare più di quattro segnali digitali contemporaneamente. Questo sottolinea la necessità di uno strumento con molti più input, cioè l’analizzatore logico.

L'analizzatore logico ha capacità diverse da quelle di un oscilloscopio e la differenza più evidente tra i due strumenti risiede nel numero di canali (input). Gli analizzatori logici, in genere, hanno tra 34 e 136 canali. Ogni canale accetta come input un segnale digitale. Un analizzatore logico misura e analizza i segnali in modo diverso da un oscilloscopio. L’analizzatore logico non misura i dettagli analogici. Esso rileva invece i livelli logici di soglia. Quando si collega un analizzatore logico a un circuito digitale, lo strumento si occupa solo dello stato logico del segnale. Se l'ingresso è al di sopra di una certa tensione di soglia, il livello viene rilevato come "alto" o "1"; al contrario, se l'ingresso si trova al di sotto della tensione di soglia, viene inteso come “basso” o “0”. Quando un analizzatore logico campiona un segnale di input, memorizza un “1” o uno “0” a seconda del livello del segnale rispetto alla tensione di soglia.

La visualizzazione della temporizzazione delle forme d'onda di un analizzatore logico è simile ai diagrammi di temporizzazione che si trovano nelle schede tecniche o che vengono prodotti dai simulatori. Tutti i segnali sono tempo-correlati, in modo che il tempo di assestamento e tenuta, la larghezza dell'impulso e i dati estranei o mancanti possano essere visualizzati. Oltre al loro alto numero di canali, gli analizzatori offrono importanti caratteristiche che supportano la verifica e il debug nella progettazione digitale. Tra questi ci sono:

  • Sofisticate modalità di trigger che consentono di specificare le condizioni in cui l'analizzatore logico acquisisce i dati.
  • Sonde e adattatori ad alta densità che semplificano la connessione al sistema in prova.
  • Capacità di analisi che traducono i dati acquisiti in istruzioni per il processore e li correlano al codice sorgente.

LogicAnalyzer

LogicAnalyzer è un progetto per creare un analizzatore logico molto economico, ma con capacità paragonabili a quelle dei modelli commerciali. L'analizzatore può campionare fino a 24 canali ad una velocità massima di 100 milioni di campioni al secondo e può essere attivato attraverso un cambiamento di polarità in un singolo canale o in una configurazione formata da un massimo di 16 canali.

Il progetto non comprende solo la parte hardware ma anche quella software, e presenta un'applicazione multipiattaforma che consente di visualizzare e analizzare i segnali. Poiché il dispositivo è unico nel suo genere, il suo protocollo non è compatibile con altri software come Sigrok, ma il client consente di esportare i dati acquisiti in un formato compatibile che può essere letto da altri programmi (c'è anche un'applicazione cmd per catturare direttamente in questo formato se non si desidera utilizzare l'applicazione GUI).

Il progetto si basa sul Raspberry Pi Pico e supporta le sue due varianti, il Pico e il Pico-W, in modo da poter utilizzare il dispositivo senza una connessione fisica al computer.

Hardware

Obiettivo del progetto è quello di creare il dispositivo più economico ma anche più utile possibile. Per questo motivo, i requisiti hardware sono stati ridotti al minimo, fino al punto che la forma più semplice del dispositivo è un Pico. Basta programmare il firmware, collegare alcuni cavi ad esso e l'analizzatore logico è pronto per essere utilizzato.

Questo, però, presenta alcune limitazioni in quanto il Pico supporta solo tensioni di I/O di 3,3 V. Dato ciò, si è reso necessario progettare due  schede:

  1. una per l'analizzatore stesso (in pratica per rendere più facile collegare/scollegare i cavi Dupont e collegarlo alla scheda secondaria) e
  2. una scheda per un convertitore di livello (level shifter), che consente di utilizzare tensioni che vanno da 1.6 V a 5 V.

Inoltre, l'ultima versione della scheda dell'analizzatore consente di concatenare fino a cinque analizzatori in modo da poter campionare fino a 120 canali contemporaneamente.

Il pinout del Pico, in configurazione analizzatore, viene riportato in Figura 1:

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2067 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend