Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Analizzatore logico e segnali MIDI

Apparecchi di misura: oscilloscopi, multimetri, analizzatori di rete ecc
0
voti

[1] Analizzatore logico e segnali MIDI

Messaggioda Foto UtenteFrenzi » 22 gen 2021, 23:20

Ciao a tutti, ho di recente acquistato un analizzatore logico HP 1630G (volevo mettere in allegato il manuale, ma è troppo pesante.. su google si trova senza sforzo) e se qualcuno sa aiutarmi, vorrei avere una delucidazione.

Il campo in cui sto "pasticciando" adesso sono i segnali MIDI e sto cercando di "vederli" (nel vero senso della parola) piuù da vicino (per chi non conoscesse il protocollo midi, è un protocollo seriale a 31250 baud).
Con l'oscilloscopio (Rigol DS1054Z) sono riuscito senza problemi ad acquisirli e a decodificarli, ma mi sono chiesto come fare ad acquisirli mediante il mio nuovo (si fa per dire dato che ha almeno 35 anni) acquisto, per l'appunto l'analizzatore logico HP 1630G.
Lo scopo è al momento puramente didattico, ma per progetti/riparazioni future la possibilità di poter leggere più di 60 stati logici in contemporanea potrebbe tornare assai utile.
Premetto che dopo un paio di giorni di spaesamento ho iniziato a capire come utilizzarlo (dopo aver letto e riletto il manuale) e sono riuscito ad acquisire con successo diversi segnali logici che ho creato per l'occasione, generando il clock necessario con il generatore di funzioni (ad esempio ho acquisito con successo il conteggio di un hcf4022); il problema si pone qui: "giustamente" lui oltre ai segnali logici richiede sempre il clock a cui riferire quei dati, in modo da visualizzarli con il "timing" corretto; nelle mie prove ho sempre avuto a disposizione il clock in quanto lo generavo io e non c'era problema a darglielo in pasto.
A quanto ho capito (a pag. 38 / 4-5 del manuale) senza il clock lui non fa visualizzare alcun segnale perché non sa a cosa riferire i dati, però almeno i diagrammi degli stati logici non potrebbe plottarli ugualmente (anche se ovviamente mancherebbe la parte di decodifica)?
Non sono riuscito ad arrivare a questo risultato, e vi chiedo se qualcuno ne sa di più di aiutarmi in quanto non sono riuscito a trovare una soluzione.

Il problema si pone in quanto molte volte capita di avere la linea dati, ma non avere il clock di riferimento, come nel caso della trasmissione midi che sto provando ad analizzare, di cui posso vedere i dati, ma il clock è non solo interno alla tastiera (che non mi va di smontare), ma generato internamente al processore, quindi completamente inaccessibile "esternamente".

L'idea che mi è venuta è questa: noto il baud rate della trasmissione dati (in questo caso 31250 baud) potrei generare un clock con la frequenza corretta (31,250 kHz, giusto?) sincronizzato al primo bit della trasmissione midi e darlo come riferimento all'ingresso del clock sull'analizzatore logico.
Il primo problema che mi è venuto in mente è che un'eventuale discrepanza di baud rate tra il clock "originale" e il mio clock porterebbe sulla lunga distanza ad errori, ma essendo che io eseguo l'acquisizione di messaggi rapidissimi in modalità "single" la discrepanza credo che sia trascurabile.

Qualcuno saprebbe darmi un consiglio? Grazie a tutti
Avatar utente
Foto UtenteFrenzi
75 4
New entry
New entry
 
Messaggi: 68
Iscritto il: 4 giu 2015, 11:52

1
voti

[2] Re: Analizzatore logico e segnali MIDI

Messaggioda Foto UtenteFrenzi » 23 gen 2021, 12:21

Mi rispondo parzialmente da solo: ho effettuato diverse prove e sono giunto alla conclusione che non avevo chiare un po di cose:

1) Questo analizzatore logico ha 4 tipologie di canali differenti: state, timing, clock e glitch.
Tutti i canali (64) possono essere di tipo state, ovvero rilevano gli stati logici in funzione del clock che deve essergli tassativamente passato su uno dei 3 ingressi preposti.
8 dei canali state possono essere messi in configurazione timing, ovvero possono rilevare stati logici in funzione del tempo senza necessità di un segnale di clock.
4 dei canali configurabili come timing sono anche abilitati alla rilevazione dei glitch (non ho ancora provato ad utilizzarli e non so dire di più).

