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!

Il protocollo X-10 con PIC

Il continuo sviluppo di nuove tecnologie ha portato innovazioni in svariati settori, tra cui quello della domotica. La domotica è un particolare aspetto di questa evoluzione tecnologica: cambia l’interazione tra l’uomo e la casa, apportando migliorie in quella che è la vita quotidiana, sia essa racchiusa tra le mura domestiche o in ambienti lavorativi. La domotica spazia sia nel settore dell’automazione di grandi dimensioni come condomini e aziende (Building Automation) e sia dell’automazione di una singola casa (Home Automation). La Building Automation si pone come obiettivo quello di integrare tutti gli impianti (di sicurezza, di climatizzazione, di distribuzione) sotto un unico strumento di controllo, sfruttando tecnologie …

Intelligent I/O nei micro Renesas

Intelligent i/o è una periferica integrata nei micro renesas della famiglia mc32/80 che rende disponibili moduli per eseguire misure di tempo, generare segnali di controllo temporizzati, gestire protocolli di comunicazione standard. Intelligent I/O è una periferica integrata nei microcontrollori della serie M32C/80 che rende disponibili funzionalità per misure di tempo, generazione di forme d’onda, gestione di interfacce di comunicazione standard. La periferica comprende nella configurazione più generale fino a 4 gruppi, ognuno dei quali include le seguenti due unità: Time Measurement Unit, Communication Unit. In funzione del tipo di microcontrollore selezionato e della configurazione hardware della periferica presente, tutte o soltanto alcuni dei gruppi e delle funzionalità supportate da questi sono implementati. La tabella …

Il modulo quadrature encoder nei dsPIC

In applicazioni basate su parti  rotanti è spesso richiesta la conoscenza della velocità angolare e della direzione di rotazione. Tali informazioni sono prelevate da un dispositivo detto encoder incrementale, che dotato  di diodi laser e fotorilevatori, fornisce in uscita particolari segnali. Gli encoder incrementali, detti anche ottici o quadrature encoder, sono molto utilizzati in applicazioni in cui è richiesta la misura della posizione angolare e/o della velocità di un elemento rotante. Essi forniscono in uscita un treno continuo di onde quadre, durante tutto il tempo di rotazione. A differenza degli encoder assoluti, in cui la posizione del rotore è nota a priori, negli encoder incrementali (figura 1) i segnali  di uscita …

Sistemi di alimentazione per FPGA

I sistemi  basati  su fpga beneficiano delle soluzioni complete cc/cc in un formato da circuito integrato.I miglioramenti nelle geometrie dei processi delle FPGA e configurazioni di progetto più flessibili, oltre all’evoluzione dei sistemi che li incorporano, hanno permesso ai produttori di FPGA di penetrare mercati un tempo monopolizzati dai fornitori di microprocessori e ASIC. Sebbene la natura versatile e configurabile di questi dispositivi sia considerata interessante dai progettisti dei sistemi, la complessità delle regole di progettazione che governano il  funzionamento interno di questi componenti e i protocolli delle loro interfacce esterne richiedono una preparazione profonda, la valutazione delle schede di riferimento e varie simulazioni e verifiche del progetto. Di conseguenza, …

VHDL for beginners: Le Macchine a Stati Finiti

Nelle precedenti lezioni abbiamo visto come il VHDL mette a disposizione alcuni costrutti per realizzare i circuiti sequenziali. In generale un circuito sequenziale, se ben definito, può essere modellato tramite le macchine a stati finiti. Le FSM sono un concetto molto fondamentale e forte nello sviluppo dei componenti e in questo articolo cercheremo di fornire tutti gli strumenti base per utilizzare tale modellazione con il codice VHDL e quindi come progettare ed implementare una FSM su FPGA. Al termine della parte teorica, vi proporrò un esempio di FSM abbastanza semplice e intuitiva, di cui proveremo a sviluppare la parte …

L’ambiente di sviluppo per le FPGA ACTEL LIBERO IDE

Actel ha rilasciato tempo fa una versione di libero integrated design environment (ide), che dispone del pieno supporto per le famiglie di FPGA low-power igloo, mixed-signal fusion e le low-cost proasic3/e. l’ide, migliorato in molti  suoi aspetti con la versione  8, si integra perfettamente con prodotti di terze parti  come synplicity, mentor graphics e synapticad. Ecco come muovere i primi passi con l’ambiente di sviluppo. Il flusso di progettazione con Actel Libero IDE Il software Libero IDE di Actel si integra perfettamente con tool HDL e schematici di terze parti per progettare, simulare e programmare con dispositivi FPGA della famiglia Actel. In quest’articolo si illustrerà e descriverà  il flusso di progettazione …

I microcontrollori 8051 SILABS

