SlideShare a Scribd company logo
http://forum.arduino.cc/index.php?action=profile;u=58300
CORSO di ELECTRONIC DESIGN AND RAPID
PROTOTYPING
UNIVERSITA’ DEL SALENTO
Dip. Ingegneria dell’Innovazione
Prof. P. Visconti
Argomenti
 Architettura generaledei microcontrollori
 Ambiente disviluppo integrato
 Caratteristiche e elementi di Arduino UNO
 Principali caratteristiche delATmega328P
 Concetti di porte e pin del microcontrollore
 Istruzioni per comandare i pin del microcontrollore
 Nel 2005 un gruppo di ricerca del Italy’s Interaction
Institute of Ivrea ha sviluppato una piattaforma elettronica
basata su microcontrollore destinata a scopi didattici e di
ricerca denominata Arduino. Il nome deriva un bar posto nelle
vicinanze dell’istituto denominato Bar di Re Arduino.
 Dalla sua prima comparsa Arduino ha attirato l’attenzione di
studenti inventori e ingegneri, i quali hanno scritto e
condiviso codice e progettato soluzioni hardware dedicate a
tali schede
Nascita di Arduino
Il primo prototipo funzionante diArduino
Il prototipo “zero” di Arduino,“quando
ancora si chiamava Programma 2003”
Nascita di Arduino
Arduino con interfaccia seriale RS-232
piuttosto che con interfaccia USB
Arduino Duemilanove
Evoluzione di Arduino
Arduino NG (NuovaGenerazione)
Millestone:
 2005 Prima versione della scheda
basata sul microcontrollore AVR
ATmega8 con programmazione e
scambio dati RS232.
 2006 Arduino NG (nuova
generazione).
 2008 Arduino Duemilanove versione
basata sul microcontrollore Atmel
ATmega 328 (raddoppia memoria on-
chip 32kB).
 2010 Arduino Uno basato su
microcontrollore Atmega 328.
 2010 Arduino Mega2560 basato sul
microcontrollore Atmega 2560 porta
la memoria programma on-chip a
disposizione della scheda fino a
256kB, mettendo a disposizione un
maggior numero di GPIO (54) e
aumentate interfacce di
comunicazione.
 2010 Arduino Uno R3 si differenzia