2) come ho detto io stesso il protocollo midi è di tipo seriale, quindi aspettarsi che una volta acquisiti i segnali l'analizzatore logico li decodificasse era una stupidaggine, in quanto lui riesce a decodificare solamente se ogni bit è su un canale separato (quindi per porte parallele), mentre il protocollo seriale invia i bit uno in seguito alla'altro sullo stesso canale. Qui purtroppo emerge tutta la mia ignoranza sui protocolli di trasmissione che questa faccenda mi ha però aiutato a scoprire, quindi meglio così.

Capite queste 2 cose, sono riuscito ad acquisire il segnale Midi su uno dei canali di timing: ho impostato l'acquisizione su single, impostando il tempo di sampling (modificabile a "scatti fissi", non impostabile a piacere) come sottomultiplo molto inferiore rispetto al periodo del clock del segnale (essendo 31250 baud, il periodo vale 1/31250=32 us , quindi ho impostato 1 us come sampling). In questo modo sono riuscito a visualizzare il segnale senza troppi problemi, ma ovviamente non ho potuto decodificarlo automaticamente per il punto 2). Ho quindi proceduto a verificare i bit ricevuti con l'acquisizione fatta allo stesso istante mediante l'oscilloscopio, e tornano esattamente, quindi parrebbe che il problema di acquisizione sia risolto.
Ora devo capire come decodificarli, ma questa è tutta un'altra storia.
Avatar utente
Foto UtenteFrenzi
75 4
New entry
New entry
 
Messaggi: 68
Iscritto il: 4 giu 2015, 11:52

1
voti

[3] Re: Analizzatore logico e segnali MIDI

Messaggioda Foto UtenteIlGuru » 23 gen 2021, 12:47

Potresti mettere in OR tutti i segnali che campioni in modo da avere il primo bit con cui far partire dell'acquisizione, lo stesso bit potresti utilizzarlo per agganciare in fase il generatore di clock esterno.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.674 2 10 13
Master EY
Master EY
 
Messaggi: 1666
Iscritto il: 31 lug 2015, 23:32

0
voti

[4] Re: Analizzatore logico e segnali MIDI

Messaggioda Foto Utenteluxinterior » 23 gen 2021, 12:54

Ormai lo hai preso
Io un HP1650A che sembra un aeroplano quando è acceso...
Se ti serve un analizzatore stati logici ormai conviene andare su cose tipo questa tanto per le frequenze a cui lavori tu basta e avanza
E questo fa pure la decodifica dei protocolli seriali midi incluso
Avatar utente
Foto Utenteluxinterior
3.023 2 4 8
Expert EY
Expert EY
 
Messaggi: 1798
Iscritto il: 6 gen 2016, 17:48

0
voti

[5] Re: Analizzatore logico e segnali MIDI

Messaggioda Foto UtenteFrenzi » 23 gen 2021, 13:21

@il guru: ok, era più o meno quello che avevo pensato anch'io, magari dopo provo a realizzarlo su breadboard.

@luxinterior: sono contentissimo del mio acquisto (diciamo che sono stato influenzato da curiousmark che mi ha fatto venire una fissa per gli strumenti HP) e il principale motivo per cui l'ho fatto è che mi sto interessando alla logica "discreta" dei primi PC, quindi mi interessa tenere sotto controllo decine di segnali contemporaneamente e analizzarne le relazioni logiche (la decodifica dei segnali mi interessa meno) in modo da comprenderne il funzionamento; con il mio oscilloscopio o gli analizzatori logici "moderni" economici (aka cinesi) si può fare solo in parte perché arrivano rispettivamente a 4 o 16 canali.
Quello che hai indicato tu è sicuramente validissimo ma è ben oltre le cifre che posso permettermi di investire (resta pur sempre un hobby) e costa comunqu più di 5 volte quello che ho pagato l'HP.
Ultimo ma non ultimo mi fa piacere avere un pezzo di hardware del genere (l'ho aperto per pulirlo e sono sconvolto della cura e la qualità con cui sono costruiti questi strumenti).
E' chiaro che questa tipologia di strumenti è assolutamente superata, ma ovviamente a me non serve per scopi di "produttività" quindi va benissimo così.
In seconda battuta, per i segnali con cui lavoro io (mai sopra ai 120kHz) credo che come analizzatore logico andrebbe benissimo anche un banale arduino con dei registri shift per multiplexare gli ingressi... diciamo che me la sono un po' cercata perché voglio sentirmi "vintage" anche nella strumentazione :-P
Avatar utente
Foto UtenteFrenzi
75 4
New entry
New entry
 
Messaggi: 68
Iscritto il: 4 giu 2015, 11:52


Torna a Strumentazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti