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.

Il problema del CDC (Clock Domain Crossing) negli FPGA

Durante il normale funzionamento di un FPGA (se si è fortunati, quando ancora il dispositivo è in fase di test e debug) può capitare talvolta di trovarsi davanti ad un errore transitorio e sporadico che non è stato possibile catturare in fase di simulazione RTL del codice, per quanto bene si possa essere riusciti a riprodurre nell’ambiente di simulazione gli stimoli che consentono di osservarlo on-board. Errori di questa natura sono di norma associati ad una violazione di timing che è possibile individuare tramite una Static Timing Analysis oppure, nel caso in cui il design includa più di un …

Generazione precisa di ritardi con AVR

GENERAZIONE PRECISA DI RITARDI CON AVR Ecco una utilissima libreria per AVR studio contenente una funzione di ritardo estremamente precisa.  La  funzione deve essere chiamata con _waste_us n dove n è un valore intero compreso tra i valori 1000000/F_CPU  (F_CPU è una costante definita) e 25769803779/F  dove F  è la frequenza della CPU espressa in MHz. La macro genererà un ritardo compreso tra 1ms e 25769803779ms. La precisione è dell’ordine di 1/F [ms]. Per utilizzare il codice (riportato nel listato 1) è necessario selezionare il corretto valore di F_CPU (togliendo il relativo “;” che lo rende un commento),  salvare il file …

Le periferiche analogiche della serie ADuC7000

I chip della Analog Devices serie ADuC7000 rappresentano un’ottima scelta per lo sviluppo di sistemi embedded mixed-signal. Dotati di un core ARM7®TDMI 32-bit RISC sono in grado di raggiungere velocità di campionamento fino a 1MSPS. La famiglia dei Microconverter  della Analog Devices unisce al microcontrollore ed alla flash embedded, periferiche analogiche di elevata precisione, come i 12 ADC, i DAC, un riferimento di tensione a bandgap ed un sensore di temperatura. Essi si suddividono in due principali categorie, di cui una per applicazioni di basso e medio livello, l’altra destinata ad applicazioni professionali in cui si richiede maggiore velocità e di memoria. …

PIC: ottimizzare la velocità con il compilatore Hi-Tech C

PIC: OTTIMIZZARE LA VELOCITÀ CON IL COMPILATORE HI-TECH C Ecco alcuni consigli su come ottimizzare la velocità di esecuzione del  codice  nella programmazione  dei microcontrollori  PIC: La fase di inizializzazione del PIC è piuttosto lunga in termini di tempo di esecuzione; per aumentare al massimo la velocità è consigliato inizializzare per primi i registri nel bank 0 quindi quelli nel bank 1 e così via; Ricordarsi che non tutte le variabili necessitano di essere inizializzare; Ove possibile riordinare gli operatori aritmetici  in modo da minimizzare l’uso da parte del compilatore del registro W o di locazioni temporanee; Per evitare …

Un laboratorio nel Cloud?

Pensiamo alle possibilità che il Cloud offre per i sistemi embedded. Che ne direste se fosse possibile sviluppare i sistemi embedded e IoT sfruttando il cloud anziché hardware locale? Oppure avvalersi di un sistema Cloud flessibile anziché di schede fisiche? Cosa significherebbe tutto questo per l'efficienza del vostro  sviluppo? Utilizzare piattaforme virtuali implementate nel cloud spalanca le porte a nuove possibilità per qualunque sistema! Gli sviluppatori potrebbero scrivere codice, eseguire test, completare integrazioni e condividere sistemi e risultati all'interno di un laboratorio virtuale residente nel cloud. L'accesso a hardware e tool sarebbe istantaneo ed immediato, senza richiedere installazioni locali …

Corso C su Raspberry PI partendo da zero: il controllo del video

Le prove e le esercitazioni sul linguaggio C effettuate fino ad ora sono state svolte su uno schermo grezzo in bianco e nero. Le visualizzazioni si sono succedute sequenzialmente ed in modo discendente risultando, diciamolo pure, un po' brutte a vedersi. La lezione di oggi verte proprio su tale argomento. Vedremo come abbellire le nostre videate, dando loro un certo ordine di posizionamento. Impareremo anche a colorare l'output, a posizionare il cursore in qualunque posizione, a modificare gli attributi del video e a conferire all'intero schermo di console un aspetto graficamente più gradevole, restando tuttavia in modalità testuale. Tutto …

C-Control: soluzioni per l’automazione

I sistemi C-Control si basano sulla serie dei microcontrollori Atmel (ora Microchip) Mega 32 e Mega 128, impiegati in varie applicazioni dall’elettronica di consumo fino alle macchine domestiche. C-Control Pro offre una tecnologia all'avanguardia per risolvere i problemi di automazione. Varie interfacce hardware e sistemi bus consentono il collegamento con sensori e attuatori. Uno dei punti di forza è la flessibilità nell’espansione con vari moduli presenti in commercio. La vasta gamma di accessori disponibili consente di perfezionare il sistema C-Control con numerose opzioni, in particolare il convertitore di interfaccia RS232/USB, il modulo di espansione e l'unità System Mega 32. …

