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