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.

Controllo di motori brushless

I brushless DC sono una particolare tipologia di motori sincroni che garantiscono un movimento estremamente preciso a differenza di quelli brushed (con spazzole). Si esaminerà la serie di microcontrollori PIC18Fxx31 della Microchip che fornisce tutti gli strumenti (PCPWM, Quadrature Encoder, ADC ad elevata velocità) per sviluppare applicazioni in tal senso con un time-to-market drasticamente ridotto. Introduzione La sigla BLDC (Brushless DC) indica un motore elettrico a magneti permanenti e senza spazzole. A differenza di uno a spazzole, non ha bisogno di contatti elettrici striscianti sull’albero motore per funzionare. La commutazione tra il rotore e lo statore del motore, infatti, non avviene per via meccanica, ma …

Sharc Pipeline

L’utilizzo del meccanismo di pipeline permette al microprocessore di incrementare la sua velocità d’elaborazione. Questo incremento prestazionale fornisce quelle chiavi di lettura per convincere il progettista per l’uso di architetture del genere per le proprie realizzazioni. Negli ultimi anni l’evoluzione della tecnologia dei processori ha portato a definire sempre nuove soluzioni architetturali: da soluzioni basate su CISC a quelle RISC per approdare a quelle di tipo VLIW. La tecnologia che avuto il maggior seguito è certamente quella RISC: la chiave vincente è basata su due proposte tecnologiche convincenti: ➤ un formato di istruzione fisso, non eccessivamente esteso, e di tipo load-store; …

Il protocollo Flexray: caratteristiche e funzionamento

I sistemi elettronici sono sempre più presenti nel settore automotive. oggi si tende a sostituire i classici sistemi idro-meccanici con sistemi puramente elettronici che siano più affidabili e faulttolerant. un esempio sono i sistemi x-bywire. per implementare tali tecnologie sono indispensabili protocolli affidabili e flessibili. tra quelli emergenti sicuramente il protocollo flexray riveste un ruolo preminente. Con il termine FlexRay si intende un protocollo di comunicazione per sistemi distribuiti. Esso è stato sviluppato esclusivamente per applicazioni automotive, sebbene possa essere utilizzano anche in altri campi (per ulteriori informazioni si faccia riferimento all’approfondimento “Requisiti nel settore automotive”). È stato sviluppato dal consorzio FlexRay fondato nel 1999. Tra i membri iniziali si …

CRC su MSP430

La sicurezza dei dati trasmessi rende il nostro sistema affidabile, ma come possiamo realizzare un sistema del genere? da un punto di vista software, la risposta a questo quesito si trova in un algoritmo di crc. Gli algoritmi utilizzati per calcolare il checksum sono basati sulla tecnica di CRC. Per usare la terminologia anglosassone, il Cyclic Redundancy Check (CRC) è una tecnica utilizzata per rilevare errori in un flusso di dati trasmessi o in un buffer in memoria. I codici CRC-16 e CRC-CCITT hanno le seguenti caratteristiche: ➤ Rilevano tutti gli errori singoli e doppi ➤ Rilevano tutti gli errori di un numero dispari di bit ➤ Tutti …

Il problema dei sovraccarichi nei sistemi real-time

Questo articolo introduce la problematica dello studio dei sistemi real-time in situazioni di sovraccarico, ovvero in quelle situazioni in cui la capacità di calcolo richiesta al sistema eccede il tempo a disposizione. L'articolo illustra il comportamento dei sistemi real-time in queste condizioni limite, consigliando una serie di possibili azioni correttive. Gli effetti indesiderati legati ad una condizione di sovraccarico sono legati all’esecuzione di task critici oltre i limiti temporali richiesti dall’applicazione. La figura 1 mostra un sistema composto da 3 task. Nel caso a), il sistema funziona correttamente. Una situazione di sovraccarico sul primo task (caso b) può provocare il mancato rispetto dei …

Le classi di precisione

Gli strumenti di misura non sono tutti uguali tra loro. Uno dei parametri che li differenzia e la loro precisione che ne determina, ovviamente, anche il costo. Facciamo una panoramica dell'argomento evidenziando gli aspetti più importanti. Introduzione Per misurare i parametri elettrici ed elettronici di un circuito o di un componente elettronico si utilizzano gli strumenti di misura (tester, voltmetri, capacimetri, induttanzimetri, amperometri, ohmmetri, ecc). Quando si effettua una misura di un circuito elettrico o elettronico con uno strumento di misura, al momento del suo collegamento si modificano le sue caratteristiche globali in quanto esso costituisce, a tutti gli …

Scrivere un codice C sicuro

