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
4. Týden – Atmel AVR A/D převodník, analogový komparátor, reset, watch-dog a pojistky

2 A/D převodník 10-bitové rozlišení – 0x000 ~ 0V, 0x3FF ~ VREF
Až 200kHz hodiny při plném rozlišení Doba převodu je 13 taktů  až 15ksps (~200kHz) První převod trvá 25 taktů  doporučuji odbýt si to hned z kraje programu a dále neuvažovat 8 multiplexovaných vstupů analogového signálu (dle typu a pouzdra nemusí být fyzicky vyvedeno všech 8) Volitelné referenční napětí AVCC (od VCC by mělo být odděleno filtrem typu dolní propust) Interní napěťová reference 2,56V Externí v rozsahu 0V ÷ VCC Volnoběžný režim / jednotlivý převod Výsledek může být hardwarově zarovnáván vlevo Taktování převodníku se volí předděličem (poměry: 2, 4, 8, 16, 32, 64, 128) Volitelné přerušení po dokončení převodu

3 A/D převodník – blokové schéma
ADCSRA[7:3] (ADEN,ADSC, ADFR,ADIF, ADIE) ADMUX[7] (REFS1) ADMUX[5] (ADLAR) Prescaler ADCSRA[2:0] ADMUX[6] (REFS0) Conversion logic ADC[9:0] AVCC Internal 2,56V reference 10-bit DAC AREF Bandgap reference Input MUX ADMUX[3:0] ADC0ADC7

4 A/D převodník – ošetření vstupů
Výstupní impedance zdroje měřeného napětí by měla být < 10 k Měřené signály musí vyhovovat Nyquistovu teorému (< fADC / 2)  předřazení anti-aliasingového filtru Doporučení pro návrh HW Analogové cesty by měli být co nejkratší, vedené nad zemní napájecí vrstvou DPS a pokud možno ne blízko digitálních signálů AVCC by mělo být odděleno od VCC LC filterm Pokud se některé z multiplexovaných vstupů používají jako digitální výstupy, měl by být software navržen tak, aby se v průběhu převodu stav těchto pinů neměnil

5 A/D převodník – registry
ADCSRA – Control and Status Register Bit 7 (ADEN) – povolení A/D převodníku Bit 6 (ADSC) – start převodu Bit 5 (ADFR) – volnoběžný režim Bit 4 (ADIF) – příznak dokončeného převodu, je-li povoleno přerušení, shazuje se automaticky při návratu z obslužné rutiny přerušení Bit 3 (ADIE) – příznak, že má dojít k přerušení po dokončení převodu Bit 2:0 – prescaler, dělící poměry: 2, 2, 4, 8, 16, 32, 64,128 ADMUX Bit 7:6 (REFS) – volba napěťové reference Bit 5 (ADLAR) – výsledek převodu má být zarovnán vlevo Bit 3:0 (MUX) – volba vstupního kanálu ADCL, ADCH – výsledek převodu MUX Vstup 0000 ADC0 0001 ADC1 0010 ADC2 0011 ADC3 0100 ADC4 0101 ADC5 0110 ADC6 0111 ADC7 10001101 Nepoužito 1110 1,23V (bandgap) 1111 0V (GND) REFS Zvolená napěťová reference AREF – externí zdroj referenčního napětí 1 AVCC s externím kapacitorem na pinu AREF Nepoužitá kombinace Interní reference 2,56V s externím kapacitorem na pinu AREF

6 Analogový komparátor Neinvertující vstup je připojen buď na pin AIN0 nebo na interní referenci (1,3V) Invertující vstup může být připojen buď na pin AIN1 nebo na výstup analogového multiplexeru A/D převodníku (ADC musí být zakázán) Přerušení může být generováno změnou, sestupnou nebo náběžnou hranou na výstupu komparátoru Výstup komparátoru může sloužit jako zdroj zachytávací jednotky čas./čítače 1

