Integrovaný A/D převodník PIC16F877 osnova: Charakteristika Ovládání A/D převodníku Výběr a přepínání kanálů Nastavení k provedení převodu Náhradní schéma analogového vstupu Časové kalkulace
Charakteristika PIC16F877 je vybaven A/D převodníkem s postupnou aproximací. Měřené napětí je zavedeno do samplovacího kondenzátoru (převod může být zahájen až po ustálení). Analogový vstup je multiplexován => (až 8 analogových veličin). Výstup z A/D převodníku je 10-ti bitový a je uložen v registrech ADRESH a ADRESL. Při vyšších nárocích na přesnost lze jádro systému uvést do režimu SLEEP. A/D převodník využívá v tomto režimu synchronizační signál odvozený z interního RC oscilátoru.
Ovládání A/D převodníku ADCON0 ~ nastavení funkce a ovládání: ACDS1(0) ~ volba hodinového signálu k převodu CHS2(1, 0) ~ výběr analogového kanálu (ze zvolených kanálů, viz. ADCON1) GO/DONE ~ příznak provádění převodu (nuluje se samočinně) ADON ~ zahájení převodu
Ovládání A/D převodníku ADCON1 ~ nastavení funkce a ovládání: ADFM ~ zobrazení výsledku v registrech ADRESH a ADRESL 1 000000XX XXXXXXXX 0 XXXXXXXX XX000000 PCFG3(2, 1, 0) ~ volba režimu portu RA a RE (analogový nebo digitální, viz. tabulka)
Tabulka k nastavení A-D režimu
Výběr a přepínání kanálů Nastavení v registru ADCON0 V případě použití externího referenčního napětí lze aktivně využít pouze 6 kanálů
Nastavení k provedení převodu K provedení A/D převodu je potřeba provést následující úkony: Konfigurace A/D modulu (konfigurace pinů, výběr vstupního kanálu volba pracovního kmitočtu). Nastavení přerušovacího systému (ADIF=0, ADIE=1, PEIE=1, GIE=1), je-li přerušení použito. Čekání na ustálení napětí na vzorkovacím kondenzátoru Spuštění převodu (GO/DONE=1). Čekání na dokončení převodu (… GO/DONE=0, nebo … ADIF=1). Čtení digitalizované hodnoty z ADRESH a ADRESL.
Náhradní schéma analogového vstupu Po zvolení analogového kanálu (k převodu napětí) je nutno vyčkat, než se převáděné napětí ustálí na vzorkovacím kondenzátoru. Teprve pak může být spuštěn vlastní převod. Při nedodržení této podmínky bude výsledek převodu nepřesný. Provedeme li čtení digitalizované hodnoty před ukončením převodu, bude výsledek chybný.
Náhradní schéma analogového vstupu RS ~ vnitřní odpor zdroje měřeného napětí CPIN ~ parazitní kapacita pinu (asi 5pF) RLC ~ svodový odpor (protéká jim typický proud asi 0,5µA) RIC ~ odpor vnitřní propojovací analogové trasy RSS ~ odpor vzorkovacího spínače v sepnutém stavu CHOLD ~ vzorkovací kondenzátor (asi 120pF)
Časové kalkulace Požadujeme-li, aby chyba nebyla větší než ½ LSb, pak čas potřebný k vzorkování získáme z následujícího vztahu:
Časové kalkulace … převodník je desetibitový => 210=1024 hodnot, které mohou být zobrazeny. Je-li požadavek na chybu ½ LSb, pak tento požadavek vyčíslíme: UREF ~ maximální hodnota 1024 ~ jeden krok, 2048 ~ ½ kroku Tak, že … Kde: ad 1) ~ napětí k převodu ad 2) ~ doplněk ke skutečné hodnotě (chybě) ad 3) ~ referenční napětí (UHOLD=UREF <=> chyba=0)
Časové kalkulace Úprava vztahu: Odsud výsledný vztah: K výpočtu doby: