Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Rodzina AVR wykład 1. AVR 2/26 Architektura AVR Przestrzenie adresowe Tryby adresowania.

Podobne prezentacje


Prezentacja na temat: "Rodzina AVR wykład 1. AVR 2/26 Architektura AVR Przestrzenie adresowe Tryby adresowania."— Zapis prezentacji:

1 Rodzina AVR wykład 1

2 AVR 2/26 Architektura AVR Przestrzenie adresowe Tryby adresowania

3 AVR - architektura 3/26 Cechy mikrokontrolerów AVR ATtiny2313 /ATmega8515 : architektura typu Harvard RISC z przetwarzaniem potokowym; 120 rozkazów wykonywanych głównie w jednym cyklu zegara; 1024x16b /4096x16b pamięci FLASH programu, reprogramowalnej (10 4 ) równolegle lub szeregowo po zamontowaniu w układzie; 128B /512B wewnętrznego SRAM danych; 128B /512B wewnętrznego EEPROM (10 5 ) na dane konfiguracyjne; 32 8-bitowe uniwersalne rejestry robocze; 18/35 programowalnych linii we/wy, wyjścia o obciążalności 20mA, zgrupowanych w 3 / 5 portach;

4 AVR - architektura 4/26 Cechy mikrokontrolerów AVR ATtiny2313 /ATmega8515 : napięcie zasilania: 1,8..5,5V przy 4MHz; 2,7..5,5V przy 10MHz; 4,5..5,5V przy 20MHz wbudowany generator taktu f OSC =0..20MHz; czas cyklu rozkazowego min 100ns (przy 10MHz); obudowy: PDIP20/SOIC20/MLF20 PDIP40/SOIC40/PLCC44/TQFP44/MLF44; możliwość programowania w układzie interfejsem szeregowym SPI; możliwość programowego auto-programowania; mechanizm uruchomieniowy debugWIRE; wbudowane układy RESETU i kontroli zasilania;

5 AVR - architektura 5/26 Cechy mikrokontrolerów AVR ATtiny2313 /ATmega8515 : 1 8-bitowy timer/licznik z preskalerem; 1 16-bitowy timer/licznik z preskalerem i układem porównująco-przechwytującym; dwukierunkowy port szeregowy, asynchroniczny; uniwersalny interfejs szeregowy (2- lub 3-przewodowy); wbudowany generator PWM o rozdzielczości 8, 9 lub 10 bitów; 4 wyjścia PWM; wbudowany kontroler przerwań wewnętrznych i dwóch zewnętrznych; wbudowany programowalny watchdog z własnym oscylatorem; wbudowany komparator analogowy; trzy tryby pracy z obniżonym poborem mocy; możliwość dołączenia zewnętrznej pamięci danych (do 64928B).

6 AVR - architektura 6/26 Struktura blokowa układów: ATtiny2313 /ATmega8515 Z Y X REJESTRY ROBOCZE SRAM 128B / 512B REJ. STANU TIMERY/ LICZNIKI UKŁAD PRZERWAŃ EEPROM 128B/512B PB7.. PB0 KOMP. AN. PAMIĘĆ PROGRAMU FLASH 2kB / 8kB REJ.KONTROLNE PROCESORA OSCYLATOR WEWNĘTRZY OSCYLATOR RESET XTAL1 XTAL2 WATCHDOG UKŁAD TAKTUJĄCY Vcc GND 8 ALU DEKODER ROZKAZÓW REJ.KIER DDRB REJ.WYJ. PORTB BUFORY UKŁAD PROGRAMOWANIA SPI slave UART REJ.WEJ. PINB USI/SPI SP PC REJESTR ROZKAZU UKŁAD STERUJĄCY PD7PD6.. PD0 REJ.KIER DDRD REJ.WYJ. PORTD BUFORY REJ.WEJ. PIND BUFORYBUFORY REJ.WYJ. PORTA REJ.KIER. DDRA REJ.WEJ. PINA PC7.. PC0 REJ.KIER DDRC REJ.WYJ. PORTC BUFORY REJ.WEJ. PINC PA7.. PA0 REJ.KIER DDRA REJ.WYJ. PORTA BUFORY REJ.WEJ. PINA BUFORYBUFORY PORTE DDRE PINE PE2.. PE0