dalla versione 2009 per la presenza di
uno speciale convertitore USB/seriale
che è implementato da un
microcontrollore ATmega8U2 in cui è
integrato un transceiver USB
liberamente programmabile
Arduino Uno Arduino Uno R3
http://arduino.cc/en/Main/Products
ArduinoMega 2560
ArduinoEthernet
ArduinoLeonardo ArduinoYUN
ArduinoNANO
Arduino Due
Arduino Mini
Cos’èArduino?
Arduino è una piattaforma elettronica
hardware dotata di microcontrollore.
In aggiunta, Arduino include un
opportuno software di sviluppo
(Arduino IDE Integrated Development
Enviroment), all’interno del quale è
poter scrivere i programmi
(denominati sketch) che verranno
eseguiti dal microcontrollore.
Piattaforma di sviluppo open source
Open Source Hardware
Open Source Software
Economica e facilmente reperibile
Espandibile tramite «shield»
http://arduino.cc/en/Main/ArduinoBoardUno
OpenHardware
Sistema di espansione ashield
http://shieldlist.org/
PrimadiArduino…
Computer
• Software
• Eclipse
• A
VRStudio 4
•Porte
• Serial
• Parallel
• USB
Programmatore
• Interfaccia
• JTAG/ICE
• ISP
•Programmatore
• Bit-Bang
• ICSP
• AVRISPMk II
Microcontrollore
• Versione
•DIP
•SOIC
•QFN
•Funzioni
•ADC/DAC
•PWM
•USB
Arduino UnoR3
LED
Connettore
USB
JackAlimentazione
Connettori PinDigitali
Pulsante di Riavvio
Microcontrollore
AVR
ATmega328P
Connettori PinAnalogici
Connettori alimentazione
Convertitore
USB-Seriale
Arduino UnoR3
Alimentazione
La scheda Arduino Uno può essere alimentata attraverso la connessione USB oppure con un alimentatore esterno
tramite l'apposito plug.
Come visibile nello schema, la fonte di alimentazione è selezionata automaticamente,
attraverso il circuito formato da uno dei due amplificatori operazionali contenuti
nell’integrato U1 LM358D e dal Mosfet T1 a canale P tipo FDN304.
Connettore USB
Alimentazione
Esterna
Alimentazione con
batteria
<Vin; restituisce la tensione applicata dall'alimentatore al plug e può
essere usato per alimentare altri circuiti che dispongano già di un
regolatore di tensione (ad esempio gli shield applicati al modulo);
<GND; è il contatto di massa (GND).
<5 V; fornisce i 5 volt prelevati dall'uscita del regolatore interno ed è utile
per alimentare altri circuiti compatibili con i 5 volt;
<3.3V; questo pin fornisce i 3,3 volt ricavati dal regolatore corrispondente
e consente di alimentare circuiti compatibili con tensioni di 3,3 volt (la
massima corrente prelevabile e di 150 mA);
Tutte le tensioni sono disponibili sui pin del connettore POWER
Arduino UnoR3
Interfaccia seriale
Per l’interfaccia seriale come già detto nell’ scheda Arduino UNO non utilizza un chip FTDI (il FT232RL (o
alternativamente il CH340 o CH341) per convertire i segnali da USB a seriale TTL e viceversa. È invece utilizzato un
microcontrollore ATmega8U2 in cui è integrato un transceiver USB liberamente programmabile.
ProgrammazioneconAtmega8U2 ProgrammazioneconCH340
In questo modo a differenza del chip della FDTI, per il quale era necessario installare appositi driver, con I'utilizzo
dell'integrato ATmega8U2 ciò non è più necessario, perché sono usati i driver comuni della periferica USB già
disponibili con il sistema operativo. La presenza del connettore ICSP1 permette agli utenti avanzati di riprogrammare il
processore, trasformando la scheda Arduino UNO in un diverso tipo di dispositivo USB. Per esempio si potrà usare
la scheda come tastiera, mouse, disco driver o come un'interfaccia MIDI, ecc Il clock del processore è fornito di
quarzo da 16 MHz Q1.
Microcontrollore
In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController
Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione
alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero
per applicazioni specifiche di controllo digitale.
http://it.wikipedia.org/wiki/Microcontrollore
ANALOG
INPUTS
AVR(Alf and Vegard RISC
processor)
• Sviluppati daAtmel nel 1996
• Famiglia di Microcontrollori RISC
(reduced instruction setcomputer)
• Istruzioni alunghezzafissa, accessoalla memoria di tipo load-storecon
32 registri general-purpose
• Pipeline adue stadi per velocizzarel’esecuzione
• Esecuzionedella maggior parte delle istruzioni in un solo ciclo di clock
• Fino a12 volte più veloce di una architettura standardCISC
Architettura Harvard
http://it.wikipedia.org/wiki/Architettura_di_von_Neumann
Architettura VonNeumann
Nella macchina di von Neumann:
• dati e istruzioni memorizzati in un’unica memoria che
permette lettura e scrittura;
• la memoria è costituita da celle uguali, indirizzate
dalla loro posizione;
• le istruzioni vengono eseguite in modo sequenziale.
http://it.wikipedia.org/wiki/Architettura_Harvard
Architettura Harvard
Surveyor SRV-1 Blackfin Robot
 L'architettura di Von Neumann si contrappone
all'architettura Harvard nella quale invece i dati
del programma e le istruzioni del programma sono
memorizzati in spazi di memoria distinti.
 Nello specifico i microcontrollori Atmel AVR
utilizzano una memoria flash per la
memorizzazione del programma, mentre una
memoria SRAM (Static RAM) per la
memorizzazione dei dati
AVRMicrocontroller(caratteristiche)
 Memoria Flash programmabile (almeno 10.000 volte) , RAM, EEPROM
interne (scrivibile almeno 100.000 volte)
 Sistema di programmazione interno (ISP)
 Varietà di periferiche: I/O digitali, ADC, Timer, UART, RTC timer, pulse
width modulator (PWM)…
 Clock fino a 20MHz
 Ampia gamma di tensioni di funzionamento: da 1.8 V a 6.0 V.
 Package variabile da 8 pin fino a 64 pin
 Watchdog con oscillatore interno autonomo
 POR (Power On Reset)
 Famiglie
 ATtiny25-45-85, ATtiny24-44-84, ATtiny2313-4313 ...
 ATmega88, ATmega168, ATmega328P ...
 XMega (sigle che iniziano con "ATXMega")
AtmelATmega328P
Versione PDIP
Plastic Dual In-linePackage
Versione SMD
Surface-Mount Device
http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-
328-328P_datasheet.pdf
CaratteristicheATmega328P
http://arduino.cc/en/Main/ArduinoBoardUno
Caratteristiche ArduinoUno
Tensionedi lavoro deipin
• I Microcontrollori sono fondamentalmente dei dispositivi digitali
dove l’informazione è ‘codificata’in due stati discreti:
• HIGH or LOW (stato logici: 1oppure 0)
Tensioni
• 5 V(per lo stato HIGH)
• 0 V(per lostatoLOW)
• 3.3 V(per lo stato HIGH)
• 0 V(per lostatoLOW)
http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-
328-328P_datasheet.pdf
Valorimassimi
Schemaablocchi - Architettura internaATmega328
Perifericheinterne
• Memoria Flash (memoria
Programma)
• Memoria SRAM (memoria dati)
• Memoria EEPROM (memoria dati)
• WatchDog Timer
• Interfaccia Seriale
• Interfaccia SPI
• Interfaccia I2C
• Convertitore Analogico –Digitale
• Timers
• Porte/Pin
Memorieintegrate
Architettura Harvard
Flash-program memory
• 32kB
 SRAM-data memory
• 2KB
 EEPROM
• Per dati da
conservare anche in
caso di rimozione
dell’alimentazione.
• Presenza su I/O bus
Memorieintegrate
Flash memory (32KB) (indirizzi da 15bit)
• Utilizzata per la memoria programma-
sola lettura
• Non volatile
• Alloca i dati nella flash utilizzando l
l’attributo PROGMEM
 SRAM (2KB)
• Valori temporanei, stack,etc…
• Memoria volatile
• Dimensione limitata
 EEPROM (1KB)
• Dati a lungo termine
FLASH PROGRAM MEMORY
Visto che tutte le istruzioni AVR sono a 16bit o 32bit, la memoria flash per la
memorizzazione del programma è organizzato in 16K locazioni x 16 bit. Per motivi di
sicurezza del software la memora flash è divisa in due sezioni: la sezione destinata al
bootloader e la sezione destinata alla memoria del programma nel dispositivo. Il
program counter (PC) del ATmega328/P è largo 14bits, in modo da indirizzare le 16K
locazioni di memoria programma.
SRAM Data Memory
Ci sono 5 metodi di indirizzamento:
• Diretto;
• Indiretto con spostamento;
• Indiretto;
• Indiretto con pre-incremento;
• Indiretto con post-incremento
Le 2303 locazioni di memoria dati più basse indirizzano sia i Register File, la
memoria I/O, la memoria I/O estesa e i dati della SRAM. Le prime 32 locazioni
indirizzano i Register File, le successive 64 locazioni indirizzano la memoria I/O ,
dopo 160 locazioni della memoria I/O estesa, e i successivi 2K locazioni indirizzano i
dati della SRAM.
GeneralPurposeRegister
SRAM Data Memory
GeneralPurposeRegister
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
SRAM Data Memory
AVR CPU
• Caricamento istruzione
dalla memoria
programma (Fetch)
• Caricamento dati dalla
memoria dalla memoria
dai registri.
• Decodifica dell’istruzione
(Decode)
AVR CPU
• Esecuzione
istruzione (Execute)
AVR CPU
SRAM Data Memory
L’accesso alla memoria SRAM è eseguito in due cicli di clock come descritto nella
figura seguente:
Porte ePindelMicrocontrollore
Costituiscono il canale di
comunicazione del flusso di
informazioni da e per il
microcontrollore.
Pin Digitali della scheda Arduino (pin
microcontrollore):
• Pins 0 – 7: PORT D [0:7] (pin 2-6,11-13)
• Pins 8 – 13: PORT B [0:5] (pin 14-19)
• Pins 14 – 19: PORT C [0:5] (pin 1, 23-28)
(configurabili anche come pin analogici)
• I pin digitali 0 e 1 sono RX and TX per la
comunicazione seriale
• il pin digitale 13 è connesso anche ad un
LED integrato sulla scheda
Es. PORTB
• Pins PB0 – PB7 Possono non essere contigui
• spesso sono bidirezionali.
Un insieme di pin
definisce una porta del
microcontrollore
SchemaATmega328PDIP
http://forum.arduino.cc/index.php/topic,146315.0.html
Nome
Pin
Funzioni
Speciali
Numero
Pin
http://forum.arduino.cc/index.php/topic,146315.0.html
Schemaatmega328SMD

More Related Content

PDF
Arduino 2- Slide descrizione Architettura
KEY
Introduzione ad Arduino
PDF
Introduzione ad Arduino del Maker DevLab
PPTX
Arduino ICT2016 [IT]
PDF
Arduino galileo edison_udoo
PDF
Csp@scuola uav corso1_lez2
PDF
Introduzione a Arduino
PPTX
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Arduino 2- Slide descrizione Architettura
Introduzione ad Arduino
Introduzione ad Arduino del Maker DevLab
Arduino ICT2016 [IT]
Arduino galileo edison_udoo
Csp@scuola uav corso1_lez2
Introduzione a Arduino
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...

Similar to SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf (20)

PDF
Software libero nei sistemi embedded
PDF
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
PDF
Microcontrollori
PPTX
Arduino primo v1
PDF
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
PDF
Open Hardware: Arduino, un prodotto italiano
ODP
OpenHardware : Arduino
PDF
Intro to Arduino
PDF
Corso Arduino Base - Basi Pratiche con Arduino Genuino
PDF
Lezione 2 arduino - corso 20 ore
DOC
Arduino & raspberry pi - Un connubio stimolante
PDF
Arduino day 2017
PDF
Csp@scuola uav corso1_lez3
PDF
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
PPTX
An IoT prototype: from ideation to promotion
PDF
Arduino & Smartphone
RTF
Arduino&raspberry pi - Un connubio vincente
PDF
Arduino prima spiegazione
PPTX
Webinar porting e ottimizzazione per x86
Software libero nei sistemi embedded
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Microcontrollori
Arduino primo v1
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Open Hardware: Arduino, un prodotto italiano
OpenHardware : Arduino
Intro to Arduino
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Lezione 2 arduino - corso 20 ore
Arduino & raspberry pi - Un connubio stimolante
Arduino day 2017
Csp@scuola uav corso1_lez3
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
An IoT prototype: from ideation to promotion
Arduino & Smartphone
Arduino&raspberry pi - Un connubio vincente
Arduino prima spiegazione
Webinar porting e ottimizzazione per x86
Ad

SLIDES PRESENTAZION LEZIONE 1 ARDUINO.pdf

  • 1. http://forum.arduino.cc/index.php?action=profile;u=58300 CORSO di ELECTRONIC DESIGN AND RAPID PROTOTYPING UNIVERSITA’ DEL SALENTO Dip. Ingegneria dell’Innovazione Prof. P. Visconti
  • 2. Argomenti  Architettura generaledei microcontrollori  Ambiente disviluppo integrato  Caratteristiche e elementi di Arduino UNO  Principali caratteristiche delATmega328P  Concetti di porte e pin del microcontrollore  Istruzioni per comandare i pin del microcontrollore
  • 3.  Nel 2005 un gruppo di ricerca del Italy’s Interaction Institute of Ivrea ha sviluppato una piattaforma elettronica basata su microcontrollore destinata a scopi didattici e di ricerca denominata Arduino. Il nome deriva un bar posto nelle vicinanze dell’istituto denominato Bar di Re Arduino.  Dalla sua prima comparsa Arduino ha attirato l’attenzione di studenti inventori e ingegneri, i quali hanno scritto e condiviso codice e progettato soluzioni hardware dedicate a tali schede Nascita di Arduino
  • 4. Il primo prototipo funzionante diArduino Il prototipo “zero” di Arduino,“quando ancora si chiamava Programma 2003” Nascita di Arduino Arduino con interfaccia seriale RS-232 piuttosto che con interfaccia USB
  • 5. Arduino Duemilanove Evoluzione di Arduino Arduino NG (NuovaGenerazione) Millestone:  2005 Prima versione della scheda basata sul microcontrollore AVR ATmega8 con programmazione e scambio dati RS232.  2006 Arduino NG (nuova generazione).  2008 Arduino Duemilanove versione basata sul microcontrollore Atmel ATmega 328 (raddoppia memoria on- chip 32kB).  2010 Arduino Uno basato su microcontrollore Atmega 328.  2010 Arduino Mega2560 basato sul microcontrollore Atmega 2560 porta la memoria programma on-chip a disposizione della scheda fino a 256kB, mettendo a disposizione un maggior numero di GPIO (54) e aumentate interfacce di comunicazione.  2010 Arduino Uno R3 si differenzia dalla versione 2009 per la presenza di uno speciale convertitore USB/seriale che è implementato da un microcontrollore ATmega8U2 in cui è integrato un transceiver USB liberamente programmabile
  • 6. Arduino Uno Arduino Uno R3 http://arduino.cc/en/Main/Products ArduinoMega 2560 ArduinoEthernet ArduinoLeonardo ArduinoYUN ArduinoNANO Arduino Due Arduino Mini
  • 7. Cos’èArduino? Arduino è una piattaforma elettronica hardware dotata di microcontrollore. In aggiunta, Arduino include un opportuno software di sviluppo (Arduino IDE Integrated Development Enviroment), all’interno del quale è poter scrivere i programmi (denominati sketch) che verranno eseguiti dal microcontrollore. Piattaforma di sviluppo open source Open Source Hardware Open Source Software Economica e facilmente reperibile Espandibile tramite «shield»
  • 11. PrimadiArduino… Computer • Software • Eclipse • A VRStudio 4 •Porte • Serial • Parallel • USB Programmatore • Interfaccia • JTAG/ICE • ISP •Programmatore • Bit-Bang • ICSP • AVRISPMk II Microcontrollore • Versione •DIP •SOIC •QFN •Funzioni •ADC/DAC •PWM •USB
  • 12. Arduino UnoR3 LED Connettore USB JackAlimentazione Connettori PinDigitali Pulsante di Riavvio Microcontrollore AVR ATmega328P Connettori PinAnalogici Connettori alimentazione Convertitore USB-Seriale
  • 13. Arduino UnoR3 Alimentazione La scheda Arduino Uno può essere alimentata attraverso la connessione USB oppure con un alimentatore esterno tramite l'apposito plug. Come visibile nello schema, la fonte di alimentazione è selezionata automaticamente, attraverso il circuito formato da uno dei due amplificatori operazionali contenuti nell’integrato U1 LM358D e dal Mosfet T1 a canale P tipo FDN304. Connettore USB Alimentazione Esterna Alimentazione con batteria <Vin; restituisce la tensione applicata dall'alimentatore al plug e può essere usato per alimentare altri circuiti che dispongano già di un regolatore di tensione (ad esempio gli shield applicati al modulo); <GND; è il contatto di massa (GND). <5 V; fornisce i 5 volt prelevati dall'uscita del regolatore interno ed è utile per alimentare altri circuiti compatibili con i 5 volt; <3.3V; questo pin fornisce i 3,3 volt ricavati dal regolatore corrispondente e consente di alimentare circuiti compatibili con tensioni di 3,3 volt (la massima corrente prelevabile e di 150 mA); Tutte le tensioni sono disponibili sui pin del connettore POWER
  • 14. Arduino UnoR3 Interfaccia seriale Per l’interfaccia seriale come già detto nell’ scheda Arduino UNO non utilizza un chip FTDI (il FT232RL (o alternativamente il CH340 o CH341) per convertire i segnali da USB a seriale TTL e viceversa. È invece utilizzato un microcontrollore ATmega8U2 in cui è integrato un transceiver USB liberamente programmabile. ProgrammazioneconAtmega8U2 ProgrammazioneconCH340 In questo modo a differenza del chip della FDTI, per il quale era necessario installare appositi driver, con I'utilizzo dell'integrato ATmega8U2 ciò non è più necessario, perché sono usati i driver comuni della periferica USB già disponibili con il sistema operativo. La presenza del connettore ICSP1 permette agli utenti avanzati di riprogrammare il processore, trasformando la scheda Arduino UNO in un diverso tipo di dispositivo USB. Per esempio si potrà usare la scheda come tastiera, mouse, disco driver o come un'interfaccia MIDI, ecc Il clock del processore è fornito di quarzo da 16 MHz Q1.
  • 15. Microcontrollore In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero per applicazioni specifiche di controllo digitale. http://it.wikipedia.org/wiki/Microcontrollore ANALOG INPUTS
  • 16. AVR(Alf and Vegard RISC processor) • Sviluppati daAtmel nel 1996 • Famiglia di Microcontrollori RISC (reduced instruction setcomputer) • Istruzioni alunghezzafissa, accessoalla memoria di tipo load-storecon 32 registri general-purpose • Pipeline adue stadi per velocizzarel’esecuzione • Esecuzionedella maggior parte delle istruzioni in un solo ciclo di clock • Fino a12 volte più veloce di una architettura standardCISC Architettura Harvard
  • 17. http://it.wikipedia.org/wiki/Architettura_di_von_Neumann Architettura VonNeumann Nella macchina di von Neumann: • dati e istruzioni memorizzati in un’unica memoria che permette lettura e scrittura; • la memoria è costituita da celle uguali, indirizzate dalla loro posizione; • le istruzioni vengono eseguite in modo sequenziale.
  • 18. http://it.wikipedia.org/wiki/Architettura_Harvard Architettura Harvard Surveyor SRV-1 Blackfin Robot  L'architettura di Von Neumann si contrappone all'architettura Harvard nella quale invece i dati del programma e le istruzioni del programma sono memorizzati in spazi di memoria distinti.  Nello specifico i microcontrollori Atmel AVR utilizzano una memoria flash per la memorizzazione del programma, mentre una memoria SRAM (Static RAM) per la memorizzazione dei dati
  • 19. AVRMicrocontroller(caratteristiche)  Memoria Flash programmabile (almeno 10.000 volte) , RAM, EEPROM interne (scrivibile almeno 100.000 volte)  Sistema di programmazione interno (ISP)  Varietà di periferiche: I/O digitali, ADC, Timer, UART, RTC timer, pulse width modulator (PWM)…  Clock fino a 20MHz  Ampia gamma di tensioni di funzionamento: da 1.8 V a 6.0 V.  Package variabile da 8 pin fino a 64 pin  Watchdog con oscillatore interno autonomo  POR (Power On Reset)  Famiglie  ATtiny25-45-85, ATtiny24-44-84, ATtiny2313-4313 ...  ATmega88, ATmega168, ATmega328P ...  XMega (sigle che iniziano con "ATXMega")
  • 20. AtmelATmega328P Versione PDIP Plastic Dual In-linePackage Versione SMD Surface-Mount Device
  • 23. Tensionedi lavoro deipin • I Microcontrollori sono fondamentalmente dei dispositivi digitali dove l’informazione è ‘codificata’in due stati discreti: • HIGH or LOW (stato logici: 1oppure 0) Tensioni • 5 V(per lo stato HIGH) • 0 V(per lostatoLOW) • 3.3 V(per lo stato HIGH) • 0 V(per lostatoLOW)
  • 25. Schemaablocchi - Architettura internaATmega328
  • 26. Perifericheinterne • Memoria Flash (memoria Programma) • Memoria SRAM (memoria dati) • Memoria EEPROM (memoria dati) • WatchDog Timer • Interfaccia Seriale • Interfaccia SPI • Interfaccia I2C • Convertitore Analogico –Digitale • Timers • Porte/Pin
  • 27. Memorieintegrate Architettura Harvard Flash-program memory • 32kB  SRAM-data memory • 2KB  EEPROM • Per dati da conservare anche in caso di rimozione dell’alimentazione. • Presenza su I/O bus
  • 28. Memorieintegrate Flash memory (32KB) (indirizzi da 15bit) • Utilizzata per la memoria programma- sola lettura • Non volatile • Alloca i dati nella flash utilizzando l l’attributo PROGMEM  SRAM (2KB) • Valori temporanei, stack,etc… • Memoria volatile • Dimensione limitata  EEPROM (1KB) • Dati a lungo termine
  • 29. FLASH PROGRAM MEMORY Visto che tutte le istruzioni AVR sono a 16bit o 32bit, la memoria flash per la memorizzazione del programma è organizzato in 16K locazioni x 16 bit. Per motivi di sicurezza del software la memora flash è divisa in due sezioni: la sezione destinata al bootloader e la sezione destinata alla memoria del programma nel dispositivo. Il program counter (PC) del ATmega328/P è largo 14bits, in modo da indirizzare le 16K locazioni di memoria programma.
  • 30. SRAM Data Memory Ci sono 5 metodi di indirizzamento: • Diretto; • Indiretto con spostamento; • Indiretto; • Indiretto con pre-incremento; • Indiretto con post-incremento Le 2303 locazioni di memoria dati più basse indirizzano sia i Register File, la memoria I/O, la memoria I/O estesa e i dati della SRAM. Le prime 32 locazioni indirizzano i Register File, le successive 64 locazioni indirizzano la memoria I/O , dopo 160 locazioni della memoria I/O estesa, e i successivi 2K locazioni indirizzano i dati della SRAM.
  • 40. AVR CPU • Caricamento istruzione dalla memoria programma (Fetch) • Caricamento dati dalla memoria dalla memoria dai registri. • Decodifica dell’istruzione (Decode)
  • 43. SRAM Data Memory L’accesso alla memoria SRAM è eseguito in due cicli di clock come descritto nella figura seguente:
  • 44. Porte ePindelMicrocontrollore Costituiscono il canale di comunicazione del flusso di informazioni da e per il microcontrollore. Pin Digitali della scheda Arduino (pin microcontrollore): • Pins 0 – 7: PORT D [0:7] (pin 2-6,11-13) • Pins 8 – 13: PORT B [0:5] (pin 14-19) • Pins 14 – 19: PORT C [0:5] (pin 1, 23-28) (configurabili anche come pin analogici) • I pin digitali 0 e 1 sono RX and TX per la comunicazione seriale • il pin digitale 13 è connesso anche ad un LED integrato sulla scheda Es. PORTB • Pins PB0 – PB7 Possono non essere contigui • spesso sono bidirezionali. Un insieme di pin definisce una porta del microcontrollore