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.

Verifica e integrità nella trasmissione dati

La trasmissione di dati, indipendentemente dal canale scelto, è sempre soggetta a problemi che possono provocare errori di ricezione. È quindi necessario predisporre una serie di strumenti che consentano di minimizzare il grado di errore o assicurare l’integrità dell’informazione. Tra i vari sistemi esistenti, analizziamo in questo articolo l’uso di IpSec per un sistema embedded. La verifica e il controllo dell’integrità dei dati è un argomento decisamente interessante e, allo stesso tempo, molto sentito in qualsiasi applicazione, in special modo in quelle che devono condividere strutture dati. Oggi, inoltre, con la diffusione dei nuovi mezzi trasmessivi, vedi Internet e i suoi innumerevoli protocolli, diventa urgente e necessario definire nuovi sistemi di controllo o utilizzare quelli già esistenti. A questo proposito, ad esempio, …

Stack checking in GCC

Lo stack è un’area di memoria di fondamentale importanza, in modo particolare per le applicazioni embedded. Gli ambienti di cross compilazione forniscono strumenti in grado di definire la sua dimensione e di verificarne l’integrità in fase di run-time. La gestione dello stack passa attraverso un particolare puntatore presente all’interno dell’architettura hardware. Con il termine stack vogliamo identificare una particolare struttura di memoria accessibile attraverso uno speciale registro, lo stack pointer. L’accesso diretto a questa zona di memoria è fortemente sconsigliato per evitare di alterarne il contenuto. Tipicamente, in uno stack sono memorizzate, in maniera dinamica, le variabili utilizzate all’interno di una funzione (variabili locali), i parametri della funzione, i dati necessari per ripristinare il precedente …

Stadi di potenza per il controllo motore

Questo articolo presenta le varie tipologie di driver di potenza per il controllo motore, soffermandosi sulle differenze e sulle tecniche di ottimizzazione. In questo articolo prenderemo in considerazione le diverse tecniche di pilotaggio di un motore in corrente continua. La scelta di una tipologia piuttosto che un’altra può essere legata al tipo di azione che il motore deve svolgere: sono fattori determinanti, per esempio, il fatto di poter invertire il verso di rotazione del motore, oppure la necessità di mantenere il motore frenato. I motori DC hanno un elevato rapporto peso/potenza, un’elevata coppia di spunto (sono ideali per la trazione) e sono facilmente regolabili nella velocità e nella …

CPU Design: Aggiungi una cache a tavola

C’era una volta questo tizio, Gordon Moore, che anni che furono predisse che la capacità di calcolo di un processore sarebbe raddoppiata ogni diciotto mesi circa. La previsione si è avverata e tutt’oggi continua ad avverarsi, ad un livello tale da aver trasformato la speranza in legge. Il problema è che la legge di Moore vale per i processori ma non per le memorie, dove inevitabilmente bisogna infilare i programmi da eseguire. E’ da un bel pezzo ormai che le prestazioni dei processori hanno superato quelle delle memorie, al punto che ormai sono queste a zavorrare l’elaborazione, e al …

Sensori di prossimità

Lo scopo di questo articolo è quello di presentare una panoramica relativa a una famiglia di sensori di grande interesse la cui importanza è cresciuta enormemente grazie ai recenti progressi della tecnologia elettronica: i sensori di prossimità. Anzitutto occorre ricordare brevemente in cosa consiste un sensore e quali possono essere i suoi campi di utilizzo nelle apparecchiature di tipo elettronico. Per sensore si intende in generale un dispositivo in grado di misurare  il valore di una grandezza fisica applicata al suo ingresso, fornendo in uscita una grandezza  il cui valore è funzione della grandezza misurata. Nel nostro caso specifico, restringeremo il campo d’interesse intorno a quei sensori la cui uscita è una grandezza di …

Implementazione della blockchain con Ethereum

