Embedded:

è la categoria relativa all’elettronica embedded. Troverete articoli relativi ai sistemi embedded sia lato hardware che software con particolare riferimento appunto a tutti quei sistemi rivolti ad una specifica applicazione. Tratteremo anche Linux embedded ed altri sistemi operativi leggeri in grado di “girare” su schede embedded a microcontrollore.

Firmware 2.0 #09 – Embedded Design/Makers Boards

Vi presentiamo oggi l'ultimo numero della rivista tecnica Firmware 2.0 per l'anno 2020. Il topic di questo mese è dedicato all'ambito Embedded Design/Makers Boards. In questo numero di Firmware 2.0 troverete articoli tecnici su: algoritmi SHA-3 nei sistemi embedded, MicroPython, microcontrollore ESP32-S2, progetti Arduino, articoli del prestigioso magazine Elektor, linguaggio D, OS Writing e molto altro. Il download della rivista è disponibile nei formati PDF, ePub e mobi. Embedded Systems: il cuore dell’industria elettronica Nel corso degli anni è aumentato esponenzialmente il livello di complessità dell’elettronica embedded, rendendo necessaria la messa a punto di nuovi paradigmi legati alla programmazione …

La scheda di sviluppo EasyPIC PRO v7

EasyPIC PRO v7 è una scheda di sviluppo per applicazioni embedded basate su microcontrollori PIC di Microchip della famiglia 18F. L’integrazione on-board di programmatore, debugger, risorse hardware a supporto della fase di test e del nuovissimo mikroBUS per la connessione di risorse add-on esterne, rendono la scheda completa, versatile e pronta all’uso per lo sviluppo di numerosissime tipologie di applicazioni. I kit di sviluppo come quelli della serie EasyPIC sono strumenti divenuti negli anni sempre più comuni nel lavoro di progettisti e sviluppatori di applicazioni firmware a microcontrollore. Qualunque famiglia di microcontrollori dispone oggi di kit di sviluppo sia …

Implementazione degli algoritmi SHA-3 nei sistemi embedded

SHA-3, la versione più recente del Secure Hash Algorithm le cui specifiche sono state ufficialmente rilasciate nel 2015, si differenzia in modo significativo rispetto alle precedenti versioni di algoritmi della stessa famiglia (SHA-1 e SHA-2). Scopriamo in questo articolo quali sono i concetti basilari dello standard SHA-3 (e della famiglia di algoritmi Keccak da cui discende), analizzando alcune implementazioni a livello hardware dell’algoritmo. Introduzione Il 2 ottobre 2012 l’ente governativo americano NIST (National Institute of Standards and Technology) selezionò (al termine di una competizione ufficiale durata anni) l'algoritmo Keccak come migliore implementazione del nuovo e futuro standard per la …

Le soluzioni Arduino per il settore educational di TME Electronic Components

La progettazione embedded è da sempre un processo complesso e articolato, che richiede competenze elettroniche trasversali, legate alla codifica, ai linguaggi di programmazione e all'hardware. I sistemi embedded si basano su microcontrollore e utilizzano sensori per l'acquisizione e la raccolta di dati, offrendo anche un buon livello di integrazione tra microelettronica e protocolli di comunicazione per la realizzazione di progetti in una vasta gamma di campi applicativi. La scelta della giusta scheda o del kit di sviluppo che rispecchierà le specifiche dell'applicazione scelta, è un tema di grande interesse sia tra i designer ed i professionisti embedded, sia tra …

Sistemi multicontrollori Master/Slave

La crescente domanda di prestazioni funzionali spinge i costruttori di apparecchiature elettroniche all’impiego di architetture multicontrollore. La gestione delle operazioni viene demandata a due o più microprocessori, rendendo possibile la multifunzionalità a un costo accessibile. Introduzione Alcuni termini come multimedialità, multitasking, coprocessing sono ormai entrati a far parte del nostro lessico quotidiano e nessuno si meraviglia più nell’osservare il realismo delle immagini 3D elaborate da una Playstation oppure nell’osservare la velocità e la definizione con cui filmati e pagine web vengono servite sul nostro PC o tablet. E quando le cose non avvengono alla massima velocità e perfezione siamo …

Small Circuits Revival – Relè ad alta efficienza energetica

I circuiti relè discussi in questo articolo possono essere collegati in serie con un carico (lampada) e una serie di pulsanti normalmente chiusi. Quando uno di questi interruttori viene premuto, la spia si accende per un certo periodo di tempo. Trascorso questo tempo, la lampada si spegnerà automaticamente. Questo somiglia un pò al familiare circuito delle luci delle scale, in cui è possibile accendere l'illuminazione in una tromba delle scale o in un corridoio con la semplice pressione di un pulsante e spegnerla di nuovo con la semplice pressione di un altro pulsante. Tuttavia, i circuiti qui descritti si …