Trascurare gli aspetti di sicurezza e di robustezza del codice sviluppato in linguaggio C non è mai consigliato. É dimostrato che malfunzionamenti dovuti alla scarsa sicurezza possono pregiudicare l'affidabilità del sistema stesso. I difetti del software sono la primaria causa della vulnerabilità del codice. L’organismo CERT/CC ha osservato che, attraverso l’analisi di migliaia di casi sulla vulnerabilità, la maggior incidenza di questo fenomeno è da imputare a comuni errori di programmazione: da un cattivo dimensionamento delle variabili ad un errato uso delle chiamate di sistema. Il CERT Secure Coding, attraverso l’azione integrata, di sviluppatori e organizzazioni, mira a identificare le situazioni critiche, a catalogarle e a inviare le informazioni agli addetti ai lavori attraverso …

Il Kit di ESPertino: temperatura e umidità sotto controllo con il DHT11

Il kit di ESPertino prevede, tra gli altri, il sensore di umidità e di pressione DHT11. Vediamo come utilizzarlo al meglio con la nostra scheda, ricordando che i dati da esso misurati e restituiti sono di tipo digitali e non è necessario alcun ingresso analogico. Utilizzando delle apposite librerie , la gestione del modulo è ancora più semplice. Il sensore Si tratta di un dispositivo per rilevare la temperatura e l'umidità (vedi figura 1). Può essere adottato in tanti ambiti diversi come, ad esempio, deumidificatori, controlli automatici, stazioni meteo, domotica, ecc. Le sue misure risultano molto ridotte e, non …

Il linguaggio VHDL

Il linguaggio VHDL consente di descrivere ed implementare circuiti complessi utilizzando tecnologie quali FPGA, CPLD, ASIC e structured ASIC. In questo articolo verrà fornita un’introduzione al linguaggio, ne verranno descritti gli elementi fondamentali e saranno presi in considerazione diversi esempi di codice sintetizzabile che potranno servire da base per la descrizione di circuiti più complessi. Introduzione Il linguaggio VHDL (Very high speed integrated circuit Hardware Description Language) è stato creato più di 20 anni fa come linguaggio di descrizione dell’hardware, in particolare di circuiti digitali. Da allora ha assunto un’importanza sempre maggiore in campo industriale tanto da essere standardizzato in diverse riprese dalla IEEE. La sua importanza deriva dal fatto che oltre alle applicazioni iniziali …

Il Bus LIN

Numerosi sono i sistemi di comunicazione impiegati per lo scambio delle informazioni tra le varie ECU (Electronic Control Unit) di un autoveicolo. In particolare il BUS LIN viene utilizzato per connessioni locali di sottosistemi sensori e attuatori. All’interno di un autoveicolo sono presenti diversi sistemi di comunicazione su bus seriali. Il più affermato è probabilmente il CAN bus per le sue caratteristiche di robustezza e semplicità. L’evoluzione tecnologica ha portato alla realizzazione di nuovi bus di comunicazione ad esempio: Flexray e TTT-CAN. Si stanno anche affermando nuovi bus ad alta velocità quali MOST of Firewire per applicazioni multimediali a bordo del veicolo. Il protocollo LIN (Local Interconnect Network) nasce invece per …

L’alimentazione ausiliaria estende le applicazioni PoE

