Microcontrollori 2013/2014 1
Microcontrollori 2013/2014 2
Microcontrollori CPU Instruction set -CISC Complex Instruction Set Computing (Intel x86 family; Motorola 680x0) -RISC Reduced Instruction Set computer (ARM family, ATMEL AVR Family) Architecture(respect integer operand maximum dimension) -8 bit (Intel 8051, ATMEL AVR, PIC ) -16 bit (Intel 8088, Motorola 68000, TI MSP430) -32 bit (x86 family, Motorola 680x0, ATMEL AVR32, Power PC) -64 bit (x86-64 family, Power PC) 2013/2014 3
Microcontrollori - CPU Costituita da una unità aritmetica e una unità di controllo che interpreta le istruzioni e gestisce il trasferimento dei dati nei Registri. 2013/2014 4
Microcontrollori - Architettura Informazioni presenti in un programma: Codice di Istruzioni per l esecuzione Dati utilizzati dalle Istruzioni ARCHITETTURE VON NEUMANN HARWARD 2013/2014 5
Microcontrollori - Memoria VON NEUMANN HARWARD 2013/2014 6
Microcontrollori - Architettura MSP 430 TEXAS INSTRUMENT BUS PERIFERICHE + Memorie 2013/2014 7
Microcontrollori - Architettura ATMEL AVR BUS MEMORIE BUS PERIFERICHE 2013/2014 8
Microcontrollori Registri Interni Registri dedicati: Program Counter (PC): Puntatore alla prossima istruzione che deve essere letta ed eseguita dalla CPU. Stack Pointer (SP): Utilizzato per memorizzare informazioni sullo stato delle istruzioni (instructions: store by PUSH, retrieve by POP); utilizzato per i parametri delle routine (PUSH, POP in calling routine) urato dalle subroutine per memorizzare il punto di ritorno al programma (RET). Status Register (SR): Registro di stato della CPU, aggiornato automaticamenete dalla CPU. 2013/2014 9
Microcontrollori General Purpose Register R0 R1 R2 R3 R26 R27 R28 R29 R30 R31 Register File XL XH YL YH ZL ZH X Pointer Y Pointer Z Pointer 2013/2014 10
Microcontrollori General Purpose Register Register File ALU 2013/2014 11
Microcontrollori Processor Size Unità di Misura: Bits Corrisponde alla dimensione massima dei dati che può elaborare la CPU Rispecchia la dimensione del bua interno e della memoria die registri della CPU Architetture standard : 8, 16, 32 Bits 2013/2014 12
Microcontrollori- Performance Metrics Elaborazione: Clock Speed MIPS (instructions per sec) Latency Throughput Elettrciche: Power Consumptions Voltage Supply Noise Immunity Sensitivity 2013/2014 13
Microcontrollori- Power Consumption Contributi al consumo di potenza nei dispositivi CMOS: Consumo dinamico (P DYN ) Consumo di corto circuito (P SHORT ) Consumi di Leakage (P LEAK ) P = P + P + DYN SHORT P LEAK 2013/2014 14
Microcontrollori- Power Consumption P DYN = A C V 2 f A : Attività del Gate C: Capacità di carico V: Tensione di alimentazione f : Frequenza del clock 2013/2014 15
Microcontrollori- Power Consumption P SHORT =τ A V I SHORT f I SHORT = R ONN V + R ONP P SHORT =τ A V I SHORT f t=tempo di corto circuito A : Attività del Gate I SHORT : Corrente di corto circuito V: Tensione di alimentazione f : Frequenza del clock 2013/2014 16
Microcontrollori- Power Consumption P = V LEAK I LEAK 2013/2014 17
Microcontrollori- Power Consumption 2013/2014 18
Microcontrollori Clock System 2013/2014 19
Microcontrollori - Crystal 2013/2014 20
Microcontrollori - Crystal Specifiche: Quality Factor Rapporto fra l energia immagazzinata e quella dissipata. Q alto lentezza nella partenza Load Capacitance Capacità necessaria per far oscillare il quarzo ESR Resistenza serie equivalente Frequency Stability Massima deviazione della frequenza dalla specifica in un dato range di temperatura Frequency Tolerance Massima deviazione della frequenza dalla specifica a 25 C. 2013/2014 21
Microcontrollori Reset Logic EVENTI Interni Ed Esterni RESTART! 2013/2014 22
Microcontrollori Reset Logic Start Up External Reset 2013/2014 23
Microcontrollori Reset Logic Watch dog Reset 2013/2014 24
Microcontrollori Reset Logic Brown Out Reset 2013/2014 25
Microcontrollori Reset Logic In quale stato riporta il dispositivo? 2013/2014 26
Microcontrollori - Timer 2013/2014 27
PWM Pulse Width Modulation 2013/2014 28
PWM Pulse Width Modulation 2013/2014 29
PWM Pulse Width Modulation FILTRO 2013/2014 30
PWM Pulse Width Modulation 2013/2014 31
Microcontrollori - Interrupt Permette di rispondere ad un evento Esterno senza polling Esterno : tutto ciò che è al di fuori del Core e tutto ciò che può attivare i flag di interrupt 2013/2014 32
Microcontrollori - Interrupt System reset (Non)-maskable NMI Maskable 2013/2014 33
Microcontrollori - Interrupt 2013/2014 34
Microcontrollori - Interrupt Overheads Interrupt arrives Complete current instruction Save essential register information Vector to ISR Save additional register information Interrupt Latency Execute body of ISR Restore other register information Return from interrupt and restore essential registers Resume task Interrupt Termination 2013/2014 35
Microcontrollori - GPIO PORT PIN PORT NOT EQUAL TO PIN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2013/2014 36
Microcontrollori - GPIO DDx 0 Pull-Up PORTx 0 PINx? Physical Pin? Direction: Pull-Up: INPUT OFF 2013/2014 37
Microcontrollori - GPIO DDx Switch On Pull-Up 0 Pull-Up PORTx 1 PINx? Physical Pin? Direction: Pull-Up: INPUT ON 2013/2014 38
Microcontrollori - GPIO DDx 1 Pull-Up PORTx 1 PINx 1 Physical Pin 1 Direction: Pull-Up: OUTPUT OFF 2013/2014 39