Uno sguardo alle tecnologie del domani: il GPGPU e CUDA

Negli ultimi anni, il paradigma noto come GPGPU (General Purpose computing on Graphics Processing Units) ha rivoluzionato l'approccio ai problemi di High-Performance Computing (HPC), in cui sono richieste elevate capacità di calcolo, per le quali anche le moderne CPU, ormai, non sono più adatte. L'idea è semplice: sfruttare un tipo di hardware, inizialmente progettato per asservire ad un determinato scopo, per eseguire elaborazioni generiche. L'implementazione, però, è più complessa, e richiede numerosi accorgimenti, la cui comprensione è essenziale per sfruttare al meglio le potenzialità offerte dalle GPU. Approfondiamo, quindi, in questo articolo il funzionamento dell'architettura per il GPGPU più …

Fast Fourier Transformation: riconosciamo un DTMF

FFT è l’acronimo di Fast Fourier Transform, ovvero trasformata di Fourier veloce. Chiunque si sia mai cimentato nel signal processing conosce bene l'importanza di questo strumento, inoltre, per la sua potenza risolutiva ed il basso costo computazionale si presta bene per il calcolo di alcune equazioni differenziali e nel caso di operazioni con numeri di grandi dimensioni. In questo articolo vedremo in dettaglio questo strumento per poi concludere con una sua applicazione nel campo dei DTMF, ovvero Dual-Tone Multi-Frequency. Introduzione La trasformata di Fourier fu sviluppata dall’omonimo matematico nel 1822, il suo scopo è quello di convertire una funzione …

Il linguaggio D: tante potenzialità in più (Parte 2)

Continuiamo la nostra rapida esplorazione sul linguaggio D, sperando di aver svegliato la curiosità dei programmatori. In questa seconda e ultima puntata verranno analizzati alcuni aspetti estremamente importanti che, indubbiamente, stanno decretando il D come il linguaggio del futuro. Proviamo il linguaggio D online Nel precedente articolo abbiamo visto le procedure per scaricare, installare e usare il compilatore. Tuttavia, è spesso utile provare e testare i propri listati direttamente online sul proprio browser, senza alcun bisogno di software aggiuntivo. Accedendo, infatti, alla home page localizzata all'indirizzo https://dlang.org/ è possibile digitare e provare immediatamente i propri sorgenti, come visibile in …

Android per sistemi embedded Real-Time (Seconda parte)

Android è un sistema operativo open source che, fin dalla nascita, è stato utilizzato nel mondo mobile tanto da rappresentarne la sua più tipica applicazione. In questo contesto rientra anche il segmento della telefonia dei tablet, un mercato ancora da esplorare completamente. Introduzione Il mondo embedded non è di certo immune: da diverso tempo, in effetti, si assiste a un uso, sempre più massiccio, di Android anche in questo particolare contesto applicativo. A rigore, è però necessario fare alcune precisazioni. Esistono diversi tipi di sistemi embedded caratterizzati da differenti specificità per via delle funzionalità offerte a riguardo agli obiettivi progettuali, di …

OS Writing [4]: Regolare il traffico

Al centro della strada c’è uno degli oggetti più odiati dall’umanità, soprattutto se si è di fretta e lo si trova rosso: il semaforo. Per quanto irritanti, però, dei semafori non si può fare a meno. Un semaforo è lì, da un certo punto di vista, per regolare l’accesso degli automobilisti ad una risorsa condivisa, ossia l’incrocio. Senza il semaforo, è molto probabile che gli automobilisti cerchino di usare contemporaneamente e senza criterio la risorsa condivisa, con i risultati che potete facilmente immaginare. Un semaforo serve per evitare disastri. Con i processi il discorso è identico. I processi sono …

Come sfruttare MicroPython per la realizzazione di applicazioni embedded con XBee3

Il connubio tra hardware a basso livello e linguaggio di programmazione ad alto livello potrebbe rivelarsi una delle mosse vincenti per lo sviluppo di sistemi embedded. In questo articolo vedremo come il linguaggio di programmazione orientato agli oggetti come quello di Python può affacciarsi, grazie alla sua implementazione MicroPython, a contesti di sviluppo di applicazioni embedded. Continueremo a lavorare con i nostri moduli XBee3 e finalmente scopriremo come scrivere un programma che può consentire al modulo di lavorare in maniera autonoma per la gestione di applicazioni custom. Introduzione Nello scorso appuntamento abbiamo iniziato ad apprezzare le potenzialità fornite da …

Il linguaggio D: fondamenti (Parte 1)

