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.

Le architetture dei processori moderni

Nel corso degli ultimi anni abbiamo assistito a un’evoluzione vertiginosa delle tecnologie impiegate per la realizzazione dei microprocessori. Termini come multi-core, pipeline, hyper-threading, superscalare, tanto per citarne alcuni, sono diventati comuni e familiari. Siamo sicuri di avere compreso bene il loro significato? Obiettivo di questo articolo è cercare di fare chiarezza sulla terminologia tecnica che contraddistingue le caratteristiche e le funzionalità offerte dagli attuali microprocessori, cioè quelli che utilizziamo tutti i giorni e che equipaggiano i nostri personal computer, cellulari e altri dispositivi elettronici a elevata integrazione. LA PIPELINE Fino a qualche anno fa, i microprocessori erano progettati per eseguire le istruzioni secondo una regola prettamente sequenziale: una …

All’alba di un nuovo giorno!

Grandi cambiamenti in Elettronica Open Source, un nuovo progetto e tanto entusiasmo! Tutto cambia e tutto si trasforma, è la legge della natura ed al tempo stesso condizione necessaria per innovare e rinnovarsi. Dopo anni di esperienza, mesi di sperimentazione e giornate intere di costruzione e ri-costruzione, siamo pronti a passare ad un livello successivo. Abbiamo rinnovato la rivista Firmware, realizzando un nuovo progetto denominato Firmware 2.0. Una rivista di Elettronica Embedded e Semiconduttori che include anche una parte dedicata ai Maker, la maker zone appunto. Quindi avete inglobato EOS-Book in Firmware? Si, da un certo punto di vista …

Capacitive Sensing con i micro PIC

Ecco alcune idee di progetto di tipo hardware e di tipo software per applicazioni touch-sensing con i PIC della Microchip. Una maniera alternativa per implementare i dispositivi d'ingresso. La teoria del capacitive sensing è piuttosto datata, ma soltanto di recente gli sviluppi tecnologici hanno consentito di introdurre controlli di questo tipo nelle più tipiche applicazione. Nel settore embedded, in particolare, questo è stato favorito dalla diffusione di dispositivi con periferiche mixed-signal a basso costo e ridotta dissipazione di potenza, che consentono di realizzare capacitance-to-digital converter di buona precisione. La capacità di  un  elettrodo, come noto, è  direttamente legata al suo stato, per cui la misura …

FFT: scegliere la giusta finestra per la valutazione della precisione di un ADC

Per poter quantificare la bontà delle prestazioni di un convertitore analogico - digitale (ADC), ci si affida all'analisi di alcuni parametri dinamici. Il calcolo di questi parametri è frutto dell'applicazione sul segnale di uscita del convertitore, di uno strumento matematico noto come Trasformata Rapida di Fourier (FFT). In questo articolo faremo una panoramica sui principali parametri dinamici utilizzati nello studio delle performance di un ADC, e poi vedremo come valutarli grazie alla FFT. In particolare ci soffermeremo su come valutare il rapporto Segnale-Rumore (SNR) in presenza di un'analisi non coerente. Questa rappresenta la peggiore delle situazioni in cui ci …

Rendering 3D con AVR32

Si continua ad assistere a una crescente penetrazione delle applicazioni 3D in tempo reale in molti ambiti applicativi, non soltanto ludici. Nel settore embedded, in particolare, questo è reso possibile dalla disponibilità di architetture a 32 bit a elevate prestazioni ma a bassa dissipazione di potenza, come ad esempio la serie AVR32 di Atmel. Proponiamo un esempio pronto all’uso per i micro AVR32 di Atmel. Di seguito, in particolare, è descritto un interessante esempio realizzato con tali dispositivi per il rendering di bitmap testuali su un cubo 3D in rotazione. Il riferimento è un’Application Note di Atmel reperibile sul sito web …

Regolatore low-dropout a bassissimo rumore

La progettazione di una piattaforma hardware deve considerare molti aspetti e il gestore della piattaforma deve essere scelto con cura. Sempre più piattaforme utilizzano delle PLD per la gestione, il perché è facile da capire. Per un progettista elettronico reperire lo schema di un regolatore lowdropout è piuttosto semplice; poche applicazioni, però, sono sviluppate per garantire allo stesso tempo un bassissimo livello di rumore. Prendiamo, per esempio, un regolatore piuttosto diffuso, il MAX8887 della Maxim IC. Il datasheet riporta una tensione di rumore di circa 42uV rms; in figura 4 si può osservare la tipica configurazione del regolatore. In certe applicazioni, come per esempio per gli oscillatori da strumentazione, è necessario arrivare a fornire una tensione di alimentazione …

Programmiamo ESPertino con MicroPython

