Microcontrollori & FPGA:

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!

Gestione del sensore di temperatura 1-WIRE DS1820 con AVR

La gestione del sensore di temperatura 1-wire DS1820 con AT90S2343-1: le routines di lettura, setup, invio comandi e conversione in linguaggio assembler. Ecco come leggere il sensore di temperatura DS1820 utilizzando il protocollo 1-wire implementato  su un AT90S2343-1 con oscillatore RC interno a 1MHz. Il sensore è connesso alla portb0. Il listato 1 riporta la routine  integrale. Oltre a mostrare la gestione del sensore 1-wire, la routine mostra anche la conversione del  valore di  temperatura  letto  dal  sensore e  la gestione degli eventuali errori di lettura. ;************************************************************ .equ convert_t= $44 .equ tx= $be .equ led=3 .def temp= r16 .def shift= r17 …

EOS Top12 – Aprile 2016

È online EOS Top12 di aprile, 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: Aperitivo Tecnologico, il nuovo evento organizzato dallo staff di Elettronica Open Source; C-Control, soluzioni per l’automazione; le soluzioni ARM Cortex-M per il Wearable e IoT; ZUBI, un progetto hardware e software per gestire la stampante 3D wireless; una serie di esperimenti con la Demo Board Freescale HC08; Robot Beginner KIT V2; HOVR, un innovativo dispositivo per bruciare calorie a lavoro; programmazione in C; monitoraggio wireless delle stampanti 3D …

Luxmetro con range da 1 a 100 klx

Le tradizionali lampadade ad incandescenza sono state gradualmente tolte dalla produzione in numerosi paesi, inclusa l’Europa e il Canada. Sono rimaste in produzione le lampade alogene, le lampade ad alta efficienza energetica, e le lampade a led, più efficienti rispetto a quelle ad incandescenza. Tuttavia, quando si vuole scegliere il modello di lampada più efficiente, non resta che fidarsi dei dati forniti dal produttore. Sappiamo che fidarsi è bene, ma è sicuramente meglio essere in grado di eseguire le misure da soli. Il luxmetro descritto in questo progetto è proprio lo strumento che occorre per questo scopo. Introduzione Quando si …

Programmazione degli ADuC via seriale

Una panoramica sul microcontrollore ADuC, della Analog Devices e l’analisi del protocollo utilizzato per la sua programmazione. La famiglia degli ADuC, basata sul core 8052, comprende diverse varianti a seconda del progetto a cui essi sono destinati.  Perciò sono identificati  da un valore numerico, proprio come un normale circuito integrato. I modelli e loro caratteristiche Introduzione: Gli ADuC rappresentano un ottimo condensato di elettronica mixed-signal, in quanto sono dotati al loro interno, oltre ad un core 8052, anche un ADC, DAC e dei banchi di memoria programma e dati (Figura 1). La tabella 1 elenca i vari modelli ed i …

Porting del codice da IAR-C a GCC/WINAVR

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 …

Routines per la copia di blocchi di memoria su AVR

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 …

Esperimenti con la Demo Board Freescale HC08

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

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 …

Controllo CRC32 con PIC

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 …

Aperitivo tecnologico Milano – Come rendere Arduino Professionale

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 …

Real-Time clock con AT89C4051

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; // …

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 …

EOS Top12 – Marzo 2016

È 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 …

F2MC: La famiglia di microcontrollori a 8 bit di Fujitsu

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 …

Come leggere i sensori analogici con il microcontrollore

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 …

La progettazione di filtri digitali con i dsPIC Microchip

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 dei PICmicro

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 …

EOS Top12 – Febbraio 2016

È 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 …

Zero crossing detection con Freescale MC9S08QG8

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 …

Un microcontrollore per applicazioni di sicurezza: MCS1000

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 …

Send this to a friend