Questo è il primo di due articoli che tratteranno la programmazione in linguaggio D. E' un linguaggio di programmazione generico tipizzato, con accesso a livello di sistema e una sintassi molto simile al linguaggio C. Con il linguaggio di programmazione D i programmi vengono creati molto facilmente, si leggono e si capiscono in modo semplice e, soprattutto, la loro esecuzione è molto veloce. Introduzione I linguaggi di programmazione sono tantissimi. Non esiste programmatore che li conosca tutti. I due articoli hanno lo scopo di far conoscere il D e insegnare quante più nozioni possibili, in modo semplice e lineare. …

PCI Express

L’evoluzione tecnologica richiede, con sempre, maggiore incisività, strumenti che possano garantire un aumento delle prestazioni. Per questa ragione il Bus PCI non ha potuto esimersi da questa responsabilità, tanto da offrire una versione enhanced in grado di assicurare nuovi requisiti prestazionali. L’evoluzione tecnologica degli ultimi anni, e il conseguente aumento delle prestazioni, hanno incrementato in modo esponenziale la richiesta di banda tra i suoi diversi sottosistemi. Infatti, a questo riguardo sono state proposte numerose possibilità per superare i limiti dell’ormai limitato bus PCI e si è creata una certa confusione circa il posizionamento di queste nuove tecnologie e su …

Android per sistemi embedded Real-Time (Prima Parte)

Android, fin dall’inizio, ha catalizzato l’interesse di aziende e sviluppatori. Infatti, da sempre questa piattaforma software è stata costantemente migliorata sia in termini di caratteristiche sia di hardware supportato e, allo stesso tempo, si è cercato di assicurare la sua compatibilità verso nuovi dispositivi e applicazioni. Introduzione Android occupa una significativa quota di mercato nel segmento della telefonia. Tuttavia, una sua importante caratteristica non è stata ancora sufficientemente considerata: le sue eventuali applicazioni di tipo real-time in ambito embedded. Sappiamo che Android è una piattaforma open source inizialmente prevista in ambito della telefonia, basata sul sistema operativo Linux e …

OS Writing [3]: Per non essere fuori dal mondo

Un computer nasce, sostanzialmente, per fare conti. Quali conti e a cosa servano è una questione relativa, che al processore non interessa minimamente. Passategli dei dati e farà ciò che deve, senza fare domande. E qui sorge il problema: come glieli passiamo questi dati? Ovviamente, certi dati potrebbero essere salvati nella memoria centrale, l’unico dispositivo a cui, ora come ora, sappiamo accedere. Ma spesso e volentieri i dati provengono da altri dispositivi: per esempio, le letture acquisite da qualche sensore, o punti da e verso una scheda video, o bit ricevuti su una seriale, insomma quello che vi pare. …

Il nuovo microcontrollore ESP32-S2

La Espressif, la società che ha creato i famosi microcontrollori di successo ESP8266 ed ESP32, ha annunciato il rilascio di ESP32-S2. Si tratta di un microcontrollore con Wi-Fi a 2.4 GHz altamente integrato a bassa potenza che supporta Wi-Fi HT40. Dispone di ben 43 porte GPIO (General Purpose Input/Output). E' basato su un processore single-core LX7 a 32 bit Xtensa e può essere overcloccato tranquillamente sino alla frequenza di 240 MHz. Introduzione L'annuncio del nuovo microcontrollore è stato molto apprezzato dalla comunità elettronica, specialmente dallo staff di Elettronica Open Source. Il dispositivo è, infatti, a noi estremamente vicino e …

Progettiamo i nostri filtri con FilterPro della Texas Instruments

Scopriamo assieme un software davvero notevole, prodotto dalla Texas Instruments. Si tratta di FilterPro, un programma semplice e potente al tempo stesso che consente di progettare filtri attivi di diversi tipi. Per il suo utilizzo è sufficiente inserire i parametri di risposta desiderata ed effettuare alcune scelte di configurazione per ottenere schemi personalizzati di filtri attivi. Dopo aver provato il programma, un progettista non ne può fare più a meno. Il filtro attivo In tutti i libri di testo di elettronica e in qualsiasi tutorial che si rispetti, esiste sempre un capitolo dedicato ai filtri. Senza approfondire qui la …

Micro a 8 bit con logica configurabile