7 AVR - architektura 7/26 Standardowe obudowy układu ATtiny2313 MLF (T0) PD4 (T1/OC0B) PD5 GND (ICP) PD6 (AIN0/PCINT0) PB0 (TxD) PD1 (XTAL2) PA1 (XTAL1) PA0 (INT0/CKOUT/XCK) PD2 (INT1) PD3 PD0 (RxD) PA2 (RESET/dW) VCC PB7(SCK/UCSK/PCINT7) PB6(MISO/DO/PCINT6) PB5(MOSI/DI/SDA/PCINT5) PB4(OC1B/PCINT4) PB3(OC1A/PCINT3) PB2(OC0A/PCINT2) PB1(AIN1/PCINT1) DIP / SOIC (RESET/dW) PA2 (RxD) PD0 (TxD) PD1 (XTAL2) PA1 (XTAL1) PA0 (INT0/CKOUT/XCK) PD2 (INT1) PD3 (T0) PD4 (T1/OC0B) PD5 GND VCC PB7(SCK/UCSK/PCINT7) PB6(MISO/DO/PCINT6) PB5(MOSI/DI/SDA/PCINT5) PB4(OC1B/PCINT4) PB3(OC1A/PCINT3) PB2(OC0A/PCINT2) PB1(AIN1/PCINT1) PB0(AIN0/PCINT0) PD6(ICP)

8 AVR - architektura 8/26 Standardowe obudowy układu ATmega8515 DIP (OC0/T0) PB0 (T1) PB1 (AIN0) PB2 (AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET (RxD) PD0 (TxD) PD1 (INT0) PD2 (INT1) PD3 (XCK) PD4 (OC1A) PD5 (WR) PD6 (RD) PD7 XTAL2 XTAL1 GND VCC PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3) PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) PE0 (ICP/INT2) PE1 (ALE) PE2 (OC1B) PC7 (A15) PC6 (A14) PC5 (A13) PC4 (A12) PC3 (A11) PC2 (A10) PC1 (A9) PC0 (A8) PLCC / TQFP / MLF (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET (RxD) PD0 n.c. (TxD) PD1 (INT0) PD2 (INT1) PD3 (XCK) PD4 (OC1A) PD5 (WR) PD6 (RD) PD7 XTAL2 XTAL1 GND n.c. (A8) PC0 (A9) PC1 (A10) PC2 (A11) PC3 (A12) PC4 PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) PE0 (ICP/INT2) n.c. PE1 (ALE) PE2 (OC1B) PC7 (A15) PC6 (A14) PC5 (A13) PB4 (SS) PB3 (AIN1) PB2 (AIN0) PB1 (T1) PB0 (OC0/T0) n.c. VCC PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3)

9 128B EEPROM 00h 7Fh AVR - przestrzenie adresowe 9/26 Przestrzenie adresowe układu ATtiny2313 adres startowy programu = 0000h 19 pierwszych adresów - wektory przerwań 15 0 wektory obsługi zdarzeń program 000h 001h 012h 013h 3FFh rejestry robocze blok rejestrów we/wy 128B SRAM danych 00h 1Fh 20h adresy 5Fh 60h RAM 0DFh 00h adresy portów 3Fh

10 AVR - przestrzenie adresowe 10/26 Przestrzenie adresowe układu ATmega8515 adres startowy programu = 0000h 17 pierwszych adresów - wektory przerwań 15 0 wektory obsługi zdarzeń program 000h 001h 010h 011h FFFh 512B EEPROM 00h 7Fh rejestry robocze blok rejestrów we/wy 512B SRAM danych 00h 1Fh 20h adresy 5Fh 60h RAM 25Fh 00h adresy portów 3Fh 0260h RAM zewn FFFFh

