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.

I microcontrollori 8051 SILABS

I microcontrollori silabs si basano  sul collaudato core 8051. sono disponibili in cento versioni diverse e offrono un’ampia scelta di periferiche analogiche e di comunicazione. La famiglia di microcontrollori Silabs nasce alla fine degli anni 90 con il marchio Cygnal. Capostipite è la serie C8051F0xx seguita poi da numerosi altri modelli, ad oggi sono quasi un centinaio e offrono un’ampia scelta di periferiche, molte configurazioni di memoria e diversi package anche di dimensioni ridotte. Il microcontrollore è basato sul core 8051 che, rappresenta un ritorno al futuro in quanto il core, pur mantenendo l’architettura standard del vecchio 8051, in alcuni modelli può raggiungere velocità di picco di …

L’interfaccia JTAG nei micro Sharc

Il dispositivo jtag dello sharc è un potente strumento di debug e di verifica. in questo articolo vedremo anche una piccola panoramica dei vari sistemi di debug disponibili per il testing di un’applicazione embedded. Prima di iniziare quest’articolo è buona norma fare alcune puntualizzazioni sulle terminologie di debug in uso. BDM (Background Debug Mode) è un termine coniato dalla Motorola per individuare un metodo di debugging che coniuga aspetti hardware e software. La funzionalità di BDM richiede una porta specifica di un microcontrollore motorola, la porta BDM per l’appunto. Ogni costruttore utilizza altri dispositivi o metodologie, per esempio la porta JTAG (IBM), OnCE …

Sense di corrente in wireless con un amplificatore operazionale micropower a deriva zero

Molti circuiti di misure della corrente si basano sullo stesso principio: sviluppare una tensione ai capi di una resistenza di sense. Si amplifica quella tensione, la si legge attraverso un ADC e si conosce il valore della corrente. Ma se la resistenza di sense si trova a un potenziale che si discosta di parecchio da quello di terra, le cose si complicano velocemente. Le soluzioni tipiche, in generale, portano la differenza di potenziale nel dominio analogico o digitale, ma esiste un approccio differente: il wireless. Introduzione Gli amplificatori di sense di corrente high-side operano nel dominio analogico. Gli IC …

Sniffare una rete WiFi con ESPertino

Tra le caratteristiche più interessanti della scheda ESPertino rientra sicuramente la connettività, che permette alla board di collegarsi a una rete internet e operare come nodo IoT avanzato. L'interfaccia di rete wireless integrata nel modulo ESP32 può inoltre essere programmata in modalità promiscua, consentendo di realizzare un semplice ma versatile sniffer di pacchetti WiFi. Scopriamo in questo articolo in cosa consiste questa funzionalità e come sfruttarla su ESPertino utilizzando uno sketch in ambiente Arduino. Introduzione "Sniffare" una rete WiFi significa catturare, monitorare e analizzare (sia in tempo reale che in un secondo tempo, analizzando i log registrati) i pacchetti …

Il Kit di ESPertino: un semplice antifurto SMS per proteggere la casa

Con lo STARTER KIT di ESPertino si possono realizzare un'infinità di progetti. In questo breve articolo scopriamo come approntare un semplice antifurto per la casa, sfruttando proficuamente un numero importante di componenti in esso contenuto. Introduzione Il progetto che andiamo a presentare è un semplice sistema di allarme realizzato con un buzzer, un diodo LED, un sensore di prossimità e qualche componente passivo accessorio, il tutto assemblato, volendo, sulla breadboard a corredo dello STARTER KIT. L'antifurto si innesca quando la distanza misurata dal sensore a ultrasuoni scende sotto un determinato valore, attivando il cicalino, il diodo Led e inviando …

Multithreading

Quali sono le considerazioni da tener presenti per sviluppare un kernel per la gestione di un ambiente multithread? in questo articolo vediamo quali sono le caratteristiche di minimal multithread (mmt), il nostro kernel didattico. In questo articolo vedremo come realizzare un kernel per il multithreading, vedremo le considerazioni da tenere presenti e un’applicazione per ambiente windows. E’ possibile, poi, portare questo kernel verso altri ambienti grazie alla presenza di un Board Support Package. Architettura del sistema Le relazioni tra un programma di un generico utente e la nostra libreria MMT non è mediata da nessuna interfaccia: ogni porzione del codice utente è in grado di …

Simulazione dei microcontrollori con Proteus

