Cercato recentemente
      • Pubblicato il 25 set 2023
      • Ultima modifica 25 set 2023
    • 9 min

    Guida alla scelta corretta di schede e strumenti di sviluppo

    Scopri come selezionare le schede e gli strumenti di sviluppo ideali per i tuoi progetti elettronici

    Guida alla scelta corretta di schede e strumenti di sviluppo

    Esistono schede e strumenti di sviluppo che servono ad aiutare i progettisti a realizzare i propri progetti elettronici o a testare e migliorare sistemi e programmi consolidati.

    In questa guida diamo una panoramica sia di quelli più diffusi che di quelli migliori per lo sviluppo, in base alle diverse esigenze applicative.

    I vantaggi di usare sistemi di sviluppo

    Molti progettisti preferiscono non utilizzare ambienti di sviluppo ma incorporare punti di debug nel proprio codice e ricorrere ad apparecchiature di test per convalidare il proprio hardware. Tuttavia, usare uno strumento del genere, comporta dei vantaggi significativi in tre aree:

    • Ingegneria parallela
    • Tempo di commercializzazione
    • Circuito noto funzionante

    Vediamole nel dettaglio.

    Ingegneria Parallela

    Il primo vantaggio riguarda la possibilità di applicare un approccio di ingegneria parallela, in cui diverse parti di un progetto vengono lavorate simultaneamente invece di essere affrontate in modo sequenziale.

    Significa che i vari aspetti del progetto possono avanzare allo stesso tempo. Un ingegnere del software può, ad esempio, iniziare a testare il codice prima che siano disponibili le schede PCB di sistema.

    Questo è particolarmente vero se la scheda di destinazione richiede pacchetti complessi come i BGA, difficilmente prototipabili, o se il circuito richiede un elemento con lead time lungo, come un ASIC.

    L'approccio di ingegneria parallela consente quindi di risparmiare tempo e risorse, portando più velocemente il prodotto sul mercato. Un vantaggio non da poco per le aziende che desiderano essere competitive.

    Tempo di commercializzazione

    Il tempo di commercializzazione è un parametro importante in ingegneria e spesso può determinare il successo o il fallimento di un prodotto sul mercato.

    Ma in che modo uno strumento di sviluppo può essere d'aiuto?

    La risposta è multipla: innanzitutto, molti kit di sviluppo, in particolare nell'ambito dei microcontrollori (MCU), includono strumenti di produttività come parte del pacchetto.

    Esempi di questi strumenti sono driver di dispositivo già scritti per periferiche e/o il porting di un sistema operativo in tempo reale per un determinato dispositivo.

    Ciò significa che la scrittura del codice (spesso il principale determinante in una pianificazione di progetto) può essere accelerata e diventa più deterministica, il che può portare a una riduzione delle probabilità di richiamo del prodotto.

    Un altro caso in cui le schede di sviluppo possono accelerare la realizzazione di un progetto, è quando il produttore fornisce dettagli sulla disposizione del circuito, come i file Gerber.

    Questo può essere un fattore critico nei sistemi analogici o ad alta velocità.

    L'accesso a informazioni che possono essere studiate o copiate può, infatti, far risparmiare molte ore di lavoro e, cosa ancora più importante, molteplici iterazioni della PCB.

    Circuito noto funzionante

    Può accadere che nella fase finale della PCB ci si imbatta in un bug intermittente da qualche parte nel sistema. Avere una scheda funzionante e conosciuta può essere utile per individuare problemi, spesso frustranti.

    Un esempio è l'instabilità occasionale in un circuito di feedback di un alimentatore switching, causata da una capacità parassita superiore a quella calcolata nella disposizione.

    L'ispezione dei file Gerber della scheda di valutazione può essere estremamente utile nell'isolare tale problematica prima della fase finale.

    Le schede di valutazione vengono spesso incluse nella terminologia generica degli strumenti di sviluppo e sono fornite dai produttori di silicio come modo per consentire ai clienti di valutare i vantaggi per l'applicazione, senza l'inconveniente di breadboard o PCB.

    Schede di valutazione

    Di solito si tratta di schede relativamente semplici, fornite con software sufficiente (se necessario) o componenti accessori per verificare la funzionalità e l'usabilità.

    Sebbene non siano principalmente intese come schede di sviluppo, in molti casi hanno risorse sufficienti e possono essere utilizzate in questo modo.

    Ovviamente, se si sta valutando un dispositivo programmabile come un microcontrollore, si possono utilizzare le schede di valutazione per scrivere il codice del software che il microcontrollore eseguirà nell'applicazione finale. Molte di esse sono infatti dotate di compilatori freeware e debugger sufficienti a completare un'applicazione di dimensioni ridotte.

    Molti fornitori rendono le proprie schede interfacciabili con schede di sviluppo standard come Arduino (shields). Per consentire un uso più agevole, infatti, alcuni produttori dotano le proprie schede di un sistema di I/O compatibile con Arduino, che consente agli utenti di accedere alla varietà di shields disponibili. L'introduzione di questo standard ha dato origine a un intero ecosistema di shields da parte di altri fornitori, permettendo la creazione di sistemi piuttosto sofisticati.

    Schede di Sviluppo del produttore (o Schede Dimostrative)

    Gli strumenti di sviluppo forniti dal produttore sono generalmente dotati di una maggiore quantità di risorse rispetto a una semplice scheda di valutazione.

    Questo è particolarmente vero per i componenti destinati ad applicazioni specifiche. In tali casi, i produttori equipaggiano la scheda con tutti i componenti che ritengono necessari per implementare l'applicazione target.

    A titolo di esempio, prendiamo in considerazione un fornitore che si occupa di applicazioni per cruscotti automobilistici: è probabile che la sua scheda sia dotata almeno di un microcontrollore (MCU), un controller/interface CAN, un tipo qualsiasi di display e un solido design di alimentazione. Anche se le parti aggiuntive sembrano estranee, possono comunque essere estremamente utili ai fini dello sviluppo.

    Per praticità, i produttori dotano le proprie schede di capacità di espansione o, almeno, accesso alle porte di input/output (I/O), in modo che sia comunque possibile lo sviluppo non specifico, anche su schede strettamente mirate. Inoltre, molti sistemi di sviluppo forniti dai fornitori sono progettati come strumenti ad uso generale e sono dotati di un'ampia gamma di software per la scrittura di codice e debugging.

    Parlando delle schede dimostrative, un altro termine spesso incontrato è "progetto di riferimento". Il progetto di riferimento tende ad essere fortemente focalizzato su una singola applicazione e, a differenza delle schede di sviluppo, è probabile che sia stato ottimizzato in termini di costo, consumo energetico o spazio. È anche probabile che sia meno accessibile per un uso generale, anche se ovviamente molto utile se si sta cercando di progettare un prodotto in un'area specifica.

    Il vantaggio sta nel fatto che è ottimizzato e accuratamente testato per offrire una profonda comprensione delle regole di progettazione da seguire.

    Schede STM Nucleo

    Come esempio della varietà di strumenti di sviluppo disponibili, daremo una rapida occhiata alle schede ST Micro Nucleo. Si tratta di una scheda dimostrativa del produttore molto focalizzata, rilasciata per supportare il proprio MCU STM32.

    Schede STM Nucleo

    Tali schede supportano i principali fornitori di toolchain e i loro strumenti ma la cosa più interessante è che sono conformi a MBED, supportano le varie piedinature di Arduino e consentono l'accesso sia agli Shield ST che a quelli di terze parti, offrendo quindi molte opzioni.

    Altri fornitori si stanno muovendo in questa direzione e stanno aumentando la sofisticazione e la profondità di copertura dei loro strumenti affrontando i regimi di I/O standardizzati.

    Strumenti di sviluppo di terze parti

    La maggior parte degli strumenti di terze parti tende a concentrarsi sul mercato dei microcontrollori. Questi strumenti fanno tipicamente uso dei sistemi di emulazione on-chip basati su JTAG.

    Consentono allo strumento di sviluppo di entrare nell’MCU in modo non invasivo e permettono agli utenti di:

    • impostare punti di interruzione
    • tracciare percorsi di codice
    • esaminare il contenuto della memoria interna

    Solitamente vengono forniti con un compilatore C o C++ e un sistema di debug noto come ambiente di sviluppo integrato o IDE. L'IDE consente di accedere al software in esecuzione ad un alto livello di astrazione, ben lontano dal vecchio codice assembler. Ciò significa che si ha accesso a variabili globali/locali e si può valutare il contenuto di array e strutture di tipi di dati variabili, ecc.

    Inoltre, consentono anche l'accesso a codice di basso livello, I/O e hardware a livello di scheda, e alcuni addirittura permettono di avvicinarsi alle capacità dell'analizzatore logico.

    Tutto ciò è essenziale durante il debug in tempo reale di complessi sistemi implementati in molti progetti embedded.

    Esistono molte fonti di schede di terze parti, inclusi:

    • fornitori di compilatori che forniscono schede di destinazione per le loro toolchain
    • produttori di emulatori in-circuit
    • aziende che si occupano degli ecosistemi menzionati in precedenza

    Ciò porta a una ricca varietà di opzioni per i progettisti, con un'ampia gamma di fasce di prezzo e complessità del sistema.

    Strumenti e le schede basati su MBED

    MBED è unsistema di sviluppo fornito da ARM Holdings e, come è facile immaginare, è mirato principalmente ai loro processori.

    Risulta particolarmente interessante se si stanno sviluppando prodotti che accedono ai sistemi Internet delle cose (IoT). Offre un set completo di utili librerie per le comunicazioni e la sicurezza, oltre all'IDE e ai compilatori abituali, nonché un sistema operativo in tempo reale (RTOS) e una versione leggera di Linux.

    Strumenti e le schede basati su MBED

    A differenza di molti altri fornitori, gli strumenti di sviluppo risiedono nel Cloud e lo sviluppo avviene tramite i server MBED, anche se è possibile lavorare offline ed eseguire il codice sull'hardware dell'utente.

    Sebbene sia principalmente mirato ai prodotti IoT periferici, è perfettamente utilizzabile per altri sistemi ed è dotato di una vasta libreria di software generato dalla community ARM e anche di software generato direttamente da ARM.

    Ciò che differenzia MBED da altre offerte è che si affida a terze parti per fornire l'hardware di destinazione. I fornitori di queste schede (spesso aziende di semiconduttori come NXP e STMicro) devono garantire che i loro moduli, schede e chip siano conformi al test suite di MBED.

    In generale, tutti i dettagli di produzione, il codice sorgente, ecc. sono liberamente disponibili, e le schede sono dotate dei pinout MBED approvati.

    Riepilogo

    Quando si valutano le centinaia di strumenti disponibili, la scelta tende a ridursi a più punti chiave:

    • Vincoli di budget: gli strumenti costano da pochi dollari (euro) a decine di migliaia
    • Complessità del sistema in fase di progettazione: serve una soluzione completa?
    • Familiarità con gli strumenti di sviluppo
    • Grado di sofisticazione degli strumenti, ad esempio densità del codice del compilatore, disponibilità di driver di dispositivo e così via
    • Collaborazione: capacità di supportare più utenti in un team di sviluppo
    • Freeware o su licenza

    Tutti questi punti decisionali possono portare a una fase di valutazione estesa ma anche a una maggiore velocità di immissione del prodotto sul mercato.

    Gli ingegneri di oggi sono fortunati per quanto riguarda il numero e la varietà di strumenti di sviluppo a cui possono attingere. Tuttavia, questa profusione di opzioni può rappresentare di per sé una sfida. Una cosa è certa: la scelta degli strumenti giusti può far risparmiare molte settimane di tempo di sviluppo.

    Prodotti Correlati