è 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.
Una libreria per la gestione di dispositivi 1-wire con AVR. La libreria è scritta in C per WinAVR (AVR GCC). Per la gestione dei dispositivi 1-wire ecco una libreria in C per l’inizializzazione, l’invio e la ricezione dei dati. La funzione di inizializzazione init_1W() non richiede parametri e predispone il dispositivo 1-wire alla trasmissione/ricezione dati. La trasmissione verso il dispositivo viene effettuata con la funzione send_1W(char) alla quale deve essere passato come parametro il carattere da inviare. La ricezione di un dato avviene con la funzione get_1W() che non richiede parametri e ritorna il carattere ricevuto. Le tre funzioni si appoggiano ad una …
Ormai quasi tutti hanno preso confidenza con l'acquisto online, grazie anche all'incremento della fiducia e della sicurezza con i pagamenti online grazie a colossi dell'e-commerce. Ciò di fatto ha ridotto gli introiti dei negozi fisici, che purtroppo devono ricorrere al riparo pensando a nuove soluzioni e tecniche. La differenza sostanziale tra un negozio fisico e un e-commerce sta nella tipologia di interazione che in gergo viene detta customer-experience. In un negozio, il commesso o l'operatore deve essere in grado di soddisfare le esigenze del cliente, ma la difficoltà più grande è come attirare un nuovo cliente. In genere ad …
Le possibilità offerte dal linguaggio C sono infinite, soprattutto quando c'è da gestire, in modo ordinato e preciso, i propri algoritmi. Scrivere una propria funzione, e riutilizzarla, è una prerogativa di quasi tutti i linguaggi di programmazione, ma il C lo fa in modo esemplare. L'articolo che segue affronta il tema con estrema chiarezza, approfondendo anche l'argomento del passaggio e del ritorno dei parametri e dei valori. Introduzione Il mio primo linguaggio di programmazione fu il Basic per lo ZX81 Sinclair, uno dei primi Home Computer. La sua memoria era estremamente limitata, solo 1Kb di Ram (avete letto bene, …
È uscito il nuovo numero di Firmware! Scopriamo insieme gli articoli di questo mese: innanzitutto la copertina è dedicata LoRa, la nuova tecnologia wireless. Abbiamo poi proseguito con: alimentazione per i dispositivi wireless remoti; come arricchire i progetti embedded con display HMI; il design con gli oscilloscopi digitali; i giroscopi MEMS nei sistemi di controllo feedback; la certificazione in Safety dei sistemi avionici sulle architetture di processori multi-core; Voltage Reference nel sensing dei processi industriali di controllo. Buona lettura! La copertina di Firmware n. 128 Il sommario di Firmware n. 128 LoRa: una Wide Area Network per …
Le modalità con cui gli utenti accedono e utilizzano i dati in formato grafico sono in continua evoluzione. Il display più adatto al vostro particolare progetto e il chipset che è necessario implementare dipendono dai requisiti tecnici del vostro prodotto e dalle aspettative del mercato relative al vostro segmento/target. Nell’era attuale, caratterizzata dalla presenza di dispositivi elettronici sempre più sofisticati e intelligenti, i sistemi embedded hanno realmente bisogno di un display digitale ? E se sì, di che tipo? Analizziamo alcuni degli aspetti che stanno alla base di queste domande che probabilmente sorgono spontanee nella mente di ogni progettista …
Inizia oggi una serie di articoli dedicati alla programmazione ed allo sviluppo nonché alla prototipazione rapida. Solo che questa volta non parliamo del "solito" Arduino ma di qualcosa che gravita nella sua orbita, ovvero di una scheda di prototipazione rapida che prende il nome di Flip & Click, e di un linguaggio di programmazione che si dimostra assolutamente versatile e facilmente utilizzabile su diverse piattaforme; stiamo parlando di Python. Abbiamo un'agenda piuttosto fitta per questo corso per cui prima di tutto vogliamo parlarvi di quali saranno gli argomenti che tratteremo. Introduzione Python è un linguaggio di programmazione che si …
Le interfacce uomo-macchina ci permettono di comunicare in maniera semplice ed elegante con la tecnologia. Attualmente ci stiamo affacciando verso ulteriori interfacce di gesture recognition o riconoscimento gesti, touch e riconoscimento vocale, che cambieranno totalmente il nostro modo di interagire con la tecnologia. Intelligenza artificiale e computer a 5 sensi contribuiranno ad un deciso passo per migliorare la tecnologia del prossimo futuro, forse non troppo lontano. I nuovi dispositivi indossabili e smartwatch dovranno far affidamento inevitabilmente a nuove soluzioni di interfacce, evitando qualsiasi contatto fisico con il dispositivo. Queste dovranno migliorare non solo l'interazione con la tecnologia, ma fornire …
Con il termine ottimizzazione ci riferiamo a tutte le tecniche di miglioramento di un programma, sotto diversi aspetti: ottimizzazione del codice, di velocità, di spazio occupato in memoria, eccetera. L'articolo tratta, in maniera semplice ed esaustiva, dei metodi per rendere il proprio programma più performante ed affidabile, secondo le diverse esigenze del programmatore e, soprattutto, dell'utente che lo deve utilizzare. Introduzione Un programma, come abbiamo anche visto nelle puntate precedenti, può essere scritto ed organizzato in tantissimi modi diversi. Non esiste una soluzione migliore in assoluto ma ci sono, sicuramente, dei casi in cui il software risulta funzionante, ma …
Il chip RSC-4128, prodotto molti anni fa dalla Sensory, è un microcontrollore ad 8 bit dotato di ADC, DAC, preamplificatore microfonico, RAM, ROM, 24 GPIO (General Purpose Input Output) e 4 timer. Il chip implementa (tramite un apposito firmware precaricato, il FluentChipTM) algoritmi basati su reti neurali e DTW per consentire il riconoscimento vocale Speaker Independent (SI) e Speaker Dependent (SD), anche in ambienti fortemente rumorosi. INTRODUZIONE Il chip RSC-4128 è basato su un core con istruzioni a lunghezza variabile (e comunque non superiori ai 3 byte), il cui set di istruzioni risulta molto simile a quello dell’8051. Il micro …
Come molte altre attività di un comune flusso di sviluppo HW o SW, anche la simulazione di un circuito HDL può essere condotta sia tramite approcci più manuali, che richiedono il costante controllo da parte dell’operatore, sia tramite approcci più automatici, basati su strumenti che minimizzano la necessità di intervento umano e comportano molti altri vantaggi. Controllare una simulazione HDL tramite script vuol dire, infatti, poterla lanciare in qualunque momento senza costi che non siano il tempo macchina, poter documentare in un formato univoco ed eseguibile la sequenza di operazioni che descrive il test e poterne quindi tracciare eventuali …
Il concetto di wireless si è diffuso prepotentemente nelle nostre abitudini già da molti anni in relazione al trasferimento di informazione: non ci occorre più un cavo per guadagnare la connessione ad un punto d’accesso ad internet col nostro PC e abbiamo più di una scelta quando vogliamo trasmettere un contenuto dal nostro cellulare a quello del nostro amico. Prima o poi dovremo tuttavia collegare il nostro dispositivo mobile ad una presa di corrente per ricaricarne la batteria. O meglio, era così fino a ieri: la tecnologia Qi, che sfrutta l'induzione magnetica per realizzare il trasferimento di potenza wireless, è …
Le potenzialità messe a disposizione dal chip MCF52233 di Freescale (ora NXP) offrono al programmatore la possibilità di creare in pochi passi un server web personalizzabile con cui realizzare il controllo remoto di apparecchiature elettroniche. L’MCF52233 lanciato molti anni fa è basato su core 68K/ColdFire a 32bit con interfaccia Ethernet. Esso integra un FEC 10/100Mbps (Fast Ethernet Controller) e un EPHY (Ethernet Physical Layer), garantendo eccezionali prestazioni in applicazioni orientate alle reti. Il chip MCF52233 e la DEMO Board L’MCF52233 è basato su core 68K/ColdFire a 32bit offrendo ottime prestazioni in ambito delle reti. Per testare i propri progetti sono previsti i due kit …
Intel ha acquistato il 100% delle azioni di Altera, uno dei due maggiori produttori mondiali di logiche programmabili, tramite una Offerta Pubblica di Acquisto (OPA). L'ha pagata a caro prezzo: 54$ per azione, 16,7 miliardi di dollari in totale. L'aspetto sinergico derivante dall'unione del know-how tecnologico di entrambe le aziende di semiconduttori è stato il motivo trainante dell'operazione finanziaria. E guarda caso, il motore trainante dell'interessamento di Intel verso Altera è ancora Internet of Things, quel mercato che porterà 50 miliardi di dispositivi elettronici in giro per il mondo entro la data del 2020. Un giro di affari troppo grande …
ARM Cortex-M1 a 32 bit è il primo processore progettato per l'impiego in FPGA. E' stato integrato nel software di progettazione Quartus II di Altera, configurabile come un componente nello strumento SOPC Builder. SOPC Builder è incluso nel software Quartus II ed è un potente strumento di sviluppo che consente di definire e generare un system-on-a-programmable-chip (SOPC) in meno tempo rispetto all'utilizzo di metodi di integrazione manuali tradizionali. Il processore Cortex-M1 viene fornito nel tool SOPC Builder con la proprietà intellettuale (IP), per consentire agli OEM di integrarlo rapidamente con le altre componenti del sistema. Il processore Cortex-M1 beneficia …
L'articolo esamina le motivazioni che portano ad aggiungere delle interfacce uomo-macchina (HMI) sempre più attraenti per i prodotti della propria società, sia per motivi di estetica, di funzionalità o anche solo per differenziarli nei confronti dei concorrenti. Include anche una panoramica dei diversi tipi di display presenti sul mercato, delle diverse opzioni di interfaccia e dei criteri per la selezione del display. Vi è anche un'analisi di come il display può contribuire al profitto dell’azienda. Questo documento è per voi? Non è tecnico e nemmeno mirato a chi muove i primi passi nel design HMI. Allora, perché prendere in …
Dopo avere esaminato, nella scorsa puntata, le porte di comunicazione in modalità di uscita, questa volta le osserveremo come canali di input, per impartire comandi e istruzioni verso il Raspberry. Con l'acquisizione di tali competenze, l'utente sarà adesso capace di scrivere applicazioni con flusso "bilaterale". In altre parole, il Raspberry sarà capace di comandare dispositivi esterni collegati ad esso ma anche di ricevere istruzioni da periferiche collegate come, ad esempio, pulsanti, interruttori, circuiti, sensori e molto altro. L'articolo esaminerà, come al solito, le informazioni basilari e strettamente necessarie, proprio per non confondere le idee a chi sta iniziando adesso …
Con l’avanzare dell’era di Internet of Things (IoT), proliferano sempre più le discussioni relative alla sua sicurezza e affidabilità. Internet of Things (IoT) è una grande realtà, ma rimane sempre presente la minaccia di subire un attacco, sia esso di tipo sniffing, spoofing, o injection. Un’architettura di sistema embedded opportunamente progettata può aiutare a difendersi contro queste tipologie di attacchi. Indipendentemente dal punto di vista, l’IoT è nato ed è destinato a rimanere qui a lungo, guidando la convergenza tra il mondo Internet e le industrie del settore embedded. Introduzione La componente hardware, un tempo limitata da numerosi vincoli, …
Quando Apple ha lanciato l'iPhone, quasi dieci anni fa, ha innescato una rivoluzione nel campo della progettazione delle interfacce utente per i sistemi embedded. Anche se i touch screen erano già in uso da alcuni decenni, ad esempio nei terminali CAD o nei sofisticati controlli industriali, l'integrazione dei gesti nelle interfacce uomo-macchina aprì la strada a molte nuove possibilità di interazione. Oltre al tocco, gli utenti hanno imparato gesti semplici come "pitch" e "zoom", pizzicare e allargare, e presto hanno iniziato a chiedere la presenza di maggiori funzionalità anche negli altri dispositivi utilizzati. Introduzione Per i costruttori di una …
Le librerie software modulari, come la Elektor EFL (Embedded Firmware Library), presentano numerosi vantaggi, ma il loro utilizzo in un progetto in fase di sviluppo richiede degli step addizionali, spesso non alla portata del principiante. In questo articolo descriveremo un'applicazione basata su script che, con un semplice click del mouse, è in grado di generare un nuovo progetto EFL in Atmel Studio. I lettori più esperti potranno inoltre trovare dei suggerimenti su come ridurre l'utilizzo della memoria richiesta dal firmware prodotto. Introduzione Le librerie software modulari come le EFL presentano numerosi vantaggi (analizzati a fondo in [1]), in particolare …
Il Vibrometro è uno strumento largamente utilizzato in ambito industriale, per monitorare lo stato di funzionamento di una macchina (pompe per vuoto, motori trifase, e così via), ma anche in ambienti di ricerca dove si rende necessario misurare componenti armoniche (moti ondosi, il vento, o la variazione altimetrica). Il progetto consta di pochi elementi (un display LCD, alcune resistenze, un piezo, un potenziometro, e naturalmente Arduino), ma espone in dettaglio concetti chiave quando si progetta un’applicazione che coinvolge l’acquisizione di segnali analogici, e la loro interpretazione per l’estrazione delle informazioni. L'utilizzo, inoltre, della piattaforma open source Arduino consente a …