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!

CPU Design: La vita è fatta a stadi

Se ci permettete la licenza poetica, potremmo dire che i circuiti sono fatti a stadi, almeno quelli buoni. Dividere in stadi ci permette, come abbiamo visto, di ridurre il tempo di propagazione massimo che bisogna aspettare tra un ciclo di clock e l’altro, il che a sua volta ci permette di aumentare la frequenza di clock e di eseguire più elaborazioni al secondo.  E se pensate al processore che avete per le mani a questo punto della storia, e ai lunghi percorsi combinatori che ci sono al suo interno, la tentazione di spezzarli mediante l’inserimento di qualche registro è …

Il PIC 18F67J60

Microcontrollore ad alte prestazioni e basso costo con Ethernet controller integrato. In questo articolo esploriamo le potenzialità e le risorse di questo versatile MCU per sistemi embedded su LAN e Internet. Considerando la larga diffusione delle reti di calcolatori, siano esse di tipo industriale, civile o militare, si comprende come l’interfacciamento dei microcontrollori con il  supporto fisico Ethernet, apra le porte ad una moltitudine di servizi ed applicazioni sempre più attuali e di largo riscontro. Il PIC18F67J60  rappresenta un'ottima risposta a molte esigenze di questo tipo, senza trascurare fattori come versatilità, performance, ingombri e costi ridotti. La famiglia PIC18F97J60 Il  PIC18F67J60 è un microcontrollore della famiglia PIC18F97J60, quest’ultima facente parte della PIC18J-series …

Nuove funzionalità analogiche per la famiglia di microcontrollori tinyAVR

Microchip espande la famiglia di microcontrollori tinyAVR con l’aggiunta di due nuove MCU dotate di funzionalità analogiche avanzate e della più elevata disponibilità di memoria tra tutti i dispositivi della stessa famiglia. Progettati per garantire un’elevata affidabilità anche nelle condizioni di utilizzo più estreme, i nuovi microcontrollori dispongono anche di importanti funzionalità relative alla sicurezza Introduzione La famiglia di microcontrollori AVR di Microchip non ha bisogno di alcuna presentazione: si tratta sicuramente di una tra le serie di MCU a 8 bit di maggiore successo, con numerosi impieghi nei sistemi embedded in virtù del basso costo e della facilità …

Il kit di valutazione per Rigado R41Z-Eval Thread + Bluetooth

La progettazione wireless a bassi consumi per IoT può essere una vera sfida poichè il concetto, su dove inizi e su dove finisca un prodotto connesso, copre tematiche che vanno dall'hardware, al firmware, alla rete locale fino alle operazioni in cloud. Se si aggiungono i vincoli riguardo  a dimensioni, costo per unità, consumi di potenza diventa palese che la fase di progettazione deve essere ottimizzata attentamente per avere un prodotto di successo. Il kit di valutazione per Rigado R41Z cerca di rispondere a queste esigenze con un ambiente di sviluppo creato attorno al modulo R41Z ideale per progetti wireless. …

Struttura di una FPGA

L’analisi e la conoscenza della struttura fisica delle FPGA è fondamentale per il loro utilizzo nello sviluppo di progetti, che rispondano in pieno a quanto preventivato in fase di analisi, in termini di velocità e prestazioni. Negli ultimi anni la disponibilità di TOOLS e SW di sviluppo per circuiti complessi come le FPGA ha semplificato enormemente l’attività di progetto su questi prodotti. Si presenta però una situazione anomala, dove l’approccio a questi componenti è quasi diventato più di tipo SW che non HW. Proprio la conoscenza HW di questi componenti ne permette il  loro sfruttamento al massimo possibile, sia in termini di performance sia in termini di occupazione di gate. L’articolo vuole evidenziare la struttura fisica …

La gestione degli interrupt su Linux

Gli eventi asincroni rappresentano un’importante caratteristica di un sistema embedded. Infatti, è attraverso questo meccanismo che il programma comunica con il mondo circostante. La gestione degli eventi asincroni basa la sua tecnologia su diversi aspetti: il compilatore permette di definire funzioni richiamabili da un’ISR, mentre, non di secondaria importanza, il sistema operativo, attraverso una sua libreria di runtime, for nisce gli strumenti idonei per permetterne la loro gestione. Per questa ragione, il meccanismo di gestione di un interrupt può divergere da un ambiente all’altro secondo la presenza di librerie o patch di real-time. In questo articolo vedremo alcune considerazioni da tenere presente per gestire interrupt in ambiente Linux e per il …

Microcontrollore o FPGA? Criteri di scelta

