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.

MicroPython: il nuovo linguaggio per il mondo embedded

MicroPython ha tante potenzialità e in un mondo come quello embedded potrà diventare il nuovo linguaggio di programmazione prediletto? Il mondo embedded è impossibile negarlo: è pressoché dominato dal C e dal C++ per la programmazione e la realizzazione dei firmware, ma potrebbe subentrare un nuovo competitor. MicroPython è un linguaggio di programmazione che deriva dal Python tradizionale e nato nel 2014. Nei suoi primi anni di esistenza, documentata sul sito ufficiale non ha avuto troppo successo: il motivo? Dominazione! Inutile girarci attorno: schede a micro-controllore, basta pensare semplicemente ad Arduino, sono da sempre state congegnate e pensate per essere utilizzate con il C o per …

Riconoscimento facciale per la domotica con l’ESP32-CAM – Parte 2

In questo articolo riprendiamo il progetto iniziato nel precedente articolo "Riconoscimento facciale per la domotica con l’ESP32-CAM – Parte 1" in cui abbiamo testato la videocamera della scheda di sviluppo ESP32-CAM utilizzando lo sketch di esempio "CameraWebServer" estratto dagli esempi dell’IDE di Arduino. REGISTRAZIONE PERMANENTE DEI VOLTI L’esempio "CameraWebServer" è stato utile per dimostrare il funzionamento di registrazione dei volti della scheda ESP32-CAM, ma a causa della memoria volatile utilizzata in questo sketch, spegnendo la scheda, tutte le registrazioni dei volti andranno perse. Pertanto, al fine di garantire che i volti siano registrati permanentemente nella scheda, occorre creare una …

Code Composer Studio: il ruolo degli script nello sviluppo del codice

Le nuove tecnologie rendono sempre più necessario il ricorso a strumenti che ci permettano di acquisire, da un lato, una perfetta padronanza dei flussi di lavoro e nel contempo, dall’altro, di apprezzare nel più breve tempo possibile le caratteristiche tecniche dei prodotti stessi. Code Composer Studio cerca di offrire una risposta concreta ad entrambi gli aspetti. Introduzione Texas Instruments, in linea con la sua missione, offre da molti anni un vero “tavolo di lavoro” in grado di proporre, in un’unica interfaccia, diversi strumenti perfettamente integrati. Questo particolare approccio permette a tutti gli utilizzatori di acquisire, in modo rapido, la …

Small Circuits Revival – Parte 5 (Un semplice tester per triac e tiristori)