7 Analogový komparátor – registry
SFIOR Bit 3 (ACME) – jednička vyřadí A/D převodník a zapojí výstup jeho analogového multiplexeru na invertující vstup komparátoru ACSR (Analog Comparator Control and Status) Bit 7 (ACD) – zakázání komparátoru (snížení spotřeby), po resetu je komparátor povolen. Když se mění stav ACD, měl by být ACIE vynulován, jinak hrozí nežádoucí přerušení v důsledku změny bitu ACD. Bit 6 (ACBG) – připojení bandgap reference k neinvertujícímu vstupu Bit 5 (ACO) – výstup komparátoru Bit 4 (ACI) – indikuje vznik události, která může generovat přerušení, shazuje se hardwarově po opuštění interrupt handleru Bit 3 (ACIE) – povolení přerušení při vzniku události Bit 2 (ACIC) – zavedení výstupu komparátoru do zachytávací jednotky čítače/časovače 1 Bit 0:1 (ACIS) ACIS Režim generování událostí Přerušení při změně hodnoty výstupu 1 Nepoužitá kombinace Přerušení při sestupné hraně na výstupu Přerušení při vzestupné hraně na výstupu

8 Reset 4 zdroje resetovacího signálu
V registru MCUCSR je informace o příčině posledního resetu Bit 0 (PORF) – Power-on reset Bit1 (EXTRF) – externí signál RESET Bit2 (BORF) – Brown-out reset Bit3 (WDRF) – Watchdog reset

9 Reset Power-on reset Externí signál RESET VPOT = 1,3÷1,4V
VRST = 0,2÷0,9V

10 Brown-out reset Detekce zhoršené kvality napájecího napětí
Možnost zvolit jednu ze dvou hladin citlivosti BODLEVEL = 0: VBOT = 4V BODLEVEL = 1: VBOT = 2,6V VBOT+ = VBOT + VHYST/2 VBOT- = VBOT – VHYST/2 VHYST = 130mV

11 Watch-dog Ochrana proti „zabloudění“ programu
Korektně pracující program vykoná „jednou za čas“ instrukci WDR Není-li instrukce WDR provedena do určité doby, provede se reset Nezávislý interní oscilátor 1 MHz s volitelným předděličem 16k, 32k, 64k, 128k, 256k, 512k, 1024k nebo 2048k  interval 16,3ms ÷ 2,1s 2 úrovně zabezpečení Safety Level 1 Watch-dog je po resetu zakázán a spustí ho 1 v bitu WDE v registru WDTCR Vypnutí a změna předěliče se provádí speciální sekvencí Safety Level 2 Watch-dog je stále aktivní a nelze ho vypnout Změna předděliče se provádá speciální sekvencí Konfigurační registr WDTCR Bit 4 (WDCE) – ochrana proti nežádoucímu vypnutí watch-dogu Bit 3 (WDE) – povolení funkce watch-dogu Bit 2:1 (WDP) – dělící poměr hodin watch-dog timeru

12 Watch-dog – změnová sekvence
Na změnu dělícího poměru hodin watch-dogu nebo na vypnutí (pouze Safety Level 1) je potřeba vykonat speciální sekvenci – ochrana proti nechtěné změně 1. Jednou instrukcí se do registru WDTCR do bitů WDCE a WDE zapíše 1 2. Během následujících 4 strojových cyklů je možné zapsat do WDP resp. vynulovat WDE WDT_off: WDR ; reset WDT in r16, WDTCR ; Write onces to WDCE and WDE ori r16, (1<<WDCE)|(1<<WDE) out WDTCR, r16 ; Turn off WDT ldi r16, (0<<WDE) out WDTCR, r16 ret

13 Pojistky (fuses) Slouží k hardwarové konfiguraci procesoru
Výběr oscilátoru Aktivace watch-dog timeru Povolení detektoru brow-out napětí a volba úrovně Konfigurace bootblocku a lockbitů Volba rozběhové doby Nahrazení signálu externího resetu prostým I/O pinem (pozor, bez signálu RESET už nelze programovat sériovým programátorem) Povolení SPI programování Jsou realizovány buňkami EEPROM Nastavit se dají pouze programátorem Zavedená terminologie: Nenaprogramovaná pojistka odpovídá hodnotě 1 Naprogramovaná pojistka odpovídá hodnotě 0 V programovacích nástrojích obvykle zaškrtnutý checkbox představuje naprogramovanou pojistku, tzn. hodnotu 0

14 Pojistky – výběr oscilátoru
Externí krystalový rezonátor 0,4 ÷ 0,9 MHz 0,9 ÷ 3,0 MHz 3,0 ÷ 8,0 MHz 1,0 ÷ 16 MHz Externí nízkofrekvenční krystal (32768 Hz) Externí RC oscilátor 0,1 ÷ 0,9 MHz 8,0 ÷ 12 MHz Interní kalibrovatelný RC oscilátor 1,0 MHz 2,0 MHz 4,0 MHz 8,0 MHz Externí hodiny


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

Podobné prezentace


Reklamy Google