Un’analisi di base su due delle periferiche programmabili più utilizzate nel momento, soffermandosi prevalentemente sulle caratteristiche che dovrebbero invogliare il progettista nella scelta del componente più adatto al proprio progetto. Negli ultimi anni, i componenti elettronici programmabili, hanno pian piano sostituito la maggior parte degli integrati progettati per assolvere ad un’unica funzione. La reperibilità, la facilità d’uso e la velocità di correzione dei bug in caso di sbaglio progettuale, hanno dato una marcia in più a questi dispositivi garantendo una maggiore semplificazione del circuito esterno e implementando le varie operazioni logiche all’interno dell’integrato. Due famiglie molto in voga nel settore sono quelle dei microcontrollori e degli FPGA. Gli FPGA Un FPGA è …

Stadi di ingresso di PIC e dsPIC

Costi contenuti, gamma estesa, buone prestazioni, ampia disponibilità di esempi di riferimento e tool di sviluppo gratuiti hanno reso i PIC uno dei dispositivi più diffusi tra sviluppatori ed hobbisti. Nati nella metà degli anni ’70 con il primo PIC1640 sviluppato dalla divisione microelettronica della General Instrument, nel lontano 2008 hanno superato quota 6 bilioni di dispositivi distribuiti nel mondo. Basati su architettura Harvard con spazio di indirizzamento separato per istruzioni e dati, sono microcontrollori RISC caratterizzati da un ridotto numero di istruzioni di lunghezza finita. Le versioni più complesse integrano periferiche molteplici come RTCC (Real-Time Clock and Calendar), UART (Universal Asynchronous Receiver …

AVR ATtiny: la soluzione ideale per le applicazioni di controllo in tempo reale

In un precedente articolo abbiamo esaminato le principali caratteristiche tecniche e le funzionalità offerte dai nuovi microcontrollori della famiglia AVR ATtiny di Microchip. Proseguiamo l’analisi dei nuovi dispositivi ATtiny3217 e ATtiny3216 approfondendo gli aspetti che li rendono particolarmente adatti alle applicazioni di controllo in tempo reale e alla gestione dei sensori Introduzione I microcontrollori della serie tinyAVR integrano in un footprint estremamente ridotto numerose funzionalità analogiche e digitali ad elevate prestazioni. Efficienza, compattezza e prestazioni avanzate li rendono adatti anche alle applicazioni real time più critiche, dove velocità, bassa latenza e assorbimenti ridotti sono requisiti mandatori. Abbiamo già visto …

CPU Design: Giù per il tubo

Il più grande depositario di conoscenza storica del giorno d’oggi (leggi: Wikipedia) dà il merito della diffusione capillare delle catene di montaggio a Henry Ford, quando, all’inizio del ‘900, si mise in testa di velocizzare la fabbricazione delle proprie auto. L’idea era ottima e si sposava (e tutt’ora si sposa ancora) perfettamente con la fabbricazione di un aggeggio complesso com’è un’auto, ma in realtà vale per la maggior parte delle attività quotidiane, compreso il lavoro dei nerd e, meglio ancora, il lavoro dei circuiti. Il concetto di “lavoriamo meno, ma lavoriamo tutti e produciamo di più” pare un principio …

Bus audio digitali: le soluzioni per il settore automotive

Gli impianti audio che equipaggiano le auto di ultima generazione non sono soltanto in grado di produrre un suono di qualità molto elevata, ma si integrano con altre funzionalità avanzate presenti nel veicolo al fine di migliorare, per l'utilizzatore, l’esperienza del sistema di entertainment. Vediamo in questo articolo quali sono i principali bus audio digitali utilizzati in ambito automotive Introduzione Tra gli obiettivi principali di ogni casa automobilistica vi è sicuramente quello di realizzare dei veicoli di ultima generazione che siano più sicuri, più intelligenti e consumino meno carburante rispetto a quelli delle generazioni precedenti. Per raggiungere questo importante traguardo …

Sistemi di sviluppo per LPC2000

Esistono diverse proposte commerciali che permettono di sviluppare codice in ambiente ARM, in questo articolo è presentato l’ambiente MDK-ARM che ha il pregio di fornire una serie di utility attraverso un unico workbench. La proposta MDK-ARM (Keil Microcontroller development kit) è un ambiente completo che comprende, oltre ai tool di debug (uVision), la cross factory (ARM Real View), un ker nel real-time, l’ambiente di simulazione e l’interfaccia verso lo JTAG. Inoltre, esiste la possibilità di utilizzare componenti aggiuntivi per sopperire ad ogni specifica esigenza, quali uno stack TCP/IP, un file system embedded o drivers CAN o USB. Non solo, questo ambiente di lavoro permette di aggiungere parti sviluppate da terzi in maniera del tutto …

Le periferiche dei PIC24

Un viaggio all’interno del PIC 24 con l’analisi delle periferiche ed in particolare dei moduli RTCC (RealTime Clock & Calendar), PMP (Parallel Master Port) e CRC (Cyclic Redundancy Check). I microcontrollori a 16 bit PIC24 di Microchip possiedono un’architettura innovativa ed un ricco insieme di periferiche. Nell’articolo, dopo una breve introduzione sull’architettura, vedremo la dotazione di periferiche di questi dispositivi, con particolare riguardo ad alcune delle più interessanti: il modulo RTCC - un orologio e calendario real time - l’interfaccia parallela master PMP, il generatore  CRC. Caratteristiche dei PIC24 Il core dei PIC 24 è basato su una CPU a 16 bit con un’architettura Harvard modificata: …

Pilotare ESP32 con i Comandi AT

L'ESP32 è il nuovo modulino prodotto da Espressif ed erede dell'ESP8266. Economico, studiato per l'IOT e dunque ricco di connettività (WiFi e BLE ), sta conquistando il mondo hobbistico e professionale. Purtroppo doversi studiare una nuova architettura non sempre è fattibile a causa di tempi ed effort.  A tal proposito, Espressif viene incontro alle esigenze dei vari sviluppatori offrendo una soluzione "black box" già compilata.   Introduzione La maggior parte degli articoli disponibili sul web propongono soluzioni in cui si utilizza direttamente la CPU dual core Xtensa disponibile a bordo dell'ESP32. Si tratta appunto di un uControllore dual core molto prestante, …

CPU Design: Progettare il guinzaglio

Ultimo passo, croce e fatica è l’implementazione della circuiteria che genera i segnali di controllo. È vero che si tratta di poco più che ricavare dei circuiti a partire da delle tabelle della verità, ma si tratta di una procedura importante perché ci permette anche di capire come estendere il processore, cioè come aggiungere nuove funzionalità a ciò che già abbiamo. Detto tra parentesi, “ultimo” non è del tutto esatto. Anzi, è una spudorata menzogna. Con quello che vi diremo oggi, potrete andare in giro a vantarvi di aver progettato un processore funzionante, ma sappiate: il vostro processore fa …

Cerchi lavoro (o clienti) nel settore dell’elettronica o dell’IoT?

Che si tratti della ricerca di nuovi clienti o di un impiego stabile nel settore dell'elettronica (o dell'IoT), per raggiungere il proprio obiettivo è utile avere un percorso sicuro da seguire, e poter attingere dall'esperienza di chi l'ha tracciato.  L'esperienza professionale di Emanuele Bonanni, fondatore di Elettronica Open Source ed EOS-Academy, è a disposizione di chi cerca un nuovo approccio per il conseguimento dei propri obiettivi professionali in questo settore costantemente in crescita. Scegliere di lavorare nell'elettronica significa scegliere di avere un ruolo attivo nella realizzazione delle innovazioni che diventeranno la quotidianità del futuro, ma significa anche inserirsi in …

