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 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 …
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 …
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 …
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 è …
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 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 …
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 …
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 …
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 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 …
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 …
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 …
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, …
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 …
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 …
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, …
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 …
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 …
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 …
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 …