Se non vuoi utilizzare un relè elettromeccanico per accendere e spegnere qualcosa (leggi l'Episodio 3 di questa serie), allora puoi utilizzare un'alternativa a semiconduttore; se si tratta solo di piccoli segnali, allora questo può essere un normale transistor e correnti e tensioni maggiori possono essere commutate utilizzando un (grande) MOSFET, come descritto nell'Episodio 2. Tuttavia, una soluzione elegante è offerta dai tiristori e dai triac ora un pò oscuri. Puoi considerare un tiristore come un diodo che inizia a condurre dopo aver ricevuto un impulso al suo ingresso chiamato "gate". Un tiristore conduce solo in una direzione (come ci …

Xilinx Vivado Design Suite

In questo articolo per la rubrica Firmware Reload, analiazziamo le caratteristiche principali della suite di sviluppo per FPGA Xilinx. Introduzione La crescente capacità logica dei dispositivi programmabili oggi disponibili sul mercato e la conseguente complessità dei sistemi in essi implementati richiede l’impiego di tool di progetto con funzionalità sempre più avanzate, così da poter ridurre i tempi di sviluppo ed integrazione. Vivado è la nuova suite di Xilinx per la progettazione con i più recenti dispositivi delle serie Virtex-7 e Zynq-7000. Affianca al momento l’ambiente tradizionale ISE ma è previsto diventi nel prossimo futuro la sola piattaforma di sviluppo …

Moduli Apacer DDR4-3200: top di gamma nelle memorie per applicazioni industriali

Apacer Technology Inc. è leader a livello mondiale nella progettazione e produzione di memorie per utilizzi in applicazioni industriali. Il colosso di Taiwan ha recentemente introdotto nel mercato dell'archiviazione digitale i moduli di memoria DDR4-3200, dotati di caratteristiche davvero stupefacenti, specifici per applicazioni AIoT (Artificial Intelligence of Things), sistemi edge e mercati informatici ad alte prestazioni.  Apacer Technology, leader nella tecnologia delle memorie industriali Apacer Technology nasce nel lontano 1997. Grazie al costante impegno nell'innovazione, si è affermato nella progettazione di soluzioni all'avanguardia per il controllo industriale, moduli di memoria ad alte prestazioni e dispositivi per l'archiviazione digitale. E' …

FT800 motore video per sistemi embedded

Nuovo articolo della Rubrica Firmware Reload dedicata a professionisti del settore e appassionati, che vogliono fare un salto nella storia dell'elettronica e delle grandi tecnologie leggendo articoli della passata rivista Firmware, da sempre un vero e proprio cult nel mondo dell'elettronica embedded e dei microcontrollori. L’azienda FTDI Chip (Future Technology Devices International) ha recentemente introdotto uno straordinario componente elettronico: l’FT800 della serie EVE (Embedded Video Engine). Esso costituisce il primo chip di questa serie e, sicuramente, nasceranno nuovi prodotti e modelli nei prossimi mesi. Introduzione Nasce un nuovo modo di concepire la creazione della grafica GUI, modificandone costi e …

Renesas Synergy Microcontrollers and ThreadX – binomio vincente in termini di innovazione e potenza

Renesas Synergy è una famiglia innovativa di microcontrollori, che grazie ad un nuovo approccio permette agli sviluppatori embedded di realizzare progetti a basso time to market e a costo ridotto. Infatti, questa famiglia di microcontrollori è dotata di un set di API di alto livello, che permettono di velocizzare lo sviluppo software, spostando il focus sull'applicazione vera e propria andando a tralasciare in buona parte la gestione dei livelli più bassi. Da notare come nell'ultimo decennio si siano evoluti i sistemi embedded, raggiungendo maggiori performance e lavorando sempre connessi. Gli ambienti di sviluppo associati sono dotati di interfacce grafiche …

Small Circuits Revival – Parte 4 (Automatic Gain Control)

Un Automatic Gain Control Circuit (AGC) è molto utile in molte applicazioni; un esempio è il rilevamento di segnali deboli. Un'applicazione alla quale potresti pensare è un rilevatore di pipistrelli, in cui i suoni (ultrasonici) rilevati dal microfono vengono prima amplificati prima di spostarsi in un intervallo udibile dagli esseri umani. Che un simile AGC non debba essere complicato è dimostrato da questo circuito. È intuitivo utilizzare uno o più amplificatori operazionali, come illustrato nella Figura 1. Un amplificatore non invertente è costruito attorno a IC1A. Per il guadagno A1 vale quanto segue: A1 = R4/(R2 + R3 || …

PCI Express con la tecnologia TCP/IP

Nuovo appuntamento con la Rubrica Firmware Reload. Il protocollo TCP/IP è ormai un aspetto consolidato e utilizzato nelle sue varianti più disparate, in differenti contesti operativi. Non poteva di certo mancare la sua applicabilità allo standard PCI Express. Introduzione Il bus PCI Express è una soluzione altamente scalabile, di tipo commutato e point-to-point: una soluzione di I/O di tipo seriale che risulta retro-compatibile. PCI Express mantiene il modello load store del PCI, senza la segnalazione, ad esempio, degli interrupt e dove tutte le informazioni sono trasmesse in band, come la Quality of Service (QOS) o l’Hot-Plug/Hot-Swap, insieme all’integrità dei …

Gestire una SD con un micro

Benvenuti a un nuovo appuntamento con la Rubrica Firmware Reload. Vedremo in questo articolo come accedere ad una memoria SD su porta SPI. I dispositivi di memorizzazione di massa SD (Secure Digital) hanno ormai diffusione quasi ovunque, dai telefoni cellulari ai PC, dai data logger per applicazioni di campo alle videocamere digitali. Bassi costi, disponibilità immediata, compatibilità ed interoperabilità, buone prestazioni, sono solo alcuni dei fattori che hanno determinato il successo di questa tecnologia nel settore embedded. Del resto, la gestione di una memoria SD richiede semplicemente una porta SPI ed un software di controllo (tutte risorse che si …

Come programmare un microcontrollore ARM in Linguaggio Assembly – Parte 1

Descriviamo in questo articolo l'architettura ARM, ampiamente diffusa tra i sistemi embedded grazie, appunto, alle sue caratteristiche. Architettura RISC a basso consumo elettrico, le cui istruzioni Assembly vengono eseguite con pochi cicli di clock, spesso con un solo ciclo. Anche se nella stragrande maggioranza dei casi questi dispositivi vengono programmati con linguaggi di alto livello, è sempre utile conoscere il linguaggio Assembly che in certi casi risulta un ottimo strumento di programmazione. Per esempio, nella creazione di funzioni di startup, di verifica funzionamento hardware interno al micro, e quando si richiedono massime prestazioni a livello software. ARM Cortex core …

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

In quest'ultima variazione dello "stairwell lamp circuit" cambieremo la tensione di rete. Ma attenzione: questo può essere letale! Se non hai ancora alcuna esperienza con ciò, allora sarebbe meglio consultare e/o chiedere aiuto a un tecnico elettronico o elettricista (o attendere un'altra settimana). Versione 3 Le tensioni AC non possono essere commutate utilizzando un "normale" switch a semiconduttore (transistor o MOSFET); per questo abbiamo bisogno o di un relè elettromeccanico o di uno speciale componente che si chiama triac. In sintesi: possiamo immaginare un triac come due tiristori collegati in antiparallelo. Nello stato di riposo con nessuna delle serie …

Generatori di CLOCK

Gli oscillatori sono impiegati per produrre segnali a frequenze audio o radio, per una grande varietà di applicazioni. Ad esempio, semplici oscillatori a frequenze audio sono usati nei moderni telefoni a tastiera per inviare alla centrale i segnali di selezione. Vengono, inoltre, molto utilizzati nell’ambito dell’elettronica digitale, specialmente nei sistemi a microprocessore. In questi, infatti, il circuito di temporizzazione è basato su un clock, che altro non è che un oscillatore al quarzo. Sempre nell’ambito dell’elettronica gli oscillatori vengono utilizzati come generatori di funzioni o come segnale di clock per circuiterie di test. Il generatore di clock è un …

Sistema di debug avanzato per Linux Embedded

Nuovo appuntamento con la rubrica Firmware Reload. Lauterbach consolida il sistema di sviluppo TRACE32 per Linux con la nuova versione PowerView per QT-Linux. L’esigenza di adottare architetture di CPU multi-core nasce dal tentativo di risolvere i problemi di consumo energetico e conseguente dissipazione di calore, che si presentano quando si aumenta la frequenza di lavoro di una CPU a singolo core. Inoltre, la tendenza tecnologica a ridurre la geometria di un chip aumenta sempre più i problemi di progetto, dovuti al manifestarsi di fenomeni parassiti (effetti capacitivi, correnti di dispersione, etc.). Una prima risposta a questi problemi consiste nel …

MPLAB®Harmony: il Framework targato Microchip

In questo testo affronteremo l’ambiente di sviluppo MPLAB di Microchip, soffermandoci soprattutto sul nuovo tool di sviluppo MPLAB® Harmony Frameworks. Questo ambiente di lavoro è il primo nel mercato firmware ad integrare la cessione di licenza per vendita e supporto hardware, driver e librerie per il sistema operativo real time. Ad ora Harmony integra frame di terze parti quali: FreeRTOS, wolfSSL o Express Logic, diminuendo le difficoltà di sviluppo e riducendo drasticamente i bug in fase di scrittura codice. Nelle attività di sviluppo odierne, dove l’elettronica programmabile ormai ha posto le proprie radici in quasi ogni settore, si ha …

La piattaforma ZYNQ-7000 AP SoC Intelligent Drives

I kit di sviluppo forniti da Xilinx rappresentano soluzioni di progetto in grado di ridurre significativamente i tempi e di sviluppo e di migliorare la produttività. Xilinx propone una serie di piattaforme “Targeted Design” che contengono schede hardware di valutazione contenenti i dispositivi programmabili delle famiglie più recenti, strumenti di sviluppo come la recente Suite Vivado®, IP core, progetti di esempio e supporto per schede di formato medio con a bordo FPGA (FMC), tali da poter iniziare rapidamente lo sviluppo di nuove applicazioni. PIATTAFORME E SOLUZIONI In questo articolo prendiamo in considerazione la piattaforma Zynq-7000 AP SoC Intelligent Drives, …

Una soluzione ZigBee a singolo chip

Questo articolo della rubrica Firmware Reload introduce la famiglia EM35x di Silicon Labs, ideata per realizzare soluzioni ZigBee a singolo chip. LA FAMIGLIA EM35X La famiglia EM35x di chip ZigBee prodotta da Silicon Labs è composta dai prodotti EM351 e EM357, entrambi sono SoC basati su core ARM Cortex-M3, con pochi rivali in termini di performance, consumo energetico e compattezza del codice di esecuzione. Questa famiglia combina un ricetrasmettitore radio IEEE 802.15.4 a 2.4 GHz con un microcontrollore a 32 bit dotato di memoria RAM e memoria flash integrata. Un ulteriore vantaggio su questi prodotti è la possibilità di …

Voltage Monitor MAX8212

Analizziamo un semplice e versatile IC per il monitoraggio della tensione di alimentazione in circuiti con architettura a microprocessore e non solo. L’integrato che andiamo a presentarvi è un semplice dispositivo per il monitoraggio della tensione di alimentazione di un circuito. Quando si verifica un power-failure, ad esempio per un malfunzionamento dello stadio di alimentazione, oppure in caso di blackout, il cambiamento dell’uscita del dispositivo comunica questo evento ad un microprocessore (o ad un controller dedicato), cosicché la procedura, prevista per queste evenienze, possa essere attivata in tempo. Ecco allora che il microprocessore può decretare l’immediato backup dei dati …

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 …

Send this to a friend