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.

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

Le Tecnologie LPWAN

Le tecnologie LPWAN (Low Power Wide Area Networks) non sono un fenomeno nuovo, tuttavia stanno diventando sempre più popolari grazie all’incremento di interesse verso l’Internet delle Cose (IoT). La tecnologia LPWAN viene spesso utilizzata quando le altre tipologie di reti wireless non sono molto valide in quanto spesso non garantiscono la disponibilità per prestazioni di connessioni a lunga distanza, come ad esempio le reti Bluetooth e BLE e reti cellulari M2M che sono molto costose e consumano molta energia. Introduzione La tecnologia LPWAN è molto adatta per la connessione di dispositivi che necessitano di inviare piccole quantità di dati …

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 …

Automazione, Energia, GaN, uno sguardo al mercato dell’elettronica con Analog Devices

Concetti di "green technology", automazione e guida autonoma si stanno diffondendo sempre più nel mercato dell'elettronica. Le auto a guida autonoma ed elettriche inglobano sensori e soluzioni di power management con l'obiettivo di rendere la guida alla massima efficienza. Quando si parla di automotive, i concetti che vi ruotano attorno sono molteplici. Energy Harvesting, sensori, batterie, scelta dei materiali. Un vasto campo di tecnologie con un mercato in forte crescita. In questa intervista con Stefan Steyerl, Director Sales Mobility & Transportation EMEA, EMEA Marketing, Managing Director Germany @ Analog Devices; e Riccardo Zambon General Manager @ Analog Devices, affrontiamo …

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 tratta di due standard di comunicazione dati digitale che hanno qualcosa in comune: il fatto di essere standard seriali. Al fine di riuscire a distinguerli e confrontarli correttamente è importante comprendere quali siano le loro origini, la loro storia, le loro caratteristiche, le loro applicazioni. Generalmente molti, data la familiarità che hanno con il mondo dei PC, sono portati a parlare indistintamente (anche se …

Interfacciamento ad un sensore d’immagine CMOS

Volendo realizzare un'interfaccia verso un sensore d’immagine CMOS le architetture digitali tra le quali operare una scelta sono principalmente due. La prima è basata su ASIC o logiche programmabili, nella seconda invece ci si affida a microcontrollori dotati di un'interfaccia in grado di gestire direttamente il sensore, ossia in grado di catturare il frame (il contenuto informativo alla base dell’immagine) proveniente da questo, realizzando così quella operazione che genericamente viene chiamata “frame grabbing”. L’interfaccia digitale dei sensori  CMOS I sensori  d’immagine CMOS solitamente hanno un interfaccia digitale basata su due canali di comunicazione, attraverso il primo canale è possibile accedere ai registri inter ni …

Circuiti di power management con uscite multiple

La crescente complessità di dispositivi e sistemi, la corsa verso prestazioni più elevate, la contemporanea richiesta di soluzioni a bassa dissipazione di potenza hanno radicalmente modificato negli ultimi anni i requisiti  per le alimentazioni dei componenti elettronici. Microcontrollori, DSP ed FPGA richiedono oggi tensioni di lavoro diverse per il core, l’I/O e gli eventuali circuiti accessori; un ampio range per le tensioni di ingresso è imposto dalla crescente diffusioni di soluzioni portatili alimentabili a batteria, da porta USB e da rete elettrica. La maggior parte dei produttori di circuiti di power management si sono adeguati a queste richieste offrendo oggi complete e …

La crescita dell’IoT Industriale

L'Industrial Internet of Things (IIoT) è un concetto noto con diversi nomi: Industry 4.0, "fabbrica del futuro", la quarta rivoluzione industriale, ma tutti incentrati sugli stessi principi. In che modo le aziende, e in particolare i produttori, utilizzano la tecnologia IoT per cambiare o migliorare il modo in cui operano. Il termine Industria 4.0 deriva da un progetto tedesco in cui il governo e l'industria manifatturiera hanno lavorato insieme per sviluppare e far crescere la tecnologia IIoT nell'ambiente di produzione. Il risultato ha visto alcune aziende, tra cui il gigante dell'ingegneria Siemens, aprire la strada all'uso di IIoT nel …

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 e building automation. A seguito dell’elevata diffusione dello standard e grazie ai continui progressi tecnologici dell’industria dei semiconduttori, sono sempre di più i microcontrollori che integrano a bordo controller di nodo CAN per applicazioni embedded. Di seguito è presentata una panoramica di alcune delle principali implementazioni sviluppate da Renesas, Fujitsu, Freescale ed NXP, quattro tra i principali  produttori al mondo …

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 sono utilizzate fondamentalmente per condividere delle risorse e per lo scambio delle informazioni, tra le diverse tecnologie adibite allo scopo il CAN è stato progettato come una rete di comunicazione di ambito industriale, quindi un bus di campo. Quest’affermata tecnologia di rete è stata impiegata inizialmente per ridurre il cablaggio all’interno degli autoveicoli, ma ben presto ha trovato utilizzo con …

L’interfaccia smartcard con STM32

Una libreria sviluppata da STmicroelectronics che semplifica l’uso delle smartcard ISO 7816 con i microcontrollori della famiglia STM32. Lo sviluppo del firmware di un apparato host in grado di utilizzare una smartcard richiede di soddisfare diversi standard d’interfaccia al livello fisico ed al livello di collegamento dati. Avvalendoci della libreria smartcard sviluppata da STMicroelectronics, possiamo trascurare i dettagli dei protocolli di comunicazione di basso livello focalizzandoci  sull’applicazione. Inoltre, l’uso del modulo USART della MCU STM32 in una particolare modalità smartcard, semplifica ulteriomente sia il firmware che la realizzazione dell’hardware d’interfaccia. Esula dallo scopo di questo articolo la trattazione della programmazione lato device, cioè di applicazioni che girano sulla smartcard. …

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 …

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 T nello spazio di tali successioni; il sistema si dice lineare e tempo-invariante se verifica le due seguenti proprietà: (1) linearità T(αx1[n]+ βx2[n])= αT(x1[n])+ βT(x2[n]) (2) tempo invarianza ∀n0, y[n]=T(x[n]), x1[n]=x[n-n0] ⇒ y1[n]=T[x1[n])=y[n-n0] Si può dimostrare che per un sistema di questo tipo la risposta ad un qualunque segnale in ingresso può essere rappresentata come prodotto di convoluzione del segnale stesso e …

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 …

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à, criticità e semplicità di un progetto. Ciò che regala un linguaggio di programmazione non è presente in un altro. In parole povere non c’è un linguaggio di programmazione più potente al mondo che può sostituirne un altro. L’articolo mostra vantaggi e svantaggi di entrambi mettendo a fuoco limiti o accezioni lasciando poi al lettore la libertà di scegliere con …

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 seconda metà degli anni ’60 negli ambienti di ricerca, fu utilizzata per la prima volta nel 1972 nell’ambito di un progetto per la realizzazione di terminali di apprendimento assistito al computer. La grande diffusione si è avuta tuttavia soltanto con la crescente popolarità di smart phones, PDA e console di gioco portatili che ha caratterizzato l’ultimo decennio. Diverse sono oggi le tecnologie nelle …

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 è definita come la scienza che rappresenta  i segnali con una sequenza di numeri ed elabora tali numeri per estrarre informazioni o modificare, in modo opportuno, i segnali  in questione. I processori che caratterizzano tali operazioni sono noti come DSP (Digital Signal Processors). In generale, si possono distinguere fondamentalmente due approcci all’elaborazione digitale dei segnali: l’approccio mediante programmazione e l’approccio …

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 tecnologia futura e attualmente consolidata e impiegata, non si potrebbe attuare senza l’ausilio di macchine in grado di eseguire calcoli (più o meno complessi), in numero sempre crescente ed in tempi sempre più ridotti. Da qui l’esigenza di cercare soluzioni innovative per potenziarne in primo luogo i processori, puntando sulle prestazioni elettriche e/o sulla architettura, come nel caso del multicore. Cos’è il multicore E’ un architettura basata sull’impiego …

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 test deve essere appositamente pianificata prevedendo tutti i possibili limiti o problemi che si possono presentare, in special modo, quando si deve condurre un’attività di verifica sul software embedded. In definitiva, occorre predisporre un’apposita metodologia per affrontare una sessione di test. Questa sessione è tanto particolare quanto più il sistema stesso non è corredato da un tool di debug o, ancora meglio, quando …

C e Assembly: due mondi a confronto in ambiente AVR

Il linguaggio assembly è uno strumento tipico per programmare sistemi embedded di piccola fascia. Oggi, con l’efficienza dei compilatori, è fortemente sconsigliato utilizzarlo; infatti, solo un linguaggio strutturato, come il C, rende la nostra architettura più versatile e manutenibile. Da diverso tempo i sistemi embedded di piccola fascia sono programmati utilizzando l’ormai classico linguaggio C, magari utilizzando qualche prerogativa non propria del linguaggio. A volte può capitare di dover migrare codice scritto in assembly verso un’applicazione C o, ancora meglio, può nascere l’esigenza di sviluppare in Assembly parti di codice per sfruttare la velocità e la versatilità di uno strumento che permette di accedere direttamente alle risorse hardware. In questo articolo vediamo alcune considerazioni da tenere presente per utilizzare …

Visual Basic e USB

Il chip FT232BM di FTDI è un convertitore seriale USB che permette di implementare una comunicazione USB nella propria applicazione senza entrare nel merito dello standard USB, ma comunicando semplicemente attraverso un UART. Dal punto di vista software dal lato USB il dispositivo  può essere gestito in due diverse modalità. La più semplice è quella che vede l’impiego di un driver (fornito dal costruttore) che permette la creazione di una porta seriale virtuale, per cui l’applicazione software dovrà essere configurata per inviare e ricevere dati su tale porta. L’altra modalità è quella di utilizzare  il Direct Driver D2XX anch’esso fornito da FTDI, che …

Comunicazione SPI con i micro Fujitsu

Nell’articolo vengono presentati alcuni esempi di configurazione dell’interfaccia SPI per i micro Fujitsu. Si dice che l’SPI sia una semplice comunicazione seriale tra due dispositivi digitali, tuttavia la mancanza di un formato standard non lo rende affatto semplice. Questo articolo descrive i più comuni formati SPI e come implementarli sui Fujitsu a otto e sedici bit. Alcuni  formati SPI L’SPI è una comunicazione seriale tra un singolo dispositivo master e un singolo dispositivo slave. Ciascun bit di da ti da e per il master ha il suo proprio impulso di clock. Perciò l’SPI usa almeno tre diversi segnali: » SCK clock seriale; » SI input seriale, ovvero i dati dallo Slave …

La periferica seriale dei PIC16

Nella maggior parte dei pic è implementata una periferica seriale, che viene identificata con il termine di “UNIVERSAL SYNCRONOUS ASYNCHRONOUS RECEIVER TRASMITTER (USART)”, nel presente articolo si fa riferimento a quella presente nel pic16f628. La USART è uguale per tutta la famiglia pic16, quindi una routine scritta per un pic16 è utilizzabile su tutti i PIC della stessa famiglia a meno, del collegamento con il mondo esterno, ogni microcontrollore può avere mappato i pin su porte differenti, di conseguenza fanno verificati sul datasheet del microcontrollore dove sono ‘fisicamente collegati’. Da ricordare che la mappa dei registri in memoria potrebbe essere differente da modello a modello, e non tutti i registri  SFR …

Labview e la porta seriale

Attualmente ci sono molte strumentazioni dotati di porta seriale. Come possiamo comunicare con loro in un modo semplice? La risposta è Labview. In questo articolo analizzeremo un semplice programma che ci permetterà di comunicare con il dispositivo via RS232. In un prossimo articolo vedremo come comunicare da remoto con la porta seriale. Innanzituto vediamo che cosè la porta seriale conosciuta anche come porta RS232 (figura 1). La porta seriale permette lo scambio di informazioni digitali tra due dispositivi.  Il protocollo utilizzato è di tipo seriale, ovvero le informazioni sono trasmessi uno alla volta su un unico filo e asincrono, ovvero i dati sono trasmessi senza l’utilizzo di un clock.  La tensione di uscita da un trasmettitore RS232 deve essere compresa …