Microcontrollori & FPGA:

Microcontrollori PIC, microcontrollori Atmel, microcontrollori ARM, Freescale, Texas Instruments, STM, Renesas, NXP etc. A 8bit, a 16bit ed a 32bit! In questa categoria troverete progetti sui microcontrollori, firmware per programmare microcontrollori e tutorial. Ci sono anche articoli su Arduino e DSC, i microcontrollori con a bordo funzioni DSP e molto altro!

La comunicazione I2C per il microcontrollore MAXQ2000

Il bus I2C (o IIC Inter Integrate Communication) è un bus di comunicazione seriale sincrono ideato dalla Philips che utilizza due sole linee di comunicazione, una linea di clock e una linea dati bidirezionale. In questo articolo vedremo come configurare e utilizzare la libreria maxqi2c per interfacciare periferiche con porta di comunicazione I2C ai microcontrollori della famiglia MAXQ. La libreria è formata da 2 file maxqi2c.h e maxqi2c.c, il software si può scaricare dal sito MAXIM Integrated ed è scritto interamente in linguaggio C.  Con questa libreria è possibile realizzare un driver I2C con funzione master per bus funzionanti in …

Sviluppare con i dsPIC

I DSC (Digital Signal Controller) di Microchip sono dei controller single-chip che integrano le funzionalità di controllo di una MCU (MicroController Unit) con la potenza di elaborazione di un DSP (Digital Signal Processor). Microchip fornisce una suite completa di strumenti di sviluppo specifici per i dsPIC, sia software che hardware, altamente integrati in MPLAB IDE. L’ambiente di sviluppo MPLAB è costruito intorno all’IDE (Integrated Development Environment), e si tratta in pratica  dello  stesso  ambiente utilizzato per sviluppare applicazioni  per le MCU delle varie famiglie PIC, cui sono stati aggiunti dei tool specifici  per i dsPIC ed i file di …

Lettore RFID Arduino compatibile [Progetto Completo Open Source]

Il progetto descritto in questo articolo vuole rappresentare una solida base per lo sviluppo di applicativi RFID. Combinando il microcontrollore ATMEGA328P e il modulo EM-18 è possibile realizzare un semplice sistema per il comando di automatismi attraverso lettori card RFID. Il dispositivo EM-18 è uno dei lettori più comunemente usati per leggere i tag a 125KHz. Dispone di un basso consumo energetico, basso costo, fattore di forma ridotto e facilità di utilizzo.  Introduzione L'utilizzo della tecnologia di identificazione a radiofrequenza, conosciuta come RFID, sta crescendo rapidamente in molte applicazioni industriali e commerciali. La tecnologia RFID consente la raccolta dati …

VHDL for beginners: Entità e Architetture

La necessità di prestazioni sempre superiori e di consumi sempre più ridotti ha spinto il mondo dell'elettronica ad un uso sempre più massivo di dispositivi quali FPGA. Tali dispositivi devono la loro fama per la peculiarità di essere programmabili o meglio configurabili grazie a linguaggi come il VHDL o il Verilog, anche se sono linguaggi abbastanza complessi. Questi sono dedicati alla descrizione dell'hardware e consentono quindi di specificare il comportamento di circuiti elettronici sia semplici (ad esempio una funzione booleana o un sommatore) sia molto complessi come i processori. Con questo articolo iniziamo un corso base sul VHDL muovendo …

Soluzioni di alimentazione single chip per FPGA

