firmware0:

LwIP: una libreria TCP/IP per sistemi embedded

LwIp è un’implementazione della suite TCP/IP per architetture basate su microcontrollori ed è stata sviluppata, inizialmente, da Adam Dunkels al SICS (Swedish Institute of Computer Science): oggi è diventata una buona soluzione per le applicazioni embedded. L’obiettivo di Dunkels è di utilizzare lo stack LwIP in applicazioni con ridotte capacità di memoria e, a …

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 …

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

La gestione di un sensore d’immagine CMOS

L’articolo tratta le possibili alternative a disposizione di un progettista per realizzare un'interfaccia verso un sensore d’immagine CMOS. In questa seconda parte ci si occuperà dell’interfaccia tra sensore e logiche programmabili mettendo in evidenza i pregi e i difetti di una soluzione di questo tipo. La prima parte di questo articolo esaminava la …

Sbrogliare un PCB

Lo sbroglio è una delle fasi salienti della progettazione di un circuito stampato. Tipicamente segue la stesura dello schema elettrico e precede la realizzazione fisica del PCB (Printed Circuit Board). Analizziamo l’ambito progettuale in cui si inserisce e definiamo in maniera organica le linee guida per impostarlo, svilupparlo e portarlo a termine con successo. Sbrogliare un circuito stampato significa, principalmente, definire …

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 …

La comunicazione dati in RS 485

L’RS485 è uno standard di trasmissione dati digitale di tipo seriale particolarmente robusto e flessibile utilizzato soprattutto in ambienti industriali. Scopriamone le caratteristiche, i pregi e le differenze che lo distinguono da altri standard più o meno simili. Quando si parla di comunicazione RS485 non può non saltare all’occhio l’assonanza con RS232. In effetti si …

Microcontrollori con interfaccia CAN a confronto

Una panoramica di alcune delle principali implementazioni del CAN sviluppate da Renesas, Fujitsu, NXP, tre tra i principali produttori al mondo nel settore. CAN (Controller Area Network) è un protocollo di comunicazione per applicazioni real-time di controllo distribuito caratterizzato da elevata affidabilità. Gli ambiti principali d’impiego includono i settori automotive …

CAN in ambito industriale: il CANopen

Il protocollo CAN è stato impiegato inizialmente per ridurre il cablaggio all’interno degli autoveicoli, ma ben presto ha trovato utilizzo, con il CANopen, anche nel settore industriale, dove attualmente è uno standard specialmente quando servono requisiti real-time. Ormai moltissimi ambienti fanno uso di reti locali con estensioni che da pochi centimetri possono arrivare a qualche chilometro. Le reti …

Elaborazione digitale di segnali a tempo discreto

Il presente articolo introduce brevemente una particolare classe di sistemi a tempo discreto e mostra come a partire dalla caratterizzazione matematica di questi sia possibile estrarre architetture hardware/software ottimizzate per la propria piattaforma. Un segnale a tempo discreto è rappresentabile matematicamente come una successione numerica. Un sistema a tempo discreto si può quindi definire come un operatore …

Meglio BASIC o C?

I due linguaggi per la programmazione più diffusi al mondo sono il Basic ed il C. Esaminiamo pregi e difetti di entrambi al fine di scegliere ed utilizzare quello più adatto alle proprie esigenze. Non esiste un linguaggio di programmazione “perfetto” in assoluto, quello che elimina tutto i problemi legati alla velocità, …

Gestione di un Touch Screen

Interattività è oggi la chiave del successo per ogni applicazione. Una degli esempi più interessanti è la tecnologia dei touch screen che da alcuni anni sta invadendo il mondo dell’elettronica consumer. In questo articolo vedremo come funziona un touch screen e alcuni semplici esempi per gestirlo. La tecnologia dei touch screen non è affatto recente; nata nella …

Architettura di un DSP

Un Digital Signal Processor in sigla DSP, è un microprocessore ottimizzato per eseguire efficientemente sequenze di istruzioni ricorrenti nel condizionamento di segnali digitali. in questo articolo ne scopriremo l’architettura. DSP utilizzano un insieme di tecniche e algoritmi che permettono di trattare un segnale continuo dopo che è stato campionato. L’elaborazione dei segnali digitali è …

Architetture multicore

La tecnologia del multicore è attualmente la risposta alla sempre crescente richiesta di alte prestazioni e velocità di calcolo. In questo articolo spieghiamo i motivi di questa attuale tendenza per le architetture delle CPU di nuova generazione e le scelte progettuali adottate dalle industrie elettroniche. La spinta evoluzionistica alla base di ogni …

Il debugging di applicazioni embedded

Quali sono i limiti e le considerazioni da tenere presente quando si decide di fare il troubleshooting di un sistema embedded? E se poi la nostra applicazione risultasse integrata in un real-time kernel? In questo articolo cerchiamo di fare alcune considerazioni su come condurre sessioni di debug utilizzando la strumentazione a nostra disposizione. Una sessione di …

Send this to a friend