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.

L’intelligenza artificiale per la prevenzione dei terremoti

Blockchain e l'intelligenza artificiale sono in grado di creare rapidamente e facilmente un sistema di registrazione indipendente che potrebbe essere la chiave per fornire un aiuto più rapido e più efficace alle persone colpite da un'emergenza. Non c'è nulla di artificiale nel cambiamento climatico. I modelli meteorologici che vediamo in tutto il pianeta, dalle colossali inondazioni agli incendi catastrofici alla devastante siccità, non ci sono dubbi sul fatto che abbiamo bisogno di utilizzare tutte le risorse del nostro pacchetto tecnologico per combattere disastri naturali o causati dall'uomo. Uno di questi progressi è l'Intelligenza Artificiale (AI) codiauvata dalla blockchain, che …

QorlQ P4040 Multicore Processor

Scopo di questo articolo, è quello di analizzare le caratteristiche del processore P4040, il primo processore con quattro core presente all’interno della famiglia P4 di QorlQ, e presentare anche una panoramica relativa agli strumenti di sviluppo e prototipazione offerti da Freescale. QorlQ di Freescale rappresenta non solo una famiglia di processori ad elevate prestazioni, ma costituisce, soprattutto, una piattaforma hardware orientata spiccatamente alle applicazioni nel campo delle telecomunicazioni, ed è la naturale evoluzione della consolidata architettura PowerQUICC. I processori QorlQ sono tutti progettati e fabbricati utilizzando core ad elevate prestazioni basati su PowerArchitecture e sono destinati a giocare un ruolo fondamentale nella nuova era …

Host Controller USB le soluzioni Renesas

Una panoramica delle soluzioni proposte da Renesas per applicazioni USB Host. USB (Universal Serial Bus) è un protocollo di comunicazione per dispositivi periferici introdotto nel 1994 da un gruppo di compagnie, tra cui Intel, IBM e Microsoft. Inizialmente orientato al mercato dei Personal Computer, ha in realtà trovato rapida diffusione anche in applicazioni embedded tanto da essere adottato oggi pure in telefoni cellulari, PDA, console di gioco. Nel 2008 è stata superata la soglia dei 2 bilioni di dispositivi USB venduti per anno; ad oggi sono stati immessi sul mercato oltre 10 bilioni di componenti. Il protocollo di comunicazione ha …

La Virgola Mobile

In questo articolo si vedrà come gestire i numeri in virgola mobile, in un sistema sprovvisto di librerie matematiche decimali o floating-point. L’applicazione principale esaminata sarà quella della conversione di un valore digitale proveniente da un ADC ad un valore analogico in virgola mobile visualizzabile. Nella programmazione dei microcontrollori, le operazioni matematiche (anche semplici) sono quelle più coinvolte. Se i dati numerici da trattare sono relativamente piccoli e, soprattutto, di tipo intero, non esistono particolari problemi nella gestione. Infatti, tutti i compilatori, di qualsiasi linguaggio, ben supportano le librerie di numeri interi che, peraltro, sono anche implementati nell’architettura interna del sistema. Purtroppo non tutti i compilatori …

Riconoscimento facciale con il Raspberry Pi

Il riconoscimento facciale, o face detection, è sicuramente una tra le tecniche di intelligenza artificiale maggiormente apprezzata e in grado di destare interesse o curiosità tra i maker. In questo articolo mostreremo come, con un normale Raspberry Pi 3 equipaggiato di telecamera, sia possibile realizzare in pochi semplici passi un’applicazione di riconoscimento facciale Introduzione Il riconoscimento facciale non è più una novità: questa tecnica viene ad esempio normalmente utilizzata da numerosi modelli di telecamere IP, con finalità di sorveglianza e controllo antintrusione. La stessa funzionalità può essere attivata su alcuni smartphone di ultima generazione ed esistono comunque numerose app …

Un’applicazione con Webcam USB

Il bus USB (Universal Serial Bus) si sta diffondendo rapidamente nel settore delle applicazioni multimediali. Si tratta di una tecnologia che può essere utilizzata per archiviare immagini statiche o video su memorie Flash, oppure per trasferire ed elaborare flussi video in tempo reale. La realizzazione di una semplice applicazione di una webcam, come quella descritta in questo articolo, è probabilmente un caso che molti progettisti troveranno interessante. Spesso per realizzare una webcam si  utilizza un  microprocessore affiancato da un circuito integrato dedicato alla ricetrasmissione sul bus USB. Sfortunatamente, questo tipo di progetto spreca uno spazio considerevole sulla scheda e richiede un numero di componenti relativamente elevato. Una soluzione …

Alimentatori per FPGA

