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.

ANDROID

Negli ultimi anni abbiamo assistito ad una vera e propria rivoluzione tecnologica incentrata principalmente sulla mobilità, che ha portato alla nascita e allo sviluppo di nuovi settori di mercato in fortissima crescita. Il settore alla testa di questa rivoluzione è sicuramente quello dei telefoni cellulari, ed in particolare quello dei dispositivi conosciuti come smartphone. La vera sfida innovativa nel campo della telefonia mobile non si gioca più solo sull’hardware dei telefoni, ormai giunti a livelli altissimi di prestazioni e funzionalità, ma sui sistemi operativi che li animano. L’attenzione dei principali produttori di tecnologie mobili, infatti, si è spostata prevalentemente …

Sistemi operativi real time: quale scegliere?

In questo articolo vedremo quali sono le ragioni che inducono alla scelta di un sistema real time ed i criteri di scelta del giusto prodotto. L’uso di un sistema operativo real-time in un sistema dedicato non sempre è giustificato. Una grossa fetta delle applicazioni commerciali non utilizzano un sistema operativo, ma si basano su un modello ciclico basato anche su evento. In questo articolo si vogliono dare indicazioni di massima sulle ragioni che possono decidere l’acquisto di un kernel real-time. Il firmware potrebbe essere semplicemente un ciclo software principale dove all’interno trovano posto diverse funzioni: il tempo di CPU …

Protezione dati nelle memorie flash

Analizziamo in questo articolo per la rubrica Firmware Reload alcuni semplici accorgimenti per evitare di perdere i propri dati memorizzati su dispositivi di memoria flash. La maggior parte dei sistemi embedded utilizza dispositivi flash di tipo NOR per la memorizzazione di dati, siano essi informazioni utente o codice eseguibile. La protezione dei dati, da cancellazione o sovrascrittura accidentali assume, quindi, come si può ben immaginare, estremo interesse, anche nelle applicazioni non critiche. Di seguito sono discussi alcuni semplici accorgimenti (suggeriti anche nell’Application Note di Sharp citata nei riferimenti [1]) che possono essere messi in atto per evitare problemi di …

Front-end analogico per sistemi Powerline

Analizziamo in questo articolo caratteristiche e prestazioni dell’AFE031 di TI. Powerline Communication (PLC) è una tecnologia recente per la trasmissione delle informazioni su una infrastruttura di rete per la distribuzione della potenza elettrica. I dati sono trasferiti modulando un opportuno segnale portante, di frequenza variabile a seconda dell’applicazione da decine di kHz fino a oltre 1 MHz; la capacità di trasmissione può arrivare fino a 500 Mbps negli standard più recenti. La tecnologia sta avendo rapida diffusione negli ambienti domestici, dove consente di connettere in rete dispositivi multimediali ad elevata risoluzione pur non disponendo di una rete LAN Ethernet, …

La migrazione verso LINUX EMBEDDED

In questo articolo si affronteranno gli step necessari per il passaggio da un qualsiasi sistema operativo verso Linux Embedded, una scelta importante che può avere un impatto notevole nel lungo periodo. Linux ha guadagnato fama e importanza anche nel mercato embedded. La domanda però rimane: è stato utilizzato solo per le nuove applicazioni o anche per i prodotti già esistenti? La sostituzione di un sistema operativo in un prodotto già definito non è cosa da poco. Lo sforzo e il rischio che si corre con una migrazione verso Linux Embedded, le difficoltà tecniche e soprattutto l’analisi e la pianificazione …

Small Circuits Revival – Relè ad alta efficienza energetica (Parte 2)

Il seguente articolo rappresenta il sequel di "Small Circuits Revival - Relè ad alta efficienza energetica", tratto dal magazine Elektor e pubblicato in Firmware 2.0 #09.  Versione 2 In questa versione (Figura 1), il relè elettromeccanico è stato sostituito da un MOSFET di tipo 2N7075 o 2N7085 come elemento di commutazione. Importante: a differenza della precedente versione, il tempo di "lights-on" può essere comodamente impostato utilizzando il preset o il potenziometro R3. In parole povere, 1 kΩ corrisponde a 1 secondo, quindi con il valore di 50 kΩ mostrato nel diagramma, si ottiene un intervallo di regolazione da 1 …

Il regolatore DC/DC µModule

Un regolatore a tre uscite in un package a montaggio superficiale da 15 mm × 15 mm × 2,8 mm sostituisce fino a 30 componenti discreti. Il regolatore DC/DC a uscite multiple è la soluzione più adatta per i sistemi multitensione in cui lo spazio e il tempo di progettazione sono limitati. Per i sistemi con limiti maggiori in termini di spazio e tempo, la soluzione migliore è un sistema DC/DC a uscite multiple, compatto, precostruito che comprende non solo i regolatori, ma anche i componenti di supporto, tra cui induttori, circuiti di compensazione, condensatori e resistori. DOPPI REGOLATORI VLDO DI COMMUTAZIONE …

La tecnologia Deeply Depleted Channel di SuVolta

Abbiamo incontrato a Milano Jeff Lewis, Senior VP Marketing & Business Development di SuVolta, dove ci ha presentato, in concomitanza con l’IEDM 2011, la tecnologia Deeply Depleted Channel, una nuova tecnologia avanzata per la riduzione dei consumi energetici e la scalabilità CMOS. All’IEDM 2011 (International Electron Devices Meeting), SuVolta ha reso noti alcuni dettagli sui transistor a basso consumo Deeply Depleted Channel (DDC). La tecnologia DDC di SuVolta, parte della piattaforma CMOS a basso consumo PowerShrink, fornisce dispositivi a basso consumo in grado di ridurre del 50% i consumi energetici, senza tuttavia pregiudicare la velocità operativa. In combinazione con tecniche avanzate di riduzione della tensione, tale percentuale può arrivare fino all’80% e oltre. …

File System in soluzione embedded: la proposta di Renesas

Renesas propone per le proprie soluzioni il suo Open Source FAT File System M3S-TFAT-Tiny SH-2A, anche meglio conosciuto come TFAT library, in grado di supportare le tre differenti tipologie di file system – ovvero FAT12, FAT16, FAT32 – ognuna con specifiche caratteristiche. Introduzione L’acronimo FAT sta per “File Allocation Table” e identifica le caratteristiche che deve possedere un file system; infatti, la FAT è una tabella posta in memoria che aiuta l’utilizzatore a identificare gli stati e tutti i dati dei cluster che sono presenti nel file system. Questa FAT può essere vista banalmente come una tabella di contenuti …

Micro Python: arriva la Python board per sistemi embedded

Pyboard e Micro Python, due termini che viaggiano insieme; infatti, non si può parlare della Pyboard se non introduciamo Micro Python. La Pyboard è una nuova scheda, tipo Raspberry Pi, dove il software residente è la versione embedded di Python: si controlla la scheda in modo diretto senza passare da nessun’altra interfaccia, in questo modo si gestiscono direttamente le risorse hardware della medesima con estrema semplicità e facilità. Introduzione Micro Python è un’implementazione del linguaggio di programmazione, vedi [1], realizzata in modo specifico per il mondo dei microcontrollori; infatti, la scheda Pyboard può rappresentare un piccolo esempio su come …

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 …

Send this to a friend