I microcontrollori silabs si basano  sul collaudato core 8051. sono disponibili in cento versioni diverse e offrono un’ampia scelta di periferiche analogiche e di comunicazione. La famiglia di microcontrollori Silabs nasce alla fine degli anni 90 con il marchio Cygnal. Capostipite è la serie C8051F0xx seguita poi da numerosi altri modelli, ad oggi sono quasi un centinaio e offrono un’ampia scelta di periferiche, molte configurazioni di memoria e diversi package anche di dimensioni ridotte. Il microcontrollore è basato sul core 8051 che, rappresenta un ritorno al futuro in quanto il core, pur mantenendo l’architettura standard del vecchio 8051, in alcuni modelli può raggiungere velocità di picco di …

Routines matematiche per microprocessori HOLTEK

I microcontrollori general-purpose spesso non dispongono di un coprocessore matematico integrato per svolgere i più comuni algoritmi di calcolo in virgola fissa o mobile come avviene invece in dispositivi specializzati come i Digital Signal Processors o nelle Cpu dei moderni Pc. Per questo motivo nasce l’esigenza di creare routines adatte alla particolare architettura hardware che si sta utilizzando; tali algoritmi devono essere ottimizzati al fine di rendere minimo il tempo di calcolo e dunque vanno realizzati in Assembler, ricorrendo ad istruzioni specifiche dei micro destinati alla loro esecuzione. Oltre ad essere interessanti di per sé, questi argomenti sono di importanza fondamentale poiché toccano alcuni aspetti fondamentali di un sistema di elaborazione, inteso nel senso più specifico come macchina per …

Gestione della Preemption nei sistemi a microcontrollore

La preemption è la possibilità da parte di un sistema di interrompere una attività in corso per eseguirne un’altra  in  quel  momento  giudicata “più importante”. Esempi di preemption sono l’interruzione dell’esecuzione del codice di un microcontrollore  a causa dell’arrivo di un interrupt, il termine di un quanto di tempo in un sistema operativo time-sharing, oppure la preemption dovuta all’attivazione di un task ad alta priorità in un sistema operativo real-time. Questo articolo descrive le principali caratteristiche delle tecniche di scheduling preemptive e non preemptive utilizzabili nei dispositivi a microcontrollore con sistemi operativi di classe OSEK. Introduzione I sistemi di elaborazione embedded possono …

Ethernet facile con le VIRTEX-5

Con la serie Virtex-5, Xilinx continua a percorrere la strada dei multi-platform FPGA integrando core hard IP in dispositivi logici riprogrammabili di nuova generazione. I componenti delle serie LXT ed SXT, in particolare, includono macro tri-mode ethernet mac (media access control) 10/100/1000 MBPS IEEE 802.3 compliant. Il presente articolo ne introduce le caratteristiche principali unitamente ad una panoramica delle tipiche applicazioni supportate. Nel mercato moderno, Ethernet è, senza ombra di dubbio, lo standard di connessione cablata più diffuso al mondo; allo stesso modo, nel settore delle applicazioni embedded i dispositivi logici programmabili rappresentano ormai una consolidata realtà in rapida diffusione. Non era difficile prevedere, quindi, che le …

Moltiplicare le linee I/O dei micro con i Port Expander

Quando si affronta la progettazione di un sistema embedded, uno dei limiti è quello di non riuscire a prevedere in maniera precisa il numero di pin del micro che saranno necessari. Ecco come risolvere questo problema ricorrendo all’uso dei port expander. 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 …

VHDL for beginners: Testbench

Nelle prime tre lezioni di questo corso base per il VHDL abbiamo affrontato tutti gli elementi base che consentono la progettazione di un componente in piena autonomia. Tali conoscenze hanno permesso di acquisire le competenze necessarie anche per prendere confidenza con la suite di sviluppo Xilinx ISE e osservare il risultato della sintesi di circuiti che, per quanto semplici, ci hanno permesso di ottenere una panoramica completa dell'attività di sviluppo di un nuovo componente. L'attività di design di un componente non prevede solo lo sviluppo dello stesso ma anche la verifica che tale componente implementi correttamente le funzionalità per …

Micro Infineon AUDO TC1762

Infineon ha sviluppato tempo fa una famiglia di dispositivi, AUDO che uniscono in un unico componente la potenza di calcolo dei DSP, l'efficienza dei processori con architettura RISC e la velocità dei microcontrollori. L'articolo descrive in dettaglio una sottocategoria di tale famiglia, indicati con la sigla TC1762. I dispositivi della famiglia AUDO di Infineon sono micro ottimizzati per applicazioni in cui sono richiste elevate prestazione in real-time e capacità tipiche di un DSP, unite alla bassa latenza di interrupt e con la più elevata tolleranza ai guasti. I campi applicativi sono i più svariati e spaziano da automotive a telecom/datacom passando attraverso il controllo industriale (figura 1). L’architettura TriCoreTM …

