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.

Considerazioni sul Power Management di FPGA e ASIC

In applicazioni con FPGA e ASIC sono richieste diverse tensioni di alimentazione, per il core, per gli I/O e in taluni casi anche una terza tensione per l’alimentazione dei circuiti ausiliari. Ecco come scegliere il sistema di alimentazione più idoneo anche in termini di ingombro su PCB, risposta ai transitori ed efficienza. Nei mercati super-competitivi di oggi, che vedono una sempre più crescente pressione del time-to-market relativamente ai sottosistemi elettronici, l’importanza di FPGA e ASIC è cresciuta enormemente per il fatto che da questi componenti deriva la funzionalità di numerosi nuovi sistemi. Uno dei fattori più critici di un sistema basato su una FPGA è …

VHDL for beginners: Statement concorrenti e sequenziali

Il VHDL viene concepito per la descrizione dei circuiti elettronici e quindi consente le realizzazione di sistemi molto complessi. In elettronica troviamo una differenza sostanziale tra circuiti combinatori e sequenziali data dalla presenza di una cella di memoria al proprio interno. Infatti, nei circuiti combinatori, l'output è il risultato di una funzione logica dei soli input. Differentemente nel circuito sequenziale troviamo di fatto un elemento di memoria che porta in conto lo stato attuale (o quello precedente) del circuito stesso. In merito, il VHDL mette a disposizione diversi costrutti molto interessanti che possono rendere efficace e leggibile l'implementazione dei …

Costruire un root filesystem con Buildroot

Buildroot è un tool che permette di costruirci una cross-compiler toolchain e un root filesystem per il nostro target in modo più efficiente e veloce. I suoi usi sono rivolti principalmente verso il settore embedded. Buildroot è una collezione di makefiles e patches ed è largamente utilizzato per applicazioni che richiedono piccoli sistemi o sistemi dedicati. Le applicazioni dedicate, di solito, non utilizzano la famiglia x86, ma più spesso microprocessori come PowerPc, MIPS o ARM e incontrano maggiormente il gradimento dei tecnici. Se pensiamo di utilizzare Buildroot allora molto probabilmente quello che vogliamo è uno strumento che permette la creazione, in un modo abbastanza …

Progettare con Quartus II di Altera

Quartus II è un software per la progettazione di CPLD, FPGA e structured ASIC della famiglia Altera. Nell’articolo la descrizione dell’applicativo e alcuni consigli per conoscerlo meglio. La versione 7.0 di Altera Quartus II ha integrato l’analizzatore TimeQuest, il primo tool di analisi delle temporizzazioni mai realizzato da un fornitore di FPGA a offrire un supporto nativo completo per il formato standard Synopsys Design Constraints. La versione integra anche una serie di prestazioni di progettazione team-based che permettono di gestire in modo efficiente le attività di sviluppo congiunto su progetti ad alta densità. Questi potenziamenti soddisfano le specifiche imposte dai moderni progetti …

Interfaccia con DataFlash a 3Volt

Così come la struttura dei componenti a semiconduttori sta sempre più riducendosi, anche la tensione nominale di alimentazione tende ad abbassarsi con il vantaggio, naturalmente, di minori consumi e di velocità operative sempre maggiori. In questo articolo si vedrà come collegare fisicamente una memoria, funzionante con una tensione di 3V, con un sistema digitale a 5V. Ovvero, analizzeremo alcune tecniche per l’interfacciamento di una memoria DataFlash a 3Volt con un microcontrollore alimentato a 5Volt. La tensione che deve alimentare la DataFlash deve essere compresa tra 2,7V e 3,6V. Innalzandola ulteriormente si rischia di danneggiare seriamente il modulo. DEFINIZIONE DEI  LIVELLI …

Kernel real-time

È veramente indispensabile utilizzare un sistema operativo real-time? Quali sono le ragioni per utilizzare un RTOS in un sistema dedicato? Vediamo quali sono gli aspetti da tenere presenti per decidere l’acquisto di un sistema operativo per sistemi embedded. Non è detto che un sistema dedicato deve disporre di un RTOS real-time. Infatti 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. LE  RAGIONI Il firmware potrebbe essere semplicemente un ciclo software principale …

Considerazioni di design per la realizzazione di uno spirometro

In questo articolo vedremo alcune considerazioni hardware e software per realizzare un dispositivo in grado di quantificare le capacità respiratorie di un essere umano, misurando sia i volumi che le portate. I risultati delle misure effettuate da questo dispositivo potranno essere inviate ad un computer per visualizzare graficamente i dati.  Fondamenti di spirometria Vediamo anzitutto di acquisire familiarità con i principali parametri utilizzati nell’ambito della spirometria, analizzando come essi possano essere misurati. Per spirometria si intende una serie di test volti a determinare le capacità respiratorie di una persona. La spirometrica misura la quantità di aria inalata ed espirata …