11 AVR - rejestry robocze 11/26 Komórki wewnętrznego RAM z obszaru 00h..1Fh mogą być używane jako 32 rejestry robocze: R0 00h: R1 01h: R2 02h: R3 03h: R4 04h: R5 05h: R6 06h: R7 07h: R8 08h: R9 09h: R10 0Ah: R11 0Bh: R12 0Ch: R13 0Dh: R14 0Eh: R15 0Fh: R16 10h: R17 11h: R18 12h: R19 13h: R20 14h: R21 15h: R22 16h: R23 17h: R24 18h: R25 19h: R26 1Ah: R27 1Bh: R28 1Ch: R29 1Dh: R30 1Eh: R31 1Fh: Rejestry R26..R31 tworzą 16-bitowe pary adresujące pamięć. } X: } Z: } Y: 15 0 R26R27 R28R29 R30R31

12 AVR - rejestry we/wy ATtiny2313/ATmega /26 Blok rejestrów wejścia-wyjścia: przestrzeń 64 adresów: - od 20h do 5Fh jako komórki RAM - od 00h do 3Fh jako porty we/wy; zawiera rejestry umożliwiające: - dostęp do wbudowanych peryferii - sterowanie pracą mikrokontrolera - kontrolowanie systemu przerwań ekstensywne wykorzystanie adresów pozwala na projektowanie wersji mikrokontrolera różniących się wbudowanymi urządzeniami zewn.;...ICF1TOV0 TIFR38h bit nie zaimplementowany adres rejestru jako portu we/wy nazwa rejestru nazwa bitu 58h adres rejestru jako komórki RAM

13 SPMIE RWWSBRWWSREBLBSET PGWRTPGERS SELFPRGEN SPMCR37h 57h INT1INT0INT2 INT1INT0PCIE GIMSK3Bh 5Bh GICR3Bh 5Bh ITHSVNZC SREG3Fh5Fh 3DhSPL5Dh CTPBRFLBPGWRTPGERS SELFPRGEN SPMCSR37h 57h 3EhSPH5Eh INTF1INTF0INTF2 INTF1INTF0PCIF GIFR3Ah 5Ah EIFR3Ah 5Ah TOV1OCF1AOCF1BICF1TOV0OCF0 TOV1OCF1AOCF1BICF1OCF0BTOV0OCF0A TIFR38h 58h TIFR38h 58h TOIE1OCIE1AOCIE1BTICIE1TOIE0OCIE0 TOIE1OCIE1AOCIE1BICIE1OCIE0BTOIE0OCIE0A TIMSK39h 59h TIMSK39h 59h AVR - rejestry we/wy ATtiny2313/mega /26

14 PUDSM1SESM0ISC11ISC10ISC01ISC00 MCUCR35h 55h timer/licznik 0 - bajt wzorca A OCR0A36h 56h WRDFBORFEXTRFPORF MCUSR34h 54h AVR - rejestry we/wy ATtiny2313/mega /26 SM0SRL2SRL1SRL0SRW01SRW00SRW11ISC2 EMCUCR36h 56h SRESRW10SESM1ISC11ISC10ISC01ISC00 MCUCR35h 55h SM2WRDFBORFEXTRFPORF MCUCSR34h 54h FOC0AFOC0BWGM02CS02CS01CS00 TCCR0B33h 53h 8-bitowy timer/licznik 0 TCNT032h 52h FOC0WGM00COM01COM00WGM01CS02CS01CS00 TCCR033h 53h CAL6CAL5CAL4CAL3CAL2CAL1CAL0 OSCCAL31h 51h timer/licznik 0 - bajt wzorca OCR031h 51h COM0A1COM0A0COM0B1COM0B0 WGM01WGM00 TCCR0A30h 50h XMBKXMM2XMM1XMM0PUDPSR10 SFIOR30h 50h

