è 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 sistemi operativi real-time (RTOS) non sono una prerogativa di processori ad elevate prestazione e con elevata capacità di risorse, ma anche di processori ad 8-bit. In questo articolo si analizzerà l’RTOS Salvo implementato su PICMicro. Un sistema operativo real-time o in tempo reale (abbreviato con la sigla RTOS) è un sistema operativo specializzato per il supporto di applicazioni software real-time. Questi sistemi vengono utilizzati tipicamente in ambito industriale (controllo di processo, pilotaggio di robot, trasferimento di dati nelle telecomunicazioni) o comunque dove sia necessario ottenere una risposta dal sistema in un tempo massimo prefissato. Da un punto di vista puramente teorico l’intervallo di tempo in cui il sistema operativo/applicativo deve reagire non ha importanza, infatti un sistema operativo in RT non …
Nella prima lezione è stata fatta una panoramica sul mondo della domotica mettendo in evidenza i principali problemi e ostacoli. Nella seconda lezione invece si è entrati nel dettaglio del codice analizzando solo la parte che interessa la GUI del sistema; quest'ultima è stata realizzata attraverso una pagina web costituita da codice HTML, da fogli di stile e da codice JavaScript. IMPLEMENTAZIONE FIRMWARE Prima di addentrarci nell'analisi del firmware è doveroso precisare che, per poter compilare ed eseguire codice per ESPertino, occorre seguire tutte le istruzioni per l'installazione delle librerie e dell'IDE ben spiegate nell'articolo "La nuova scheda ESPertino per l''IoT"; in questo articolo l'IDE suggerito …
L'avvento delle tecnologie Wireless/RF, della microelettronica e dell'IoT in generale, ha indirizzato il mercato dell'automotive verso nuove soluzioni di gestione, sia per migliorare il comfort sia per rendere la sicurezza sempre più efficiente. L'automotive è senza dubbio un settore dove l'elettronica ha una vasta padronanza rispetto alla meccanica. Trasmissione dati, gestione, centraline, tutte soluzioni per gestire e controllare l'impianto di guida. In questa intervista con Eric Pinton vogliamo affrontare gli aspetti chiave della guida autonoma e gli ultimi aggiornamenti nel campo ADAS. Eric Pinton è Direttore della Business Unit Automotive Solutions, in Renesas Electronics. Come direttore della Business Unit …
Le tecniche di power management per i dispositivi C8051F30x e C8051F31x: il calcolo della potenza e le tecniche di risparmio. Il C8051F30x e il C8051F31x di Silabs sono ottime scelte per applicazioni in low power. Dotati di un flessibile clock hardware e lavorando a 3V, consentono un risparmio di energia. In questo articolo vedremo le varie tecniche di gestione della potenza, il funzionamento del clock interno ed esterno. Elencheremo anche alcuni esempi e faremo vedere come realizzare un tipo di funzionamento “mode sleep” che consente il risparmio assoluto della potenza. Come conclusione analizzeremo altre teccniche di Power management e forniremo importanti nozioni sulle loro conseguenze in campo industriale. Il C8051F30/1x Il …
Nella precedente puntata sono stati descritti tutti i building-block utilizzati in tutti i diagrammi UML. Noti gli oggetti e le relazioni tra di essi si può rappresentare un problema nella maniera più appropriata. In questa terza punta sarà mostrato come utilizzare un software, StarUML, per la generazione di diagramma UML in maniera semplice ed intuitiva. StarUML è uno strumento per creare diagrammi delle classi e altri tipi di diagrammi secondo Unified Modeling Language (UML). StarUML è uno strumento per la generazione automatica di codice Java a partire dalla sua rappresentazione UML; è possibile, inoltre, effettuare l’operazione inversa (reverse engineer) del codice Java sorgente per produrre il diagramma UML corrispondente. In questa e nella successiva puntata si utilizzerà il software …
L’architettura AVR è del tipo RISC e dispone di un ricco ed efficiente set di istruzioni con 32 registri general purpose: questi sono connessi direttamente all’ALU in modo da renderne accessibili due contemporaneamente in un singolo ciclo di clock e poter in tal modo raggiungere velocità di esecuzione fino a dieci volte superiori rispetto ai tradizionali microcontrollori CISC. Una visione d’insieme delle caratteristiche hardware del modello Atmega128 rivela 128K bytes di memoria flash programmabile in-circuit, con la possibilità di lettura e scrittura contemporanee; 4K bytes di SRAM; 53 linee di I/O, 32 registri di uso generale; un Real Time Counter (RTC); quattro Timer-Contatori che possono essere utilizzati in modalità Capture/Compare e …
I set di istruzioni vengono odiati, temuti o riveriti perché fanno pensare alla programmazione assembly, ossia un tipo di programmazione altamente stressante, soprattutto se sai che quello che stai facendo lo potresti fare più facilmente con un linguaggio ad alto livello. Le ALU vengono odiate, temute o riverite perché prese così risultano essere un concetto misterioso, e tutto quello che non viene capito tende a spaventare. Ma in realtà, il brutto del progetto di un processore non è né nella definizione del set di istruzioni, né nella realizzazione della ALU: sta nel progetto del circuito che li utilizzerà. Iniziamo …
I microcontrollori Fujitsu della serie F2MC-8FX mettono a disposizione dello sviluppatore un’interessante ed utilissima funzione di watchdog. Vediamo in questo articolo in cosa consiste e come utilizzarla a livello pratico. La famiglia di microcontrollori F2MC-8FX fu introdotta sul mercato da Fujitsu nel 2004 per rispondere alla crescente domanda, presente soprattutto sul mercato asiatico, di cpu ad 8 bit in grado di fornire un’elevata velocità e bassi assorbimenti. La famiglia 8FX si è poi diffusa rapidamente, trovando largo impiego principalmente nei settori audio/video digitale (lettori di CD/DVD) e delle apparecchiature domestiche (forni a microonde, frigoriferi, ecc.). Questa importante affermazione si è resa possibile grazie anche ad alcune caratteristiche peculiari dei micro 8FX, tra le quali la possibilità …
Il termine SBC o Single Board Computer si è sentito nominare in giro per molti anni ed ha significato cose differenti per le persone. Nel senso più puro del termine, con SBC ci si riferisce ad un computer montato su un'unica scheda con processore, memoria e varie tipologie di I/O. Sul mercato odierno esistono una grande varietà di schede SBC, alcune offrono migliori prestazioni, altre hanno una grande varietà di connettori, mentre altre ancora offrono solo il minimo necessario. In questo articolo effettueremo una breve panoramica storica sugli SBC, ed a seguire andremo ad analizzare le specifiche da prendere …
Le reti mobile di quinta generazione saranno in grado di trasmettere dati circa 15 volte più veloce di 4G LTE. Una grande opportunità per ciò che consente l'ecosistema dell'IoT. Ericsson prevede che il 5G raggiungerà oltre il 20% della popolazione mondiale entro il 2022. La spinta principale di 5G è la promessa di un insieme di connettività unificato che offre un accesso al cloud sempre disponibile e sicuro per una varietà di casi d'uso. Ci si aspetta che il 5G fornisca un accesso più rapido, ma che possa svolgere anche il ruolo di canale informativo per connettere auto a …
Le caratteristiche principali del protocollo AMBA AHB-Lite introdotto da ARM. Con la descrizione dello standard, vengono presentati modelli VHDL sintetizzabili dei diversi elementi che compongono il sistema. Il protocollo AMBA AHB-Lite è stato emesso nel 2006 da ARM - nota azienda leader nel mercato dei processori e core IP - in sostituzione dello standard AHB; la nuova specifica introduce importanti semplificazioni pur conservando le principali caratteristiche in termini di prestazioni e flessibilità della versione precedente. La figura 1 mostra uno schema di principio di un sistema AMBA AHB-Lite, composto dai seguenti elementi fondamentali: ➤ master: è la periferica responsabile dell’inizio di ogni transazione in lettura o scrittura. Nella versione attuale il protocollo è definito per sole applicazioni singlemaster; tuttavia, …
La selezione del baud rate dell’UART di un microcontrollore è generalmente eseguita nella fase di inizializzazione, ma nel caso in cui il baud rate dei dati in arrivo non sia noto a priori, oppure la sorgente del clock del micro non sia sufficientemente precisa (ad esempio se generata tramite un oscillatore RC), sarà necessario utilizzare un metodo di Automatic Baud detection, brevemente detto Auto Baud. I microcontrollori delle famiglie dsPIC30F e 33F sono dotati di UART con supporto per l’Auto Baud: quando in un dsPIC si abilita la procedura di Auto Baud, il segnale presente sul pin RX dell’UART viene connesso internamente ad …
Le più recenti generazioni di ricevitori e trasmettitori ad ultrasuoni, come il MAX2082, sono stati ottimizzati per avere elevate performance in termini di SNR. Tutto questo è stato possibile grazie agli sviluppi tecnologici su aspetti come il low-power, la conversione ADC ad alta risoluzione e l'avvento degli amplificatori a guadagno variabile (VGA) con basso rumore in uscita. Ma avere a disposizione queste tecnologie non basta, bisogna anche saperle utilizzare correttamente. Risulta necessario che gli sviluppatori comprendano come impostare in questi dispositivi i parametri di guadagno, range dinamico, filtraggio, detection e mapping dei dati ricevuti. In questo articolo parliamo proprio di questo aspetto, …
MikroElektronika mikromedia Plus è una compatta scheda di sviluppo display per microcontrollori TIVA. Le schede di sviluppo MikroElektronika mikromedia Plus possono essere usate per creare delle dashboard di controllo per macchine industriali, strumenti medici, applicazioni smart home, ed altro ancora. Oltre al microcontrollore, la scheda incorpora un touch screen e diversi moduli integrati per la realizzazione dei più svariati progetti. Mikromedia+ è compatto e sottile, e si adatta perfettamente al palmo della mano rendendolo conveniente per dispositivi mobile e multimediali. Introduzione La scheda si presenta leggermente più grande (119,54 x 78 mm) delle dimensioni del touch screen TFT supportato, …
Il bootloader per i dispositivi della famiglia dsPIC30F/33F e PIC24H/24F è utilizzato per caricare ed avviare l’applicazione target sul proprio dispositivo. Nell’articolo saranno descritti i concetti base e gli step fondamentali per utilizzarlo. Il bootloader è costituito da due applicazioni: l’applicazione che deve “girare” all’interno del dispositivo (dsPIC30F/33F o PIC24H/24F) e che deve essere precaricata prima di eseguire qualsiasi altra operazione, e l’applicazione che deve “girare” sul PC host che si occupa di trasferire il file HEX generato con MPLAB o altro ambiente di sviluppo. Il bootloader esegue il parsing del file HEX e lo copia nelle locazioni di memoria appropriate (memoria programma e/o EEPROM se presente) del dispositivo di destinazione. Il tutto è eseguito tramite un canale …
Nell'ambito dell'Internet delle Cose risulta palesemente necessaria la connettività tra gli oggetti (Cose) e la rete (Internet). Per applicazioni che richiedono una copertura di territorio di piccole dimensioni conosciamo ormai bene gli standard Bluetooth Low Energy (BLE) e ZigBee, che rientrano nella più vasta categoria delle Personal Area Network (PAN). Per applicazioni che invece hanno l'esigenza di ricoprire territori più vasti occorre utilizzare una Wide Area Network (WAN) o meglio, nell'ambito dell'IoT, una Low Power WAN (LPWAN). In questo articolo metteremo a confronto due LPWAN: la Long Range WAN (LoRaWAN) e la Narrow Band-IoT (NB-IoT). Spettro, Qualità del servizio …
Negli ultimi decenni, è giusto dire che i computer e la tecnologia in generale si sono sviluppati a un ritmo impressionante. Raspberry Pi è stato progettato dalla Raspberry Pi Foundation nel Regno Unito, inizialmente per aiutare i bambini a scuola a imparare le conoscenze informatiche di base. Con il passare degli anni la scheda ha trovato spazio in molte applicazioni industriali e commerciali. Raspberry Pi è riuscito a dare il via a una vera e propria rivoluzione del single board computer. Nel corso degli anni il piccolo PC-on-a-chip è stato riconosciuto come il fondatore di un'intera nuova nicchia tecnologica. …
Il crescente sviluppo di applicazioni in ambito automazione, fa si che la ricerca elettronica punti decisamente verso la ottimizzazione dei sistemi di controllo, in modo da ottenere sistemi dai costi più contenuti e dall’efficienza sempre maggiore. Uno dei settori che in tal senso è più attivo, soprattutto nel tessuto industriale del Nord Est, è il controllo motore industriale. Si presenta nel seguito uno dei dispositivi attualmente più interessante nella catena di controllo, ossia il sensore di feedback ad encoder. Il controllo motore riveste oggi una importanza sempre maggiore, sia in ambito industriale che consumer, senza trascurare i settori appliance ed automotive. Quali esempi possiamo sicuramente citare i torni industriali figura 1, nei quali il controllo motore è divenuto sempr più evoluto, per poter garantire velocità di rotazione estremamente elevate, oltre a controllo …
L’ultimo tassello che manca per poter costruire il nostro sistema è la descrizione della matrice di connessione che decodifica l’indirizzo della transazione per selezionare il corretto dispositivo slave e indirizza verso il master le risposte di questi. La figura 1 evidenzia la matrice di connessione in un sistema AMBA AHB-Lite di tipo single-master. Il significato dei segnali di ingresso/uscita è stato chiarito nei precedenti articoli discutendo le periferiche master e slave. Si sono utilizzati un processo combinatorio per generare i prossimi valori delle variabili interne ed aggiornare le linee di uscite verso le periferiche master e slave, ed uno sequenziale per registrare i segnali interni. Questi sono raggruppati in un record di tipo …
Un metodo di misura della tensione di alimentazione dei microcontrollori PIC tramite un riferimento interno di 0.6 Volts e una possibile calibrazione dello strumento per ridurre gli errori nelle misurazioni. Alcuni microcontrollori contengono un riferimento di tensione interno di 0.6 o 1.2 Volts che può essere scelto come ingresso per il modulo ADC al fine di misurare tensioni di alimentazione per il dispositivo stesso. Il micro preso come esempio nell’articolo è un PIC16F690, sebbene ve ne siano altri con caratteristiche simili. Una schematizzazione del metodo di misura è riportata nella figura 1. Per misurare Vdd, questa va inviata all’ADC attraverso l’impostazione del flag VCFG, mentre il riferimento 6V viene selezionato tramite i bits del re gistro CHS<3:0>. …