Speech recognition: cosa si nasconde dietro il riconoscimento vocale

Quanti di noi non hanno mai effettuato una ricerca sul proprio smartphone parlando al browser invece di digitarne l'argomento? Questo appena fatto, non è che un esempio dell'utilizzo quotidiano di una tecnologia oramai largamente diffusa che va sotto il nome di "speech recognition". Per chi si fosse chiesto quali artifici si nascondano dietro tale prodigio della tecnica, questo è l'articolo da leggere per scoprirlo. Nel prosieguo illustreremo al lettore i fondamenti della tecnologia conosciuta in italiano come "riconoscimento vocale", soffermandoci sugli aspetti maggiormente interessanti dal punto di vista scientifico. Il Problema del riconoscimento vocale Il riconoscimento vocale automatico, abbreviato …

Corso C su Raspberry PI partendo da zero: vettori e matrici

Continuiamo ad approfondire molti aspetti fondamentali della programmazione. Con le spiegazioni di questa puntata sarete in grado di realizzare del software sempre più sofisticato, compatto ed efficiente. Anche in questo caso, i concetti studiati sono presenti anche in altri linguaggi di programmazione, con le opportune differenze. Ricordiamo sempre che quanto studiato, prepara la strada alla programmazione definitiva di sistemi che interagiscono con le porte di I/O, per poter comandare dispositivi elettrici ed elettronici. Introduzione Nella scorsa puntata si è visto come realizzare alcuni programmi dotati di "vita propria", capaci di prendere decisioni ed effettuare compiti ripetitivi. Questa volta tratteremo …

Wearlab: piattaforma di sviluppo open source per dispositivi wearable

