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 si trasferisce alla periferia della rete

I XXIII Giochi Olimpici Invernali che si sono svolti in Corea non sono stati solamente un evento sportivo che ha visto gareggiare atleti delle discipline che si svolgono su neve e ghiaccio. Essi sono stati anche un'importante vetrina per mostrare le potenzialità della prima rete wireless che sfrutta i sensibili miglioramenti in termini di prestazioni offerti dallo standard internazionale per le comunicazioni mobili 5G. Introduzione Un bus a guida autonoma adibito al trasporto degli spettatori attorno all'area di Alpensia dove si è svolto un certo numero di competizioni ha sfruttato la tecnologia 5G come ausilio per la navigazione. Al …

Un esempio di MMU

Il presente articolo introduce l’architettura della Memory Management Unit di un processore SPARC-V8 compatibile; l’unità è progettata per un’implementazione single-chip in grado di gestire applicazioni multiuser/multitasking con supporto per contesti multipli e protezione a livello di pagina.  La maggior parte delle applicazioni multiuser/multitasking richiede un’unità di gestione della memoria (Memory Management Unit) che supporti una modalità di indirizzamento virtuale per la protezione delle pagine e la riduzione dei problemi di frammentazione. Il primo sistema operativo ad introdurre una funzionalità del genere è stato il MULTICS (Multiplexed Information and Computing Service) sul finire degli anni 60’. SPARC (Scalable Processor ARChitecture) è un processore RISC introdotto da Sun MicroSystem nel 1985; l’architettura è completamente aperta e non proprietaria. La specifica V8 è stata rilasciata nel 1990 e standardizzata come IEEE …

Expansion Bus Multiplexer Module TMS470

L’ EBM in un modulo definito standalone che rende disponibile al microcontrollore, su dei pin dedicati, una serie di I/O general purpose e un expansion bus per tutta la famiglia di questo fortunato microcontrollore. Il modulo supporta, poi, il multiplexing. Questo modulo permette, quando i canali di I/O non sono utilizzati, di interfacciare, attraverso il microcontrollore, memorie con taglio a 8 e 16 bit. Caratteristiche principali L’EBM, come abbiamo scritto, permette di fare il multiplexing  dei segnali di I/O verso una periferica ed è in grado di interfacciare memorie con taglio a 8 e 16 bit. Permette, inoltre, di indirizzare periferiche fino a 30 bit di indirizzo con 8 …

La scheda BBC Micro Bit per Arduino e Raspberry

La scheda BBC Micro Bit è una soluzione di piccole dimensioni per una vasta gamma di applicazioni per l'IoT e il settore industriale. E' dotata di una matrice LED 5x5, nonché un magnetometro, un modulo Bluetooth e un sensore di accelerazione a 3 assi. Le piccole dimensioni rendono la scheda adatta per varie esigenze dove il fattore di dimensione è uno step rilevante nel design. Introduzione La scheda BBC Micro bit è un minicomputer pensato originariamente per solo scopi formativi, ma che grazie alle sue qualità hardware trova spazio in numerosi campi applicativi. Ha una dimensione di 4 x 5 cm …

Convertitore ADC via SPI

La casa costruttrice Analog Devices è certamente un punto di riferimento per i prodotti utilizzati nel settore elettronico. In questo articolo vedremo il dispositivo ADC, di casa Analog Devices, utilizzato secondo lo standard SPI. Analog Devices propone un dispositivo hardware in grado di sopperire alla conversione ADC attraverso il bus SPI in modalità high speed. Sono dispositivi abbastanza versatili per applicazioni piuttosto delicate per le informazioni che devono fornire allo strato software o hardware. La compatibilità verso lo standard SPI è un valore aggiunto; infatti, in questo modo è possibile  sfruttare il componente utilizzando un bus 2-wire e riducendo la logica hardware. Infine, il componente dispone di una serie di registri on-board …

La sicurezza della moneta IOTA per l’IoT

Abbiamo visto in un precedente articolo in cosa consista IOTA, la crittovaluta di nuova generazione espressamente nata per supportare l’Internet of Things (IoT). Accanto ad alcune caratteristiche di assoluto rilievo, quali scalabilità, leggerezza ed elevata efficienza, IOTA offre una serie di strumenti (alcuni già presenti by-design, altri previsti nella roadmap di sviluppo) atti a garantire un elevato grado di sicurezza. Introduzione Gli scenari futuri per l’Internet of Things prevedono un numero sempre crescente di dispositivi connessi (alcune recenti stime ipotizzano oltre 50 miliardi di dispositivi IoT), la cui aspettativa è quella di migliorare e semplificare molti aspetti della nostra …

Lo standard PCI Express

Lo sviluppo di periferiche di I/O per pc sempre più prestanti e veloci, ha determinato  la nascita di un nuovo standard di comunicazione, il pci express per superare i limiti del PCI. Peripheral Component Interconnect (PCI), (interconnessione componente periferica), è l’interfaccia sviluppata da Intel intorno agli anni Novanta per collegare al computer le più svariate periferiche. La larghezza di banda dell’interfaccia PCI è rimasta negli anni ancorata a 133 MB/s, generata da una trasmissione dati con frequenza pari a 33MHz a 32bit. Questa tecnologia è considerata la seconda generazione che ha soppiantato la precedente tecnologia conosciuta con il nome di Industry Standard Architecture (ISA o Bus AT). I …