Lattice Wave Digital Filters

Una breve introduzione alle principali caratteristiche strutturali dei "Lattice Digital Filters" e alla loro implementazione tramite microcontrollori MSP430.  Il filtraggio numerico è ormai diventata una tecnica di ampio utilizzo nei moderni sistemi di elaborazione e trattamento dei segnali. I filtri digitali hanno prestazioni nettamente superiori rispetto alla controparte analogica: in termini di risposta in frequenza presentano bande di transizione molto ristrette e valori di ripple in banda passante e oscura relativamente bassi; la presenza poi di numerosi tools di sviluppo e progettazione automatica rende agevole il loro disegno a partire dalle specifiche volute, mentre per quanto riguarda la loro implementazione software esistono numerosi dispositivi specializzati, come DSP di grande potenza o micro general-purpose dal costo …

Usare un coprocessore matematico con i PIC

Il coprocessore matematico uM-FPU di Micromega è un microcontrollore in grado di effettuare operazioni floating point a 32 bit secondo lo standard IEEE 754, concepito per facilitare l’uso di operazioni anche sofisticate con micro dalle risorse ridotte o per i quali non siano disponibili librerie matematiche adatte. Tra le funzioni che rende disponibili, oltre a quelle matematiche di base, vi sono quelle trascendenti ed operazioni tipiche degli algoritmi di DSP, come la MAC e la FFT. Può essere collegato a qualsiasi microcontrollore dotato di un’interfaccia SPI o I2C. Nell’articolo vedremo quali strumenti sono disponibili per la stesura del codice e come …

Architettura VLIW

Dopo RISC e CISC è ora la volta dell’architettura VLIW. Quali sono le sue caratteristiche? Quali sono le differenze rispetto alle architetture precedenti? Quali sono le sue implicazioni? L’architettura VLIW (Very Long Instruction Word) è una macchina di nuova concezione e si pone come una valida alternativa alle soluzioni basate su RISC e CISC. Principalmente, un’architettura VLIW ha le parole di istruzioni molto lunghe e consente di attivare più operazioni contemporaneamente, senza richiedere un riordino delle istruzione durante l’esecuzione. Questo consente di lavorare su unità di controllo più semplici rispetto a una architettura di tipo superscalare, in cui il riordino delle istruzioni …

Il trasmettitore UHF del rfPIC12F675

Il modulo rfPIC12F675, prodotto dalla Microchip, contiene in un unico modulo un microcontrollore, capace di gestire piccoli e medi sistemi, e un trasmettitore radio di segnali digitali, operante nella banda UHF. I suoi vantaggi si concretizzano in bassi costi di acquisto, alte prestazioni nelle trasmissioni a breve raggio e codifica ti tipo ASK e FSK. LA  MEMORIA PROGRAMMA I dispositivi rfPIC12F675 dispongono di un program counter a 13 bit in grado di indirizzare uno spazio di memoria di 8K x 14. Solo il primo banco di 1K per 14, corrispondente  agli indirizzi (0000H – 03FFH), è fisicamente implementato. ORGANIZZAZIONE DELLA …

DMX-Dimmer a 6 canali con PSoC

Le caratteristiche fondamentali di un sistema costruito intorno ad un microcontrollore PSoC, che utilizza il protocollo DMX per la gestione remota della luminosità e della potenza fornita agli impianti di illuminazione. Introduzione Il  Dimmer è un regolatore elettronico utilizzato per limitare la potenza inviata ad un carico: esso può basarsi su un reostato per la regolazione della tensione oppure può variare il duty-cycle di alimentazione dell’utilizzatore mediante modulazione della larghezza di impulso. Esistono in commercio circuiti integrati progettati esclusivamente per svolgere tale compito; le funzioni loro affidate possono essere molto complesse,  basti pensare ai dispositivi che regolano l’intensità luminosa di interi apparati …

Periferica LCD Driver nel PIC

La necessità di dispositivi human interface in applicazioni consumer ed industriali ha determinato una sempre più crescente domanda di display a cristalli liquidi. Microchip ha fatto fronte a questa necessità con diverse serie di microcontrollori  PIC con driver LCD on-board. I PICMicro offrono la possibilità di realizzare un controller LCD. Questo comporta una sensibile riduzione di costi e tempo poiché non è più necessario impiegare un controller esterno. In questo articolo vengono presentati i concetti fondamentali e le tecniche generali di implementazione. INTRODUZIONE A partire dalle serie PIC16F91X, PIC18F6390/6490/8390/8490 e PIC16F65J90/85J90 è possibile pilotare display con un numero di segmenti sempre maggiore …