In questo articolo analizziamo caratteristiche e prestazioni dei microcontrollori PIC10F32X e PIC1XF150X di Microchip. Sempre più sistemi richiedono oggi la necessità di estendere un’architettura standard mediante funzionalità specifiche dell’applicazione nel rispetto, tuttavia, della tendenza alla miniaturizzazione e alla integrazione spinta che caratterizza oggi l’elettronica in generale e, in particolar modo, il settore embedded. Un’interessante soluzione in questo senso è rappresentata dai nuovi modelli (Figura 1) di microcontrollori PIC10F(LF)32X e PIC1XF(LF)150X, annunciati da Microchip. ARCHITETTURA STANDARD I dispositivi si basano (Figura 2) su una CPU RISC x14 a 8 bit caratterizzata da un insieme ridotto di istruzioni a 14 bit …

OS Writing [2]: Chiedetelo con gentilezza

Quindi, in soldoni, un sistema operativo è un programma che gira, all’insaputa di tutti gli altri programmi, e che gestisce il loro funzionamento. Fondamentalmente, un sistema operativo serve per convincere tutti i processi in giro per il sistema che tutte le risorse del sistema stesso sono a loro completa e incondizionata disposizione, e che nessun altro gliele sta contendendo. Il sistema operativo riesce ad ottenere questo risultato grazie a due concetti di base: uno, decide lui chi va in esecuzione, quando e per quanto tempo; due, tutti gli accessi alle risorse del sistema (memoria, dispositivi e quant’altro) passano attraverso …

ScanaQuad, il più piccolo analizzatore logico

Poiché la maggior parte dei circuiti elettronici oggi opera prevalentemente nel dominio digitale, l'acquisto di un analizzatore logico è sicuramente un buon investimento. I modelli economici sono, per la maggior parte, con connessione USB. Esaminiamone qualcuno. Introduzione Se si è coinvolti nella progettazione o nella riparazione di dispositivi digitali, un analizzatore di stati logici è più utile di un oscilloscopio, per tracciare i segnali attraverso i circuiti. Tuttavia, questo non significa che occorre affrontare una grossa spesa per l'acquisto. Gli strumenti dei principali produttori sono troppo costosi per l'uso domestico o hobbistico e le alternative a basso costo non …

Architetture SOA per sistemi embedded

Le configurazioni monolitiche hanno da tempo lasciato la mano per le nuove architetture modulari. In questo particolare contesto le soluzioni basate su infrastrutture, quali la distribuzione dei dati, stanno acquisendo un ruolo importante. In un contesto embedded di tipo real time a volte è necessario stabilire un compromesso perché soluzioni di questo tipo ben si adattano ad applicazioni di tipo generale. In effetti, in applicazioni basate sulla distribuzione dei dati è necessario garantire altri fattori, quali la dimensione delle applicazioni o l’integrazione dei sistemi eterogenei, garantendo requisiti di timeliness, fault-tolerance, scalabilità. Il protocollo Real Time Publish Subscribe (RTPS) può rappresentare una buona soluzione. …

AVR Studio 5

Il potente ambiente di sviluppo di ATMEL, giunto alla sua quinta release, supporta tutti i microprocessori da 8 a 32 bit. VR Studio è un prodotto di casa ATMEL ormai consolidato e ampiamente utilizzato da gran parte dei nostri lettori. Coloro che hanno già avuto modo di apprezzare l’affidabilità e completezza di questo pacchetto sanno che stiamo parlando di una realtà introdotta sul mercato già da anni, nata per fronteggiare la sfida con gli altrettanto noti ambienti di sviluppo proposti da Microchip, Silicon Labs, Texas etc., ha saputo adeguarsi alle evoluzioni della tecnologia e alle nuove esigenze del mercato dei …

OS Writing [1]: CPU sotto processo

Una delle realtà dell’elettronica di oggi è che è ovunque. I motivi per cui è ovunque sono parecchi, uno dei quali è il sempre più basso costo di componenti anche sofisticati, come quelli programmabili. Poter comprare un dispositivo programmabile semplifica di parecchio le cose, visto che programmare è più semplice che realizzare dell’hardware ad hoc. Però (e qui il gatto inizia a mangiarsi la coda), il fatto che programmare sia (relativamente) semplice ha portato alla creazione di tutta una serie di altro software concepito per rendere ancora più semplice programmare. Stiamo parlando di ambienti di sviluppo dedicati e, ovviamente, …

Otto resistori in cerca di un DAC

C’è un mostro che si annida sotto i letti di molti ingegneri, e il suo nome è Porting Del Codice. E’ una creatura che può restare silente, nell’ombra, in paziente attesa del momento opportuno per saltare fuori e iniziare a mordere. E non c’è scampo. Verrà il momento in cui quel piccolo spazio sotto al letto non le sarà più sufficiente e bisognerà affrontarla. Alcuni faranno di tutto per trovarle un letto più grande sotto al quale abbia maggiori opportunità di ottenere ciò che vuole; altri, invece, lasceranno il letto così com’è, ma cercheranno di passarle da fuori, da …

Send this to a friend