CPU Design: l’arte di dare ordini

L’ingegnere sa essere una creatura paradossale. Ama le cose complicate, ma non complicarsi la vita. Più il progetto è complicato e più probabilmente lo troverà interessante, ma la soluzione che fornirà sarà quella che può ottenere con meno complicazioni. Progettare un set di istruzioni, in fin dei conti, porta ad un paradosso simile. Il progetto è complicato, ma è opportuno portarlo a termine nel modo più semplice possibile, altrimenti il progetto dell’hardware che seguirà sarà infernale. Ma del resto, un set di istruzioni poco complicato potrebbe rendere infernale la vita del programmatore (per quanto pochi progettisti hardware abbiano a …

ESPertino e la domotica OpenSource: Switch a doppia uscita – Introduzione

Quando si parla di domotica si è portati a pensare come ad un mondo distante da noi, fatto di tecnologie avanzate e di costi irraggiungibili. In realtà con i grandi passi in avanti che l'elettronica ha fatto e con l'avvento dell'IoT, la tecnologia necessaria a realizzare un sistema domotico è già a disposizione e anzi, senza che ce ne rendiamo conto, è ormai alla portata di tutti. DOMOTICA COME SINONIMO DI IoT Attualmente sul mercato esistono diverse soluzioni per la realizzazione di sistemi domotici ma che, a mio parere, soffrono di una rigidità data dal fatto che ogni produttore "blinda" il suo …

Moduli Bluetooth low energy NINA-B1 della u-blox

Molte industrie e diverse aree applicative utilizzano soluzioni stand-alone. Questi sono dispositivi che senza necessità di interazioni vengono utilizzati per controllare le apparecchiature locali attraverso protocolli di comunicazione wireless. Tipicamente, questi tipi di dispositivi sono limitati nei costi e hanno solo pochi pulsanti e un display di testo a riga singola. La serie NINA-B1 di moduli Bluetooth a basso consumo energetico della u-blox e disponibili a catalogo TME, si presta all'impiego in un tipico sistema IoT, ottenendo il massimo dalle specifiche e senza sprechi di spazio o potenza. Introduzione U-blox ha diversi anni di esperienza nel settore Bluetooth, i nuovi moduli NINA-B1 offrono …

SystemC – Interfacce, porte e canali

Il linguaggio SystemC supporta in maniera nativa una descrizione delle architetture di tipo gerarchico basata sul concetto di modulo. In tutte le applicazioni, tale approccio semplifica la comprensibilità del progetto, facilita il design partitioning, consente il riutilizzo  di componenti, riduce i tempi verifica; richiede tuttavia la definizione di oggetti per la connessione dei diversi moduli ed attraverso cui comunicare  i dati. In linguaggio SystemC sono introdotti per questo i concetti di interfaccia, canale e porta; si basano sulle idee di classi virtuali e polimorfismo che rappresentano alcune delle più interessanti caratteristiche del linguaggio C++. Definizioni e concetti introduttivi In SystemC un’interfaccia è una …

Gestione batterie con LTC1325

LTC1325 prodotto da Linear Technology è un componente in grado di eseguire, con l’ausilio di un microcontrollore, la ricarica, il condizionamento ed il controllo della capacità residua di batterie appartenenti alle più diverse tecnologie, dalle Ni-Cd alle Li-Ion. In questo articolo, dopo una trattazione introduttiva sulle diverse tipologie di batterie ricaricabili e sulle tecniche di ricarica, vedremo come utilizzare in pratica questo componente. Un’avvertenza molto importante riguarda il pericolo di sovraccarico delle batterie: in questa evenienza all’interno della cella è prodotto gas con una velocità maggiore di quella con cui viene normalmente ricombinato. Ciò provoca un aumento di pressione nella cella e …

Softune FUJITSU

Il sistema di sviluppo integrato Softune, marchio di fabbrica di Fujitsu ltd, è destinato a rispondere alle esigenze di numerosi sviluppatori di software nell’ambito della programmazione dei microcontrollori. Lo sviluppo di programmi per l’applicazione di sistemi richiede al programmatore la modifica del codice sorgente e l’esecuzione di un debug. Una volta eseguito il debug il programmatore esegue le opportune modifiche richieste dal software. SOFTUNE WORKBENCH V6 è un software di supporto completo che permette di sviluppare programmi per la famiglia di microcontrollori FR e F2MC-16LX di Fujitsu. Come anticipato è un software completo in quanto ingloba le funzioni di: gestore di sviluppo, simulatore e debugger. Softune è nato per rispondere alle esigenze di numerosi programmatori di microcontrollori, la semplicità di …

IL monitoraggio del software in RENESAS

La proposta di Renesas intende rispondere alle esigenze di test e di verifica. Il monitor Renesas consente di controllare la board attraverso un monitor residente, di piccolo taglio, per predisporre sessioni di verifica e debug. Tutto quello di cui abbiamo bisogno oltre al componente H8/3664, sono: un driver seriale, un po’ di memoria e un terminale window, come Hyperterminal, su un personal computer. Come possiamo vedere dalla figura 1, il personal  computer e il microcontrollore  H8/3664 sono connessi attraverso una seriale RS232C secondo la classica configurazione RS232 a 9600 bps, 8 bit di dati, un bit di stop e no parity. Il monitor di renesas Il monitor di Renesas contiene una quantità limitata …

Debug in-circuit di FPGA

La crescente capacità logica dei dispostivi programmabili consente oggi di realizzare complessi System-On-Chip che includono le principali funzionalità di sistema in un unico dispositivo. Tuttavia, unitamente alla complessità del sistema, crescono le problematiche legate alla fase di verifica del progetto che tendono ad incidere negativamente sul time-to-market del prodotto. Identify è un software per il debug in circuit di FPGA sviluppato tempo fa da Synplicity, leader nell’ambito dei tool EDA per logiche programmabili ed ASIC. Introduzione La figura 1a mostra il flusso di processo che viene tradizionalmente seguito nel progetto di sistemi complessi mediante logiche  programmabili. Il codice sorgente viene verificato funzionalmente creando opportuni test-bench che cercano …

CPU Design: come farsi obbedire da un processore

Si sente dire spesso che un processore è più stupido di un lombrico. Stando così le cose, uno sarebbe portato a pensare che, in fin dei conti, farsi obbedire da un processore non possa essere chissà quale problema. In realtà sì, ma anche no. Insomma: dipende. Dipende da quello che vogliamo che il processore faccia e, soprattutto, da come vogliamo che lo faccia. Più cose vogliamo fargli fare e più il set di istruzioni sarà complicato, ma fargli fare più cose e in tanti modi diversi ingarbuglia molto di più la situazione. Come scopriremo in quest’articolo, il primo passo …

Il bus CAMAC

Il bus CAMAC (Computer Automated Measurement And Control), un sistema modulare di gestione dati utilizzato in molti laboratori di ricerca di fisica nucleare e in molti siti industriali. Vediamo come funziona. Il bus CAMAC è uno standard internazionale definito dalla commissione ESONE (European Standard On Nuclear Electronics) del JCR, Ispra. Il bus è un insieme di conduttori elettrici che consentono il trasferimento delle informazioni tra i diversi dispositivi. All’interno del bus vi sono linee che trasmettono dati, altre che trasmettono indirizzi, sincronizzazioni, interrupt, riferimenti elettrici (potenza e terre), ecc. Per potersi connettere al bus è necessario che ogni dispositivo sia dotato di un’opportuna interfaccia. Utilizzato nel campo dell’acquisizione dati ma anche per applicazioni logiche, …

Controllo di motori ACIM con ST7MC

I microcontrollori della serie ST7MC sono dei dispositivi, appartenenti alla famiglia di micro ad 8 bit ST7, specializzati in applicazioni di controllo motore. Possiedono, infatti, un modulo MTC (Motor Control) comprendente 6 canali PWM, ingressi analogici per sensori di velocità e posizione, ingressi di sicurezza per lo stop del motore, un coprocessore che semplifica il controllo di motori a magnete permanente PMAC/PMDC. ST ha sviluppato un insieme di librerie C che semplificano l’uso di varie tipologie di motori, tra cui i motori AC ad induzione (ACIM),  i motori Brushless DC (BLDC) ed altri. L’uso della libreria semplifica lo sviluppo poiché, nascondendo i dettagli implementativi …

Implementazione di DSP tramite PIC

L’articolo tratta alcune questioni di elaborazione numerica dei segnali e i metodi più comunemente adottati per implementare DSPs con i microcontrollori della Microchip. L’elaborazione numerica dei segnali è una disciplina i cui fondamenti risalgono ai lavori dei matematici del XVII e XVIII secolo, tra cui Newton e Gauss: a dispetto delle sue origini così “antiche”, essa è diventata oggi uno strumento utilissimo in una grande varietà di settori, dall’elettronica all’informatica, dall’ingegneria all’analisi dei dati nella ricerca scientifica. La sua struttura ha ramificazioni in diverse aree della matematica, dal momento che fa uso di strumenti quali l’analisi complessa, le trasformate di Fourier discreta e veloce, la trasformata Zeta, le convoluzioni, ecc. Gli …

Deep learning e big data

Come parte dell'intelligenza artificiale (AI), l'apprendimento profondo o deep learning si basa su numerose innovazioni: auto a guida autonoma, riconoscimento vocale e dell'immagine. Questa tecnologia ha occupato molteplici aspetti della nostra vita. La tecnologia di deep learning si basa su reti neurali artificiali (ANN) che ricevono costantemente algoritmi di apprendimento e quantità di dati in continua crescita per aumentare l'efficienza dei processi di formazione. Maggiore è il volume di dati, più efficienti saranno i processi. La tecnica di deep learning consiste essenzialmente di due fasi: addestramento e inferenza. L'addestramento è un processo di etichettatura di grandi quantità di dati e determinazione delle loro caratteristiche …

Send this to a friend