La scheda di sviluppo Xplained Pro per ATmega4809

La scheda di sviluppo di Microchip denominata Xplained Pro evaluation kit per ATmega4809 è una piattaforma hardware progettata per valutare il microcontrollore ATmega4809. Si tratta di una piattaforma a basso costo, completa e facile da usare,  per prototipare i progetti basati sul microcontrollore Atmel. Introduzione Supportata dalla piattaforma integrata di sviluppo Atmel Studio, il kit fornisce facile accesso alle caratteristiche del microcontrollore ATmega4809 e spiega come integrare il dispositivo in un progetto personalizzato. Il kit di valutazione include un Debugger integrato sulla scheda e non sono necessari strumenti esterni per la programmazione o per il debug di ATmega4809. I …

L’Atmega 128

L’architettura AVR è del tipo RISC e dispone di un ricco ed efficiente set di istruzioni con 32 registri general purpose: questi sono connessi direttamente all’ALU in modo da renderne accessibili due contemporaneamente in un singolo ciclo di clock e poter in tal modo raggiungere velocità di esecuzione fino a dieci volte superiori rispetto ai tradizionali microcontrollori CISC.  Una visione d’insieme delle caratteristiche hardware del modello Atmega128 rivela 128K bytes di memoria flash programmabile in-circuit, con la possibilità di lettura e scrittura contemporanee; 4K bytes di SRAM; 53 linee di I/O, 32 registri di uso generale; un Real Time Counter (RTC); quattro Timer-Contatori che possono essere utilizzati in modalità Capture/Compare e …

CPU Design: La potenza è niente senza controllo

I set di istruzioni vengono odiati, temuti o riveriti perché fanno pensare alla programmazione assembly, ossia un tipo di programmazione altamente stressante, soprattutto se sai che quello che stai facendo lo potresti fare più facilmente con un linguaggio ad alto livello. Le ALU vengono odiate, temute o riverite perché prese così risultano essere un concetto misterioso, e tutto quello che non viene capito tende a spaventare. Ma in realtà, il brutto del progetto di un processore non è né nella definizione del set di istruzioni, né nella realizzazione della ALU: sta nel progetto del circuito che li utilizzerà. Iniziamo …

