risorse | dso138 – upgrade del firmware

Upgrade del firwmare dell'oscilloscopio DSO 138

Attenzione: ho posto la massima cura ed attenzione nel redigere questi appunti; declino tuttavia ogni responsabilità per eventuali imprecisioni, errori od omissioni, così come declino ogni responsabilità per eventuali danni a cose, proprietà o persone derivanti dall’uso di questi contenuti.

Introduzione

Ho da poco acquistato la versione pre-assemblata dell'oscilloscopio DSO 138 per portare a termine un piccolo progetto personale:

L'oscilloscopio nel suo guscio in plexiglas, acquistato a parte

Il rapporto qualità/prezzo dello strumento è davvero notevole, tuttavia ho riscontrato fin da subito un problema piuttosto fastidioso: il salvataggio della forma d'onda non funziona. Pur seguendo le istruzioni riportate nel manuale, non sono mai riuscito ad archiviare nemmeno una forma d'onda, nonostante la semplicità della procedura:

Estratto del manuale con le istruzioni per salvare una forma d'onda

Consultando la pagina ufficiale, scopro che il salvataggio della forma d'onda è stato introdotto nel firmware v. 113-13801-050, rilasciato il 20 novembre 2015. Purtroppo il kit che ho acquistato ne monta uno precedente, come indicato dalla schermata d'avvio del software:

La schermata iniziale che riporta la versione del firmware in uso

Considerato il costo ridotto dello strumento, ho deciso di provare ad aggiornare il firmware.

Prerequisiti

La procedura di aggiornamento del firmware per questo kit non è propriamente banale, richiedendo in particolare la disponibilità di un adattatore seriale TTL 3.3V/USB che il caso vuole abbia da poco acquistato (un FT232RL della AZDelivery, cfr. Test del chip FT232RL con Arduino) esattamente per lo stesso progetto. Complessivamente, per poter aggiornare il firmware dell'oscilloscopio, occorre procurarsi:

Predisposizione del PC

Scaricare ed installare il programma di trasferimento del firmware; scaricare, scompattare e tenere a portata di mano il file contenente l'immagine del firwmare (nell'archivio .zip che si scarica dal sito del produttore ciò che serve è il file con estensione .hex).

Predisposizione dell'oscilloscopio

Per attivare il bootloader e rimuovere la protezione in scrittura della zona di memoria che contiene il firmware è necessario cortocircuitare i jumper JP1 e JP2. Le istruzioni consigliano di chiudere il circuito con dello stagno; essendo il mio stagnatore piuttosto vecchiotto, ho optato per una soluzione più spartana: ho sfregato leggermente i contatti dei due ponticelli con la punta di un cacciavite da orologiaio per rimuovere l'eventuale isolante presente, ho quindi ricavato due piccoli rettangoli di carta stagnola di circa 2×4mm l'uno che ho fissato sopra i contatti con dello scotch di carta.

I jumper JP1 e JP2 cortocircuitati

Collegamento dell'oscilloscopio al PC

Fortunatamente già disponevo di un adattatore seriale/USB che supporta segnali a 3.3V; il PC era inoltre già equipaggiato con i relativi driver e il corretto funzionamento del dispositivo era già stato verificato. Il collegamento PC/oscilloscopio è stato stabilito con la seguente procedura:

Caricamento del nuovo firmware

Avviato il programma per il trasferimento del firmware consigliato, ho configurato la porta seriale come richiesto dalle istruzioni (115200 baud, 8 bit di dati, parità pari, echo disabilitato). Ho acceso l'oscilloscopio e ho confermato il trasferimento del nuovo firmware, non prima di aver richiesto l'azzeramento delle sole pagine di memoria necessarie, l'ottimizzazione e la verifica del download.

Al termine della procedura, che dura qualche secondo, ho chiuso il programma, scollegato l'oscilloscopio dall'adattatore seriale/USB. Ho quindi spento l'oscilloscopio e rimosso i ponticelli di carta stagnola. Ho infine riavviato l'oscilloscopio, verificando che nella schermata iniziale apparisse il numero di versione del nuovo firmware:

Il nuovo firmware è operativo!

Ho infine potuto verificare, con un segnale campione generato con Arduino, che il salvataggio della forma d'onda funzionasse come specificato sul manuale.

Un'amara sorpresa...

Dopo qualche istante di euforia, mi sono accorto che qualcosa non andava sulla scala delle tensioni. In particolare, un tipico segnale TTL a 5V veniva rappresentato di poco superiore a 1V (1.28V circa):

Rappresentazione di un segnale TTL: notare la scala delle tensioni

Escluso il danneggiamento della scheda e l'esaurimento della batteria di alimentazione, ho effettuato qualche ricerca in rete, ed ho scoperto che si tratta di un problema piuttosto comune, e dipende dal fatto che i firmware precedenti alla versione 113-13801-050 richiedono un valore della resistenza R11 pari a 1.5KΩ, mentre i firmware più recenti, per lo stesso resistore, ne richiedono uno di 150Ω.

Se R11 ha un valore di 1.5KΩ è possibile che il kit sia obsoleto (modello n. 13801K/02K anziché 13803K/4K), o più probabilmente che si tratti di un clone non ufficiale. Il produttore ha predisposto un documento che spiega come distinguere i kit originali dalle copie non autorizzate. Purtroppo quello in mio possesso, pur acquistato su Amazon, si è rivelato essere un clone.

Le note in calce alla pagina ufficiale del kit, così come diverse discussioni sui forum del produttore (per esempio Error in voltage reading o R11 R38 - incorrect Amplitude on Test Signal) propongono come soluzione al problema la sostituzione della resistenza R11 con una da 150Ω. Così ho fatto, anche se con un po' di timore a causa della poca confidenza che ho con lo stagnatore:

La resistenza R11 originale

La nuova resistenza da 150Ω, leggermente più grande perché da 1/4W

A differenza di quella originale, la nuova resistenza non è ad alta precisione: se quella sostituita riporta le bande marrone-verde-nero-marrone-marrone ad indicare un valore di resistenza pari a 1.5KΩ ±2%, i colori della sostituta marrone-verde-marrone-oro indicano una resistenza di 150Ω ±5%. Dovrò tenerne conto nell'uso dell'oscilloscopio.

Dettaglio della resistenza R11 originale

La sostituzione ha comunque sortito l'effetto sperato: l'oscilloscopio ha ricominciato a indicare le tensioni corrette, come si può notare dall'immagine seguente, in cui è rappresentato il solito segnale TTL a 5V:

La scala delle tensioni con le proporzioni ripristinate

L'oscilloscopio è ora di nuovo funzionante!

Pagina modificata il 02/01/2018