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.

Play ARM7!

Già da parecchio tempo, allo scopo di soddisfare le sempre più esigenti richieste del mercato, quasi tutte le case costruttrici di semiconduttori stanno producendo microcontrollori a 32 bit. Parallelamente, le richieste di sistemi di sviluppo sempre più economici hanno reso molti di questi potenti componenti a portata di hobbista. In questo articolo, attraverso un esempio pratico, verrà illustrato come iniziare rapidamente ad utilizzare un microcontroller a 32 bit con core ARM7 e clock massimo di 60MHz per lo sviluppo delle proprie applicazioni. LPC2000 è una famiglia di microcontrollers, prodotta oggi da NXP, basata sulla collaudata architettura ARM, una delle più diffuse architetture a livello mondiale per applicazioni embedded a basso consumo energetico come cellulari, PDA, routers, videogiochi portatili, e altro ancora. In questi …

Interrupt Intelligenti

Normalmente il firmware realizzato per una scheda embedded contiene sia i driver di basso livello per la gestione delle periferiche hardware, sia il programma applicativo. Questa soluzione non sempre è vantaggiosa: chi sviluppa il firmware  deve conoscere i dettagli dell’ hardware della scheda ed avere le competenze necessarie per lo sviluppo dell’applicativo. Una soluzione più generale consiste nel separare il firmware  di basso livello, che dipende dall’hardware utilizzato, dal programma applicativo. La scheda, in questo caso, verrà fornita con un rudimentale bios che metterà a disposizione le funzioni a cui dovrà fare riferimento  il programmatore dell’applicativo per accedere alle varie periferiche della scheda. La realizzazione di due diversi firmware indipendenti comporta però …

Circuiti per la misura della temperatura

In questo articolo saranno mostrate alcune soluzioni circuitali per la misura della temperatura che sfrutta circuiti integrati della Linear Technology/Analog Devices. Cominciamo con il definire cos’è un sensore di temperatura. Si tratta di un trasduttore che converte una grandezza termica in un’elettrica che generalmente è rappresentata da una tensione. Esistono diversi principi di conversione, ma il più semplice è rappresentato dal termoresistore al platino in cui la resistività del sensore varia linearmente con la temperatura (la variazione  quadratica è trascurabile).  Il circuito che permette la misura di questa variazione è il ponte di Wheatston seguito da un amplificatore differenziale che ne amplifica la tensione di uscita. Il circuito mostrato in …

Le correnti di dispersione

