2014-12-04
Przetwornik A/C w mikrokontrolerach AVR
Przetworniki A/C w mikrokontrolerach AVR wykorzystujÄ… metodÄ™
sukcesywnej aproksymacji (próbkowania bitowego).
Podstawy techniki
mikroprocesorowej
Najważniejsze parametry przetwornika:
" rozdzielczość 8- lub 10-bitowa
Część 4. Przetwornik A/C.
" 8 kanałów pomiarowych (Single-ended)
" 7 kanałów różnicowych (Differential input)
" 2 wejścia różnicowe z nastawnym wzmocnieniem (x1, x10, x200)
dr inż. Marcin Pawlak
" Zakres pomiarowy 0-Vcc (0-5V)
Kontakt:
Pokój 320 bud. A10
" Wbudowane zródło napięcia odniesienia 2.56V
Tel. 320 3253
marcin.pawlak@pwr.wroc.pl
Budowa wewnętrzna przetwornika A/C Taktowanie przetwornika A/C
Obwody przetwornika, wykorzystujÄ…ce metodÄ™ sukcesywnej
aproksymacji wymagają taktowania sygnałem zegarowym o
czÄ™stotliwoÅ›ci w przedziale 50÷200 kHz. Jeżeli wymagana
rozdzielczość pomiaru jest mniejsza niż 10-bitów, częstotliwość
taktowania może być zwiększona.
Przetwornik posiada wbudowany
preskaler, który generuje sygnał
taktujący poprzez podział
częstotliwości zródłowego
sygnału zegarowego.
Dla XTAL = 16 MHz wybieramy
CK/128. Wówczas fADC = 125 kHz.
Parametry czasowe przetwornika A/C yródło napięcia odniesienia AREF
Konwersja A/C rozpoczyna się po wpisaniu logicznej 1 do bitu ADSC yródło napięcia odniesienia określa górną wartość (zakres
(ADC Start Conversion bit). Bit ten utrzymuje się w stanie wysokim przetwarzania) mierzonej wartości analogowej, na dowolnym wejściu
dopóki trwa konwersja. Po ukończeniu konwersji bit ADSC jest przetwornika A/C.
sprzętowo zerowany.
W zależności od ustawień bitów REFS0 i REFS1, użytkownik ma
Standardowo, czas konwersji wynosi 13 cykli zegara taktujÄ…cego, przy
możliwość wyboru zródła napięcia odniesienia, według następujących
czym czas pierwszej konwersji (po ustawieniu bitu ADEN) wydłużony
zależności:
jest do 25 cykli, z powodów inicjalizacji obwodów analogowych
przetwornika.
Wynik przetwarzania:
1
2014-12-04
Wynik przetwarzania wartości analogowej Rejestry sterujące pracą przetwornika A/C - #1
Wynik przetwarzania wartości analogowej umieszczony jest w dwóch 8-
ADMUX ADC Multiplexer Section Register
bitowych rejestrach ADCH i ADCL.
7 6 5 4 3 2 1 0
UWAGA! Rejestr ADCL musi być odczytany jako pierwszy !!!
REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0
* When ADCL is read, the ADC Data Register is not updated until ADCH is read. Consequently, if the result is left adjusted and
no more than 8-bit precision is required, it is sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH.
W zależności od ustawienia bitu ADLAR, 10-bitowy wynik pomiaru może być
ADLAR Położenie bitów w ADCH:ADCL MUX4..0 Kanał PORT
przesunięty do lewej lub prawej strony:
0 wyrównanie do prawej 00000 ADC0 PA0
ADLAR = 0:
1 wyrównanie do lewej 00001 ADC1 PA1
ADCH ADCL
00010 ADC2 PA2
- - - - - - ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0
REFS1 REFS0 yródło napięcia odniesienia 00011 ADC3 PA3
0 0 Napięcie zewnętrzne (pin AREF) 00100 ADC4 PA4
ADLAR = 1:
0 1 Napięcie zasilające (AVCC) 00101 ADC5 PA5
ADCH ADCL
1 0 *** zarezerwowane *** 00110 ADC6 PA6
ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 - - - - - - 1 1 Napięcie wewnętrzne 2.56V 00111 ADC7 PA7
Rejestry sterujÄ…ce pracÄ… przetwornika A/C - #2
Program przykładowy
ADCSRA ADC Control and Status Register
7 6 5 4 3 2 1 0 #include
ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0
int main(void)
{
ADEN ADC Enable. Wpisanie 1" włącza przetwornik ADC.
DDRA = 0x00; //Port A jako wejście
fADC = XTAL / N
ADSC ADC Start Conversion. Wpisanie 1" rozpoczyna konwersję. Dopóki
unsigned char wyn_H, wyn_L;
trwa konwersja, bit ten znajduje się w stanie wysokim. Po zakończeniu konwersji
jest sprzętowo zerowany.
DPS2..0 N
while (1)
ADATE ADC Auto Trigger Enable. Jeśli bit jest ustawiony na 1", przetwornik
000 2
rozpocznie pomiar po wykryciu zbocza narastającego sygnału wyzwalającego.
{
yródło sygnału wyzwalającego wybiera się poprzez ustawienie odpowiednich bitów
001 2
ADMUX = 0b01000000; //AVCC, ADL=0, PA0
w rejestrze SFIOR.
010 4
ADCSRA = 0b11000111; //ADC = Enable, start...
ADIF ADC Interrupt Flag. Bit ten jest ustawiony sprzętowo (na 1"), z chwilą, gdy
011 8 while (ADCSRA & 0b01000000) {}; //wait...
konwersja zostanie zakończona i rejestry wynikowe ADCH:L zostaną
zaktualizowane. Ponadto, jeżeli jest ustawiony bit ADIE zostanie wyzwolone
wyn_L = ADCL;
100 16
przerwanie ADC Conversion Complete .
wyn_H = ADCH;
Bit ADIF jest zerowany sprzętowo, jeśli rozpocznie się obsługa przerwania.
101 32
Wyzerowanie tego bitu nastąpi również, po wpisaniu logicznej jedynki. }
110 64
}
ADIE ADC Interrupt Enable. Wpisanie 1" powoduje uaktywnienie przerwania
111 128
ADC Conversion Complete .
Zadania do realizacji
1. Skonfigurować przetwornik A/C. Napisać program realizujący funkcję
pomiaru napięcia na porcie PA0. W trybie krokowym uruchomić
program i porównać wyniki przetwarzania ze wskazaniami woltomierza
cyfrowego. Zbadać wpływ wartości napięcia odniesienia na wynik
pomiaru.
2. Opracować program, który wyświetli wynik pomiaru napięcia na linijce
diodowej (rozdzielczość 8-bitowa).
3. Napisać program, który przedstawi wartość mierzonego napięcia w
postaci wskaznika diodowego, w którym liczba zapalonych diod będzie
proporcjonalna do wartości mierzonej.
4. Napisać program, który wykorzysta zmierzoną wartość analogową do
regulacji częstotliwości generatora (migająca dioda LED).
2
Wyszukiwarka
Podobne podstrony:
PTM materiały 5
PTM materiały 2
PTM materiały 6
PTM materiały 1
PTM materiały 3
CHEMIA materiały dodatkowe
Analiza samobójstw w materiale sekcyjnym Zakładu Medycyny Sądowej AMB w latach 1990 2003
1 Materiały tymczasowe
Materiały pomocnicze Krzysztof Żywicki
MaterialyWyklad6,7Geologia
materials
notatek pl dr in Jaros aw Chmiel, Nauka o materia ?h, Przemiany podczas odpuszczania
Nauka o materiałach 2 VI
12 Wykonywanie sterylizacji instrumentów, materiałów
exams materials?emstr tb05
material
więcej podobnych podstron