I sistemi basati su FPGA stanno riscuotendo un crescente successo. Mentre parecchi progettisti preferiscono le architetture basate su FPGA per la loro flessibilità, grazie alla quale è possibile aggiungere caratteristiche o apportare modifiche attraverso il codice, la progettazione di un alimentatore idoneo comporta la risoluzione di alcuni problemi. Il primo è quello relativo alla presenza di più terminali di alimentazione. Introduzione Gli FPGA richiedono, come minimo, una tensione per l’alimentazione del core e una (o più) tensioni per l’alimentazione dei gruppi di I/O. Comunque, i sistemi basati su FPGA possono richiedere altri terminali per l’alimentazione di memorie DDR (Double …

Actel IGLOO e la tecnologia Flash Freeze

Gli IC standard sono integrati costruiti senza considerare una specifica applicazione, quindi hanno una serie di funzionalità generiche che potrebbero essere in eccesso per un caso specifico cosi come potrebbero non avere una funzionalità essenziale all’applicazione stessa. Utilizzando gli IC standard è facile quindi trovarsi nella situazione di avere un eccessivo consumo di potenza, dover disabilitare componenti, dover  trovare  soluzioni  personalizzate oppure eseguire test impegnativi. Le logiche programmabili La Figura 1 riporta la classificazione completa di tutte le tipologie di circuiti integrati. Gli ASIC (Application Specific Integrated Circuits) sono IC creati appositamente per tipologie di applicazioni oppure per applicazioni ben …

Aritmetica BCD per AVR

Il microprocessore opera su una rappresentazione dei dati in forma binaria, questa non è propriamente comprensibile agli esseri umani che sono abituati ad utilizzare rappresentazioni decimali. In una notazione BCD (Binary Coded Decimal) un numero è rappresentato su quattro bits (un Nibble): il valore decimale è compreso tra 0 e 9. In questo modo, su due byte possono essere rappresentati due digits con un valore da 00 a 99. In quest’articolo, dopo un’introduzione al codice BCD, saranno illustrate alcune tecniche che ci permetteranno, al termine, di avere a disposizione una vera e propria libreria in assembler. IL CODICE BCD Un codice è …

Propeller Tools

Il microcontrollore Propeller è un dispositivo della Parallax inc. contenente otto processori RISC a 32 bit e può gestire direttamente un’uscita video VGA, video composito, tastiera, mouse ed altro ancora. La programmazione del chip è notevolmente semplificata grazie all’ambiente di sviluppo integrato Propeller Editor/Development System. Introduzione L’architettura interna del Propeller è costituita da otto processori di tipo RISC a 32 bit indipendenti, tutti uguali, sincronizzati dallo stesso clock che può arrivare alla frequenza massima di 80MHz. Gli otto processori, chiamati COG, condividono le risorse comuni del Propeller quali registri di I/O e timer, mentre l’accesso alla memoria RAM/ROM avviene tramite un HUB che sincronizza le …

Il kit XMC4300 Relax EtherCAT

Il kit EtherCAT XMC4300 è dotato di un microcontrollore basato su ARM Cortex-M4 della serie XMC della Infineon Technologies. Può essere utilizzato con un'ampia gamma di strumenti di sviluppo, compreso l'IDE DAVE basato su Eclipse. Il kit è stato progettato per valutare le funzionalità del microcontrollore XMC4300, in particolare nelle applicazioni slave EtherCAT. Introduzione La serie di microcontrollori XMC4300 riduce ulteriormente la complessità dell'implementazione di EtherCAT e il costo dell'automazione di fabbrica, dal controllo del motore industriale, dei moduli I / O e della robotica. La serie XMC4300 è stata sviluppata appositamente per applicazioni industriali EtherCAT con forti pressioni …

Colleghiamo un display OLED ad ESPertino

Con i consigli forniti in questo articolo impareremo a dotare ESPertino di una importante unità di visualizzazione attiva e a colori, grazie al collegamento con un display a matrice attiva OLED. Grazie ad esso, il nostro sistema di sviluppo potrà interagire con il mondo esterno con maggiore efficacia e flessibilità, attraverso disegni, messaggi ed immagini. Il cablaggio elettronico risulta estremamente semplice, un po' meno la gestione della comunicazione software. Introduzione Con un collegamento di un display grafico ad ESPertino, i sistemi creati con esso diventano, in un colpo solo, perfetti. La possibilità di visualizzare le informazioni ed le immagini …

Controllo sequenziato delle fasi di un processo

In molti processi gestiti da controllore è ricorrente la necessità di temporizzare le fasi degli stessi processi. Affinché ciò sia possibile è necessario che il controllore disponga di opportune risorse fisiche (timer) e che il firmware le sfrutti adeguatamente Nell’automazione industriale è ricorrente la necessità di gestire un processo composto da una sequenza di attività (fasi) che devono susseguirsi secondo una ben precisa sequenza temporale. A tale scopo, i processi industriali più complessi sono gestiti da appositi computer oppure da PLC. Ci sono tuttavia molte piccole applicazioni (singole macchine utensili o elettrodomestici per esempio) in cui è sufficiente, per raggiungere lo scopo, impiegare una scheda di controllo con un piccolo controllore a bordo. Affinché ciò sia possibile è necessario che il controllore integri dei timer e che il firmware ne sfrutti …

Realizziamo un multiplexer video-composito

Realizzare un Multiplexer Video-Composito, essenziale ma non privo di utili funzionalità, è estremamente semplice se si impiegano opportuni amplificatori video integrati dotati di ingressi di abilitazione. Logiche multiplexer anche piuttosto complesse possono allora essere implementate in firmware e attuate mediante un controllore che interfacci e piloti l’integrato video La diffusione delle reti LAN Ethernet ha reso estremamente agevole la realizzazione di impianti di videosorveglianza anche complessi. L’impiego di telecamere IP, di apparati di rete e di registratori NVR (Network Video Recorder) permette di realizzare il monitoraggio video di siti mediante un semplice PC connesso alla stessa rete. Nonostante ancora oggi, se si deve realizzare un piccolo impianto poco esteso costituito da poche telecamere e magari caratterizzato da un unico punto di supervisione, come nella portineria di un piccolo stabile o di una piccola attività lavorativa, tanta tecnologia può risultare sprecata. …

Il micro di Cypress: PSoC

Il PSoCTM, prodotto di Cypress, non è il classico microcontrollore, ma qualcosa di più grazie alla presenza di blocchi analogici e digitali completamente configurabili a livello funzionale, così come le interconnessioni tra loro, al fine di sostituire con un singolo chip più blocchi funzionali. In questo modo l’utente può creare configurazioni ad hoc di periferiche che soddisfano le richieste di un particolare progetto. Esso rappresenta il giusto compromesso tra le logiche programmabili ed i microcontrollori. Introduzione Con il termine PSoCTM  (Programmable System-on-Chip) si indica la famiglia dei sistemi prodotti da Cypress. L’architettura del PSoC è costituita da quattro aree funzionali: il core il …

Corso Embedded ARM: sistemi operativi real time

I sistemi embedded si interfacciano con il mondo esterno ed elaborano i dati provenienti dalle diverse periferiche. Elaborare e gestire tutte le informazioni in maniera efficiente può diventare un compito non facile quando le applicazioni non sono banali e le interfacce da gestire sono diverse, con diversi requisiti di timing. Per venire incontro a queste esigenze si utilizzano i Sistemi Operativi Real Time o RTOS. I diversi approcci per la gestione del flusso di esecuzione di un'applicazione Come abbiamo avuto modo di vedere nelle precedenti lezioni, esistono differenti modi di gestire il flusso di esecuzione di un'applicazione: polling (dall'inglese to …

Pilotare un LCD Grafico (GLCD)

Gli LCD Grafici (GLCD-Graphic Liquid Crystal Display) sono terminali di visualizzazione impiegati nelle apparecchiature elettroniche. Vediamo in che modo è possibile interfacciarli con un controllore PIC di Microchip In questo articolo vogliamo mostrare come sia possibile interfacciare con un PIC e con altrettanta facilità, impiegando il compilatore MikroC e le sue librerie, un Display Grafico (GLCD-Graphic Liquid Crystal Display) 128x64 (figura 1). Lo schema elettrico del circuito (figura 2) è legato alle specifiche funzioni delle linee dati e di controllo del GLCD; i pin del controllore connessi al GLCD sono scelti di conseguenza e il firmware  è quindi stilato, corrispondentemente, in funzione di questi due vincoli. L’interfacciamento elettrico del display necessita di 14 linee del controllore distribuite tra linee dati e …

Pilotare i carichi con un microcontrollore

Solitamente un microcontrollore non è in grado di pilotare carichi di potenza. Esso infatti può gestire piccoli dispositivi con assorbimento di corrente pari a pochi milliampere. Se una MCU deve illuminare un diodo Led o pilotare un display LCD, il problema non sussiste. Ma cosa succede invece quando il micro deve comandare l’accensione di un motore o di una lampada di potenza? L’articolo passa in rassegna alcuni metodi di collegamento inerenti le uscite di un microcontrollore. Collegamento diretto di una sola uscita Si tratta del collegamento tradizionale e quindi più semplice. Esso prevede la connessione diretta tra una porta d’uscita della MCU e il carico da attivare. Dal momento che, …

Controllo di motori brushless con il metodo della terza armonica

Il controllo di un motore in continua di tipo brushless (BLDC – BrushLess DC) senza ricorrere ad alcun sensore di posizione è stato oggetto di parecchie ricerche e ha dato vita a numerose implementazioni. Lo scopo del presente articolo è descrivere un metodo di controllo originale e proporre una realizzazione semplice e a basso costo che prevede l’uso di un microcontrollore di tipo general purpose e un convertitore A/D esterno. Sebbene le più recenti tendenze privilegiano l’integrazione di tutti in componenti all’interno del microcontrollore, verrà mostrato come un componente ADC121S625 della TI permette di risolvere problemi di natura analogica di una certa entità, assicurare risparmi a livello di microcontrollore e …

Perché conviene consultare i datasheet

Quando una persona deve prendere le medicine, il primo pensiero è quello di leggere il "bugiardino" ovvero quel piccolo foglietto stampato che si trova all'interno della scatola e che illustra la composizione del farmaco, le caratteristiche, le modalità d'uso e le avvertenze. Il progettista elettronico dovrebbe fare la stessa cosa, consultando i datasheet. Vediamone il perché. Il datasheet è la documentazione completa di un componente elettronico, solitamente scritta in lingua inglese e distribuita in formato PDF. La sua consultazione è fondamentale, quando si decide di realizzare un progetto. Consultando un datasheet si ha la garanzia di lavorare e di …

La potenza dei microcontrollori per l’analisi matematica: Serie di Taylor-Maclaurin

L’elettronica, come la maggior parte dei rami scientifico ingegneristici, per l’interpretazione dei dati richiede la risoluzione di equazioni talvolta molto complesse. Ma come è possibile che un microprocessore sia in grado di eseguire un calcolo trigonometrico utilizzando solamente addizioni e sottrazioni? I rami della matematica, e i teoremi ad essa legati, sono innumerevoli, spesso di difficile interpretazione e raramente implementabili, ma altre volte utili alla risoluzione di problematiche altresì incalcolabili. Da numerose ricerche effettuate, i consigli ricevuti per il calcolo del seno di un ipotetico angolo “x” utilizzando un PIC, riguardavano la realizzazione  di una tabella: ogni parametro di x viene corrisposto in un determinato valore del seno. Certo, questo metodo risulta efficace nell’approssimazione, ma richiede l’utilizzo di un elevata quantità di memoria, …

Sviluppare un progetto con MPLAB®

Un buon ambiente di sviluppo integrato è il segreto del successo nella programmazione dei micro. MPLAB® IDE rappresenta la sala comandi per PIC e dsPIC (MPLAB X è la versione successiva). Si tratta di una applicazione a 32bit  supportata  dal  sistema operativo Windows, semplice da utilizzare. Con un unico software è infatti possibile gestire tutte le fasi, dalla stesura del codice alla programmazione del micro. Nel presente articolo si cercherà di comprendere i vari passi che caratterizzano l’intero ciclo di vita del firmware, realizzato tramite  MPLAB IDE; si andrà dalla progettazione e scelta del dispositivo alla sua programmazione,  passando per le varie fasi …

Un tasto tante funzioni

Quando si progetta un prototipo, più o meno complesso, prima o poi si fa sentire l’esigenza di disporre di tante porte di ingresso. Ad esempio, in un ipotetico progetto che pilota un display LCD, possono esserci diversi tasti: un tasto può essere adibito alla selezione della modalità operativa, un altro a far scorrere il cursore a destra, un altro ancora a farlo scorrere nella direzione opposta, un altro ancora a confermare i dati, e cosi via. In questo modo, in breve tempo, tutte le porte sono utilizzate per l’interazione degli eventi con l’operatore e ben presto ci si deve occupare di come ottimizzare il progetto, se non addirittura di eliminare qualche importante funzione. Le possibili …

Corso Embedded ARM: una shell per il SAMD21

Nella lezione su come collegare un display TFT a colori via SPI al SAMD21 abbiamo visto come aggiungere un'interfaccia molto utile ai nostri progetti. In questa lezione impareremo a collegare una tastiera PS/2 che ci consentirà di inviare caratteri al microcontrollore, similmente a quanto abbiamo fatto fin'ora con la UART, ma svincolandoci dal fatto di avere un PC con un terminale seriale a disposizione. La tastiera PS/2: il protocollo La tastiera impiega tutto il suo tempo a controllare (in inglese scanning, da to scan) la matrice di tasti che la compone. Alla pressione di un tasto la tastiera invia un codice di …

Generazione di forme d’onda con Sintesi Aritmetica

Una tecnica per generare forme d’onda sinusoidali ad elevata precisione a partire da una serie di valori costanti predefiniti e memorizzati nella memoria del microcontrollore ed inviati ad un convertitore DA. La generazione di sinusoidi risulta particolarmente utile nell’uso del DTMF, nella generazione di toni singoli o per la realizzazione di generatori di segnale. LA TECNICA DI SINTESI ARITMETICA La tecnica illustrata in questo articolo è nota come Sintesi Aritmetica in quanto prevede la creazione di una tabella (detta tabella di look-up) di valori corrispondenti all’ampiezza della sinusoide in determinati istanti di tempo. Questa si contrappone alla tecnica di Sintesi Digitale Diretta …

I cristalli al quarzo nel design dei circuiti

Nella progettazione dei circuiti elettronici, nella quasi totalità dei circuiti digitali ma anche in molte applicazioni specifiche di tipo analogiche, è necessario porre particolare attenzione quando si trattano i sistemi di generazione e distribuzione dei segnali di clock. La progettazione di una sorgente di clock passa per la scelta del tipo di oscillatore da utilizzare. Gli oscillatori, nel loro normale funzionamento, sono in grado di generare una predeterminata forma d’onda periodica ad un determinata frequenza. La tecnologia di realizzazione e la tipologia della forma d’onda e della frequenza permettere di classificare questi dispositivi. In questo articolo affronteremo l’aspetto tecnico …

Elettronica News Maggio 2017

Le news di questo mese riguardano importanti aggiornamenti in vari campi dell’elettronica, con un nuovo PMIC della Maxim Integrated che riduce del 50% le dimensioni delle varie soluzioni di alimentazione per le applicazioni indossabili mediche e di fitness. Nuovi aggiornamenti da Sandisk, Infineon e Analog Devices/Linear Technology. Linea FM12 di fusibili da AEM AEM ha annunciato importanti novità per la sua linea FM12 di fusibili, selezionata da European Space Components Coordination (ESCC) per l'inserimento nell'elenco European Preferred Parts List (EPPL). I fusibili della serie FM12, inclusi anche nell'elenco dei prodotti qualificati Defense Logistics Agency Qualified Products List (QPL), sono …