Proseguiamo la nostra panoramica sui diversi ambienti di sviluppo per ESPertino occupandoci in questo articolo di MicroPython, l’implementazione della versione 3.x del noto linguaggio di scripting rivolta ai microcontrollori e ai sistemi embedded. Anche questa volta ESPertino non finirà di stupirci, offrendo un modo alternativo ma molto efficiente e istruttivo per creare nuove interessanti applicazioni Introduzione MicroPython è un’implementazione lineare ed efficiente della versione 3.x del noto linguaggio di scripting Python. Il sistema include un sottoinsieme delle librerie standard del linguaggio, ed è ottimizzato per essere eseguito su microcontrolli, o in generale su sistemi embedded in cui, come noto, …

Ottimizzazione del codice firmware

Le skills dello sviluppatore non sono solo le abilità nello scrivere codice sorgente, ma un bravo sviluppatore deve possedere anche capacità di analisi critica su ciò che sta progettando, realizzando. La tecnica di ottimizzazione più efficace, infatti, è l’individuazione a priori dei colli di bottiglia del proprio software/firmware. A maggior ragione quando stiamo lavorando ad un firmware per una applicazione embedded o real-time, dove le risorse a disposizione sono limitate e bisogna sempre tener d’occhio i costi del prodotto. Capire quale porzione di codice consuma maggiormente le risorse a disposizione non è un compito facile, anzi è molto arduo …

Virtualizzazione nei sistemi embedded

Gli ambienti di virtualizzazione rappresentano le risposte più decise ai requisiti di sicurezza e di affidabilità: elementi essenziali e richiesti sempre con maggiore insistenza dal mercato. La virtualizzazione, in sé, è un concetto già presente nella realtà; in effetti, i sistemi operativi, e in modo particolare quelli di ultima generazione, prevedono nella loro architettura interna la presenza di meccanismi in grado di assicurare il funzionamento di macchine virtuali, ossia nel simulare uno spazio di memoria maggiore di quello fisicamente presente o nella garanzia di conciliare codice legacy con i nuovi requisiti di sicurezza. Il tutto è garantito grazie all’uso di dispositivi hardware, quali MMU, in una gestione più efficiente dei processi presenti in memoria e nella presenza …

Realizziamo un orologio per gli scacchi con ESPertino

Le partite ufficiali al gioco degli Scacchi necessitano dell'uso di speciali orologi (meccanici o elettronici) per misurare e assicurare equamente il tempo impiegato dai due giocatori per effettuare le proprie mosse. Anche se il mercato mette a disposizione modelli molto belli ed eleganti a prezzi competitivi, nulla toglie il piacere di poterlo realizzare in casa con la nostra scheda ESPertino. Di cosa si tratta? E' un orologio speciale che ha lo scopo di tenere la traccia del tempo utilizzato da ciascun giocatore durante una partita ufficiale di scacchi. Il suo funzionamento è molto semplice: l'orologio del Bianco inizia a …

Un web server per Arduino

Un web server si può vedere come l’unione funzionale di due differenti applicazioni: in effetti, grazie alla presenza di un server composto da hardware e software di base possiamo, attraverso un particolare strato software, ricevere o inviare informazioni sulla rete. Con sempre maggiore incisività si stanno diffondendo applicazioni che richiedono servizi remoti perché garantiscono scalabilità e manutenibilità con significativi risparmi in termini economici (vedi figura 2). In effetti, in questo contesto diverse schede che gestiscono differenti servizi possono scambiarsi tra loro informazioni per meglio gestire la singola applicazione: ogni scheda utilizza un microcontrollore per comunicare, grazie alla presenza di una libreria software di rete, con i dispositivi presenti nella rete. Una libreria …

Realizziamo un Sensore di tocco con un Microcontrollore

L’immenso e variegato mondo dell’elettronica embedded è sempre più orientato ad utilizzare il microcontrollore come  uno “Standalone Application Device”. La sempre più crescente potenza di integrazione dei microcontrollore, rende questi componenti in grado di svolgere intere complesse applicazioni. Un’applicazione infatti, per definizione, è un insieme di elementi costituito da hardware esterno, hardware intrinseco al microcontrollore, ovvero blocchi funzionali quali timer, DAC, comparatori, clock ecc…, periferiche I/O d’interfaccia utente, e da moduli software per la gestione e il funzionamento dell’applicazione.  Introduzione Il sensore di tocco viene normalmente utilizzato come elemento atto a realizzare una commutazione (touch-sensitive switch), intendendo per commutazione, …

La tecnologia dei sensori nel settore medico è il cuore della sanità moderna