La Gestione degli Interrupt sui Microcontrollori Arduino (ATMega e ATSAM3X8E)

Tutti oramai sanno cos’è un Arduino, ovvero di come un dispositivo di prototipizzazione elettronica rapida abbia semplificato i test e la realizzazione di molti circuiti, avvicinando un gran numero di non addetti ai lavori, al mondo dell’elettronica. Arduino si è imposto per la sua semplicità d’utilizzo e la sua community, che in una sorta di effetto valanga si allarga in continuazione. Tuttavia l’IDE di sviluppo, consigliata ed usata dalla maggior parte degli utenti per la scrittura degli sketch, proprio in nome della semplicità, non permette di sfruttare appieno tutte le periferiche a bordo dei micro-controllori appartenenti alla famiglia Arduino, …

µClinux, una soluzione per sistemi embedded

L’esigenza primaria di µClinux era quella di soddisfare il settore embedded dalla mancanza di una propria distribuzione Linux. La distribuzione µClinux è sottoposta ai vincoli della licenza GPL che permette la modifica del codice sorgente incluso e la sua distribuzione: nessun vincolo può essere imposto dal distributore, come nessun tipo di licenza a pagamento può essere richiesto. Chiunque può, chiedere un pagamento per il supporto tecnico o per la modifica del codice sorgente per particolari applicazioni commerciali. Questo tipo di distribuzione è l’arma vincente perché permette di adattare completamente il sistema operativo in modo che risponda perfettamente alle singole necessità.  Introduzione …

La scheda NanoPi Neo Air 512 MB