Esempi pratici di progettazione di alimentatori utilizzando il tool WEBENCH FPGA Power Architect di National Semiconductor. La presenza negli odierni FPGA di un gran numero di carichi, tende a complicare il progetto del sistema di alimentazione. Oltre ai valori di correnti e tensioni richiesti, ogni carico può avere specifiche particolari in termini di tensione di ripple, filtraggio del rumore, separazione degli alimentatori e avviamento graduale (soft start). Molto spesso è necessario il ricorso ad alimentatori a commutazione c.c./c.c. ad elevata efficienza a causa degli elevati valore di corrente in gioco, mentre nel contempo è richiesto un controllo accurato del …

Scheda di sviluppo con porta USB

Dopo tanti circuiti complessi e articolati, abbiamo pensato di proporre una semplice scheda di sviluppo con cui ogni lettore può testare le funzionalità dei microcontrollori PIC a 8 bit con porta USB e la praticità dei bootloader che usano tale porta. La scheda di sviluppo che presentiamo (vedi figura 1) utilizza l’integrato PIC18F4550 che ha, tra le tante caratteristiche interessanti, anche quella di integrare al suo interno tutta la circuiteria necessaria per collegare una porta USB 2.0. Questo collegamento viene usato sia per la programmazione del microcontrollore sia per l’alimentazione dell’intero circuito. Come periferiche di test sono presenti 8 led per testare le …

L’impiego dei convertitori DAC

I  convertitori digitali-analogici costituiscono il cuore dei sistemi a loop aperto, chiuso e di tipo “set and forget”. Quando si tratta di scegliere un convertitore digitale-analogico (DAC), i progettisti hanno a disposizione una vasta gamma di circuiti integrati. I DAC possono essere suddivisi in varie categorie per applicazioni specifiche. Si può restringere il campo distinguendo tra quelli adatti per regolazioni DC o a bassa velocità e quelli per la generazione di forme d’onda ad alta velocità. Questo articolo si occupa dei DAC per applicazioni a bassa velocità, sia ad alta che a bassa risoluzione, regolazione approssimativa o di precisione. Quando si sceglie un DAC a …

ZigBee facile

Con i moduli Sena Technologies, integrare Zigbee nella propria applicazione diviene un’operazione semplice, veloce e poco costosa. La tecnologia Zigbee sta penetrando sempre di più nel mercato soprattutto in applicazioni di domotica, telemetria e in tutte quelle situazioni in cui è richiesto lo scambio di una esigua quantità di dati a velocità piuttosto elevate. Aggiungere la connettività Zigbee ad una applicazione esistente non è però cosa semplice, sia per le difficoltà progettuali (soprattutto nel layout del circuito stampato), sia per le problematiche relative alle certificazioni di prodotto. Queste difficoltà possono essere facilmente superate grazie all’impiego dei moduli OEM ProBee-ZE di Sena che operano una conversione …

Le MCU Freescale/NXP: da HC08 alle nuove HCS08

Le MCU HCS08 rappresentano un'evoluzione della famiglia HC08, con caratteristiche di throughput decisamente superiori, un rinnovato set d’istruzioni – sebbene compatibile con il precedente – ed un aggiornamento delle principali periferiche. Il funzionamento a tensioni più basse – 3.6V anziché 5 V- permette inoltre di ottenere un aumento delle prestazioni senza aumentare il consumo della MCU. Nel seguito vedremo in dettaglio le principali differenze tra queste due famiglie di MCU. CPU E MODULO DEBUG La CPU della famiglia HCS08 deriva dalle CPU 68HC05, a sua volta erede della notissima e storica CPU 6800 di Motorola. Si tratta di processori CISC con architettura di …

Teoria e applicazioni del filtraggio digitale

Il filtraggio digitale è senza ombra di dubbio una delle tecniche basilari dell’elaborazione numerica dei segnali, a tal punto da considerarsi l’applicazione principe nei DSP e in altri tipi di processori dedicati. In questo articolo discuteremo dapprima i concetti fondamentali del filtraggio digitale, per poi presentare qualche esempio di applicazione, chiudendo con l’analisi di alcuni componenti adatti alla sua implementazione Introduzione Nell’ambito dell’elaborazione numerica del segnale, la funzione di un filtro (Figura 1) è quella di rimuovere parti indesiderate di un segnale (come ad esempio una componente di rumore casuale), oppure estrarre opportunamente delle parti desiderate del segnale, come …

Embedded PC

L’open source, o meglio l’open hardware, è stato pensato anche per le piattaforme PC? ZF Micro Solutions intende rispondere a questa domanda suggerendo il suo ZFx86: un progetto realizzato con l’intento di suggerire una piattaforma low cost e low power per piattaforme Intel. Di certo non è Arduino, ma ZF Micro Solutions vuole iniziare una nuova fase suggerendo la sua piattaforma di lavoro pensata e realizzata per il segmento embedded PC. Non solo, l’architettura così definita da ZF è anche Linux compatibile; infatti, il suo ZFx86 Easy Embedded PC System (EEPC) è stato realizzato utilizzando la tecnologia SoC e dissipa …