Molte applicazioni PoE fanno uso di alimentazioni ausiliarie, tipicamente degli alimentatori brick, connessi al dispositivo alimentato (Powered Device o PD), dotati di un connettore maschio per la presa a muro, denominato "WALL WART" perchè, essendo ingombrante, tende a bloccare anche le prese vicine. L'integrazione dell'alimentazione ausiliaria può essere un compito arduo e il progettista di sistemi PoE deve comprendere i vari metodi e i relativi compromessi che esistono per ciascuno di essi. Le tre configurazioni comunemente usate per aggiungere un’alimentazione ausiliaria ai sistemi PoE, consistono nel multiplexare l’alimentazione ausiliaria con quella PoE nei seguenti modi: ➤ attraverso la sezione sostituibile a caldo (hot …

Sharc Digital Signal Processor

L'elaborazione digitale dei segnali consente di ottenere risultati di gran lunga superiori a quelli che si avrebbero con un'elaborazione analogica. In quest'ambito hanno riscosso grande successo i DSP, utilizzati ormai nei più svariati campi applicativi, tra cui audio e video. Nell'articolo si analizzerà una particolare famiglia di Digital Signal Processor prodotti della Analog Devices: gli Sharc. Un DSP (Digital Signal Processor) ha il compito di acquisire segnali del “mondo reale” come voce, audio, video ed altri parametri analogici, digitalizzarli, manipolarli tramite opportune operazione e quindi restituirli nel dominio analogico. Un DSP è progettato per eseguire funzioni matematiche come addizione, sottrazione, moltiplicazione e divisione a velocità molto maggiori rispetto …

Gestione della Preemption nei sistemi a microcontrollore

La preemption è la possibilità da parte di un sistema di interrompere una attività in corso per eseguirne un’altra  in  quel  momento  giudicata “più importante”. Esempi di preemption sono l’interruzione dell’esecuzione del codice di un microcontrollore  a causa dell’arrivo di un interrupt, il termine di un quanto di tempo in un sistema operativo time-sharing, oppure la preemption dovuta all’attivazione di un task ad alta priorità in un sistema operativo real-time. Questo articolo descrive le principali caratteristiche delle tecniche di scheduling preemptive e non preemptive utilizzabili nei dispositivi a microcontrollore con sistemi operativi di classe OSEK. Introduzione I sistemi di elaborazione embedded possono …

Il Kit di ESPertino: sperimentiamo con il buzzer

Tra i componenti presenti nel kit di ESPertino è presente anche un piccolo buzzer, con cui si possono realizzare tanti progetti. Come si sa, si tratta di un cicalino che ha lo scopo di emettere una segnalazione audio. Quello utilizzato per l'articolo è un modello dotato di oscillatore interno. Introduzione Per chi ancora non lo sapesse (ma pensiamo proprio di no), ESPertino è una scheda basata su ESP32, progettata e prodotta in Italia da Elettronica Open Source. Permette di realizzare facilmente qualsiasi tipologia di applicazione e di sistema. Per agevolare ancora di più i progettisti è a disposizione il …

Il Kit di ESPertino: gestire la temperatura con NTCM-HP-10K

NTCM-HP-10K è un termistore di tipo NTC (Negative Temperature Coefficient) che fa parte del Kit di ESPertino. I suoi utilizzi possono essere i più disparati ma fanno sempre capo alla misura della temperatura. Esso si comporta come una resistenza variabile il cui valore diminuisce con l'aumentare della temperatura. Introduzione Per chi ancora non lo sapesse, ESPertino è una scheda basata su ESP32, progettata e prodotta in Italia da Elettronica Open Source. Permette di realizzare facilmente qualsiasi tipologia di applicazione e di sistema. Per agevolare ancora di più i progettisti è a disposizione il Kit ESPertino, una fantastica raccolta di …

Sicurezza e Innovazione – Intervista a Michael Hannawald Presidente di Renesas Electronics Europe

Come in tutti i mercati, quando si parla di innovazione bisogna considerare molti aspetti legati alla sicurezza sia in termini di Safety che Security. Tutti e due svolgono un ruolo essenziale nel mercato automotive ed embedded dove la sicurezza dei dati implica una sicurezza funzionale. Nell'insieme dell'innovazione  troviamo termini come IoT, Industry 4.0, Automotive e guida autonoma, tecnologie spaziali. Lo sviluppo di prodotti intelligenti e nello stesso tempo collegati ha bisogno di un supporto hardware e software per velocizzare il time-to-market e stare al passo con i tempi, e nello stesso tempo disporre di soluzioni che possono affrontare i …

Descript: un embedded scripting language

Descript è un tool tutto italiano per il controllo e la manutenzione di schede embedded. E' un ottimo strumento per scrivere routine di test e fare sessioni di debug on board liberando il progettista hardware dalla necessità di conoscere un linguaggio evoluto, come il C, o l'assembler: il linguaggio utilizzato in Descript è molto simile al basic. Il tool Descript è uno strumento di lavoro open interamente italiano, ed è stato sviluppato partendo dall’architettura Motorola 68k (Freescale, ora NXP). Esistono porting anche per Coldfire e il suo nome deriva dalla fusione delle parole debug e script. Con Descript è fornito anche un BSP (Board Support Package), in …

Ethernet facile con le VIRTEX-5

Con la serie Virtex-5, Xilinx continua a percorrere la strada dei multi-platform FPGA integrando core hard IP in dispositivi logici riprogrammabili di nuova generazione. I componenti delle serie LXT ed SXT, in particolare, includono macro tri-mode ethernet mac (media access control) 10/100/1000 MBPS IEEE 802.3 compliant. Il presente articolo ne introduce le caratteristiche principali unitamente ad una panoramica delle tipiche applicazioni supportate. Nel mercato moderno, Ethernet è, senza ombra di dubbio, lo standard di connessione cablata più diffuso al mondo; allo stesso modo, nel settore delle applicazioni embedded i dispositivi logici programmabili rappresentano ormai una consolidata realtà in rapida diffusione. Non era difficile prevedere, quindi, che le …

Il convertitore ADC10 dei micro MSP430

I mixed signal controller MSP430 della Texas Instruments si basano su un'architettura RISC a 16 bit. Sono dispositivi a bassissimo consumo adatti per apparecchiature portatili alimentate a batteria. Possono includere le più comuni periferiche digitali e diversi moduli analogici quali ADC, DAC e comparatori. Nell'articolo si esaminerà in particolare la configurazione e l'utilizzo della periferica di conversione A/D a 10bit. Il core A/D del micro MSP430 di Texas Instruments è un convertitore SAR a 10bit e si trova nelle famiglie MSP430x11x2 e MSP430x12x2. Il multiplexer all’ingresso del convertitore permette di selezionare 8 ingressi analogici single ended oppure quattro segnali interni al microcontrollore e cioè la tensione …

Moltiplicare le linee I/O dei micro con i Port Expander

Quando si affronta la progettazione di un sistema embedded, uno dei limiti è quello di non riuscire a prevedere in maniera precisa il numero di pin del micro che saranno necessari. Ecco come risolvere questo problema ricorrendo all’uso dei port expander. Nella progettazione di sistemi embedded un vincolo importante da considerare è il numero di pin disponibili del sistema a microcontrollore scelto. Spesso il fallimento di un progetto può dipendere proprio dalla scelta errata del modello di micro, dotato di un numero di pin inferiore rispetto a quello necessario a pilotare tutte le periferiche. D’altro canto anche una pianificazione attenta e l’adozione di …

VHDL for beginners: Testbench

Nelle prime tre lezioni di questo corso base per il VHDL abbiamo affrontato tutti gli elementi base che consentono la progettazione di un componente in piena autonomia. Tali conoscenze hanno permesso di acquisire le competenze necessarie anche per prendere confidenza con la suite di sviluppo Xilinx ISE e osservare il risultato della sintesi di circuiti che, per quanto semplici, ci hanno permesso di ottenere una panoramica completa dell'attività di sviluppo di un nuovo componente. L'attività di design di un componente non prevede solo lo sviluppo dello stesso ma anche la verifica che tale componente implementi correttamente le funzionalità per …

La certificazione del software

Il software pervade ormai tutti gli aspetti della nostra vita. Da applicazioni che possiamo definire blande a quelle cosidette di tipo safety-critical, per questo motivo sono state approntate metodologie robuste per qualificarlo. Ultimamente si parla molto di certificabilità, come se la tecnologia creasse un mondo più rischioso. Infatti, la maggior parte degli incidenti più seri dell’ultimo secolo è avvenuta negli ultimi 30 anni. Solo per fare un esempio, è possibile ricordare la tragedia di Bhopal (India) con 15000 morti e 200000 feriti. Nel panorama del software safety-critical sono nate negli anni diverse agenzie che si propongono di certificare il software e, nel frattempo, diverse normative di riferimento.  …

Micro Infineon AUDO TC1762

Infineon ha sviluppato tempo fa una famiglia di dispositivi, AUDO che uniscono in un unico componente la potenza di calcolo dei DSP, l'efficienza dei processori con architettura RISC e la velocità dei microcontrollori. L'articolo descrive in dettaglio una sottocategoria di tale famiglia, indicati con la sigla TC1762. I dispositivi della famiglia AUDO di Infineon sono micro ottimizzati per applicazioni in cui sono richiste elevate prestazione in real-time e capacità tipiche di un DSP, unite alla bassa latenza di interrupt e con la più elevata tolleranza ai guasti. I campi applicativi sono i più svariati e spaziano da automotive a telecom/datacom passando attraverso il controllo industriale (figura 1). L’architettura TriCoreTM …

La proposta COSMIC per Infineon c166

IDEAST10 è la proposta COSMIC per lo sviluppo e il testing di programmi C o assembler basati su microprocessori INFINEON C166 e X166. L'ambiente comprende un compilatore, un debugger e altre utilities per facilitare il lavoro del programmatore per sistemi embedded. Insieme all'ambiente cross è proposto anche un checker Misra. Il compilatore è conforme alle normative ANSI e ISO per C; questo rende la proposta COSMIC interessante dal punto di vista commerciale: l’aderenza a questi standard garantisce l’ affidabilità del prodotto. Il compilatore cx166 è  stato realizzato specificatamente per la famiglia dei microprocessori Infineon C166; attraverso uno switch di compilazione è possibile, poi, scegliere una particolare architettura. Il back-end …

Problematiche progettuali in WiMax

Gli standard 802.16 IEEE sono stati definiti per garantire una connessione dati wireless a banda larga di tipo “always  on” agli utenti sia fissi (prima generazione, 802.16d/802.16-2004) che mobili (seconda generazione, 802.16e). Grazie alla capacità di soddisfare i requisiti di classi multiple di Quality of Service (QoS), una rete 802.16 può supportare servizi vocali mobili, trasmissione dati ad alta velocità e video in modalità wireless. Gli standard 802.16 sono approvati dal WiMAX Forum (WiMAX sta per Worldwide Interoperability for Microwave Access) a garanzia sia dell’interoperabilità degli apparati che della diffusione degli standard. Modulazione e codifica  adattabili Nello standard 802.16 la distanza massima tra una stazione base (BS) e un terminale utente (Service Station, SS o Mobile …