Embedded:

è la categoria relativa all’elettronica embedded. Troverete articoli relativi ai sistemi embedded sia lato hardware che software con particolare riferimento appunto a tutti quei sistemi rivolti ad una specifica applicazione. Tratteremo anche Linux embedded ed altri sistemi operativi leggeri in grado di “girare” su schede embedded a microcontrollore.

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 …

Accessori analogici a supporto di ARM SoC

In una applicazione embedded che necessita di molteplici funzionalità analoghe, è bene considerare quanto può essere funzionalmente collocato esternamente al chip. Tutti i System on Chip (SoC) basati su ARM necessitano, in qualche parte del sistema, di funzioni analogiche e, poiché la migrazione verso sistemi embedded a basso costo continua a spingersi verso livelli sempre più bassi, la preoccupazione sulla quantità di integrazione sul chip, in comparazione con la funzionalità di sistema, inizia a sollevare alcuni quesiti. Sia l’ARM7 che l’ARM9 sono esempi primari di core embedded a 32-bit che si sono guadagnati una grande notorietà per il supporto di linguaggi …

Realizzare un Plane Watcher con Raspberry Pi

Esaminiamo, in questo articolo, un interessante progetto realizzato con il Raspberry Pi, un piccolo display TFT da 3.5 pollici e un economico dispositivo SDR, per ricevere le informazioni di volo degli aerei, dislocati anche a centinaia di chilometri di distanza. Il ricevitore Il modello utilizzato nel progetto è un ricevitore SDR (software-defined radio) basato su RTL2832U (vedi figura 1). Esso, in origine, veniva utilizzato per la ricezione del DVB-T. E' possibile, tuttavia, prelevare dal dispositivo i dati grezzi per poterli gestire secondo le proprie esigenze. Il chip RTL2832U è, di solito, associato a un sintonizzatore IC e nel caso …

Tics un sistema operativo real-time

Dalla sua introduzione nel mercato embedded, dal giugno 1992, Tics è utilizzato in diverse applicazioni: dalla telefonia cellulare all’automazione industriale. Uno dei suoi pregi è quello di occupare poco spazio di memoria ed è distribuito in accordo alla licenza GNU, General Public License. I processi concorrenti in Tics sono le funzioni C che diventano dei veri task mediante l’uso delle primitive RTOS disponibili all’utilizzatore. I task sotto Tics comunicano tra loro attraverso i costrutti messages e mail: i task possono sospendersi per aspettare un messaggio, cancellare i messaggi ricevuti o controllarne periodicamente l’arrivo. Inoltre, i task invocano servizi quali pause e …

Il giusto alimentatore per i dispositivi integrati FPGA

I progettisti elettronici che hanno a che fare con la progettazione di sistemi hardware impieganti circuiti integrati FPGA (field-programmable gate array), devono prestare particolare attenzione nella progettazione di alimentatori ad essi dedicati per la particolare caratteristica di integrazione di questi dispositivi, e per alcuni elementi di criticità e complessità come ad esempio le numerose linee di alimentazione, il livello di ripple di tensione e il rumore intrinseco. I dispositivi a logica programmabile FPGA, così come i PLD, hanno una complessità tale da essere considerati dei veri e propri complessi sistemi integrati, conseguentemente l’alimentazione di questi dispositivi equivale a quello …

Autocalibrazione del clock su PIC12F6xx

Le moderne esigenze di riduzione degli spazi e di riduzione dei costi delle apparecchiature, portano molti progettisti a scegliere microcontrollori dotati di clock interno. Spesso questo clock, per vari motivi, deve anche essere di una certa precisione: ecco alcuni consigli su come ottimizzare la calibrazione del clock interno in un dispositivo PIC12F6xx. Nelle moderne applicazioni, i progettisti richiedono una sempre maggior integrazione dei dispositivi a semiconduttori, per soddisfare le richieste del mercato di dispositivi finali sempre più compatti ed economici. Un passaggio molto importante degli ultimi anni è stata l’integrazione a bordo dei microcontrollori dei dispositivi di generazione del timing, ossia dei quarzi o …

Tasking VX un ambiente di sviluppo per i micro ST10

La famiglia di micro ST10 si compone i dispositivi dotati di una DSP-MAC e di un accumulatore a 40 bit. Lo sviluppo delle applicazioni è facilitato grazie all’ambiente Tasking VX, un tool basato sul framework Eclipse. Ecco le sue caratteristiche ed un esempio di applicazione. I MICROCONTROLLORI  ST10 I dispositivi della famiglia ST10 sono dei microcontrollori a 16 bit disponibili in due categorie principali: con memoria programma Flash o senza (ROMless). Tutti i componenti della famiglia, tranne due (ST10R167 ed ST10R172) sono inoltre  dotati  di  una  unità  DSP-MAC  (Digital Signal Processor-Multiply and ACcumulate). Il DSP-MAC si avvale di un moltiplicatore hardware da 16x16 …

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 …

PSoC: ottimizzazione del codice in C