DSP high-performance

La crescente diffusione di applicazioni di imaging e infrastrutture wireless nel mercato consumer ed industriale richiede lo sviluppo di soluzioni hardware ad elevate prestazioni. Il TMS320C64+, in particolare, è il modello di punta della famiglia C6000 di processori DSP fixed-point di Texas Instrument. Basato sulla terza generazione dell’architettura VLIW VelociTI di TI, realizzato in tecnologia a 65 nm e dotato di una capacità di calcolo di 9600 milioni di istruzione per secondo ad una frequenza di clock di 1.2 GHz, disponibile in range di temperatura esteso [-40;+100] °C, costituisce una soluzione interessante ed economica per applicazioni DSP high-end. ARCHITETTURA …

Guida al porting LabVIEW Embedded per ARM

L’architettura del processore ARM RISC a 32-bit sviluppata da ARM Limited è ampiamente utilizzata in diversi progetti embedded per via del prezzo contenuto, basso consumo e per la vasta gamma di periferiche adatte ai maggiori produttori di silicio. Oggi, la famiglia ARM rappresenta oltre il 75 percento di tutte le CPU RISC a 32-bit. È possibile utilizzare NI LabVIEW Embedded Module for ARM Microcontrollers per la programmazione dei microcontrollori ARM con il sistema operativo embedded RTX. Questo articolo offre una linea generale per indirizzare il codice LabVIEW su un target ARM custom. Con NI LabVIEW Embedded Module for ARM Microcontrollers è possibile migrare il software LabVIEW su qualunque microntroller …

Micro a 8 bit o ARM?

Visti i livelli raggiunti dalla tecnologia, le architetture ARM stanno soppiantando l’uso dei microcontrollori a 8 bit. Ecco i motivi. Oggi le nostre vite sono intrise di microcontrollori. Li troviamo nelle automobili, nei cellulari, nei giocattoli, negli elettrodomestici che usiamo quotidianamente. Dalla loro prima introduzione, 30 anni fa, l’uso dei microcontroller è aumentato fino ai miliardi di unità all’anno confermando la presenza in quasi tutti i dispositivi elettronici e, tra le varie architetture, gli 8 bit sono quelli più utilizzati. Ma che cosa rende i micro a 8 bit così utili ad una così vasta gamma di applicazioni? Due sono …

MCU basate su ARM Cortex-M3

Fujitsu Semiconductor Europe entra nel mercato dei microcontroller embedded basati sul core ARM® con la sua famiglia a 32 bit ‘FM3’ di MCU basate su ARM® Cortex™-M3. Chiunque operi nel settore dei microcontroller è concorde nel riconoscere che, soprattutto nel segmento dei dispositivi a 32 bit, il mercato è stato ampiamente dominato per un certo periodo di tempo da controller costruiti intorno all’architettura ARM. E’ quindi legittimo chiedersi perchè un altro fornitore dovrebbe entrare nell’arena con l’ennesimo prodotto nuovo basato sullo stesso core e in che modo potrebbe differenziare questa “new entry” e farla diventare veramente insuperabile in un …

Programmazione Multicore

La sempre più prepotente diffusione di sistemi multicore pone in evidenza il problema di una programmazione dedicata. La domanda è: sarà facile o difficile scrivere software per sistemi multicore? Proviamo a rispondere. Lo sviluppo crescente di piattaforme multicore rappresenta per l’industria del software un’opportunità e allo stesso tempo un problema. C’è chi ritiene che tutto il codice vada revisionato e riadattato, chi invece sostiene che il codice già scritto venga correttamente interpretato dai moderni sistemi operativi SMP (Symmetric Multi-Processing) e dalle librerie di threading. La promessa delle piattaforme multicore per i sistemi embedded è quella di portare una riduzione dei consumi di potenza; tuttavia ciò può …

Microprocessori ARM NXP

Vediamo le caratteristiche dei microprocessori ARM. In particolare ci soffermeremo su quelli della NXP Semiconductors. L'architettura ARM (precedentemente Advanced RISC Machine, prima ancora Acorn RISC Machine) indica una famiglia di microprocessori RISC a 32bit utilizzata in una moltitudine di sistemi embedded (figura 1). Grazie alle sue caratteristiche di basso consumo (rapportato alle prestazioni) l’architettura ARM domina il settore dei dispositivi mobili dove il risparmio energetico delle batterie è fondamentale. Attualmente la famiglia ARM copre il 75% del mercato mondiale dei processori a 32 bit per applicazioni embedded ed è una delle più diffuse architetture a 32 bit del mondo. I processori …

