Microcontrollori PIC, microcontrollori Atmel, microcontrollori ARM, Freescale, Texas Instruments, STM, Renesas, NXP etc. A 8bit, a 16bit ed a 32bit! In questa categoria troverete progetti sui microcontrollori, firmware per programmare microcontrollori e tutorial. Ci sono anche articoli su Arduino e DSC, i microcontrollori con a bordo funzioni DSP e molto altro!
							
					
                   	                    
                        					
                            PORTING DEL CODICE Per chi usa microcontrollori  AVR, può  essere  utile sapere che con piccoli accorgimenti è possibile compilare con GCC/WinAVR il codice scritto per IAR-C. Ecco alcuni utilissimi consigli. Registri e  locazioni  di  memoria  possono avere diversi alias definiti nei files .H di IAR e di WinAVR. È dunque consigliato editare tali file per avere uniformità nella nomenclatura. Inoltre i file .H non vengono richiamati automaticamente ma devono essere inclusi esplicitamente utilizzando la direttiva #INCLUDE. In IAR le routines di interruzione vengono gestite utilizzando la direttiva #PRAGMA: #pragma vector=TIMER0_0VF_vect __interrupt void NomeRoutine(){ //codice della routine } In WinAVR la …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Nelle applicazioni embedded è spesso necessario spostare interi blocchi di memoria dalla FLASH alla SRAM o all’interno della SRAM stessa. Ecco una serie di routine assembler (o assembly) per microcontrollori AVR di Atmel ottimizzate per lo spostamento di blocchi di dimensioni fino a 256 bytes. La routine flash2ram consente la copia di un blocco di  memoria  dalla  FLASH alla  SRAM. Per la copia di un blocco di dati all’interno  della SRAM, verrà illustrata la routine  ram2ram. LA COPIA DA MEMORIA FLASH A SRAM I parametri richiesti dalla routine flash2ram sono tre: flashsize,  Z-pointer e Y-pointer.  Il primo specifica la dimensione del …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Un economico kit di sviluppo di Freescale (ora NXP) permette di esplorare in maniera semplice e veloce le possibilità dei micro HCS08. La DEMO9S08QG8  è una scheda di sviluppo a basso costo dedicata al microcontrollore  MC9S08QG8 che mette a disposizione tutto  il necessario per iniziare a sviluppare delle applicazioni per questo microcontrollore  e per testarle. Ecco una serie di esperimenti utili per conoscerli e iniziare ad usarli. LA DEMO BOARD HC08 La scheda monta un debugger integrato (BDM) accessibile via USB che permette di programmare il microcontrollore ed eseguire il debug in-circuit dei programmi. Con la scheda sono forniti  anche …    					
					            
        				    				
							
					
                   	                    
                        					
                            ACCESSO ALLA EEPROM NEI MICRO AVR Scrittura ad un indirizzo specifico Il listato 1 presenta una routine  per la scrittura in EEPROM ad uno specifico indirizzo. La routine EEWrite assume che in EEdwr vi sia il dato da scrivere, in EEawr e EEawrh rispettivamente la parte bassa e la parte alta dell’indirizzo a cui scrivere. In figura 1 il diagramma di flusso della routine. La routine occupa 9 words (oltre il return) e viene eseguita in 11 cicli (oltre il return) se la EEPROM è pronta. .include “8515def.inc” .def EEdwr =r16 ;data byte to write to EEPROM .def EEawr …    					
					            
        				    				
							
					
                   	                    
                        					
                            Il controllo di ridondanza ciclica (altrettanto noto come CRC) è ampiamente utilizzato per la verifica dell’integrità dei dati nei sistemi di comunicazione: ecco come implementarlo su un PIC18F452. Controllo CRC32 con PIC Il listato 1 riporta l’implementazione dell’algoritmo CRC32 basato sul polinomio  04C11DB7 per microcontrollore PIC18F452. Questo tipo di controllo CRC è lo stesso utilizzato nei pacchetti Ethernet e dall’algoritmo di compressione ZIP. Il dato ed il valore corrente del CRC dovranno trovarsi rispettivamente in W e crc[0..3]. La routine restituisce il nuovo valore del CRC utilizzando 94 istruzioni eseguite in 35/85 cicli. list p=p18f452 #include p18f452.inc cblock 0 crc32:4 …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Dal 7 al 14 maggio si svolgerà a Milano un importante evento dal titolo "Disruptive Week Milan", una settimana di eventi nazionali ed internazionali coordinati dedicati alle tecnologie emergenti per evidenziare il modo in cui stanno modificando il nostro business e la vita quotidiana. All'interno di questo grande evento verrà ospitato anche l'EW&D Fortronic, appuntamento dedicato alle tecnologie Embedded, Wireless e Display che si concluderà con un aperitivo tecnologico sul tema “Come rendere Arduino Professionale”, organizzato dallo staff di Elettronica Open Source. L'EW&D Fortronic, è un forum di aggiornamento tecnologico sulle soluzioni Embedded, Wireless e Display per il mondo …    					
					            
        				    				
							
					
                   	                    
                        					
                            Un orologio/datario con visualizzazione su display LCD realizzato con un AT89C4051. In figura 1 è riportato lo schema elettrico. Lo switch SW3 permette di selezionare il parametro da modificare mentre con SW1 ed SW2 rispettivamente si decrementa o si incrementa il parametro selezionato. Il listato 4 riporta alcune delle funzioni per l’implementazione dell’orologio. /*---------------------------------------------------- ****** port and bit assignment for LCD ******* ----------------------------------------------------*/ typedef unsigned char bit_8; sbit rs=P3^5; // register select is port 3.5 sbit rw=P3^4; // read/write is port 3.4 sbit en=P3^3; // enable is port 3.3 sbit d7=P1^7; // busy flag is port 1.7 sbit sel_param=P3^2; // …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            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 …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            È online EOS Top12 di marzo, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Raspberry Pi 3, l'ultimissimo modello con WiFi e Bluetooth integrati; RENKFORCE Jak streaming Wi-Fi; OLO, il primo smartphone per stampare oggetti in 3D; progettazione di filtri digitali con i dsPIC Microchip; CuBox, il mini-computer con sistema operativo Linux e Android; Internet-of-Things Power Meter; ArduSiPM Shield KIT, un rivelatore di raggi cosmici e radiazioni nucleari; un innovativo e-reader da 13.3 pollici; Armadillo-43T & PICadillo-35T; AVR STUDIO 4; F2MC, la …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Una panoramica generale sulla famiglia F2MC, i microcontrollori ad 8 bit di Fujitsu: i campi di applicazione, le modalità di indirizzamento, le istruzioni assembler speciali, i tools di sviluppo. Modelli e campi di applicazione. La gamma dei microcontrollori della Fujitsu spazia su più di 500 dispositivi, con differenti architetture e prestazioni. Si va dalla famiglia base ad 8  bit (F2MC-8L e F2MC-8FX), fino alla serie più evoluta a 32 bit  (FRlite) caratterizzata da una tecnologia a 90nmn,  passando per la famiglia intermedia a 16 bit (F2MC -16L). Le MCU della Fujitsu sono largamente utilizzate in applicazioni industriali, home ed automotive. In quest’ultimo campo …    					
					            
        				    				
							
					
                   	                    
                        					
                            Lettura di sensori analogici con il microcontrollore Un sensore analogico può essere letto direttamente dall’ingresso del convertitore  AD, tuttavia esistono particolari condizioni in cui è necessario considerare eventuali effetti della temperatura, della non linearità del sensore, delle oscillazioni della tensione di alimentazione, nonché delle eventuali tolleranze sui valori dei componenti impiegati. Di seguito sono illustrate tre tecniche diverse per la lettura di un sensore, facilmente utilizzabili su qualsiasi microcontrollore anche non dotato di ingressi analogici. Nell’ipotesi che il sensore sia di tipo resistivo è possibile adottare il metodo noto come RC-Timing in cui viene caricata una capacità nota attraverso …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Una delle applicazioni elettroniche più importanti, utilizzate e complesse è quella dei filtri. Ecco come realizzare il filtraggio di segnali alle frequenze più varie utilizzando un dsPIC Microchip, al posto dei consueti componenti passivi o degli operazionali esterni. TEORIA DEI FILTRI PASSIVI I Filtri Passa Basso Un filtro passa basso è costituito da un circuito elettronico che permette solo il passaggio di frequenze al di sotto di una data frequenza detta "di taglio". Può essere di tipo  attivo  o passivo a seconda del fatto che il massimo guadagno possa essere maggiore di uno nel primo caso, o inferiore a uno nel …    					
					            
        				    				
							
					
                   	                    
                        					
                            Come ottimizzare il codice assembler per i PICmicro È noto che nel linguaggio assembler per PIC vi sono alcune istruzioni che prevedono un bit di destinazione: a seconda del valore di tale bit  il risultato dell’operazione verrà posto nel registro accumulatore W o nel registro sorgente coinvolto nell’operazione. Si supponga ad esempio di voler sommare il contenuto di due registri A e B quindi posizionare il risultato nel registro A. Un primo modo di effettuare questa operazione è quello riportato  nel listato 1, ovvero spostare in W il contenuto del registro A, effettuare la somma con il registro B …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            È online EOS Top12 di febbraio, la nostra raccolta dedicata all'Elettronica e alla Tecnologia! Nel numero di questo mese troverete articoli di qualità sul mondo dei microcontrollori e molti progetti interessanti: Controllino, un PLC Open Source; DM Board ICS, la piattaforma di sviluppo per applicazioni di controllo; PIC10F; realizzazione di un keyboard driver; Aido, l'assistente domestico che aspettavi; modalità di indirizzamento nei dsPIC30F; interfaccia JTAG su megaAVR; Patchblocks, un sintetizzatore programmabile; MCS1000, un microcontrollore per applicazioni di sicurezza; sistema di sviluppo CodeWarrior™ v.6 per architetture ColdFire®; la scheda Open Source C-Control Duino; generazione di toni DTMF con AVR. Se …    					
					            
        				    				
							
					
                   	                    
                        					
                            Esempio di circuito per la rilevazione del passaggio della tensione per lo zero con il microcontrollore MC9SO8QG8 della Freescale. Layout Lo schema di  figura  1 mostra una applicazione del  MC9S08QG8  come  rilevatore  di  passaggio per lo zero con conseguente eccitazione di un triac. La tensione alternata viene applicata ad un ingresso dotato di interrupt e, grazie al potenziometro connesso ad un secondo ingresso analogico, è possibile rilevare anche il  passaggio della tensione di ingresso non solo per lo zero, ma anche per un qualsiasi altro valore compreso tra zero e la tensione di alimentazione. Una applicazione tipica di questo circuito …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Lo sviluppo di applicazioni basate su trasmissione di dati attraverso reti LAN o WAN ha portato alla necessità di una sempre maggiore protezione delle informazioni trasferite. Il processore Moschip MCS1000, si presenta con un valido supporto per progetti in cui la sicurezza è uno degli aspetti fondamentali. Introduzione Il security processor MCS1000 di Moschip si propone come la soluzione ideale per lo sviluppo di progetti  basati su comunicazione Ethernet, in cui la sicurezza dei dati trasmessi è il punto  centrale dell’intero progetto. Si tratta di un system-on-chip (SOC) dalle elevate prestazioni, che  permette  di  implementare  una VPN (Virtual Private Network) basata sul …    					
					            
        				    				
							
					
                   	                    
                        					
                            Pilotaggio del display di un Nokia 3310 con microcontrollore PIC Il display del telefono cellulare Nokia3310 è un LPH7779 da 84x48 pixel. In figura 4 lo schema della connessione del display ad un microcontrollore PIC16F877. Lo schema prevede l’uso di  una EEPROM per la memorizzazione dei caratteri. Nel listato 3 una serie di  routine  scritte in PICC (Hitech) per la gestione del display. Le routine prevedono la dichiarazione delle opportune  variabili, in partico- lare la variabile “bytefornokia” che costituisce il dato da inviare al display. void nokia_write_command(void) //”bytefornokia” viene inviato come comando { nok_dc=0; nok_cs=0; nokia_write_dorc(); nok_cs=1; } void nokia_write_data(void) //”bytefornokia” …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Tutti i meccanismi per l’indirizzamento della memoria nel dsPIC: la tecnica PSV (Program Space Visibility), la tecnica con istruzioni Table, l’indirizzamento Modulo Addressing e la tecnica Bit-Reversed. Introduzione Per illustrare le varie modalità di indirizzamento per un  dsPIC30F è  necessario innanzitutto chiarire quale è la struttura della memoria dei dispositivi di questa famiglia.  La figura  1  mostra la mappa  di memoria del dsPIC30F6014. Lo spazio fisico termina all’indirizzo  0x27FF e la memoria  può  essere pensata composta da celle a 16bit  in cui ciascun byte ha un proprio  indirizzo (indirizzo pari per il byte meno significativo e dispari per quello più significativo). …    					
					            
        				    				
							
					
                   	                    
                        					
                            Riconoscimento automatico del baud-rate su microcontrollori 8051 Nel listato 2 è riportata una tecnica per il riconoscimento automatico del baud rate nelle comunicazioni seriali. La soluzione riportata è scritta per un microcontrollore 8051, ma è facilmente modificabile per altri tipi di micro. Il baud rate viene calcolato assumendo che la comunicazione seriale sia di tipo 8-N-1. autobaud: mov tmod, #0x11 ;abilitazione timer #1 mov tcon, #0x00 clr a mov th1, a mov tl1, a autob2: jb p3.0, * ;attesa start bit jb p3.0, autob2 jb p3.0, autob2 ;Prolungamento dell’attesa jb p3.0, autob2 ;per evitare inneschi da rumore jb p3.0, autob2 jnb …    					
					            
        				    				
							
					
                   	    					
    					                                                            
    					
                                        
                        					
                            Primo microcontrollore al mondo  ad essere presentato nel case SOT-23, il PIC10F20x offre una soluzione miniaturizzata, ma robusta ed efficace per il controllo in soli 6 pin. Com’è chiaro agli utenti più attenti alle evoluzioni del mercato, Microchip ha negli ultimi anni spostato la strategia dei propri investimenti verso l’alta gamma (si pensi alle nuovissime famiglie a 16  bit  PIC24, dsPIC30, dsPIC33 e ai moltissimi componenti usciti nella famiglia ad 8 bit PIC18). Pur avendo effettuato una scelta strategica di questo tipo però, la casa di Chandler cerca naturalmente di mantenere il proprio primato nella vendita di microcontrollori ad 8 …