è 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.
Poiché ci sono miliardi di nodi sensori IoT ancora da implementare, un problema critico che affligge molti sviluppatori è l'alimentazione. L'utilizzo di una powerline per questi sensori non è pratico a causa della loro posizione e, anche se fattibile, richiede tempo e costi. Inoltre, la manutenzione e la sostituzione delle batterie potrebbero ridurre drasticamente il business case. La relazione tra energia elettrica e processi in un progetto Internet of Things (IoT) è forse il il compromesso più importante che un team di progettazione deve fare. Introduzione Internet ha cambiato radicalmente il modo in cui progettiamo la maggior parte dei …
Ogni nuova generazione di smartphone, fitness band e smartwatch offre una gamma sempre crescente di funzionalità. Apple Watch Series 3 , ad esempio, include un accelerometro, giroscopio, sensore della frequenza cardiaca, microfono, altoparlante, altimetro barometrico, sensore di luce ambientale, Wi-Fi, Bluetooth, NFC, GPS e telefono LTE opzionale. Tante funzionalità che richiedono anche una gestione efficiente del consumo energetico. Introduzione Sottile, piccolo e leggero: questi sono i requisiti fisici dei dispositivi indossabili e il motivo per cui il vincolo principale nella relativa tecnologia di oggi è la durata della batteria. Le batterie convenzionali che si adattano alla tecnologia indossabile, come …
Il futuro dei pagamenti elettronici sta incidendo su tre fronti principali: sicurezza, personalizzazione e comodità. Una tecnologia che potrebbe coinvolgere nel miglior dei modi questi tre parametri è la Blockchain: il network alla base del bitcoin che può supportare diversi pagamenti elettronici. Le sue limitazioni non garatiscono in ogni caso un approccio IoT. Una valuta globale tracciabile completa di un'infrastruttura efficiente non solo si tradurrà in una massiccia riduzione dei costi per tutti i partecipanti al mercato, ma cambierà il sistema bancario globale. Bitcoin e simili faranno per i pagamenti ciò che l'e-mail ha fatto per la comunicazione. Blockchain può …
Oggi la programmazione in assembler non ha più quel fascino di una volta. Il linguaggio più diffuso è senza dubbio ormai il C. Utilizzare un linguaggio d’alto livello come il C fornisce dei vantaggi, per esempio in termini di portabilità. Può capitare, a volte, di dover scrivere porzioni di codice in assembler per interfacciare la propria applicazione verso dispositivi fisici o, anche, per aumentare le prestazioni del nostro sistema in termini di velocità e occupazione di memoria. Oltre a dare un’introduzione all’assembler daremo ampi stralci al suo modello di programmazione. Introduzione La specifica architetturale del PowerPc è stata rilasciata nel 1993 a 64-bit con un subset a 32-bit. La maggior parte dei PowerPC …
I sistemi basati su fpga beneficiano delle soluzioni complete cc/cc in un formato da circuito integrato.I miglioramenti nelle geometrie dei processi delle FPGA e configurazioni di progetto più flessibili, oltre all’evoluzione dei sistemi che li incorporano, hanno permesso ai produttori di FPGA di penetrare mercati un tempo monopolizzati dai fornitori di microprocessori e ASIC. Sebbene la natura versatile e configurabile di questi dispositivi sia considerata interessante dai progettisti dei sistemi, la complessità delle regole di progettazione che governano il funzionamento interno di questi componenti e i protocolli delle loro interfacce esterne richiedono una preparazione profonda, la valutazione delle schede di riferimento e varie simulazioni e verifiche del progetto. Di conseguenza, …
Dopo aver concluso la stesura di un programma e terminata la fase di debug quello che otteniamo non risulta essere direttamente commerciabile. Infatti, il frutto del nostro lavoro può essere un’applicazione, per esempio un driver per ambiente windows, o un’insieme di files che risultano di difficile utilizzo per un utente finale alle prese, per esempio, con un’eventuale installazione sul proprio computer. Introduzione Per dare un'impronta commerciale al nostro progetto dobbiamo confezionarlo, cioè impacchettarlo in maniera professionale per distribuirlo. In questo senso Inno Setup fa proprio a caso nostro: Inno Setup è infatti uno strumento che permette di rendere il …
Una delle parole chiave, quando si parla dell’elettronica di oggi, è “portatile”. Gli sviluppi tecnologici hanno messo a disposizione, tanto di chi progetta per hobby quanto di chi lo fa per professione, tanta potenza nel palmo di una mano. Questo significa che, qualsiasi cosa ci venga in mente di fare, è facile che riusciamo a farla portatile, magari abbastanza da infilarla nella tasca di una giacca o in un borsello. Ma se tante volte “portatile” è una caratteristica sufficiente, in certi casi diventa una caratteristica necessaria. Il biomedicale è uno di questi ambiti. In questo articolo vi faremo vedere …
Lo standard che ha raggiunto una discreta diffusione per collegamenti, con canale parallelo, di sistemi programmabili autonomi è il IEEE-488 conosciuto anche come GPIB (General Purpose Interface Bus) o HP-IB (dal nome della ditta, l’Hewlett Packard, che lo ha brevettato). Lo standard IEEE-488 ha posto le basi necessarie per superare lo scoglio dell’incompatibilità tra prodotti di case diverse. Inoltre esso ha rivelato doti di versatilità e completezza che ne hanno suggerito l’uso come generico bus di collegamento tra computer e periferiche, o anche per trasferimento di segnali tra personal computer. La molla che già nella seconda metà degli anni ‘70 ha portato lo IEEE (Institute of Electrical and Electronic Engineers) …
Nelle precedenti lezioni abbiamo visto come il VHDL mette a disposizione alcuni costrutti per realizzare i circuiti sequenziali. In generale un circuito sequenziale, se ben definito, può essere modellato tramite le macchine a stati finiti. Le FSM sono un concetto molto fondamentale e forte nello sviluppo dei componenti e in questo articolo cercheremo di fornire tutti gli strumenti base per utilizzare tale modellazione con il codice VHDL e quindi come progettare ed implementare una FSM su FPGA. Al termine della parte teorica, vi proporrò un esempio di FSM abbastanza semplice e intuitiva, di cui proveremo a sviluppare la parte …
Realizzare una libreria per la gestione dei timers sotfware. L'articolo inizia con la descrizione della procedura di basic timer e dei timer software sincroni per poi descrivere i timers asincroni e le procedure di gestione. In ogni applicazione embedded ci sono delle funzioni che devono essere eseguite periodicamente. Ad esempio: l’acquisizione dello stato di una tastiera, l’aggiornamento del display o la lettura di una periferica analogica. Di regola un timer hardware del microcontrollore viene dedicato alla sincronizzazione di questi eventi periodici. Normalmente questo timer è configurato per generare un interrupt con frequenza compresa tra 1ms e 10ms. Al vettore di interrupt si associa una procedura, denominata basic timer, che richiama tutte le …
Wimax è una tecnologia di trasmissione senza fili d’accesso a banda larga (bwa - broadband wireless access), in grado di fornire elevate prestazioni, in termini di velocità di trasmissione di dati, a basso costo. La nuova promessa delle comunicazioni Wireless è rappresentata dal neo standard 802.16-2004, anche noto con il nome commerciale di WiMax (Worldwide Interoperability for Microwave Access), il quale dovrebbe ridurre sensibilmente i costi e aumentare la disponibilità delle tecnologie Wireless a banda larga con estensione metropolitana (WMAN). L’acronimo è stato definito dal W iMax Forum, consorzio formato da più di 420 aziende (tra cui Motorola, Nokia ecc...), il cui scopo è sviluppare, supervisionare, promuovere e testare …
Actel ha rilasciato tempo fa una versione di libero integrated design environment (ide), che dispone del pieno supporto per le famiglie di FPGA low-power igloo, mixed-signal fusion e le low-cost proasic3/e. l’ide, migliorato in molti suoi aspetti con la versione 8, si integra perfettamente con prodotti di terze parti come synplicity, mentor graphics e synapticad. Ecco come muovere i primi passi con l’ambiente di sviluppo. Il flusso di progettazione con Actel Libero IDE Il software Libero IDE di Actel si integra perfettamente con tool HDL e schematici di terze parti per progettare, simulare e programmare con dispositivi FPGA della famiglia Actel. In quest’articolo si illustrerà e descriverà il flusso di progettazione …
I microcontrollori silabs si basano sul collaudato core 8051. sono disponibili in cento versioni diverse e offrono un’ampia scelta di periferiche analogiche e di comunicazione. La famiglia di microcontrollori Silabs nasce alla fine degli anni 90 con il marchio Cygnal. Capostipite è la serie C8051F0xx seguita poi da numerosi altri modelli, ad oggi sono quasi un centinaio e offrono un’ampia scelta di periferiche, molte configurazioni di memoria e diversi package anche di dimensioni ridotte. Il microcontrollore è basato sul core 8051 che, rappresenta un ritorno al futuro in quanto il core, pur mantenendo l’architettura standard del vecchio 8051, in alcuni modelli può raggiungere velocità di picco di …
Il dispositivo jtag dello sharc è un potente strumento di debug e di verifica. in questo articolo vedremo anche una piccola panoramica dei vari sistemi di debug disponibili per il testing di un’applicazione embedded. Prima di iniziare quest’articolo è buona norma fare alcune puntualizzazioni sulle terminologie di debug in uso. BDM (Background Debug Mode) è un termine coniato dalla Motorola per individuare un metodo di debugging che coniuga aspetti hardware e software. La funzionalità di BDM richiede una porta specifica di un microcontrollore motorola, la porta BDM per l’appunto. Ogni costruttore utilizza altri dispositivi o metodologie, per esempio la porta JTAG (IBM), OnCE …
Molti circuiti di misure della corrente si basano sullo stesso principio: sviluppare una tensione ai capi di una resistenza di sense. Si amplifica quella tensione, la si legge attraverso un ADC e si conosce il valore della corrente. Ma se la resistenza di sense si trova a un potenziale che si discosta di parecchio da quello di terra, le cose si complicano velocemente. Le soluzioni tipiche, in generale, portano la differenza di potenziale nel dominio analogico o digitale, ma esiste un approccio differente: il wireless. Introduzione Gli amplificatori di sense di corrente high-side operano nel dominio analogico. Gli IC …
Tra le caratteristiche più interessanti della scheda ESPertino rientra sicuramente la connettività, che permette alla board di collegarsi a una rete internet e operare come nodo IoT avanzato. L'interfaccia di rete wireless integrata nel modulo ESP32 può inoltre essere programmata in modalità promiscua, consentendo di realizzare un semplice ma versatile sniffer di pacchetti WiFi. Scopriamo in questo articolo in cosa consiste questa funzionalità e come sfruttarla su ESPertino utilizzando uno sketch in ambiente Arduino. Introduzione "Sniffare" una rete WiFi significa catturare, monitorare e analizzare (sia in tempo reale che in un secondo tempo, analizzando i log registrati) i pacchetti …
Con lo STARTER KIT di ESPertino si possono realizzare un'infinità di progetti. In questo breve articolo scopriamo come approntare un semplice antifurto per la casa, sfruttando proficuamente un numero importante di componenti in esso contenuto. Introduzione Il progetto che andiamo a presentare è un semplice sistema di allarme realizzato con un buzzer, un diodo LED, un sensore di prossimità e qualche componente passivo accessorio, il tutto assemblato, volendo, sulla breadboard a corredo dello STARTER KIT. L'antifurto si innesca quando la distanza misurata dal sensore a ultrasuoni scende sotto un determinato valore, attivando il cicalino, il diodo Led e inviando …
Quali sono le considerazioni da tener presenti per sviluppare un kernel per la gestione di un ambiente multithread? in questo articolo vediamo quali sono le caratteristiche di minimal multithread (mmt), il nostro kernel didattico. In questo articolo vedremo come realizzare un kernel per il multithreading, vedremo le considerazioni da tenere presenti e un’applicazione per ambiente windows. E’ possibile, poi, portare questo kernel verso altri ambienti grazie alla presenza di un Board Support Package. Architettura del sistema Le relazioni tra un programma di un generico utente e la nostra libreria MMT non è mediata da nessuna interfaccia: ogni porzione del codice utente è in grado di …
Utilizziamo il potente simulatore della labcenter electronics per testare e collaudare i propri progetti a microcontrollore. Ne hanno fatto di strada i software di simulazione elettronica. Inizialmente essi riuscivano a simulare solamente i circuiti statici ed analogici. Col tempo furono introdotte le possibilità di simulazione nell’ambito del transitorio e del digitale. Oggi i moderni programmi riescono a fare ben altro. Sono in grado infatti di simulare non solo i normali circuiti digitali ed analogici, ma anche di eseguire il software presente all’interno dei microcontrollori, utilizzati quali componenti virtuali del circuito preso in esame. un’applicazione completa al computer, simulando il circuito come se lo si avesse realmente tra le mani. Microcontrollori e Microprocessori Il Proteus …
Un regolatore buck che accetta in ingresso tensioni da 3v a 20v ed integra sia il powerfet che l’anello di regolazione. L’lm26400y sembra essere la soluzione ottimale per sistemi che richiedono linee di alimentazione multiple. I sistemi elettronici moderni sono normalmente caratterizzati dalla presenza di numerose linee di alimentazione ciascuna delle quali utilizza uno specifico regolatore point-of-load. La linea comune di ingresso di questi regolatori può essere di volta in volta un adattatore da rete AC, un bus intermedio, una batteria, o una linea di alimentazione USB. Di norma è desiderabile trovare una soluzione in grado di accettare una ampia gamma di tensioni di …