Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Vestavné mikropočítačové systémy

Podobné prezentace


Prezentace na téma: "Vestavné mikropočítačové systémy"— Transkript prezentace:

1 Vestavné mikropočítačové systémy
3. Týden – Atmel AVR V/V brány a časovače/čítače

2 V/V brány – vlastnosti Vlastnosti lze nastavovat pro každý bit samostatně Výstupní pin může do zátěže dodávat proud až 40mA (může přímo budit LED), ale max. celkově odebíraný proud (teče do Vcc resp. GND) je 300mA. Pomni 1. Kirchhoffův zákon! Výstup je proudově symetrický (může budit i anodu LED). Ke vstupu může být volitelně připojen interní pull-up rezistor cca 2050k. Možnost nechat pull-up rezistor odpojený znamená nižší spotřebu v případě, že pin má funkci výstupu a je ve stavu L. Po resetu jsou brány nastaveny jako vstupní, ale bez připojených vnitřních pull-up rezistorů  co nejdříve po startu provést konfiguraci, aby netrval neurčitý stav dlouho, příp. osadit externí pull-up rezistory.

3 V/V brány – konfigurace
Každé bráně v I/O prostoru odpovídají 3 registry, kterými se nastavuje funkce jejích pinů. Bity těchto registrů odpovídají jednotlivým pinům. DDRx – ovládání směru (vstup/výstup) PORTx – nastavení hodnoty výstupních pinů a připojení vnitřních pull-up rezistorů na vstupní piny PINx – odpovídá hodnotě jednotlivých pinů (pouze pro čtení) Všechny nakonfigurované pull-up rezistory lze globálně zamaskovat příznakem PUD v I/O registru SFIOR. V/V DDRxn Pull-up PORTxn Poznámka – funkce pinu V/V brány Vstup Ne Třetí stav Ano 1 Z pinu poteče proud, pokud bude připojen na log. 0. Výstup Výstup log. 0 (proud teče do pinu) Výstup log. 1 (proud teče z pinu)

4 V/V brány – varianty PINxn PINxn PINxn PORTxn Vstup
Vcc Vcc 2050k PINxn PINxn PINxn PORTxn Vstup DDRxn = 0 PORTxn = 0 Vstup s pull-upem DDRxn = 0 PORTxn = 1 Výstup DDRxn = 1

