ADC - WEMiF

Transkrypt

ADC - WEMiF
Komunikacja w
Mikrokontrolerach
Wydział Elektroniki Mikrosystemów i Fotoniki
Piotr Markowski
Konwerter
analogowo-cyfrowy
ADC
ADC - cechy
• 10-o bitowy wynik
• nieliniowość 0,5 LSB
• dokładność konwersji ± 2 LSB
• czas konwersji 65÷260 µs
• 8 pojedynczych kanałów wejściowych
• 7 kanałów różnicowych
• 2 kanały różnicowe ze wzmocnieniem
• zapis wyniku wyrównywany do P lub L
• zakres napięć 0 – Vcc [V]
• 3 rodzaje napięcia odniesienia
• tryb Free Running
• wyzwalanie konwersji zdarzeniem
• przerwanie od zakończenia konwersji
• konwersja w stanie uśpienia – eliminacja zakłóceń
Rejestry:
ADMUX (ADC Multiplexer)
ADCSRA (ADC Control/Status Reg.)
ADCL + ADCH (ADC Data Reg.)
SFIOR (Special Function Register)
Przerwanie:
Zakończenie konwersji
Flaga ADIF (ADCSRA)
Włączanie ADIE (ADCSRA)
Wektor 0x00E
ADC - budowa
Rozpoczęcie
konwersji
Rozpoczęcie konwersji
Pojedyncza konwersja:
ADSC (ADCSRA) « 1
1 póki trwa konwersja
zmiana MUX, REF gdy ADSC = 0
Konwersja wielokrotna (free running):
ADATE (ADCSRA) « 1
ADTS 2..0 (SFIOR) « ‘000’
ADSC (ADCSRA) « 1
Rozpoczęcie konwersji
Konwersja wyzwalana zdarzeniem (triggering):
ADATE (ADCSRA) « 1
ADTS 2..0 (SFIOR) « ‘001’ ÷ ‘111’
wystąpienie zdarzenia wyzwalającego
(zbocze ^ na fladze obserwowanego przerwania)
Przebieg
konwersji
Przebieg konwersji
U [V]
ADCHL [-]
t [µs]
Przebieg konwersji - pojedyncza
Start: ADEN « 1
ADSC « 1
12 cykli zeg. – rozgrzewka
1,5 cykla zeg. - SAMPLE AND HOLD
11,5 cykli zeg. - konwersja
Inne typy konwersji
Wielokrotna (free running)
Start pierwszej – ADSC « 1
Start kolejnych – natychmiast po poprzedniej
Wyzwalana zdarzeniem (triggering)
Start – flaga startująca « 1
Większy odstęp po konwersji - synchronizacja
Przebieg konwersji - taktowanie
50 ÷ 200 kHz
ADEN « 0 => stop CLK
Konwersja sygnałów różnicowych
Różnicowe + triggering:
ADEN « 0
ADEN « 1
(przed każdym)
Eliminacja
zakłóceń
Eliminacja zakłóceń
Wynik
konwersji
Wynik konwersji
DLA POJEDYNCZEGO SYGNAŁU ANALOGOWEGO:
• 10-bitowa naturalna liczba binarna (0÷1023)
• zapis do rejestru ADC (ADCH, ADCL)
• wynik obliczany ze wzoru lub z prostej proporcji:
0 V --- 0 (w ADC)
5 V --- 1023 (w ADC)
DLA KONWERSJI RÓŻNICOWEJ:
• liczba 10-bitowej w kodzie U2 (-512÷511)
• zapis do rejestru ADC (ADCH, ADCL)
• wynik obliczany ze wzoru
Rejestry konwertera
Analogowo-cyfrowego
ADC Multiplexer Selection Register
wybór kanału wejściowego, napięcia odniesienia, zapis wyniku
zmiana MUX, REF gdy ADSC = 0
ADMUX
ADC Data Register
1 - ADLAR (ADCSRA) - 0
rejestr wyniku
ADC Control and Status Register A
rejestr sterujący
ADEN – ADC on/off (ADC enable)
ADSC – start konwersji (ADC start conversion)
ADATE – automatyczne wyzwalanie (zob. rejestr SFIOR)
(ADC auto trigger enable)
ADIF – flaga przerwania (ADC interrupt flag)
ADIE – przerwanie on/off (ADC interrupt enable)
ADC Control and Status Register A
rejestr sterujący
(ADC prescaler select)
Special Function IO Register
Przykład
Konwerter analogowo-cyfrowy
Program przykładowy

Podobne dokumenty