Impariamo ad utilizzare l’analizzatore logico distribuito da AZ-Delivery: come si configura, come si collega ad Arduino per leggerne i valori.
Chiunque abbia un minimo di conoscenze in elettronica sa cosa sia un oscilloscopio. Chi è abituato a trafficare con diodi, transistor e resistori sa riconoscere un tester di tensione/corrente.
Le cose però cambiano quando ci troviamo di fronte ad un analizzatore logico. L’analizzatore di stati logici, o analizzatori di porte logiche, è uno strumento composto da hardware e software in grado di monitorare i segnali digitali. Un segnale digitale è caratterizzato da un tempo di salita rapidissimo ed uno stato. Lo stato del segnale può esswerre definito alto o basso, oppure essere modulato per “assomigliare” ad un segnale continuo (ricordate i segnali PWM di Arduino?).
L’analizzatore logico è usato in tutta una serie di contesti in cui è necessario analizzare un protocollo fisico in un circuito digitale. Un esempio può essere l’analisi del protocollo I2C.
Analizzatore logico: definizioni
Un analizzatore logico è uno strumento di analisi elettronica che consente di visualizzare i segnali di un circuito digitale. Un analizzatore logico può convertire i dati catturati in diagrammi temporali, decodifiche di protocolli, stati di una macchina a stati finiti o linguaggio assembly.
L’analizzatore logico consiste in uno schermo dove visualizzare i dati, un convertitore analogico-digitale e di un microprocessore per elaborare i segnali digitali così acquisiti. Quello che lo differenzia da un comune oscilloscopio è la capacità di analizzare e memorizzare segnali aperiodici.
Per l’acquisizione di segnali multipli, l’analizzatore logico è dotato di più canali, collegabili a diversi punti del circuito in esame, in modo da visualizzare i valori logici nello stesso dominio temporale.
Spesso gli analizzatori logici necessitano di una condizione di attivazione (trigger condition) per iniziare l’acquisizione come la discesa o salita di uno dei segnali monitorati.
Uhmmm… ne so quanto prima
Tante parole apparentemente vuote non potranno certo aiutare la comprensione. Ma gli analizzatori logici come quello presentato in evidenza nell’articolo può costare davvero tanto. Svilendo così le aspettative del maker in erba. E allora?
Allora utilizziamo un prodottino sviluppato ad hoc per approfondire le nostre conoscenze.
L’analizzatore logico di AZ-Delivery si basa su sistemi più precisi e costosi, ma costa solo 15 euro (oltre 10 volte meno degli avversari), e utilizza software 100% free,. Non potevamo quindi non prenderlo in considerazione.
Il sistema è comunque in grado di operare in modo che che i segnali registratipossano essere visualizzati e analizzati utilizzando il software originale.
Le informazioni più importanti in breve
- Connessione dati tramite cavo mini USB-B
- 8 ingressi di segnale misurabili paralleli
- Campo di misura 0-5 V
- Frequenza massima di campionamento di 24 milioni di passaggi al secondo
- Misurazione digitale bassa: <0,8V » Misura digitale alta:> 2,0 V
Installazione dell’analizzatore logico
Ogni hardware che si rispetti ha bisogno di un software per il pilotaggio. Se poi questo software è anche free, tanto meglio.
Visitando la pagina https://www.saleae.com/downloads è possibile scaricare il software Saleae Logic per i sistemi Linux, Windows e MacOS. Con l’installazione verranno installati anche i driver corretti per il dispositivo.
In alternativa è possibile optare per il software di analisi sigrok, completamente open source.
E’ finalmente possibile collegare il Logic Analyzer al proprio computer e avviare il programma “Saleae Logic”, la riga superiore dovrebbe mostrare “[Connected]”. Ora siamo pronti per iniziare!
Si ma… come si interpretano quei segnali? E come è possibile monitorare due Arduino che parlano tra loro in I2C decodificando il protocollo?
Continuate a seguire i nostri articoli: e parleremo più approfonditamente la prossima settimana!
Link utili
- Analizzatore logico AZ-Delivery
- Software di analisi Saleae Logic (Fully featured demo mode)
- Software di analisi Sigrok (Open Source multiplatform)
- Arduino UNO
Join our groups on Telegram…