Traslatori di Livello digitali

Una rassegna d'interfacce digitali nella Babele delle tensioni di alimentazione dei moderni circuiti logici. C'erano una volta i Circuiti Logici TTL, realizzati completamente con transistor bipolari. All’epoca, parliamo degli anni ’60, dire “circuito logico” implicava avere a che fare con componenti a bassa e media integrazione, con consumi relativamente alti (visti con occhi moderni) e tensioni di alimentazioni nominali invariabilmente pari a 5.1V. Esisteva un’altra tecnologia con velocità e consumi maggiori, ancora basata su bipolari, chiamata ECL (Emitter Coupled Logic). In questo caso la tensione di alimentazione era negativa e pari a -5.2V. La ricerca di minori consumi condusse …

IAR Embedded Workbench

Embedded Workbench è l’IDE di IAR per lo sviluppo di applicazioni con microcontrollori di svariate case madri. Eccone una descrizione dettagliata con riferimento al microcontrollore Texas Instruments MSP430. IAR Embedded Workbench per ARM è un ambiente di sviluppo integrato (IDE) progettato per consentire lo sviluppo ed il debug di applicazioni embedded. Per ogni specifica famiglia di microcontrollori esiste una specifica versione del software che include generalmente un compilatore C/C++, un IDE espandibile che mette a disposizione dello sviluppatore un project manager in grado di gestire progetti gerarchici e la possibilità di integrazione con strumenti per il controllo di configurazione del codice sorgente. In questo articolo presentiamo un tutorial introduttivo sull’uso di Embedded Workbench con riferimento …

Corso C avanzato su Raspberry PI: Indentazione del codice

Quest'ultima puntata del corso avanzato sul linguaggio C su Raspberry Pi è dedicata alle tecniche per indentare un listato sorgente. Anche se, a volte, sembra un'operazione superflua, in realtà essa è una delle azioni di formattazione del codice più importanti. Grazie a essa, se eseguita correttamente, è possibile ottenere un codice altamente leggibile e ben organizzato, soprattutto se chi lo consulta sono terze persone. A cosa serve indentare il codice sorgente L'indentazione del codice non è una prerogativa solamente del linguaggio C. In pratica, i sorgenti in tutti i linguaggi di programmazione possono essere indentati. Il vecchio Cobol, ad …

LCD controllers su AT91SAM9

Una breve introduzione all’utilizzo del controller LCD a bordo dei micro AT91SAM9. I continui progressi tecnologici del settore rendono oggi possibile integrare display LCD a costi contenuti in tutte le applicazioni embedded. La maggior parte dei micro-controllori oggi disponibili integrano per questo controller dedicati. Di seguito è descritto in particolare come interfacciare un display LCD ai dispositivi della famiglia AT91SAM9 di Atmel. Tali microcontrollori si basano su processore ARM962EJ-S, in grado di garantire capacità di calcolo di oltre 300 MIPS. L’AT91SAM9M10, ad esempio, è un microcontrollore per applicazioni multimediali che integra decoder video hardware MPEG-4/H.264, acceleratore 2D, controller LCD, interfaccia per touch-screen resistivo e …

USB embedded facile

Lo sviluppo di un sistema embedded con interfaccia USB viene sensibilmente agevolato grazie alla libreria software USB per i microcontroller da 16 e 32 bit di Fujitsu Semiconductor. Il bus seriale universale (USB) diventa sempre più l’interfaccia standard per sistemi embedded di qualsiasi tipo. Oltre ad offrire la possibilità di connettere supporti di archiviazione portatili (es. chiavette USB) o dispositivi di controllo (es. mouse o tastiera), uno degli usi più frequenti è la connessione al PC che viene usata per vari scopi, ad esempio aggiornare firmware, scambiare dati di vario tipo o semplicemente impostare parametri operativi e di controllo. L’USB può essere utilizzato anche come interfaccia di diagnostica per la manutenzione, e sta sostituendo mano …

Memorie non volatili dell’azienda MICROCHIP

Il fabbisogno di memorie non volatili è in gran parte legato al continuo sviluppo dei dispositivi mobili che utilizzano memorie di sempre maggiore capacità. Si tratta principalmente di telecamere, smartphone, tablet e fotocamere. Proprio le crescenti esigenze del mercato hanno spinto ad uno sviluppo continuo delle tecnologie di produzione delle memorie non volatili. La caratteristica essenziale delle memorie non volatili è la possibilità di archiviare i dati in assenza di alimentazione. La presenza di alimentazione invece è necessaria per le operazioni di scrittura e lettura dei dati. Sia l'azienda Microchip, che l'azienda Atmel acquisita dalla prima, vantano una vasta esperienza …