Utilizziamo il potente simulatore della labcenter electronics per testare e collaudare i propri progetti a microcontrollore. Ne hanno fatto di strada i software di simulazione elettronica. Inizialmente essi riuscivano a simulare solamente i circuiti statici ed analogici. Col tempo furono introdotte le possibilità di simulazione nell’ambito del transitorio e del digitale. Oggi i moderni programmi riescono a fare ben altro. Sono in grado infatti di simulare non solo i normali circuiti digitali ed analogici, ma anche di eseguire il software presente all’interno dei microcontrollori, utilizzati quali componenti virtuali del circuito preso in esame. un’applicazione completa al computer, simulando  il circuito come se lo si avesse realmente tra le mani. Microcontrollori e Microprocessori Il Proteus …

Il regolatore LM26400Y per l’alimentazione di sistemi MULTI-RAIL

Un regolatore buck che accetta in ingresso tensioni da 3v a 20v ed integra sia il powerfet che l’anello di regolazione. L’lm26400y sembra essere la soluzione ottimale per sistemi che richiedono linee di alimentazione multiple. I sistemi elettronici moderni sono normalmente caratterizzati dalla presenza di numerose linee di alimentazione ciascuna delle quali utilizza uno specifico regolatore point-of-load. La linea comune di ingresso di questi regolatori può essere di volta in volta un adattatore da rete AC, un bus intermedio, una batteria, o una linea di alimentazione USB. Di norma è desiderabile trovare una soluzione in grado di accettare una ampia gamma di tensioni di …

Microchip application Maestro

Con application maestro è possibile utilizzare moduli firmware preconfezionati all’interno di una qualsiasi applicazione basata sui pic16/pic18. Vedremo come utilizzare Application Maestro per generare moduli integrabili con un progetto d’esempio sviluppato tramite MPLAB IDE. Application Maestro è un applicativo stand-alone facente parte dei tool di sviluppo di Microchip per i microcontrollori delle famiglie PIC16/18. Esso permette di usare dei moduli firmware preconfezionati da Microchip e di configurarli tramite un’interfaccia grafica in modo da utilizzarli all’interno di una qualsiasi applicazione.  I moduli firmware riguardano per lo più l’utilizzo di molte delle periferiche dei PIC16/PIC18, e sono disponibili nella maggior parte dei casi nel linguaggio Assembly. …

Tecniche di stima e riduzione dello stack nei sistemi embedded

Questo articolo descrive alcune tecniche utilizzabili per stimare correttamente lo spazio di stack in applicazioni embedded. Tali stime possono essere utilizzate per evitare il fenomeno dello stack overflow, frequente causa di malfunzionamenti applicativi. L’articolo presenta inoltre alcune tecniche di ottimizzazione dello stack per sistemi embedded con e senza RTOS, con particolare riferimento alla condivisione dello stack utilizzata nei sistemi operativi ERIKA Enterprise ed in generale nei sistemi operativi di classe OSEK/VDX. COSA È LA  MEMORIA DI STACK? La memoria comunemente denominata stack è una zona di memoria utilizzata per memorizzare variabili automatiche, variabili temporanee, ed indirizzi di ritorno salvati al momento della invocazione delle subroutines. La memoria …

Il Kit di ESPertino: simulatore di uccellino

Proponiamo, in questo articolo, un simpaticissimo simulatore del verso di un uccellino, realizzato con la scheda ESPertino e il buzzer a corredo con lo STARTER KIT. Variando i parametri di chiamata di una funzione è possibile cambiare il verso del volatile. Introduzione Imitare il verso degli uccelli, digitalmente, è cosa assai facile. E' sufficiente, infatti, effettuare uno "sweep" di frequenza (vedi figura 1) per ottenere un realistico suono. A ogni modo, le condizioni principali per raggiungere lo scopo sono essenzialmente due: Lo sweep deve essere molto veloce; La frequenza d'inizio e di fine deve risultare abbastanza alta, diciamo almeno …

Filtri PLL per rfPIC

I dispositivi microchip delle famiglie RFPIC e RFHCS sono dotati di un trasmettitore RF integrato in grado di operare su diverse bande di frequenza a seconda della versione. Questi dispositivi possono trasmettere dati con una veloità massima di 40 Kbps, utilizzando una modulazione ASK o FSK della portante RF generata tramite un PLL. Ecco come calcolare i componenti di un filtro PLL, in modo di garantire le proprietà di stabilità dell'oscillatore e la qualità dell'emissione RF. Il PLL degli rfPIC/rfHCS In figura 1 è raffigurato lo schema a blocchi del PLL degli rfPIC. Nel seguito supporremo di usare una frequenza di …

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

Send this to a friend