In questo articolo vedremo come può essere creata una blockchain privata con Ethereum, un’applicazione pratica che può essere destinata alle grandi aziende che potrebbero aver bisogno di una propria rete, sganciata da quella pubblica, da poter utilizzare per garantire l’integrità di transazioni, dati, log. Una blockchain privata è distribuita su server proprietari, con finalità istituzionali o private, per la salvaguardia di dati. Ethereum è una piattaforma basata su blockchain che permette la generazione di criptovalute e la creazione di applicazioni distribuite o dapps, senza l’utilizzo di un server centrale. Le applicazioni decentralizzate vengono eseguite su una blockchain, una grande …

PearPC: l’arte della simulazione

Simulare o emulare: questo è il problema. Quando non abbiamo ancora il nostro target, vale di più simulare o emulare il comportamento del nostro codice che, per via dei tempi di consegna, deve essere sviluppato in maniera parallela all’hardware? I tempi di consegna del nostro lavoro sono sempre più ravvicinati e non consentono deroghe. Prima di arrivare all’integrazione hardware/software è necessario partire da un software già sufficientemente testato per escludere problemi o congetture. Ora, è chiaro che occorre definire un’attività di verifica preliminare. In mancanza delle risorse fisiche (il nostro target) come possiamo svolgere il nostro lavoro? Può essere opportuno utilizzare strumenti alternativi, quali un simulatore o un emulatore. Dal punto di vista software, probabilmente, lo strumento che …

Controllo di due DC/DC boost con Tiny 13 AVR

Questo semplice progetto mostra come sia possibile regolare due uscite di un convertitore boost utilizzando il microcontrollore Tiny13 AVR dell’Atmel/Microchip. In particolare vengono sfruttate la periferica interna di conversione analogico-digitale e i PWM che il piccolo ma efficiente microcontrollore mette a disposizione. La maggior parte dei dispositivi portatili fa uso di batterie e allo stesso tempo integra uno o più microcontrollori. Sul mercato esistono microcontrollori in grado di funzionare fino a 1,8 V e in questo caso due semplici batterie stilo di tipo AA o AAA sono sufficienti per alimentare il dispositivo.  Tuttavia, molto spesso, sono richieste anche tensioni superiori necessarie per esempio per il  funzionamento dei LED di retro illuminazione di uno schermo LCD che solitamente …

Connettere applicazioni IoT al Cloud senza dover ricominciare tutto da zero, si può? Chiedilo a Google!

Sono anni che si parla di IoT. Le applicazioni IoT esistono davvero e non sono più solo belle parole e dimostrazioni teoriche, ma sono cose pratiche che possiamo usare nella vita di tutti i giorni, come per esempio gli elettrodomestici intelligenti che ci aiutano a risparmiare e a gestire meglio la nostra casa o i sistemi di automazione dell’illuminazione stradale, dei parcheggi e della viabilità che promettono di rendere le nostre città più efficienti. Ma chi progetta sensori ed attuatori industriali sa che creare un'applicazione IoT significa buttarsi a capofitto in un mondo molto più complesso e diverso da …

Quando ogni µW è importante!

Misurazione di diversi parametri, letture accurate e una lunga autonomia della batteria, questi sono i fattori più critici di un dispositivo medicale indossabile. Introduzione Molte cose sono cambiate da quando, 10 anni fa, apparve sul mercato il primo podometro. Inizialmente, la misura era basata solo sul conteggio dei passi. Decenni di studi hanno portato alla conclusione che 10.000 passi al giorno consentirebbero un buon equilibrio tra calorie assimilate e smaltite. Nel frattempo, al dispositivo indossabile sono state aggiunte altre funzionalità e caratteristiche quali la misurazione di frequenza cardiaca, variabilità delle pulsazioni, temperatura corporea e conduttanza della pelle. Il dispositivo …

I Vantaggi della codifica indipendente

