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!

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

VHDL for beginners: Statement concorrenti e sequenziali

Il VHDL viene concepito per la descrizione dei circuiti elettronici e quindi consente le realizzazione di sistemi molto complessi. In elettronica troviamo una differenza sostanziale tra circuiti combinatori e sequenziali data dalla presenza di una cella di memoria al proprio interno. Infatti, nei circuiti combinatori, l'output è il risultato di una funzione logica dei soli input. Differentemente nel circuito sequenziale troviamo di fatto un elemento di memoria che porta in conto lo stato attuale (o quello precedente) del circuito stesso. In merito, il VHDL mette a disposizione diversi costrutti molto interessanti che possono rendere efficace e leggibile l'implementazione dei …

Progettare con Quartus II di Altera

Quartus II è un software per la progettazione di CPLD, FPGA e structured ASIC della famiglia Altera. Nell’articolo la descrizione dell’applicativo e alcuni consigli per conoscerlo meglio. La versione 7.0 di Altera Quartus II ha integrato l’analizzatore TimeQuest, il primo tool di analisi delle temporizzazioni mai realizzato da un fornitore di FPGA a offrire un supporto nativo completo per il formato standard Synopsys Design Constraints. La versione integra anche una serie di prestazioni di progettazione team-based che permettono di gestire in modo efficiente le attività di sviluppo congiunto su progetti ad alta densità. Questi potenziamenti soddisfano le specifiche imposte dai moderni progetti …

Programmazione e debug con Keil µVision3

µVision3 è un ambiente di sviluppo offerto da Keil Software. Rappresenta la piattaforma per lo sviluppo di firmware per un elevato numero di microcontrollori, tra cui ARM e 8051-based. µVision3, il famoso ambiente di sviluppo di Keil Software, integra un Project Manager, un editor di testi, un debug ed un Flash Programmer in un unico e potente prodotto. Tra i chip che possono essere programmati si ricordano Atmel, Analog Device, Cypress  Semiconductor, Dallas Semiconductor ed STMicroelectronics. Nell’articolo si esamineranno i passi fondamentali per realizzare le prime prove di scrittura  e debug del codice. La Figura 2 riporta una tipica schermata di Keil …

Display e accessori 4D Systems

4D Systems Pty Ltd è leader mondiale nella ricerca, nello sviluppo e nella produzione di soluzioni grafiche intelligenti, offrendo ai propri clienti moduli e processori grafici unici, innovativi ed economicamente convenienti che soddisfano una serie di applicazioni e industrie. TME è il distributore ufficiale di 4D Systems. Introduzione Fondata nel 1990, la vasta esperienza della 4D Systems permette di trasformare concetti e idee in prodotti hardware e software all'avanguardia, capaci di superare le richieste e le aspettative dei vari clienti.  4D Systems progetta, sviluppa e produce soluzioni grafiche intelligenti utilizzando l'ultima tecnologia OLED (diodo organico emettitore) e quella LCD …

Sintesi di applicazioni DSP con Synplify DSP

Synplify DSP è un tool che costituisce un punto di incontro tra gli applicativi usati dai progettisti DSP ed i motori di sintesi RTL. Ecco in dettaglio tutte le funzionalità di questo strumento di sintesi automatica. La crescente capacità logica dei dispositivi a semiconduttore – FPGA ed ASIC – ne ha determinato una rapida diffusione nell’ambito delle applicazioni di Digital Signal Processing. Grazie alla disponibilità di funzioni aritmetiche embedded ed alla naturale predisposizione per  la realizzazione di  architetture parallele, questi dispositivi consentono di raggiungere elevate capacità di calcolo (dell’ordine di centinaia di MIPS), impensabili con processori DSP classici ‘programmabili’  via software. Nel …

MCS8140 Network USB processor

La CPU MCS8140 è un processore a 32-bit RISC basato su un core ARM92EJ-S a 170 MHz e la sua prestazione può raggiungere i 1.1 MIPS per MHz. È un classico dispositivo network USB processor orientato alle reti, ma la sua caratteristica che lo rende veramente interessante, da un punto di vista progettuale, è certamente la capacità di fornire soluzioni di tipo IPSec integrate. Il dispositivo MCS8140 è un componente orientato alle applicazioni di rete. Il componente  ha diversi blocchi funzionali: CPU Subsystem, Ethernet Interface, USB Host, PCI Host, Memory Controller, TOE and Security Engine, and General Interface Blocks. Il componente può essere utilizzato per applicazioni …

PSoC Express