La Wearlab V0 è una scheda di sviluppo per dispositivi wearable derivata dalla demoboard Hexagon CPU Board XMC4200 Actuator CPU_42A-V1 di Infineon basata su microcontrollore ARM Cortex M4. Il sistema base è stato ampliato con alcune periferiche specifiche per sviluppare applicazioni indossabili. Sono stati quindi inseriti un RTC, un MEMS a 3 assi ultra low power, ed un sensore di pressione, umidità e temperatura. Inoltre è stato inserito un modulo bluetooth (BLE) per comunicare direttamente con lo smartphone nel tipico utilizzo di questo tipo di applicazioni (dispositivo indossabile che acquisisce e trasmette i dati e l'app dello smartphone che …

Progetto di un pulsiossimetro con dsPIC

Il pulsiossimetro (o pulsossimetro o ossimetro) è un’apparecchiatura non invasiva che permette di stimare la quantità di emoglobina legata al sangue di un paziente. Il principio di funzionamento si basa sulla tecnologia sviluppata da una società giapponese che consiste in un fascio di luce nel rosso/infrarosso che penetra nella cute e a seconda dell’assorbimento si riesce a stimare la quantità di emoglobina. In generale, lo strumento permette di visualizzare la saturazione, la frequenza cardiaca e l'intensità della pulsazione, modelli più sofisticati permettono anche di visualizzare l’andamento della pulsazione (curva pletismografica) e registrare gli eventi su schede SD o memorie …

Programmazione in C: cosa fare e cosa non fare

Il linguaggio C è di gran lunga usato nella programmazione dei sistemi embedded ed esistono numerosi volumi che ne illustrano la semantica e la sintassi. Molto più raro è invece trovare una trattazione che illustri le regole principali sull’ottimizzazione degli algoritmi in modo da rendere il codice molto più veloce e compatto. Ecco una breve raccolta di suggerimenti pratici per AVR usando il compilatore AVR-GCC. Introduzione Il C è un linguaggio di alto livello il che significa che non è riferito  ad un particolare hardware quindi  il programmatore  non deve accedere alle risorse del microcontrollore   come  i  registri  interni,  lo  stack ecc… Questo, …

TEA – un semplice ma efficace algoritmo di Encryption

L’algoritmo  TEA è stato sviluppato  da David Wheeler e Roger Needham al Computer Laboratory dell’Università di Cambridge ed è uno dei più veloci ed efficienti algoritmi  di crittografia dati  esistenti. TEA: un semplice ma efficace algoritmo di Encryption Implementato  su un  PIC16F877 a 8MHz, un ciclo di  cifratura/decifratura avviene in 32 iterazioni in poco più di 10ms. Le risorse occupate sono 946 byte di ROM e 33 Byte di RAM. Su un  PIC18F452 a 32MHz  il  tempo  necessario scende sotto i 2ms con un’occupazione di  1548 byte di ROM e 37 byte di RAM. Nel listato 3 le funzioni per l’implementazione dell’algoritmo.  Il codice …

CuBox, il mini-computer con sistema operativo Linux e Android

CuBox è una serie di mini-computer di forma cubica ideata dalla SolidRun, con varie versioni ma tutti con una impostazione hardware base e dimensioni di 5 cm di lato. L’hardware base prevede un’architettura i.MX6 Single, Dual o Quad core basata su un Cortex-A9 1 GHz con RAM da un minimo di 512 MB fino a 4GB. Supporta varie distribuzioni Linux (Ubuntu, Fedora, Arc Linux, Gentoo) e il sistema operativo Android Jelly Bean. E’ dotata di varie porte di comunicazione, dalla HDMI alla Gigabit Ethernet passando per due USB 2.0 e un ricevitore IR. Le connettività Wi-Fi e bluetooth sono …

Voglia di sperimentare? Ecco le schede tra cui scegliere quella perfetta per voi.

Lo scopo di questo articolo per raccontare l'elettronica a chi non la conosce. Tra studenti, appassionati e tanti altri, esiste la necessità di condividere esperienze ma anche e soprattutto di indirizzare verso il meglio. State cominciando con l'elettronica non sapete come procedere? Vi piacerebbe realizzare un sistema complesso ma siete ancora in certi suoi primi passi? In questo articolo vediamo alcune schede che sicuramente potranno aiutarvi, tutto l'inizio, tra caratteristiche e motivi per cui scegliere l'uno o l'altra. Siete pronti?

RENKFORCE Jak streaming Wi-Fi: una chiavetta USB per Android e iOS

La chiavetta Renkforce Jak abilita il collegamento di Smartphone e Tablet con l’autoradio, TV e altri dispositivi stereo USB enabled. Nella modalità autoradio viene gestita in maniera totale la playlist desiderata, il tutto attraverso la porta USB in dotazione. Il collegamento in modalità Wireless permette al guidatore di viaggiare tranquillamente ed avere un pieno controllo digitale del proprio smartphone in totale sicurezza. Il dispositivo accetta un massimo di 20 collegamenti simultanei e sfrutta la tecnologia Wi-Fi per trasmettere i file musicali/video al dispositivo collegato, offrendo nello stesso tempo un'ottima qualità a differenza della classica connessione bluetooth. Requisiti minimi di …

Implementare un convertitore time-to-digital negli impianti di riscaldamento a radiatori

Poiché i prezzi dell'energia sono aumentati nel corso degli ultimi decenni, il risparmio energetico è diventato un problema sempre più preoccupante. Il riscaldamento (e raffreddamento) è spesso il più grande contributore al consumo di energia in ambienti commerciali e residenziali. Per questo motivo molti sforzi di conservazione si concentrano sull'aggiunta d’isolamento e di tenuta a perdite di aria in vecchi edifici, e la sponsorizzazione di campagne di informazione per ricordare ai clienti l’utilità di impostare i loro termostati in maniera adeguata. Gli impianti di riscaldamento a radiatori (termosifoni) rappresentano una soluzione tecnica affermata per fornire calore, riscaldando e facendo …

AVR STUDIO 4

AVR Studio®  4 è una passata versione, ma ancora molto diffusa, dell’ ambiente di sviluppo integrato di Atmel dedicato alla stesura e al debug software di applicazioni per microcontrollori della serie Atmel AVR® nei sistemi operativi Windows® 98/XP/ME/2000. L’architettura modulare di AVR Studio®  4 permette di utilizzare la medesima interfaccia grafica sia per la Simulazione che per l’Emulazione, semplificando di molto il processo di sviluppo e, in definitiva, permettendo al progettista di contenere considerevolmente il time-to-market. INTRODUZIONE L’interfaccia utente è stata studiata al fine di semplificarne l’utilizzo e per fornire nel contempo una completa panoramica informativa. L’ambiente contiene una sezione …

Un encoder per Arduino

Questo progetto utilizza un economico encoder incrementale per immettere dati numerici su un sistema a microcontrollore, un’alternativa molto compatta ed economica rispetto ai tastierini. Dopo una breve introduzione sul principio di funzionamento degli encoder assoluti e incrementali e loro caratteristiche, ci si sofferma sull’economico encoder elettromeccanico e il suo uso, non tanto come sensore angolare, ma come mezzo d’immissione di dati. Nel programma d’esempio è anche usato il comodo pulsante incorporato per rendere ancora più veloce l’immissione di numerose cifre. Introduzione Dopo aver illustrato i risultati di alcune prove di laboratorio, si passano in rassegna le varie tecniche hardware/software per …

Firmware n. 121 con Software Substitution, Power Design, Caricabatterie Wireless e molto altro!

È uscito il nuovo numero di Firmware! Scopriamo insieme gli articoli di questo mese: innanzitutto la copertina è dedicata alla software substitution. Abbiamo poi scoperto come implementare un convertitore time-to-digital in un contatore dell’acqua ad ultrasuoni e cos’è un servomotore. Ci siamo soffermati sulla realizzazione di un Dongle USB IEEE 802.15.4; abbiamo fornito una panoramica sul power design con dispositivi DC-DC Digital; discusso di caricabatterie wireless e dei relativi standards e svelato come rilevare il tono audio con uno PSoC. Buona lettura! La copertina di Firmware n.121   Il sommario di Firmware n.121   Software Substitution: punto di rottura? …

Send this to a friend