Baud detection con dsPIC30F

La selezione del baud rate dell’UART di un microcontrollore è generalmente eseguita nella fase di inizializzazione, ma nel caso in cui il baud rate dei dati in arrivo non sia noto a priori, oppure la sorgente del clock del micro non sia sufficientemente precisa (ad esempio se generata tramite un oscillatore RC), sarà necessario utilizzare un metodo di Automatic Baud detection, brevemente detto Auto Baud. I  microcontrollori delle famiglie dsPIC30F e 33F sono dotati di UART con supporto per l’Auto Baud: quando in un dsPIC si abilita la procedura di Auto Baud, il segnale presente  sul pin RX dell’UART viene connesso internamente ad …

Una compatta scheda di sviluppo display per microcontrollori TIVA

MikroElektronika mikromedia Plus è una compatta scheda di sviluppo display per microcontrollori TIVA. Le schede di sviluppo MikroElektronika mikromedia Plus possono essere usate per creare delle dashboard di controllo per macchine industriali, strumenti medici, applicazioni smart home, ed altro ancora. Oltre al microcontrollore, la scheda incorpora un touch screen e diversi moduli integrati per la realizzazione dei più svariati progetti. Mikromedia+ è compatto e sottile, e si adatta perfettamente al palmo della mano rendendolo conveniente per dispositivi mobile e multimediali. Introduzione La scheda si presenta leggermente più grande (119,54 x 78 mm) delle dimensioni del touch screen TFT supportato, …

Il Can Controller di Fujitsu

Il microcontrollore di casa Fujitsu MB90340E, contiene anche un’interfaccia CAN bus. Vediamo in questo articolo quali sono le sue caratteristiche. Il Controller Area Network (CAN) è un protocollo utilizzato per la maggiore nelle applicazioni di tipo automotive. L’implementazione dello standard da parte di Fujitsu risulta conforme alle specifiche 2.0 parte A e B. La figura 1 mostra il diagramma a blocchi di questo CAN Controller. Dalla figura possiamo notare la varietà dei registri che il componente propone al programmatore. I nodi che rispondono alle specifiche 2.0A e 2.0B comunicano tra loro solo se non utilizzano la modalità estesa, ovvero Extended Frame. Qui di seguito vediamo alcune caratteristiche di questo componente: ➤ Il  componente …

CPU Design: la ALU operaia

Uno dei concetti più misteriosi e intriganti per la giovane matricola di ingegneria è quello di ALU. Sai che è qualcosa che sta dentro la CPU, non sai bene che cos’è né che cosa faccia, ma già perché sta dentro la CPU deve essere qualcosa di incredibile. Hai saputo? Quello si è progettato una ALU! Caspita! Ma in realtà una ALU non è niente di fantascientifico. La ALU è la manodopera della CPU, è il blocco di circuiti che fa tutto il lavoro, ma niente di più. Progettare una ALU significa mettere insieme un po’ di circuiteria in grado …

Expansion Bus Multiplexer Module TMS470

L’ EBM in un modulo definito standalone che rende disponibile al microcontrollore, su dei pin dedicati, una serie di I/O general purpose e un expansion bus per tutta la famiglia di questo fortunato microcontrollore. Il modulo supporta, poi, il multiplexing. Questo modulo permette, quando i canali di I/O non sono utilizzati, di interfacciare, attraverso il microcontrollore, memorie con taglio a 8 e 16 bit. Caratteristiche principali L’EBM, come abbiamo scritto, permette di fare il multiplexing  dei segnali di I/O verso una periferica ed è in grado di interfacciare memorie con taglio a 8 e 16 bit. Permette, inoltre, di indirizzare periferiche fino a 30 bit di indirizzo con 8 …

Eccezioni su MPC555

Quali sono le informazioni che bisogna conoscere per gestire correttamente una ISR in un MPC555? Questo articolo fornirà elementi utili per gestire un'eccezione su MPC555. Il componente siglato come MPC555 appartiene alla famiglia Powerpc™ e contiene al suo interno timers e altre periferiche che, se opportunamente programmate, possono generare interrupts. L’architettura è definita in tre livelli che corrispondono a tre ambienti di programmazione. Questa stratificazione dell’architettura fornisce una maggiore flessibilità al sistema, consentendo un maggior grado di compatibilità software tra un’ampia gamma di implementazioni. I tre livelli sono definiti in questo modo: ➤ User Instruction Set Architecture (UISA): UISA definisce il livello  di architettura a cui il software user-level deve essere conforme. UISA definisce così il set …

Ricevi GRATIS le pillole di Elettronica

Ricevi via EMAIL 10 articoli tecnici di approfondimento sulle ultime tecnologie