Qualsiasi programmatore di sistemi dedicati che utilizza soluzioni basate su System-onChips (SoCs) ha la necessità di utilizzare codice oggetto che coniuga aspetti di safety con quelli d’efficienza: il codice deve occupare poco spazio, deve garantire prestazioni paragonabili a quella d’esecuzione e utilizzare codice che sia il più efficiente possibile. Per rispondere a queste esigenze occorre disporre di soluzioni appositamente realizzate. Utilizzare un compilatore  GCC può non essere praticabile, è necessario modificarlo nella parte di back-end. Quando si parla di compilatori di solito si considerano due aspetti:  il front-end  e il back-end, vale a dire lo stato iniziale e finale di …

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 …

Riduzione degli errori nella conversione A/D

La conversione analogico-digitale, come dice lo stesso nome, è il processo per cui una grandezza analogica è resa disponibile e verificabile in un dispositivo digitale, quindi in forma numerica. Ogni convertitore esegue un’operazione di campionamento ed una di quantizzazione. Si tratta di un’operazione a “perdita d’informazione”, in quanto alcuni dettagli iniziali vanno irrimediabilmente persi, anche se la risoluzione adottata è molto alta. GLI  ERRORI NELLA CONVERSIONE Nella trasformazione di un segnale, da analogico a digitale, vi è sempre una componente, ideale o reale, che differisce tra le due risultanti. Si definisce pertanto errore la differenza, dinamica o statica, tra …

Comunicazione Bluetooth con PIC

Una breve descrizione dello standard Bluetooth ed il suo impiego in applicazioni embedded. Come esempio verrà descritta la realizzazione di una applicazione di cable replacement per il controllo remoto di I/O. Tra i  sistemi  di  comunicazione  dati  wireless, i dispositivi Bluetooth presentano molte caratteristiche interessanti: offrono una discreta velocità, una buona affidabilità e sicurezza nella comunicazione, ed inoltre sono estremamente diffusi (circa un miliardo di dispositivi) e disponibili in molti tipi di apparati dai PC ai PDA fino ai telefoni cellulari. Tutte queste caratteristiche lo rendono adatto in numerose applicazioni, in particolare di tipo industriale, di remotizzazione sensori o di cable replacement …

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

Embedded Workbench su MSP430 con IAR System

IAR Systems produce e vende tools per lo sviluppo e il debug di applicazioni embedded a microprossore/microcontrollore, offrendo supporto per un'ampia gamma di microcontrollori (MCU's) 8/16 e 32 bit. MSP430 rappresenta una famiglia di microcontrollori prodotti  dalla Texas Instruments. Questi microcontrollori lavorano a 16 bit e sono caratterizzati  da  un  consumo  estremamente  ridotto (ultra low-power). INTRODUZIONE IAR Embedded Workbench è un ambiente integrato  di  sviluppo  (IDE) per  Windows . Questo include tutti i tools necessari per lo sviluppo ed il testing delle applicazioni embedded: Project Manager, Editor, Compilatore ANSI C (or EC++), Assembler, Linker, Librerie, set completo di Librerie Runtime …

SRecord un tool per la gestione dei file per EPROM

Un ottimo tool per manipolare i file utilizzati dai programmatori di EPROM. Ecco come installarlo, compilarlo e modificarlo per l’aggiunta di nuovi formati. SRecord è un pacchetto  open source studiato per gestire i formati  dei “file  da epromizzare”. Con “file  da epromizzare” ci si vuole riferire a quei particolari formati utilizzati dai programmatori di eprom. È possibile modificare i codici sorgenti, inclusi nella distribuzione, in accordo alla licenza GNU General Public License messa a punto dalla Free Software Foundation. Questa caratteristica rende il tool veramente interessante infatti, in questo modo, è possibile farsi la propria distribuzione includendo formati proprietari o aggiungere proprie …

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 …

Il CLB delle FPGA Xilinx Virtex-5

L’elemento centrale di qualsiasi dispositivo FPGA è il suo “blocco  logico”,  cioè un circuito logico in grado di essere configurato dall’utente per potere implementare semplici funzioni logiche o aritmetiche arbitrarie. L’interconnessione di più blocchi logici permette poi di realizzare circuiti di complessità maggiore. Negli anni sono state proposte ed utilizzate diverse strutture per la realizzazione dei blocchi  logici, caratterizzati da differenti gradi di complessità (“granulosità”) e diverse soluzioni circuitali (semplici porte logiche, multiplexer, Look-Up Table, etc). Gli FPGA basati su tecnologia SRAM, come quelli prodotti da Altera o Xilinx, hanno adottato  fin dall’inizio una soluzione simile, che si è …

eTPU un co-processore real-time

La TPU, acronimo di Time Processing Unit, è un controller programmabile sviluppato da Freescale (ora NXP) e dotato di sistema di memoria e codice propri. Questo consente di eseguire temporizzazioni e gestione dei pin di I/O in maniera efficiente, indipendentemente dalla CPU. La TPU è sostanzialmente un “microcontroller nel microcontroller”, poiché contenuta all’interno dei chip Freescale delle famiglie MPC500 e MC68332. Le sue funzioni principali spaziano dal controllo delle temporizzazioni, alla gestione degli I/O, alla comunicazione seriale, al controllo motori. Una nuova versione del modulo TPU è conosciuta con il nome di eTPU (Enhanced TPU) Introduzione La nuova versione eTPU (Enhanced …

Send this to a friend