Controllo di motori AC ad induzione con PIC

Una logica di controllo basata su microcontrollori PIC consente di aumentare la potenzialità e la flessibilità degli attuatori elettrici nei sistemi di automazione. Ecco in che modo. Un azionamento elettrico è generalmente costituito da un attuatore (motore) e dal relativo sistema elettronico di alimentazione e gestione, coadiuvato da eventuali sensori di feedback; esso può essere fisicamente realizzato in una grande varietà di  tipologie,  a seconda  dell’impiego  e delle specifiche del progetto cui è destinato. La vasta diffusione di questi dispositivi è motivata dal fatto che essi consentono un’ottimizzazione dei processi con incremento di produzione e miglior rendimento degli impianti: spesso, infatti, è …

Soluzioni avanzate per l’alimentazione di FPGA

Scegliere un sistema di alimentazione per FPGA non è cosa semplice. Il tipo di applicazione, la salita monotonica dell’alimentazione del core, l’efficienza sono solo alcuni degli aspetti da tenere in considerazione. L’impiego di una FPGA rappresenta sicuramente il sistema più flessibile e riconfigurabile per le applicazioni che vanno dal networking alle apparecchiature per telecomunicazioni a quelle industriali e per il settore automotive, e negli ultimi tempi hanno occupato anche un significativo spazio nei dispositivi consumer come i set-top box, i registratori di DVD, e i videogiochi. Il futuro della crescita delle FPGA verrà dal loro utilizzo in sistemi portatili come i GPS, …

Universal Serial Interface nella famiglia MSP430

MSP430 rappresenta una famiglia di microcontrollori prodotti dalla Texas Instruments e basati su un’architettura a 16 bit. I vantaggi principali sono il consumo estremamente ridotto (ultra low-power) e il design innovativo. La famiglia dei dispositivi MSP430 rappresenta la serie mixed-signal dei processori a 16 bit di Texas Instrument (TI). Essi sono la soluzione ideale per applicazioni di misura caratterizzate da alimentazione a batteria e quindi bassissimo consumo. La leadership sia nella tecnologia mixed-signal che in quella digitale ha permesso a TI di creare i chip MSP430 che consento al progettista di interfacciarsi, anche simultaneamente, con segnali analogici, sensori di vario tipo e componenti digitali, il tutto con un consumo ridotto. Applicazioni tipiche includono misurazione, …

Tecniche di scheduling EDF per sistemi a microcontrollore

Le tecniche di scheduling alternative alla priorità fissa per lo scheduling dei processi nei sistemi real-time. L’articolo descrive l’algoritmo di scheduling EDF (Earliest Deadline First) e lo confronta con gli algoritmi tradizionali. Vengono inoltre descritte le principali tecniche di implementazione di EDF per dispositivi a microcontrollore, fornendo esempi relativi al kernel open-source ERIKA Enterprise Basic. Le tradizionali implementazioni dei sistemi operativi real-time prevedono la possibilità di specificare dei parametri utilizzati per decidere quale sia in ogni istante il task da mettere in esecuzione. La maggior parte dei sistemi operativi in commercio fornisce per ogni task la possibilità di specificare un numero, detto priorità, utilizzato successivamente …

Prototipazione rapida di algoritmi di controllo

Disegnare, implementare e calibrare un sistema di controllo complesso tramite il solo utilizzo di programmazione visuale, senza necessità di scrittura di codice in linguaggi di programmazione come il C o l’assembler. Tutto questo è possibile con i tools open-source Scilab e Scicos e la board FLEX: una scheda basata su dsPIC su cui gira il kernel ERIKA Enterprise. Negli ultimi anni il ciclo di vita di molti dispositivi embedded si è ridotto notevolmente. In tale scenario sempre più competitivo diventa quindi importante automatizzare il processo di sviluppo del software, per permettere la gestione in modo coordinato delle varie fasi del ciclo di vita del software, …

Considerazioni sul Power Management di FPGA e ASIC

In applicazioni con FPGA e ASIC sono richieste diverse tensioni di alimentazione, per il core, per gli I/O e in taluni casi anche una terza tensione per l’alimentazione dei circuiti ausiliari. Ecco come scegliere il sistema di alimentazione più idoneo anche in termini di ingombro su PCB, risposta ai transitori ed efficienza. Nei mercati super-competitivi di oggi, che vedono una sempre più crescente pressione del time-to-market relativamente ai sottosistemi elettronici, l’importanza di FPGA e ASIC è cresciuta enormemente per il fatto che da questi componenti deriva la funzionalità di numerosi nuovi sistemi. Uno dei fattori più critici di un sistema basato su una FPGA è …