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.

I nuovi micro Tiva C

In questo articolo della Rubrica Firmware Reload parleremo di un nuovo prodotto della Texas Instruments, la quale ha lanciato sul mercato la nuova generazione di processori ARM Cortex-M4. La nuova serie di processori è stata denominata Tiva C. Questo articolo ci introduce nel mondo del Tiva C e ci porta alla scoperta delle sue potenti funzionalità, delle sue periferiche e degli strumenti a disposizione dei progettisti. Introduzione I microcontrollori della serie Tiva C di Texas Instruments sono da poco arrivati sul mercato e vanno ad ampliare il portfolio di prodotti Cortex-M che TI mette a disposizione degli sviluppatori. Se …

Usare un NAND come traslatore

Questo articolo della Rubrica Firmware Reload parla dell'SN74LV1T00, una porta logica NAND utilissima per applicazioni dove sia necessario eseguire una traslazione di livello per i segnali. Introduzione L'SN74LV1T00 è un chip della Texas Instruments che integra una porta logica NAND a singola alimentazione, realizzata in tecnologia CMOS. L’alimentazione di questo chip deve essere superiore a 1,6 V e inferiore a 5,5 V, perciò in questo intervallo sono incluse le più diffuse tensioni di funzionamento per le schede elettroniche: 5 V, 3,3 V, 2,5 V e 1,8 V. La corrente di uscita che il chip è in grado di fornire …

La sicurezza nei SoC programmabili

Nuovo appuntamento con la Rubrica Firmware Reload di Elettronica Open Source. Le piattaforme configurabili come i SoC Interamente Programmabili Zynq-7000 possono offrire l’accesso all’architettura ARM onnipresente, strettamente accoppiata ad una matrice FPGA ad alte prestazioni. Includendo funzionalità sicure come TrustZone, gli ingegneri possono sviluppare soluzioni o piattaforme che rispondono ai requisiti di un insieme di applicazioni finali ottimizzate per la sicurezza. Introduzione Il requisito di sicurezza è onnipresente: qualsiasi cosa abbia un valore percepito è interessante per elementi poco raccomandabili della società. Di solito, la forma di attacco dipenderà dal soggetto e così ne consegue che ogni forma di …

Bootloader secondario via I2C

Questo articolo della Rubrica Firmware Reload tratta la realizzazione di un bootloader in grado di aggiornare il firmware via I2C e alcuni dei prodotti delle famiglie LPC11xx e LPC17xx di NXP. Introduzione Nei microcontrollori delle famiglie LPC11xx e LPC17xx esiste un boot block in cui risiede il bootloader primario. Questo bootloader è eseguito ogni volta che il microcontrollore viene alimentato o resettato. Attraverso questo b.l. è possibile eseguire l’ISP command handler o il codice dell’applicazione utente memorizzata nei settori di flash interna. L’obiettivo di questo progetto è di introdurre una applicazione utente che permetta di aggiornare il firmware applicativo …

QTouch Studio

In questo articolo della Rubrica Firmware Reload esaminiamo in dettaglio l’applicazione QTouch Studio, che offre una virtualizzazione in tempo reale del flusso di dati di debugging di QTouch inviati dalle schede di sviluppo supportate. Introduzione Il QTouch Studio, scritto dalla Atmel, è un’applicazione per PC, che visualizza in tempo reale i dati inviati dalle seguenti schede di sviluppo: QT600 SAM3N-EK SAM3S-EK AVRTS2080A AVRTS2080B QTouch Xplained Esso permette la messa a punto, in tempo reale, dei sensori tattili. Al momento della stesura del presente articolo, il software è giunto alla versione 4.3.1. Il software è stato sviluppato con il Visual …

I nuovi integrati ClockWorks

In questo articolo della Rubrica Firmware Reload analizzeremo MX85xxx e SM803xxx, due famiglie di integrati ClockWorksTM della Micrel, come soluzioni clock/timing. Introduzione La Micrel Inc. è un produttore leader di soluzioni IC (Integrated Circuit) a livello mondiale, tra i suoi prodotti troviamo soluzioni riguardati Power Management, RF Wireless, LAN, Clock/Timing; in quest’ultima categoria distinguiamo due grandi famiglie: Clock-Works e Precision Edge. La Precision Edge è una famiglia che include soluzioni di distribuzione clock con innovative caratteristiche tra cui isolamento di rumore cross-talk, bassi jitter e molto altro per mantenere intatta l’integrità del segnale; mentre la famiglia ClockWorks si impone …

Che cos’è un segnale PWM

Che cos'è un segnale PWM? Per quale motivo sono così utilizzati e amati? In questo articolo scopriremo un passo per volta assieme ad un esempio pratico, non solo come sono fatti e a che cosa servono, ma anche come funzionano. Partiamo dalle basi: la sigla. PWM significa "Pulse Width Modulation", in italiano significa "Modulazione di segnale ad impulso". Di che cosa si tratta? Come suggerisce il nome è un tipo di modulazione digitale. A che cosa serve? A codificare tanti valori in un segnale attraverso due elementi: un segnale digitale e un periodo. "Codificare tanti valori in un segnale" è una definizione molto brutta …

Small Circuits Revival – Parte 7 (Short-wave Audion)

Oltre al condensatore di tuning, il ricevitore short-wave a tre stadi qui descritto (Figura 1) ha un regolatore aggiuntivo per il feedback. In linea di principio, questo primo stadio è un oscillatore il cui punto di lavoro è regolabile, consentendo di ridurre il guadagno. Il trucco sta nel regolare il guadagno in modo tale che tutte le perdite nel loop dell'oscillatore siano quasi compensate, ovvero, il tutto è sul punto dell'auto-oscillazione. A questo punto il ricevitore mostra la sua massima sensibilità e la migliore selettività. Lo stadio oscillatore PNP (in configurazione common-collector) funziona simultaneamente come un audion e un …

Small Circuits Revival – Parte 6 (Un timer watchdog NE555)

Praticamente ogni microcontrollore moderno ha un watchdog integrato. Previene il blocco del microcontrollore, che può essere il risultato di un errore di programmazione o di una condizione operativa imprevista dove, ad esempio, il programma rimane intrappolato in un loop infinito e non reagisce più a input esterni o interni. In linea di principio, questa funzione di watchdog integrata è un timer che deve essere reimpostato regolarmente da un comando speciale entro un certo intervallo di tempo. Se questo comando non viene eseguito indica che il programma è andato fuori pista, il timer va in time out ed esegue un …

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. Ma prima di cominciare, permettimi di presentarmi: sono Lorenzo Neri: chief education officer di Elettronica Open Source, mi occupo di realizzare contenuti educativi per aiutare persone come te a comprendere meglio questo mondo! Nei suoi primi anni di …

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 …

Send this to a friend