Oggi, quando i pazienti entrano in ospedale, devono affrontare non solo dottori e infermieri, ma anche una serie di strumenti medici analitici e diagnostici sofisticati. Numerosi dispositivi vengono utilizzati per monitorare i loro parametri vitali, quali la temperatura del corpo, il battito cardiaco, la pressione sanguigna, il livello di ossigeno nel sangue ecc. L’interfaccia tra i pazienti e questi strumenti medici è rappresentata da una serie di sensori medici altamente affidabili. La società di ricerche di mercato MarketsandMarkets prevede che il mercato dei sensori medici registrerà un tasso di crescita annuo cumulato (Compound Annual Growth Rate, CAGR) dell’8,5% tra …

Code Composer Studio

Parliamo del ormai diffusissimo ambiente di sviluppo di Texas Instruments. L’obiettivo di questo articolo è fornire una breve presentazione sull’argomento a quanti ancora non conoscono questo praticissimo strumento. A seguire un semplice progetto di esempio basato su microprocessore MSP430. Code Composer Studio è la versione dell’ambiente di sviluppo di Texas Instruments, ora basato sul software framework open source Eclipse. Questo framework è utilizzato da moltissime applicazioni ma originariamente è stato sviluppato proprio per creare ambienti di sviluppo, per questo motivo Texas Instruments, così come molti altri produttori di software embedded, ha deciso di utilizzare Eclipse. Solitamente si abbrevia la nomenclatura del Code …

Serial Port Interface: come utilizzarla con un controllore low-cost

Ci sono dispositivi come i convertitori analogici-digitali della Analog Devices che al power-up del sistema hanno bisogno di essere caricati con una configurazione di parametri. Alcune volte l’applicazione è tale per cui si possono utilizzare i parametri di default caricati sul componente. Altre volte, vuoi perché si hanno situazioni implementative differenti (stesso circuito da utilizzare per sistemi con caratteristiche diverse), vuoi perché c’è l’esigenza di un aggiornamento correttivo della configurazione, i suddetti parametri di default devono essere modificati. A questo scopo, Analog Devices ha inserito sui propri componenti "high speed converter", una porta seriale (SPI- Serial Port Interface)  per il …

Xtrinsic Sensing: La tecnologia di Freescale/NXP

Analizzare il movimento, ecco l’obiettivo che si è posta Freescale/NXP con Xtrinsic Sensing. Freescale, allo scopo di offrire soluzioni innovative nel campo della tecnologia Xtrinsic Sensing, ha realizzato tempo fa una vasta famiglia di accelerometri, inclusa la linea MMA845xQ, dove, oltre a proporre una discreta scelta in fatto di risoluzione (da 10 e fino a 14 bit), sono particolarmente indicate per le applicazioni di tipo embedded; in effetti, permettono di eseguire un’analisi accurata del movimento: cosa senza dubbio apprezzata nelle applicazioni di tipo automotive. Secondo le informazioni offerte dal costruttore, gli accelerometri MMA845xQ permettono di rilevare il movimento in tempo …

PCBWay: il partner ideale per la prototipazione elettronica

La progettazione di schede e dispositivi elettronici impone oggi un'elevata flessibilità e tempi di consegna sempre più ristretti. In un mercato caratterizzato da una forte spinta innovativa, con time-to-market sempre più brevi, è essenziale per i progettisti elettronici contare su servizi di prototipazione e assemblaggio PCB che siano rapidi, affidabili ed economicamente convenienti Introduzione Lo sviluppo di nuove applicazioni elettroniche ha ricevuto negli ultimi anni un notevole impulso, determinato principalmente dalla diffusione di nuove tecnologie come Internet of Things (IoT), Industry 4.0 e dispositivi "smart". Come effetto, abbiamo assistito al proliferare di soluzioni innovative in tutti i principali settori dell'elettronica: …

Le periferiche del micro AVR UC32

Una panoramica delle periferiche presenti a bordo dei microcontrollori Atmel AVR UC32. UC3 è la famiglia di microcontrollori AVR  a  32  bit di Atmel per sistemi ad elevate prestazioni nei più diversi ambiti di applicazione, che vanno dal controllo nei settori industriale ed automotive, alle apparecchiature consumer portatili. I microcontrollori si basano su CPU RISC a 32 bit che dispone di istruzioni dedicate per operazioni DSP, accessi read-modify-write e  manipolazione di  singoli bit, garantendo così una capacità di calcolo di 1.51 DMIPS/MHz. Una matrice di connessione multi-livello controlla lo scambio dati con le periferiche, eventualmente mediante controller DMA a più …

Processore ARM Cortex A9

Il processore ARM Cortex-A9 si distingue per un livello di prestazioni e di efficienza energetica senza precedenti, proponendosi come la soluzione ideale per tutte le applicazioni in cui sono richieste elevate performance, bassi assorbimenti e bassi valori di dissipazione termica. La famiglia di processori ARM Cortex offre una vasta gamma di soluzioni adatte a soddisfare anche le richieste più esigenti in termini di funzionalità e di prestazioni. La famiglia ARM Cortex comprende al suo interno tre serie di processori, tutti basati sull’architettura ARMv7 e sull’implementazione del set di istruzioni Thumb-2. La tecnologia Thumb-2 si basa su un innovativo set di istruzioni in grado di …

