A/D převodníky a analogový komparátor

Z MAM wiki

Přejít na: navigace, hledání

[editovat] Analogový komparátor

Analogový komparátor porovnává vstupní signály na invertujícím AIN1 a neinvertujícím AIN0 vstupu, výstupní hodnota Analog Comparator output, ACO, je v log. 1, je-li napětí AIN0 větší než AIN1. Výstup může sloužit jako vstup čítače/časovače 1 a jeho změna nebo zvolená hrana může vyvolat přerušení. Ke vstupům může být připojen zdroj referenčního napětí, vstupní piny, nebo vstupní signál A/D převodníku. Detaily ovládání jsou v datasheetu, sekce Analog Comparator.


[editovat] A/D převodník

Mikroprocesor ATmega88, 168 má mezi periferiemi zařazen 10-bitový A/D převodník s postupnou aproximací, na vstupu doplněný multiplexorem (dle pouzdra procesoru 6 nebo 8 vstupů, v DIL28 pouze 6) a obvodem Sample&Hold. U ATmega168A je přidán ještě teploměr. Doba převodu je 13 - 260 μs, rozsah vstupního napětí 0 V - Ucc, referenční napětí buď referenční zdroj 1,1 V, nebo analogové napájecí napětí blízké Ucc. Převodník lze spustit k provedení jedné konverze, nebo může být volně běžící, po ukončení převodu může vyvolat přerušení. Pro zvýšení přesnosti převodu lze procesor po dobu převodu uspat v Noise Canceler módu.

Atmega168 pro A/D převod využívá 6 různých registrů, podrobnosti viz datasheet:

Registr Popis
ADMUX ADC Multiplexer Selection Register
ADCSRA ADC Control and Status Register A
ADCSRB ADC Control and Status Register B
DIDR0 Digital Input Disable Register 0
ADCL ADC Data Register – Low
ADCH ADC Data Register – High

Registry s řídicími slovy nastavují zdroj referenčního napětí a vstupního signálu (registr ADMUX), způsob spouštění převodu, povolení přerušení a zdroj a předdělič taktovací frekvence převodu (ADCSRA – ADC Control and Status Register A), zdroj vnějšího spouštění (ADCSRB – ADC Control and Status Register B), zablokování logiky číslicových vstupů na vstupech analogového signálu (DIDR0 – Digital Input Disable Register 0). Výsledek převodu je uložen v registrech ADCL a ADCH (ADC Data Register).

Převod startuje zápisem log. nuly do Power Reduction ADC bitu, PRADC, a log. 1 do ADC Start Conversion bitu, ADSC v registru ADCSRA. ADSC je vynulován po skončení převodu. Mimo to může být převod spouštěn automaticky vzestupnou hranou spouštěcího signálu (možnosti: volně běžící mód, analogový komparátor, externí přerušení INT0, událost na čítači/časovači 0 a 1). K ADC8 je připojen teplotní senzor (vyžaduje nastavit referenční napětí 1,1 V, typicky 1 mV/K, 314 mV při 25°C), bez kalibrace je velmi nepřesný, viz datasheet, chyba až 10°C, pro lepší výsledky nutno kalibrovat.

Podobně pracuje A/D převodník u ATtiny45, má navíc možnost nastavit diferenciální vstupy a zvolit zesílení diferenciálního zesilovače mezi hodnotami 1 a 20, to při referenčním napětí 1,1 V dává napětí pro plný rozsah 55 mV, detaily viz datasheet ATtiny25/45/85 - podrobná technická dokumentace (4,6 MB).

Osobní nástroje