Lo sviluppo di codice indipendente dal compilatore per i microcontrollori conferisce un elevato livello di flessibilità a qualsiasi progetto di sistema embedded. I progettisti di sistemi embedded devono affrontare problematiche quali cicli di sviluppo sempre più brevi, sono sottoposti a carichi di lavoro sempre maggiori e si trovano a operare costantemente sotto pressione. Una delle modalità più trascurate per ridurre i rischi di progetto e risparmiare tempo e sforzi progettuali nel lo sviluppo di un sistema embedded è l’indipendenza dal compilatore. Lo sviluppo di codice indipendente dal compilatore per i  microcontrollori conferisce un elevato livello di flessibilità a qualsiasi progetto. Il tool migliore L’indipendenza dal compilatore dà ai progettisti la possibilità di …

Le novità sulla ricarica Wireless – Intervista a Tony Armstrong Direttore Marketing, Power Products @ Analog Devices

La ricarica wireless è senza dubbio un requisito per ottimizzare le richieste di alimentazione di un qualsiasi dispositivo portatile. Offrendo inoltre un modo semplice per ricaricare il cellulare rapidamente e senza disporre di cavi. La ricarica senza fili sfrutta le principali leggi della fisica, permettendo così a qualsiasi utente di ricaricare velocemente il proprio dispositivo. In un prossimo futuro questa tecnologia riguarderà non solo i dispositivi portatili ma anche i veicoli a guida autonoma. In questa intervista con Tony Armstrong Direttore Marketing, Power Products di Analog Devices, cercheremo di approfondire vari aspetti che circondano tale tecnologia. 1.  Come si …

Algoritmi di filtraggio digitale

La diffusione di microcontrollori a basso costo con funzionalità di DSP (Digital Signal Processing) rende disponibili degli apparati in grado di implementare l’elaborazione digitale dei segnali, e in particolare  il filtraggio secondo tecniche digitali. In quest’articolo vedremo un’introduzione alle tipologie di filtri utilizzate in pratica, con particolare riferimento all’implementazione dei filtri passa-basso digitali IIR. Le nozioni di base che saranno esposte sono tuttavia applicabili anche per le altre tipologie di filtri. Per evidenziare un caso pratico d’implementazione infine, saranno esposte brevemente le funzionalità della DSP Library per i DSC delle famiglie dsPIC di Microchip. Metodologie di filtraggio digitale Un punto di partenza nella progettazione …

Conversione da UART a SPI con FPGA

Molto spesso è necessario poter utilizzare direttamente componenti che abbiano un’interfaccia di tipo SPI come sistema di comunicazione. L’articolo evidenzia come sia possibile una comunicazione diretta su questi componenti, utilizzando la classica seriale RS232 senza uso di microprocessori e relativi FW, ma integrando il  tutto in una piccola ed economica FPGA. L’articolo fornisce i dettagli per l’integrazione di un sistema in grado di dialogare all’esterno con un PC che utilizza una comunicazione UART (per esempio la sempre presente RS232), pilotando a sua volta una periferica esterna con interfaccia di comunicazione di tipo SPI. Le porte di comunicazione  SPI sono ampiamente utilizzate in tutti i sistemi embedded, grazie alla loro semplicità di interfaccia HW e alla possibilità di comunicazione sincrona e full …

Scopriamo la Spresense Main Board della SONY

In questo articolo andiamo a esplorare "Spresense Main Board", una scheda di sviluppo molto compatta, basata sul microcontrollore multicore CXD5602 della Sony. La sua maggiore potenzialità è quella di permettere lo sviluppo di applicazioni IoT in maniera molto semplice e veloce, anche attraverso l'utilizzo dell'IDE di Arduino oppure di Eclipse IDE. Sulla board sono inclusi i processori della Sony CXD5247GF e CXD5602GG. In aggiunta vi è un'antenna GPS, una interfaccia per camera e l'estensione per 26 pin esterni. La Spresense è estremamente espandibile con delle aggiunte esterne che saranno disponibili anche da terze parti per il Bluetooth (BTE), il …

La tecnologia POE nell’illuminazione a led

