Che cos'è un Microcontrollore? QUANTI MICROCONTROLLORI AVETE USATO OGGI? Un microcontrollore è il genere di computer in miniatura che potete trovare in ogni genere di oggetti. Se possiede dei tasti ed un display, è probabile che abbia anche un cervello a microcontrollore. Un microcontrollore è un sistema a microprocessore completo, integrato in un solo chip, progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto prezzo-prestazioni per una specifica applicazione. L. Servoli - Corso Fisica dei Dispositivi Elettronici
Che cos'è un Microcontrollore? I microcontroller sono la forma più diffusa e più invisibile di computer. Comprendono: - la CPU, - un certo quantitativo di memoria RAM; - un certo quantitativo di memoria ROM (può essere PROM, EPROM, EEPROM o FlashROM); - una serie di interfacce di I/O (input/output) standard, fra cui molto spesso bus (I²C,SPI,CAN,LIN). Dov'è la differenza con un microprocessore? L. Servoli - Corso Fisica dei Dispositivi Elettronici
Che cos'è un Microcontrollore? I microcontroller sono la forma più diffusa e più invisibile di computer. Comprendono: - la CPU, - un certo quantitativo di memoria RAM; - un certo quantitativo di memoria ROM (può essere PROM, EPROM, EEPROM o FlashROM); - una serie di interfacce di I/O (input/output) standard, fra cui molto spesso bus (I²C,SPI,CAN,LIN). Dov'è la differenza con un microprocessore? L. Servoli - Corso Fisica dei Dispositivi Elettronici
Che cos'è un Microcontrollore? L. Servoli - Corso Fisica dei Dispositivi Elettronici
Che cos'è un Microcontrollore? L. Servoli - Corso Fisica dei Dispositivi Elettronici
Che cos'è un Microcontrollore? Le periferiche integrate sono la vera forza di questi dispositivi: si possono avere: - convertitori ADC - convertitori DAC multicanale, - timer/counters, - USART, - porte esterne bidirezionali bufferizzate, - comparatori, L. Servoli - Corso Fisica dei Dispositivi Elettronici
Famiglia Intel 8051 - Introdotta da Intel negli anni '80; / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 - Introdotta da Intel negli anni '80; - Usata oggi da più di 40 compagnie; - Dispositivo base: 8051 con 40 pin tra cui: 80C51 (CMOS a basso consumo) 89C51 (memoria PEROM) (programmabile senza UV) - Dispositivo minimale: AT89C1051 (20 pin) compatibili - Dispositivo high end: High Speed Microcontroller (HSM) L. Servoli - Corso Fisica dei Dispositivi Elettronici
Tipi di Memoria per l'8051 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 La memoria On-Chip si riferisce a quella che fisicamente risiede nel componente. La memoria di programma esterna è quella che contiene il codice e risiede fuori dal chip. La RAM esterna è la RAM che risiede fuori dal chip. L. Servoli - Corso Fisica dei Dispositivi Elettronici
Memoria di Programma / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 La memoria di programma contiene le istruzioni che l'8051 deve eseguire. Questa memoria è limitata a 64K e viene fornita in diverse forme e formati. - La memoria programma (codice) puo' essere contenuta all'interno del chip sotto forma di ROM oppure di EPROM. - Il codice può essere anche memorizzato in una ROM esterna o, più comunemente, in una EPROM. - La FLASH RAM è un altro metodo molto usato per memorizzare un programma. / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Memoria di Programma / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 Possono essere usate diverse combinazioni di tipi di memoria: - è possibile avere 4K di memoria di codice nella PROM interna del chip e 64K di memoria di codice esterna in una EPROM. - quando il programma è memorizzato nella PROM interna del chip i 64K massimi si riducono a 4k, 8k o 16k a seconda della versione di 8051 usata. Un modo per distinguere i chip è quello relativo alla quantità di ROM/EPROM disponibile internamente. Comunque, la memoria di programma è comunemente implementata con una EPROM esterna. Questo e' specialmente vero nei sistemi di sviluppo a basso costo e nei sistemi sviluppati dagli studenti. L. Servoli - Corso Fisica dei Dispositivi Elettronici
RAM esterna Oltre alla RAM interna, l'8051 supporta anche la RAM esterna. è una memoria ad accesso casuale situata fuori dal chip. Essendo esterna, essa non è flessibile in termini di accesso ed è più lenta di quella interna. Per esempio, per incrementare una locazione di RAM interna è richiesta una sola istruzione ed un solo ciclo d'istruzione, mentre per incrementare una variabile residente nella RAM esterna sono necessarie 4 istruzioni e 7 cicli d'istruzione. In questo caso la memoria esterna diventa 7 volte più lenta. Quello che si perde in velocià lo si guadagna in ampiezza. Mentre la RAM interna è limitata a 128 bytes (256 bytes nell'8052), quella esterna può arrivare fino a 64K. / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Memoria on-chip / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 / )*+, 1 )*+, ( ?* / )*+, ( 6 )*+, ?* & ! 2 )*$+, $01 @ )A+, &3-10 @ )B$+, 6 3&-10 # ' /)*+< -0 $ ?* . 9 )*+, <* ?* <* . # ' C D)B$,*+, D)B$<*+, D)B$?*+, )*+, ( )*+, : 0 #: 0 ' % ( / ,, )*+, 5 L'8051 include internamente una certa quantità di memoria. In effetti la memoria interna (On-Chip Memory) è di due tipi: - RAM interna - Area Registri Speciali (SFR memory). L. Servoli - Corso Fisica dei Dispositivi Elettronici
Memoria on-chip Schema RAM interna famiglia 8051 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Famiglia Microcontrollori 8051 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Nel nostro corso adopereremo il microcontrollore SAB-501 della Infineon. Le caratteristiche sono: - 40 Pin package; - 256 byte di memoria interna - 32 linee programmabili I/O - 2 tenmporizzatori/contatori a 16 bit - 6 sorgenti di interruzioni - 1 porta serriale programmabile UART - inmterfaccia per memoria esternas; - 0 kbyte di memorie interna. L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Architettura di memoria tipo Harvard L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Architettura di memoria tipo Princeton (Von Neumann) L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Schema RAM interna famiglia 8051 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Registri per funzioni speciali 4 porte I/O a 8-bit 2+1 timer L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Porte di I/O: 4 porte I/O a 8-bit E+*, . ) 3* * 3, 3< 37 $ ! ! , 7 / * ! $ . ( C . ; - 3* 3, 3< 37 2+1 timer L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Timer: L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Timer 0 e 1: L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Timer 0 e 1: L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 L. Servoli - Corso Fisica dei Dispositivi Elettronici
Microcontrollore SAB-501 Timer: Universal Asynchronous Receiver-Transmitter L. Servoli - Corso Fisica dei Dispositivi Elettronici