15 PSR10 GTCCR23h 43h CLKPCE CLKPS3CLKPS2CLKPS1CLKPS0 CLKPR26h 46h COM1A1COM1A0COM1B1COM1B0 FOC1AFOC1BWGM11WGM10 TCCR1A2Fh 4Fh timer/licznik 1 - st. bajt przechwytujący ICR1H25h 45h timer/licznik 1 - mł. bajt przechwytujący ICR1L24h 44h timer/licznik 1 - st. bajt licznika TCNT1H2Dh 4Dh timer/licznik 1 - mł. bajt licznika TCNT1L2Ch 4Ch timer/licznik 1 - st. bajt wzorca A OCR1AH2Bh 4Bh timer/licznik 1 - mł. bajt wzorca A OCR1AL2Ah 4Ah timer/licznik 1 - st. bajt wzorca B OCR1BH29h 49h timer/licznik 1 - mł. bajt wzorca B OCR1BL28h 48h FOC1AFOC1B TCCR1C22h 42h AVR - rejestry we/wy ATtiny2313/mega /26 COM1A1COM1A0COM1B1COM1B0 WGM11WGM10 TCCR1A2Fh 4Fh ICNC1ICES1WGM13WGM12CS12CS11CS10 TCCR1B2Eh 4Eh

16 WDIFWDIEWDP3WDCEWDEWDP2WDP1WDP0 WDTCSR21h 41h EEPM1EEPM0EERIEEEMPEEEPEEERE EECR1Ch 3Ch rejestr buforowy danych EEPROM EEDR1Dh 3Dh EEAR 8 EEARH1Fh 3Fh PCINT7PCINT6PCINT5PCINT4PCINT3PCINT2PCINT1PCINT0 PCMSK20h 40h PORTA1Bh 3Bh rej. wyjściowy DDRA1Ah 3Ah rej. kierunkurej. wejściowy PINA19h 39h AVR - rejestry we/wy ATtiny2313/mega /26 WDCEWDEWDP2WDP1WDP0 WDTCR21h 41h rej. szybk. transmisji: UBRR UBRRH URSELUMSELUPM1UPM0USBSUCSZ1UCSZ0UCPOL UCSRC 20h 40h URSEL adres dostępu do EEPROM EEAR 6..0 EEAR1Eh 3Eh adres dostępu do EEPROM EEAR 7..0 EEARL1Eh 3Eh EERIEEEMWEEEWEEERE EECR1Ch 3Ch rej. wejściowy PINA19h 39h DDRA1Ah 3Ah rej. kierunku PORTA1Bh 3Bh rej. wyjściowy

17 PORTD12h 32h rej. kierunku DDRD11h 31h rej. wejściowy PIND10h 30h PORTB18h 38h DDRB17h 37h rej. wejściowy PINB16h 36h rej. kierunku rej. wyjściowyuniwersalny rejestr I/O #0 GPIOR013h 33h GPIOR114h 34h uniwersalny rejestr I/O #1 GPIOR215h 35h uniwersalny rejestr I/O #2 AVR - rejestry we/wy ATtiny2313/mega /26 rej. wejściowy PINC13h 33h DDRC14h 34h rej. kierunku PORTC15h 35h rej. wyjściowy PORTD12h 32h rej. kierunku DDRD11h 31h rej. wejściowy PIND10h 30h

18 ACDACOACIACIEACICACIS1ACIS0 ACSR08h 28h rej. uniwersalnego portu szeregowego USI USIDR0Fh 2Fh USISIFUSIOIFUSIPFUSIDC USICNT3USICNT2USICNT1USICNT0 USISR0Eh 2Eh USISIEUSIOIE USIWM1USIWM0 USICS1USICS0USICLKUSITC USICR0Dh 2Dh rej. portu szeregowego UDR0Ch 2Ch RXCTXCUDREFEDORUPEU2XMPCM UCSRA0Bh 2Bh rejestr szybkości transmisji: UBRR 7..0 UBRRL09h 29h RXCIETXCIEUDRIERXENTXENUCSZ2RXB8TXB8 UCSRB0Ah 2Ah AVR - rejestry we/wy ATtiny2313/mega /26 rej. portu szeregowego SPI SPDR0Fh 2Fh SPIFWCOL SPSR0Eh 2Eh SPI2X SPIESPE DORDMSTR CPOLCPHASPR1SPR0 SPCR0Dh 2Dh ACDACBGACOACIACIEACICACIS1ACIS0 ACSR08h 28h RXCTXCUDREFEDORPEU2XMPCM UCSRA0Bh 2Bh