Power over Ethernet (nota anche come PoE) è una tecnologia nata nell'ambito del networking (e più precisamente in quello delle reti locali cablate, o LAN), la cui caratteristica principale è quella di rendere disponibile l'alimentazione per i dispositivi collegati alla rete direttamente sullo stesso cavo Ethernet utilizzato per trasmettere i dati. La tecnologia PoE si presta ad interessanti applicazioni anche nel settore dell'illuminazione, dove si dimostra particolarmente efficace  nel ridurre al minimo le inefficienze relative all'alimentazione di dispositivi LED e legacy Introduzione La tecnologia PoE permette a tutti i dispositivi collegati a una rete Ethernet cablata di ricevere l'alimentazione …

La lettura delle stringhe NMEA

NMEA è uno standard di comunicazione utilizzato nella trasmissione dati satellitare (GPS) e nautica. L’ente che sviluppa e gestisce il protocollo è la National Marine Electronics Association. In questo articolo vedremo che cosa sono le stringhe NMEA e come possiamo acquisire i dati in questo formato. Lo standard NMEA è uno standard di interfacciamento tra apparecchiature digitali. La comunicazione NMEA nasce nel campo nautico ma è molto utilizzato nella comunicazione satellitare, dove viene impiegato per trasmettere dati da un GPS verso un computer. In genere esistono diversi protocolli di comunicazione utilizzati dai GPS (Rockwell, SiRF…) spesso in formato binario, ovvero non leggibili ad occhio nudo. La praticità e il vantaggio  del binario sta nel fatto che possono essere compressi …

L’ABC dei microcontrollori su FPGA

Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono essere la risposta. Ci sia concesso il gioco di parole, ma è un modo per introdurre questa soluzione di progetto basata su FPGA proposta da ACTEL, il cui nome è proprio ABC. Il nome non è casuale perché il core in oggetto è un semplice microprocessore, che in un numero di gate veramente contenuto, sviluppa e supporta le istruzioni basilari richieste ad un qualsiasi micro sia su silicio oppure, come in questo caso, su FPGA. Insomma l’ABC dei microprocessori. Prima di affrontare la sua presentazione è importante sottolineare che stiamo …

Il protcollo ZigBee

Nella scorsa puntata sono state introdotte le caratteristiche principali dei protocolli IEEE 802.15.4 e ZigBee, analizzando in dettaglio la soluzione di Digi-MaxStream, ossia i moduli della serie XBee e XBee PRO. In questo numero verrà analizzato l’uso del software X-CTU, che permette la programmazione dei moduli XBee, ma che può anche essere utilizzato come efficace strumento di diagnostica e debug. Come supporto software alla programmazione, alla configurazione e al debug dell’hardware basato sui dispositivi della famiglia XBee, Digi-MaxStream mette a disposizione degli sviluppatori un unico software che assolve alle varie funzioni elencate sopra. Il software prende il nome di X-CTU ed è liberamente scaricabile via Internet dal sito web della Digi. X-CTU è un software per ambienti Windows, con retrocompatibilità fino …

Xinu embedded

Xinu è un sistema operativo scritto da Comer alcuni anni fa e oggi disponibile per diverse piattaforme. Esiste anche una versione per il segmento dei sistemi dedicati chiamata Embedded Xinu. Accanto al sistema operativo Linux, sicuramente più blasonato rispetto ad altri, esistono sistemi alternativi. Senza ricorrere in maniera specifica a sistemi definiti microkernel, esistono infatti diversi sistemi operativi alternativi, come ad esempio Minix o Xinu. Come altri sistemi operativi, i programmi eseguiti in ambiente Xinu utilizzano servizi che il sistema mette a disposizione attraverso routine (API) appositamente predisposte. Per esempio, un programma o un task possono avere la necessità di scrivere su una seriale standard, per esempio il display, e per svolgere questo compito chiamano una funzione di sistema putc(). Questa funzione …

Send this to a friend