5 Časovače/čítače Čítač/časovač 0 Čítač/časovač 1 Čítač/časovač 2
8-mi bitový, čítá pouze vzestupně Čítač externích událostí (volitelná náběžná/sestupná hrana) Čítač interních hodin (volitelný dělící poměr 1, 1/8, 1/64, 1/256 nebo 1/1024 Čítač/časovač 1 16-ti bitový, vzestupný / sestupný čítač 2 nezávislé komparovací jednotky 1 zachytávací (capture) jednotka Volitelný auto-reload (clear on compare match) Frekvenční generátor, 16-bitová PWM Čítač/časovač 2 8-ti bitový, obousměrný Volitelný zdroj hodin: systémové hodiny nebo druhý krystal Volitelný dělící poměr 1, 1/8, 1/64, 1/256 nebo 1/1024 Komparovací jednotka s funkcí auto-reload (clear on compare match) Frekvenční generátor

6 Čítače/časovače – zdroj hodin
Čítač/časovač 0 a 1 Interní hodiny – společný předdělič  pozor na reset Externí hodiny – synchronizované s interními  každá půlperioda musí být delší než jedna perioda systémových hodin  fextclk < fclk_I/O / 2 Externí hodiny – každá půlperioda musí být delší než jedna perioda systémových hodin  fextclk < fclk_I/O / 2

7 Čítače/časovače – zdroj hodin
Čítač/časovač 2

8 Čítač/časovač 0 – blokové schéma

9 Čítač/časovač 0 – registry
TCNT0 – stav čítače (8 bitů) TCCR0 – řídící registr Bit 2:0 (CS0) – zdroj hodin TIMSK – maska přerušení Bit 0 (TOIE0) – povolení přerušení od časovače/čítače 0 TIFR – příznaky událostí Bit0 (TOV0) – příznak přetečení časovače/čítače 0 SFIOR Bit 0 (PSR10) – reset předděliče pro časovače/čítače 0,1 CS0 Hodiny Žádné 1 CLK 2 CLK/2 3 CLK/64 4 CLK/256 5 CLK/1024 6 Externí pin T0 (sestupná hrana) 7 Externí pin T0 (vzestupná hrana)

10 Čítač/časovač 2

11 Čítač/časovač 2 – registry
TCNT2 – stav čítače (8 bitů) TOCR2 – registr komparátoru (8 bitů) TCCR2 – řídící registr Bit 2:0 (CS2) – zdroj hodin Bit 3,6 (WGM2) – režim práce Bit 5:4 (COM2) – režim výstupu OC2 Bit 7 (FOC2) – v PWM režimech musí být 0, je-li nastaven připojí výstup komparátoru na OC2 a režim OC2 je určen hodnotou COM2 TIMSK – maska přerušení Bit 6 (TOIE2) – povolení přerušení od přetečení Bit 7 (OCIE2) – povolení přerušení od komparátoru TIFR – příznaky událostí Bit 6 (TOV2) – příznak přetečení Bit 7 (OCF2) – příznak shody od komparátoru ASSR – příznaky asynchronních hodin Bit 3 (AS2) – výběr asynchronních hodin (2. krystal), po změně může být obsah TCNT2, OCR2 a TCCR2 poškozen Bit 2:0 – busy příznaky WGM2 Režim TOP Změna OCR2 TOV2 se nastaví Normální 0xFF Ihned MAX 1 Fázově korektní PWM BOTTOM 2 „Clear Timer on Compare“ OCR2 3 Rychlá PWM CS2 Hodiny Žádné 1 CLKT2S 2 CLKT2S/8 3 CLKT2S/32 4 CLKT2S/64 5 CLKT2S/128 6 CLKT2S/256 7 CLKT2S/1024 COM2 Režim OC2 – pro non-PWM OC2 odpojen 1 Toggle OC2 on Compare Match 2 Clear OC2 on Compare Match 3 Set OC2 on Compare Match

12 Čítač/časovač 1

13 Čítač/časovač 1 Přístup k 16-bitovým registrům
Pomocný registr pro významnější bajt se načte/zapíše při přístupu k méně významné části slova Čtení – sekvence: nižší a pak vyšší Zápis – sekvence: vyšší a pak nižší Pracovní režimy – WGM13:0 Normal (0) Pouze vzestupné čítání, TCNT1 se po dosažení $FFFF přetočí do $0000 a nastaví se TOV1 Clear Timer on Compare Match (4 a 12) TCNT1 se vynuluje po dosažení hodnoty nastavené v OCR1A (WGM13:0=4) resp. v ICR1 (WGM13:0=12) Po dosažení zvolené hodnoty se nastaví TOV1 Fast PWM Phase Correct PWM Phase and Frequency Correct PWM podrobný výklad bude v přednášce věnované PWM řízení

14 Čítač/časovač 1 – registry
TCNT1L, TCNT1H – stav čítače (16 bitů) OCRA1AL, OCRA1AH – registr komparátoru A (16 bitů) OCRA1BL, OCRA1BH – registr komparátoru B (16 bitů) ICR1L, ICR1H – registr záchytné jednotky (16 bitů) TIMSK – maska přerušení Bit 2 (TOIE1) – povolení přerušení od přetečení Bit 3 (OCIE1B) – povolení přerušení od komparátoru B Bit 4 (OCIE1A) – povolení přerušení od komparátoru A Bit 5 (TICIE1) – povolení přerušení od zachytávací jednotky TIFR – příznaky událostí Bit 2 (TOV1) – příznak přetečení Bit 3 (OCF1B) – příznak shody od komparátoru B Bit 4 (OCF1A) – příznak shody od komparátoru A Bit 5 (ICF1) – příznak události od zachytávací jednotky

15 Čítač/časovač 1 – řídící registry
TCCR1A – řídící registr A Bit 1:0 (WGM1[1:0]) – režim čítače Bit 2 (FOC1B) – v PWM režimech musí být 0, 1 připojí výstupu komparátoru na OC1B Bit 3 (FOC1A) – v PWM režimech musí být 0, 1 připojí výstupu komparátoru na OC1A Bit 5:4 (COM1B) – režim chování výstupu OC1B Bit 7:6 (COM1A) – režim chování výstupu OC1A TCCR1B – řídící registr B Bit 2:0 (CS1) – výběr zdroje hodinového signálu, viz časovač/čítač 0 Bit 4:3 (WGM1[3:2]) – režim časovače Bit 6 (ICES1) – hranová citlivost zachytávací jednotky (0…sestupná, 1…vzestupná) Bit7 (ICNC1) – zapnutí potlačování zákmitů na vstupu zachytávací jednotky COM1x Režim OC1x – pro non-PWM OC1x odpojen 1 Toggle OC1x on Compare Match 2 Clear OC1x on Compare Match 3 Set OC1x on Compare Match

16 Čítač/časovač 1 – režimy
WGM1 Režim TOP Změna OCR1x TOV1 se nastaví Normální čítač 0xFFFF Ihned MAX 1 Fázově korektní 8-mi bitová PWM 0x00FF BOTTOM 2 Fázově korektní 9-ti bitová PWM 0x01FF 3 Fázově korektní 10-ti bitová PWM 0x03FF 4 „Clear Timer on Compare Match“ OCR1A 5 Rychlá 8-mi bitová PWM 6 Rychlá 9-ti bitová PWM 7 Rychlá 10-ti bitová PWM 8 Fázově a frekvenčně korektní PWM ICR1 9 10 Fázově korektní PWM 11 12 13 Nepoužito 14 Rychlá PWM 15


Stáhnout ppt "Vestavné mikropočítačové systémy"

Podobné prezentace


Reklamy Google