19 AIN1DAIN0D DIDR01h 21h UMSELUPM1UPM0USBSUCSZ1UCSZ0UCPOL UCSRC03h 23h UBRR UBRRH02h 22h AVR - rejestry we/wy ATtiny2313/mega /26 CAL7CAL6CAL5CAL4CAL3CAL2CAL1CAL0 OSCCAL04h 24h PORTE07h 27h rej. wyjściowy DDRE06h 26h rej. kierunkurej. wejściowy PINE05h 25h

20 AVR - rejestry we/wy - SREG 20/26 I - flaga zezwolenia na przerwania T - bit pośredni przy przesłaniach bitów rozkazami BST i BLD H - flaga przeniesienia połówkowego przy dodawaniu (między bitami 3 i 4) S - flaga znaku wyniku operacji na liczbach w U2 (=V xor N) V - flaga nadmiaru po operacjach na liczbach w U2 N - flaga ujemnej wartości wyniku operacji na liczbach w U2 Z - flaga zerowej wartości wyniku operacji C - flaga przeniesienia ITHSVNZC SREG3Fh5Fh

21 AVR - rejestry we/wy - SPL,SPH i stos 21/26 Rejestr adresujący wierzchołek stosu programowego - wskazuje na pierwszą wolną komórkę na stosie. Po resecie przyjmuje wartość 00h ! Stos Funkcjonuje tylko w wewnętrznym RAM - ograniczony obszar. Zapis na stos powoduje przesuwanie się wierzchołka stosu w kierunku niższych adresów, odczyt - odwrotnie. ! Możliwe jest zawinięcie stosu modulo rozmiar wbudowanej wewn. RAM. Przy zapisie na stos PC bardziej znaczący bajt trafia na niższy adres. 2Bh R7: 11h R9: 88h SPL: 22h 89h: x 88h: x 87h: 33h 8Ah: RAM stos PUSH R7 87h 2Bh POP R9 88h 2Bh 3DhSPL5Dh 3EhSPH5Eh

22 AVR - tryby adresowania 22/26 Tryby adresowania operandów - bajtów rejestrowy operand kod rozkazu Rx: incr6 bezpośredni kod rozkazu operand adres RAM wewn. ldsr16,0x60 natychmiastowy kod rozkazu argument ldir20,200 kod rozkazu argument adiwr24,50 argument: 8b NB argument: 6b NB (0..63)

23 AVR - tryby adresowania 23/26 rejestrowy pośredni RAM wewn adres16b kod rozkazu X/Y/Z: ldr8,x FLASH adres16b kod rozkazu R31R30: lpm

24 RAM wewn adres16b kod rozkazu X/Y/Z: ldr8,-y AVR - tryby adresowania 24/26 rejestrowy pośredni z predekrementacją operand rejestrowy pośredni z postinkrementacją adres16b-1 RAM wewn adres16b kod rozkazu X/Y/Z: ldr8,z+ operand adres16b+1

25 adresowanie bazowe Tryb adresowania operandów - bitów AVR - tryby adresowania 25/26 bezpośredni kod rozkazu rejestr roboczy /port we-wy bstr10,3 cbispl,0 bitadr Y/Z: kod rozkazu operand RAM wewn. baza lddr3,z+10 stdy+63,r5 d d: 6b NB (0..63)

26 Dostępność trybów adresowania w ATtiny2313 AVR - tryby adresowania 26/26 rejestrowy pośredni z rej. Z 7FFh 7FEh 001h 000h pamięć programu FFh 000h FFFFh FFh DFh 60h 00h porty we/wy 20h RAM rejestrowy z predekrementacją bezpośredni rejestrowybezpośredni-bitów rejestrowy pośredni z X/Y/Z bazowy z Y/Z rejestrowy z postinkrementacją 7 0 pamięć danych rejestry robocze


Pobierz ppt "Rodzina AVR wykład 1. AVR 2/26 Architektura AVR Przestrzenie adresowe Tryby adresowania."

Podobne prezentacje


Reklamy Google