La NanoPi NEO Air è una scheda ARM open source di dimensioni 40 x 40 mm con processore A7 di Allwinner H3 Quad Core a 1,2 GHz. I suoi pin sono compatibili con il NanoPi NEO (per approfondimenti consulta il seguente link) e con il GPIO del Raspberry Pi. La scheda NanoPi NEO AIR dispone di 512 MB di RAM DDR3 da 16 bit, di 8 GB eMMC e di uno slot MicroSD. Ha interfaccia WiFi, Bluetooth e DVP Camera Interface per il pieno supporto di moduli da 5M pixel. Introduzione La scelta di una scheda SBC (Single Board …

ESPertino, demoboard software

Quando si riceve in anteprima una scheda o un microcontroller per me è come iniziare un viaggio, una nuova avventura. Iniziare a studiarne caratteristiche e tecnologie porta sempre ad un arricchimento professionale. Con ESPertino è stato lo stesso, ecco quindi che vorrei condividere con voi il mio viaggio descrivendovi funzionalità, curiosità e possibilità di questa scheda ispirata ad Arduino e gli innumerevoli cloni esistenti. Progetteremo un software da caricare sulla scheda e un altro per Windows per pilotarla facendoli dialogare tramite la porta seriale e in futuro tramite il Blootooth. In pratica una demoboard ma software. Introduzione Scopo del …

VHDL for beginners: Dati e tipi

Eccoci alla seconda lezione del corso base di VHDL. Nella precedente lezione, prettamente teorica, abbiamo affrontato una panoramica sul linguaggio introducendo i concetti base che ci sono dietro lo sviluppo di un nuovo componente, quali ENTITY e ARCHITECTURE. In questa lezione entreremo nel dettaglio dello sviluppo affrontando i concetti alla base dei tipi, delle variabili e dei segnali. Proverò a trasmettervi delle linee guida per gestirli nel modo corretto. Questa lezione non sarà solo teorica, ma inizieremo a sporcarci le mani con qualche esempio muovendo i primi passi con la suite di sviluppo Xilinx e valutando i primi errori …

Le soluzioni GigaBit Ethernet Controller

Un nuovo portafoglio di 48 chip Gigabit Ethernet denominato GigEpack, dotato di funzionalità avanzate, supporto software completo e strumenti di valutazione, mira a ridurre la complessità e rimuovere le barriere nella distribuzione di reti ad alta velocità, aprendo nuovi usi e applicazioni. Introduzione GigEpack include i primi switch Gigabit Ethernet a chip singolo con ridondanza HSR / DLR integrata per fornire un'alta affidabilità nelle applicazioni critiche. Inoltre è incluso il primo bridge USB 3.1 Gen 1 verso Gigabit Ethernet che supporta sistemi ADAS (Advanced Driver Assistance Systems) e sistemi di infotainment su diversi livelli di rete fisica. Per approfondimenti …

FreeRTOS™ per AVR

FreeRTOS™ è uno small real-time kernel studiato e realizzato per architetture di bassa/media fascia basate su microcontrollore. In questo articolo, oltre a mettere in evidenza la distribuzione per AVR, verrà illustrato il porting su un dispositivo AVR con tutto quello che ne consegue. Introduzione Parlando di un sistema RTOS balzano subito alla mente le innumerevoli realizzazioni commerciali che certamente danno, almeno in apparenza, grandi garanzie da un punto di vista tecnico. Oggi, con l’avvio del progetto GCC, questo non è più sempre vero: esistono infatti prodotti “aperti” dalle prestazioni comparabili ai più noti prodotti a pagamento, anche se poi, per applicazioni commerciali, sono …

Quanto è importante la calibrazione della strumentazione?

La strumentazione scientifica medica è un'area in cui tutti si aspettano precisione e sicurezza. Come i produttori possono fornire apparecchiature "perfette" ad un prezzo ragionevole? In una sola parola, calibrazione. La calibrazione è un confronto delle prestazioni dell'apparecchio con uno standard di precisione noto e una relativa correzione al fine di ridurre al minimo gli errori. Introduzione Le tecniche di calibrazione riducono le tolleranze nelle apparecchiature imperfette pur mantenendo una certa convenienza economica. Tutte le componenti sia meccaniche che elettroniche hanno tolleranze di fabbricazione.  Quando i componenti vengono assemblati in un sistema, le singole tolleranze si sommeranno per crearne …

Quale sarà il futuro dei MEMS? [OPINIONI A CONFRONTO]

Noi tutti vogliamo i nostri dispositivi estremamente performanti. Le persone vogliono registrare eventi social, performance musicali e riprodurre nello stesso tempo la musica in maniera accurata, oppure disporre di una elevata qualità di chiamata vocale priva di rumori di fondo anche in condizioni critiche. Queste tendenze richiedono tecnologie MEMS efficienti! Cresce la domanda di microfoni MEMS (per un approfondimento sui MEMS consultare la categoria corrispondente) che garantiscono elevate prestazioni e fedeltà con una decisa affidabilità, in dimensioni compatte adatte all'uso in dispositivi portatili. Il mercato dei microfoni MEMS dovrebbe aumentare da 3,6 miliardi di unità nel 2015 a oltre …

Meglio usare un emulatore o un debugger?

Per soddisfare le stringenti richieste di mercato, Microchip ha sviluppato una linea di prodotti hardware e software che aiutano il programmatore a sviluppare e a testare i progetti basati su microcontrollori. Il centro di gestione di questi prodotti è l’ambiente di sviluppo integrato MPLAB Integrated Development Environment. Un sistema per il debug del firmware è uno strumento indispensabile per chiunque programmi microcontrollori. Nell'articolo si descriveranno due “colonne portanti” nell’analisi del flusso di istruzioni dei PICMicro: ICE e ICD2. Si evidenzieranno vantaggi e svantaggi dell’una e dell’altra soluzione. Introduzione MPLAB ICD 2 ha le caratteristiche di debugger a basso costo, emulatore e programmatore in …

Firmware 138 Speciale Automotive

È uscito il nuovo numero di Firmware di Settembre! Il focus di questo mese è dedicato all'Automotive, ecco alcuni articoli: la flash embedded per il settore automotive, auto a guida autonoma: cresce la domanda per lo storage, e il primo articolo del corso VHDL! Buona lettura! La copertina di Firmware n. 138 Il sommario di Firmware n. 138   Il test dei convertitori DC-DC per il settore Automotive Che cosa significa Platooning per i camion a guida autonoma iNAND 7250A: la flash embedded per il settore automotive   La tecnologia PC Fanless di Advantech per la gestione del traffico …

Algoritmo RAPID™ per la programmazione EPROM

Oggi esistono differenti algoritmi di programmazione, ogni casa costruttrice  elabora un proprio modello. Le procedure di test di questi dispositivi sono spesso (non sempre) basati sul comportamento di questi algoritmi. Le case costruttrici, poi, si basano molto sulla loro efficienza anche per affinare i propri prodotti e le loro strategie: gli algoritmi sono spesso selezionati per ottenere la più alta resa delle EPROM. L’algoritmo di programmazione Rapid™ riduce il tempo richiesto per programmare le EPROM e garantisce, nel contempo, la reliability del sistema.  Introduzione Il pregio di Rapid™ è di diminuire il tempo di programmazione già stabilita da un altro algoritmo, chiamato …

Il bus VME: caratteristiche principali

La struttura generale del bus VME (Standard IEEE-1014-1987) e i fatti principali che hanno portato alla nascita di questo importante standard di comunicazione utilizzato in diverse applicazioni industriali, militari e commerciali. Introduzione Un BUS è una struttura di interconnessione tramite linee di comunicazione che permette lo scambio di informazioni tra varie unità dello stesso sistema: per esempio tra la CPU, la memoria centrale e le periferiche. Le linee del BUS sono condivise tra tutti i dispositivi. Possibili strutture di interconnessione sono: punto-punto, anello, stella. Un bus ha molti vantaggi: in particolare permette di mettere insieme parti costruite da case diverse (con …

Send this to a friend