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!

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 …

VHDL for beginners: Dati e tipi

Eccoci alla seconda lezione del corso base di VHDL. Nella precedente lezione, prettamente teorica, abbiamo affrontato una panoramica sul linguaggio introducendo i concetti base che ci sono dietro lo sviluppo di un nuovo componente, quali ENTITY e ARCHITECTURE. In questa lezione entreremo nel dettaglio dello sviluppo affrontando i concetti alla base dei tipi, delle variabili e dei segnali. Proverò a trasmettervi delle linee guida per gestirli nel modo corretto. Questa lezione non sarà solo teorica, ma inizieremo a sporcarci le mani con qualche esempio muovendo i primi passi con la suite di sviluppo Xilinx e valutando i primi errori …

Controllo di servomotori con PIC

I servomotori R/C (Radio Controlled), molto usati nella modellistica, hanno trovato un nuovo campo di utilizzo nella realizzazione di piccoli robot, come i robot esploratori.  In questo articolo esamineremo le caratteristiche dei servomotori e vedremo come poterli controllare tramite un microcontrollore. Per dimostrare come sia possibile controllarli tramite un micro avente potenza di calcolo e dotazioni hardware relativamente ridotte, verrà illustrata una applicazione d’esempio in cui un PIC16F876 viene utilizzato per pilotare due servi in configurazione X-Y. Con una applicazione Windows appositamente sviluppata vedremo inoltre come pilotare i due servi tramite PC utilizzando un joystick (al seguente link un approfondimento con …

Il PLL nelle Xilinx Virtex-5

Negli scorsi anni, con il crescere della densità e della complessità dei dispositivi FPGA si è avvertita l’esigenza di integrare periferiche adatte a gestire in maniera flessibile e precisa i segnali di clock all’interno ed all’esterno del dispositivo. I primi dispositivi di Xilinx integravano soltanto blocchi chiamati “Delay Locked Loop” (DLL), capaci di correggere i ritardi generati nella distribuzione del clock in diverse aree del dispositivo, o anche fuori da esso. I DLL sono capaci di generare ritardi variabili, e quindi se sono controllati da un segnale di retroazione, possono essere utilizzati per ottenere il deskew (allineamento) dei clock, …

Stack UDP/IP per Freescale HCS12

Per consentire ad un microcontrollore di connettersi ad Internet o di sfruttare tutti i vantaggi di una comunicazione su rete LAN, è necessario dotarlo di una pila TCP/IP o UDP/IP. L’implementazione di una pila TCP o UDP richiede tipicamente  un  sistema  operativo  (per  la gestione della memoria, della rete e delle informazioni  da  scambiare), oltre  ad  una  ingente quantità di memoria. D’altra parte i dispositivi a 8 o 16 bit non hanno risorse tali da consentire l’uso di un sistema operativo, per cui l’idea di utilizzare una implementazione dedicata permette, intervenendo sul codice, di ottimizzare la memoria in uso e …

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 …

Send this to a friend