Programmare i chip della Cypress con l’ambiente di sviluppo PSoC Express è davvero semplice ed intuitivo. Non è richiesta nessuna conoscenza di programmazione assembly o C e neppure leggere pagine e pagine di datasheet per la scelta del giusto componente. Ecco come iniziare a muovere i “primi passi” con PSoC Express. Il PSoC è un sistema programmabile, prodotto da Cypress, dotato di un micro ad 8bit ed una serie di blocchi analogici e digitali completamente programmabili a livello funzionale. L’architettura interna di questo chip è stata ampiamente descritta nel numero 12 di Firmware. Si analizzerà, ora, uno degli ambienti di sviluppo messo a …

Architettura Harvard nei microcontrollori e DSP

L’architettura von Neumann prevede un unico bus per memoria dati e memoria programma per cui non è possibile leggere contemporaneamente un dato e una istruzione. Essa ha rappresentato la prima architettura  per elaboratore. Si tratta  di  un modello di computer basato su di una singola struttura di memorizzazione sia per i dati che per le istruzioni. Ecco come l’architettura Harvard risolve questo problema. DALL’ARCHITETTURA VON NEUMANN ALL’ARCHITETTURA HARVARD Lo schema di principio è riportato in figura 1. Con questo termine si rappresenta un computer che implementa una macchina di Turing ed il modello referenziale di architettura sequenziale, in contrasto con quella parallela. …

Un Controller Ethernet

Con l’incredibile evoluzione che negli ultimi anni ha avuto il mondo di internet, un numero sempre maggiore di applicazioni industriali, consumer o addirittura medicali hanno la necessità di avere una interfaccia verso la grande Rete Mondiale. Microchip ha realizzato tempo fa un Front End in grado di interfacciare in maniera semplice e robusta una qualsiasi applicazione ad una rete Ethernet o TCP-IP: il componente è l’ENC28J60. Introduzione L’ENC28J60 è un dispositivo dotato di 28 pin, in grado di interfacciare un qualsiasi microcontrollore o sistema dotato di una porta SPI ad una interfaccia IEEE 802.3 con un data rate di 10 Mbit/sec. Come appare in figura 1, …

AVR LCD Visualizer

Un utile tool offerto da Atmel facilita lo sviluppo ed il debug di applicazioni in cui è necessario comandare direttamente display LCD, integrandosi con l’ambiente di sviluppo AVR Studio. Il crescente utilizzo dei microcontrollori in moltissime applicazioni, anche consumer, rende sempre più frequente l’impiego di interfacce utente basate su display LCD. Nonostante in molti casi sia possibile impiegare display alfanumerici generici  dotati  di  controllore  integrato,  in  altri casi questa soluzione risulta troppo  costosa o non adeguata. In molte applicazioni infatti è preferibile utilizzare display progettati appositamente, contenenti pochi simboli e caratteri specifici, piuttosto che matrici generiche (di punti o di caratteri). …

Un web server con stack MicroNet TCP/IP

I microcontrollori  della famiglia HCS12 prodotti da Freescale (ora NXP) sono dei micro a 16 bit, versione potenziata dei 68HC11  di Motorola. In questo articolo vedremo a livello generale l’implementazione del web server su un componente di questa famiglia, il micro MC9S12NE64. Tale componente è stato scelto perché possiede un controller Ethernet integrato compatibile 802.3/802.3u da 10/100 Mbps Il microcontrollore è dotato inoltre di 64KB di FLASH EEPROM, 8KB di RAM, ed include diverse altre periferiche tra cui due SCI, una SPI, una IIC ed un convertitore A/D a 10  bit. LO STACK TCP/IP CMX-MICRONET Lo stack TCP/IP Lo …

Progettare con Actel Fusion

“One Chip is All You Need”, questa è l’espressione che Actel (ora Microsemi) usa per descrivere la sua FPGA Fusion. Questo chip integra all’interno non solo blocchi digitali, tipici di una FPGA, ma anche un flessibile set di periferiche analogiche. Nell’articolo si presentano le caratteristiche distintive e le tecniche di programmazione di Actel Fusion. Fusion PSC (Programmable System Chip) è la prima FPGA di Actel (ora Microsemi) di tipo mixed-signal, che integra periferiche analogiche configurabili  (tra cui ADC), blocchi  di memoria Flash di elevata capacità,  efficienti modalità di generazione del master clock ed una logica programmabile dalla elevate prestazioni: tutto questo in un …

Un compilatore Ada per AVR

Ada è un linguaggio di programmazione nato per volontà del DoD (il ministero della difesa degli Stati Uniti) per impieghi su sistemi embedded in applicazioni di tipo militare. In seguito è stato utilizzato in svariati campi quali avionica civile, nei sistemi di controllo di volo, nella robotica… Il linguaggio prende il nome dalla contessa Ada Lovelace, considerata la prima programmatrice della storia, e risponde, in modo stringente, ai requisiti di correttezza, sicurezza, manutenibilità e affidabilità. CENNI STORICI Perché il DoD impose l’uso di un linguaggio come  Ada?  Nel  1974  il  Dipartimento  della Difesa USA si accorse che i costi …