I filtri di linea (filtri EMC) spesso sono visti come una scatola nera e, giustamente, l’utilizzatore non si preoccupa di conoscere il loro funzionamento interno. Tuttavia, per un uso efficiente dei filtri, è vantaggioso disporre di una conoscenza di base. Il punto centrale di quest’articolo riguarda le correnti di dispersione e ciò di cui occorre tener conto al loro riguardo. Gli impianti elettrici devono avere la proprietà di funzionare in modo soddisfacente nell’ambiente elettromagnetico in cui si trovano (immunità), senza influenzare tale ambiente (emissione) in misura non tollerabile. Si parla allora di compatibilità elettromagnetica. Distinguiamo tra interferenze da irradiazione e da conduzione. Nel caso di interferenza da conduzione, esistono interferenze simmetriche e asimmetriche (note rispetti vamente anche come interferenze differenziali …

Sistemi di sviluppo per LPC2000

Esistono diverse proposte commerciali che permettono di sviluppare codice in ambiente ARM, in questo articolo è presentato l’ambiente MDK-ARM che ha il pregio di fornire una serie di utility attraverso un unico workbench. La proposta MDK-ARM (Keil Microcontroller development kit) è un ambiente completo che comprende, oltre ai tool di debug (uVision), la cross factory (ARM Real View), un ker nel real-time, l’ambiente di simulazione e l’interfaccia verso lo JTAG. Inoltre, esiste la possibilità di utilizzare componenti aggiuntivi per sopperire ad ogni specifica esigenza, quali uno stack TCP/IP, un file system embedded o drivers CAN o USB. Non solo, questo ambiente di lavoro permette di aggiungere parti sviluppate da terzi in maniera del tutto …

SwiftX: Un cross compiler per sistemi embedded

Scopriamo in questo articolo il cross compilatore SwiftX, un sistema di sviluppo interattivo basato sul linguaggio Forth in grado di supportare un’ampia gamma di microcontrollori. Il cross compilatore SwiftX è prodotto dalla società americana FORTH Inc. (figura 1), la più grande e referenziata azienda in grado di fornire soluzioni e sistemi basati sul linguaggio Forth. FORTH, Inc., con sede a Los Angeles, California, fu fondata nel 1973 dagli stessi creatori del linguaggio Forth, tra i quali è doveroso ricordare la figura di Charles H. Moore, detto familiarmente “Chuck” (figura 2). La prima versione del Forth fu inventata da Chuck Moore nel 1968, quando era impiegato in Arizona presso il National  Radio …

Internet of Things: la tecnologia che aiuta a risparmiare

L’IoT promette di modificare radicalmente le nostre relazioni con il mondo che ci circonda. Un esempio è rappresentato dai sistemi di condizionamento e riscaldamento, dove l’introduzione dell’IoT è in grado di portare sostanziali benefici non solo sul piano tecnico, ma anche su quello economico. In questo scenario assume una importanza fondamentale l’infrastruttura di rete: la tecnologia SDR rappresenta in quest’ottica la soluzione ideale per realizzare una rete di comunicazione robusta in grado di connettere e gestire numerosi dispositivi. Introduzione Gli impianti per il riscaldamento, condizionamento, e ventilazione dell’aria (noti anche con il termine HVAC, acronimo di Heating, Ventilation, e …

Le periferiche dei PIC24

Un viaggio all’interno del PIC 24 con l’analisi delle periferiche ed in particolare dei moduli RTCC (RealTime Clock & Calendar), PMP (Parallel Master Port) e CRC (Cyclic Redundancy Check). I microcontrollori a 16 bit PIC24 di Microchip possiedono un’architettura innovativa ed un ricco insieme di periferiche. Nell’articolo, dopo una breve introduzione sull’architettura, vedremo la dotazione di periferiche di questi dispositivi, con particolare riguardo ad alcune delle più interessanti: il modulo RTCC - un orologio e calendario real time - l’interfaccia parallela master PMP, il generatore  CRC. Caratteristiche dei PIC24 Il core dei PIC 24 è basato su una CPU a 16 bit con un’architettura Harvard modificata: …

L’aritmetica ternaria nella criptovaluta IOTA

I dispositivi digitali con i quali interagiamo ogni giorno sono tutti basati sulla logica, o aritmetica, binaria. Computer, smartphone, applicazioni software e app, microprocessori e tutti i componenti realizzati con la tecnologia digitale operano su singole unità di informazione note come bit. Cosa succederebbe se esistesse e utilizzasse una logica di calcolo non binaria, ma piuttosto ternaria? Introduzione Nei precedenti articoli abbiamo avuto modo di conoscere IOTA, la moneta decentralizzata nata espressamente per supportare le applicazioni di Internet of Things (IoT) attuali e future. Abbiamo inoltre imparato ad apprezzarne le caratteristiche principali e, soprattutto, i vantaggi offerti da questa …

Conversioni float-string in AVR

La libreria di conversione in ambiente AVR che presenteremo in questo articolo è ready-to-run per essere utilizzata in applicazioni embedded e dispone di numerosi aspetti che la rendono davvero interessante. Questa libreria di conversione, da rappresentazioni in virgola mobile a stringa, è stata studiata per sistemi embedded con ridotte dimensioni di memoria: si quantifica un’occupazione di memoria di circa 6000 byte di memoria FLASH. Questo modulo software è stato testato e realizzato utilizzando l’ambiente di compilazione AVR-GCC. È necessario disporre di almeno due funzioni che stdlib.h mette a disposizione: ultoa e itoa. La funzione C che realizza la conversione è ftoa così come è mostrato nel listato 1. #define SIZE_OF_MANTISSA 23 #define BITS_UNTIL_EXPONENT 23 …

Generazione di suoni con FUJITSU MB1460

Visualizzazione di contenuti grafici e riproduzione del suono sono divenute ormai caratteristiche irrinunciabili nei moderni sistemi embedded. Nel settore audio, in particolare, se da un lato esistono codec più o meno complessi che implementano le principali funzionalità per applicazioni ad elevata qualità, dall’altro i moderni microcontrollori integrano già periferiche che consentono facilmente la generazione di suoni in sistemi low-cost. Il presente articolo presenta in particolare alcuni esempi basati sui dispositivi della famiglia MB91460 di Fujitsu. Il suono non è altro che una oscillazione dell’area percepita dall’udito come conseguenza della vibrazione di una sorgente di onde acustiche. Come al solito, si può rappresentare come sovrapposizioni di vibrazioni elementari che assumono forma di onde sinusoidali di ampiezza variabile a diverse frequenze; ogni armonica rappresenta un tono del segnale acustico. Acquisizione e riproduzione del …

Il CAN bus

Il Controller Area Network, noto anche come CAN-bus, è uno standard seriale per bus principalmente di tipo automotive e multicast. E’ stato introdotto negli anni ottanta dalla Robert BoschGmbH, per collegare diverse unità di controllo elettronico (ECU). Analizziamo le proprietà e le caratteristiche di questo importante bus. Il protocollo CAN (figura 1 e 2) è stato sviluppato in Europa per utilizzo in ambito automobilistico. In seguito al proficuo utilizzo nelle applicazioni nel campo degli autoveicoli, nei sistemi di controllo, sensori ed attuatori si è sviluppato in tutto in mondo in particolare negli USA. Il protocollo di comunicazione CAN è stato reso norma internazionale nel 1993 come ISO 11898-1. Il bus CAN è un bus …

Ruote che girano e sensori induttivi

Se c’è una cosa che facciamo di continuo è contare, certe volte senza neanche rendercene conto. Contare è spesso e volentieri così difficile e noioso che non ci va di farlo di persona, e ci rivolgiamo a qualche sistema che lo faccia per noi. Ma ci sono così tante cose da contare negli ambiti più disparati che è difficile pensare di poter fare tutto con lo stesso dispositivo. Oggi vi parleremo di come si possano contare i giri di una ruota senza intervenire direttamente su di essa e di come la tecnologia di oggi possa venirvi in soccorso. FACCIAMO …

Convertitore da 5.5 a 3.3 V per sistemi a microprocessori

Come poter soddisfare le esigenze dei nuovi potenti microprocessori che richiedono elevata corrente a 3.3 V per la presenza, al loro interno, di un numero sempre crescente di transistor. I regolatori o convertitori da 5.5 V a 3.3 V (tensione in DC) possono essere principalmente di due tipi: lineari e switching. La maggior parte di essi sono realizzati con tecnologia a montaggio superficiale, perciò necessitano di molta accuratezza. I  regolatori lineari trovano applicazione nel campo delle basse correnti di assorbimento (di solito < 3 A ) dove il coefficiente di dissipazione termica è minimo e una efficienza teorica del 66% è accettata. Essi utilizzano resistori in serie con un generatore …

Tutorial UML: approfondimento sulla generazione del codice

Nella scorsa punta si è iniziato ad analizzare come la rappresentazione UML sia applicata ad un caso pratico di un progetto per lo sviluppo di un generico sistema. Continuiamo in quest'ultima puntata a descriverne i tali passi fondamentali. Tutti i diagrammi e le relazioni descritti nelle precedenti puntate del corso hanno un ben preciso utilizzo a seconda della situazione di analisi del progetto. Conoscere tutti gli elementi tipici di una rappresentazione UML, senza avere ben chiaro quando e come utilizzarli può servire però a ben poco. Nella precedente puntata si è fatto riferimento ad uno sviluppo RAD (acronimo di Rapid Application Development) per la realizzazione di un progetto; le sue fasi principali si possono riassumere …

UART/SIO le possibilità infinite di Fujitsu

Accanto alle diverse risorse hardware che il componente offre, quali la presenza di timer programmabili, di interfacce LIN-UART, la gestione degli eventi asincroni esterni, la presenza di un convertitore A/D con una risoluzione di 8/10 bit o, ancora, la possibilità di gestire fino a 20 porte di I/O; la presenza del blocco funzionale UART/SIO è, ad ogni modo, una proposta sicuramente utile. Ogni progettista ha sicuramente la necessità di utilizzare, per le sue applicazioni embedded, sistemi in grado di acquisire informazioni o trasferire le stesse verso sistemi di backup. Questa seriale è abbastanza versatile; infatti, può utilizzare benissimo, mediante la programmazione di un registro …

La scheda Banana PI Webduino ESP8266

La scheda Banana PI Webduino con core ESP8266 esteso è dotata di molte funzioni che la rendono estremamente facile da programmare attraverso la porta USB. Le interfacce GPIO liberamente controllabili sono ideali per gestire sensori e shield Arduino e Raspberry compatibili. Introduzione La scheda Banana Pi Webduino è particolarmente adatta per l'IoT per tutta una serie di applicativi in vari campi industriali. E' compatibile con PC e varie single board computer, dotata del modulo ESP8266 attraverso il quale è possibile sfruttare la comunicazione Wi-Fi e le interfacce GPIO liberamente programmabili; in particolare 6 porte digitali, 3 PWM e 1 …

Expander MCP: Controllare un keypad 4x

I port expander sono uno strumento molto utile in quei casi in cui il microcontrollore non disponga di un sufficiente numero di linee di comunicazione. Nel presente articolo si mostrerà come sfruttarli per interfacciare un micro ed un keypad 4x4, impiegando solo 3 linee dati del micro. Nella progettazione di sistemi embedded un vincolo importante da considerare è il numero di pin disponibili del sistema a microcontrollore scelto. Spesso il fallimento  di un progetto può dipendere proprio dalla scelta errata del modello di micro, dotato di un numero di pin inferiore rispetto a quello necessario a pilotare tutte le periferiche. D’altro canto anche una pianificazione attenta e l’adozione di margini di sicurezza non sempre permettono di ottenere il risultato …

MiniHost/Function e tre CAN in un micro

L’MB96F338U appartiene alla famiglia 16FX, potenti microcontrollori a 16 bit sviluppati per applicazioni automotive e industriali. Principale caratteristica di questo nuovo dispositivo è quella di integrare in un unico chip un’interfaccia USB 2.0 Full-Speed con funzionalità MiniHost/Function e tre interfacce CAN. Alla luce della crescente diffusione delle interfacce USB nelle applicazioni industriali, la capacità di gestire dispositivi USB tramite microcontrollori diventa una prerogativa sempre più importante. Ad esempio, le normali chiavette USB vengono utilizzate per archiviare  i dati o aggiornare  il firmware  in un numero crescente di applicazioni. L’interfaccia USB incorporata nel nuovo controller Fujitsu MB96F338U può essere configurata oltre che per pilotare un singolo dispositivo USB (MiniHost) anche per funzionare da interfaccia USB slave (Function) per …

Pilotiamo un servomotore con ESPertino

L'articolo non spiegherà la teoria di funzionamento dei servo, in quanto ampiamente trattata in molti articoli del nostro blog. Si soffermerà, piuttosto, sulle soluzioni da adottare per la loro implementazione, in quanto le porte logiche della nostra scheda ESPertino erogano una tensione di 3.3V. Introduzione I servo sono utilizzati molto nei sistemi di automazione e danno un grande contributo, probabilmente, pari ai motori passo-passo. Consentono di ottenere precisi movimenti angolari utilizzando una sola connessione verso la porta logica della MCU. Collegamento a ESPertino La maggioranza dei servo in circolazione funziona con una tensione di alimentazione di +5V e lo …

Send this to a friend