Conversione digitale-analogico in PWM

Con la tecnica del PWM si possono ottenere molti risultati. In questo articolo si vedrà come convertire un valore digitale in analogico, ovvero come ottenere un qualsiasi valore di tensione analogica, partendo da un dispositivo digitale. In un convertitore Digitale-Analogico (DAC) si ottiene la conversione di un segnale digitale (rappresentato da un insieme finito di numeri), in una segnale analogico. Di solito tale grandezza è una tensione, da usarsi secondo le più disparate esigenze. Un DAC è contraddistinto da alcune proprietà, come, ad esempio, il valore massimo e minimo di tensione ottenibili e, soprattutto, la risoluzione, ovvero la quantità di bit usati per …

Sicurezza e Android

Sistemi embedded e mobile device: una comune architettura per due particolari segmenti di mercato ognuno con peculiari caratteristiche tecniche ma dove è possibile trovare tutti i problemi noti in fatto di sicurezza. Dalla difficoltà di garantire livelli minimi di protezione con Javascript a quella di realizzare sistemi intrinsecamente sicuri nella compilazione dinamica con JIT compiler, fino ad arrivare a garantire la corretta esecuzione del browser  contenuto  all’interno del modulo WebKit: ecco perché le piattaforme mobile non possono non trascurare gli aspetti legati alla sicurezza e definire, di conseguenza, una corretta impostazione dei livelli minimi. I sistemi embedded sono piattaforme di lavoro costituiti da un processore, …

Lavorazione CNC di materie plastiche

Attualmente nell'industria largamente intesa i dispositivi programmabili, caratterizzati da un'elevata ripetibilità e affidabilità, svolgono un ruolo di elevata importanza. Se si desidera eseguire un elemento di precisione (o una serie di tali elementi), ad esempio un profilo angolare o una boccola, sarà necessario non solo progettarlo con precisione, ma anche eseguirlo. Da qui l'elevata popolarità delle macchine utensili CNC (Computerized Numerical Control), che consentono un'esecuzione rapida e, soprattutto, a buon mercato di questi elementi. Che cos'è la lavorazione CNC Questo termine specifica tutte le operazioni relative alla lavorazione del materiale mediante dispositivi a controllo numerico, che comprendono principalmente fresatrici …

Machine learning e deep learning

Nel senso più fondamentale, Machine Learning (ML) è un modo per implementare l'intelligenza artificiale (AI o IA). Simile all'IA, l'apprendimento automatico è una branca dell'informatica che studia la progettazione di algoritmi che hanno la capacità di apprendere da vari eventi. Algoritmi, set di dati, apprendimento automatico, apprendimento approfondito, calcolo cognitivo, big data e intelligenza artificiale: espressioni IT che hanno assunto il linguaggio di molte realtà industriali. ML è una delle tecnologie più eccitanti che si sarebbero mai potute incontrare. Come è evidente dal nome, dà al computer ciò che lo rende più simile agli umani: la capacità di apprendere. …

Audio facile con il SOMO-14D

Riprodurre file audio non è mai stato così facile con il SOMO-14D. Dotare il proprio sistema embedded di funzionalità audio può spesso rappresentare un’interessante possibilità. Non sempre tuttavia, soprattutto nel caso delle soluzioni più semplici ed economiche, il microcontrollore a bordo dispone delle periferiche necessarie per la memorizzazione e la riproduzione dei contenuti audio. In questo caso può risultare utile impiegare dei moduli standard di espansione. Uno di questi è il SOMO-14D, commercializzato dalla 4D System. Il dispositivo è ideale per applicazioni a basso costo nel settore, ad esempio, dell’automazione domestica, dei sistemi di allarme o dei navigatori GPS o …

La Cpu V850: architettura e prestazioni

Caratteristiche, architettura e prestazioni della CPU V850 di Renesas, la quarta generazione di microcontrollori per applicazioni automotive basati su  CPU V850. Realizzati in tecnologia flash MONOS a 90 nm (Metal-Oxide-NitrideOxide-Silicon), i dispositivi garantiscono una capacità di calcolo di 2.5 DMIPS/MHz e supportano una massima frequenza di clock di 200 MHz. La famiglia guarda al segmento di dispositivi high-end (figura 1) ed estende il portafoglio di soluzioni Renesas basate su CPU V850, che già includeva soluzioni di fascia bassa e ASSP (Application Specific Standard Product). In generale, i microcontrollori delle serie V850 si caratterizzano per le elevate prestazioni nel segmento di riferimento, bassa …