PRZETWORNIK ADC w mikrokontrolerach Atmega16-32



Podobne dokumenty
Wbudowane układy peryferyjne cz. 3 Wykład 9

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Przetworniki analogowo-cyfrowe (A/C)

Instytut Teleinformatyki

Programowanie mikrokontrolerów. 8 listopada 2007

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Obsługa przetwornika ADC na mikrokontrolerze ATmega8 CEZARY KLIMASZ OBSŁUGA PRZETWORNIKA ADC NA MIKROKONTROLERZE ATMEGA8

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Mikroprocesory i Mikrosterowniki Laboratorium

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ PODSTAWY TEORETYCZNE Zasada pracy przetwornika A/C

Komunikacja w mikrokontrolerach Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Przetworniki AC i CA

PRZETWORNIKI A/C I C/A.

Obsługa wyjść PWM w mikrokontrolerach Atmega16-32

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

SYSTEM PRZERWAŃ ATmega 32

Układy czasowo-licznikowe w systemach mikroprocesorowych

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

MCAR Robot mobilny z procesorem AVR Atmega32

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Podstawy systemów mikroprocesorowych

Wstęp Architektura... 13

Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865

Struktury specjalizowane wykorzystywane w mikrokontrolerach

Architektura przetworników A/C. Adam Drózd

Wbudowane układy peryferyjne cz. 2 Wykład 8

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

LABORATORIUM ELEKTRONIKA I ENERGOELEKTRONIKA BADANIE GENERATORÓW PRZEBIEGÓW PROSTOKĄTNYCH I GENERATORÓW VCO

Politechnika Białostocka Wydział Elektryczny

MIKROPROCESORY architektura i programowanie

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

E-TRONIX Sterownik Uniwersalny SU 1.2

Politechnika Białostocka

MIKROKONTROLERY I MIKROPROCESORY

ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych

Zastosowania mikrokontrolerów w przemyśle

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

TECHNIKA MIKROPROCESOROWA

Układy czasowo-licznikowe w systemach mikroprocesorowych

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Parametryzacja przetworników analogowocyfrowych

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

LABORATORIUM UKŁADY STYKOWE ZL3AVR

LABORATORIUM Komputery przemysłowe i systemy wbudowane

Opis efektów kształcenia dla modułu zajęć

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

Moduł wejść/wyjść VersaPoint

Systemy wbudowane. Paweł Pełczyński

Technika Cyfrowa. Badanie pamięci

Porty GPIO w mikrokontrolerach STM32F3

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Scalony analogowy sterownik przekształtników impulsowych MCP1630

W.J WIELICZKA

lekcji. Pozwoli to na wygodną regulację progu przełączania się naszego wyłącznika

Badanie właściwości multipleksera analogowego

Technika Mikroprocesorowa

KAmodRPiADCDAC. Moduł przetwornika A/C i C/A dla komputerów RaspberryPi i RaspberryPi+

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Research & Development Ultrasonic Technology / Fingerprint recognition

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Instytut Teleinformatyki

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

TECHNIKA MIKROPROCESOROWA

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

Państwowa Wyższa Szkoła Zawodowa

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Przetworniki A/C i C/A w systemach mikroprocesorowych

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Rys. 1. Sposób podłączenia przetworników z płytką Nexys 4.

Hardware mikrokontrolera X51

Przetworniki analogowo-cyfrowe

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Metody obsługi zdarzeń

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

Wbudowane układy komunikacyjne cz. 1 Wykład 10

2. Architektura mikrokontrolerów PIC16F8x... 13

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Część 6. Mieszane analogowo-cyfrowe układy sterowania. Łukasz Starzak, Sterowanie przekształtników elektronicznych, zima 2011/12

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Przetwarzanie AC i CA

Metody wprowadzania informacji cyfrowej o wyniku pomiaru do komputera

Timery w mikrokontrolerach STM32F3

Kod produktu: MP01105

TECHNIKA MIKROPROCESOROWA II

Transkrypt:

Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Opracował: mgr inż. Andrzej Biedka

Praktycznie każdy współczesny mikrokontroler posiada wbudowany przetwornik analogowo-cyfrowy. Stosowane są najczęściej przetworniki wykorzystujące metodę sukcesywnej aproksymacji lub sigma-delta. Ogólny schemat blokowy i przebiegi czasowe w przetworniku typu SAR przedstawiają rysunki 8-1 i 8-2. ŹNO We SAR + sterowanie Wynik Stop Komparator Start Clk Rys. 8-1. Schemat blokowy przetwornika ADC a) b) Umax Umax Uwe Uwe 0 1 0 1 MSB LSB 1 1 0 1 MSB LSB Rys. 8-2. Schemat blokowy przetwornika ADC i przykładowe przebiegi przetwarzania Proces przetwarzania polega na porównywaniu napięcia wejściowego z napięciem wytwarzanym w wewnętrznym przetworniku cyfrowo-analogowym (). Porównywanie dokonywane jest w kolejnych krokach, których liczba równa jest rozdzielczości przetwornika. Do pierwszego porównania brane jest napięcie równe połowie napięcia zakresu przetwarzania (Umax). Jeśli napięcie wejściowe jest mniejsze niż napięcie z, w kolejnym kroku odejmowana jest połowa z napięcia pierwszego kroku (czyli 1/4 napięcia zakresu) rysunek 8-2a. Jeśli napięcie wejściowe jest większe następuje dodanie takiej wartości napięcia rysunek 8-2b. W kolejnych krokach napięcie wytwarzane przez przetwornik wewnętrzny zbliża się do wartości napięcia wejściowego z dokładnością najmniej znaczącego bitu. Po zakończeniu cyklu pracy przetwornik sygnalizuje gotowość odbioru słowa cyfrowego przez ustawienie bitu w rejestrze sterującym lub zgłasza przerwanie. Przetwornik ADC jest najczęściej wyposażony w wejściowy multiplekser analogowy pozwalający na pomiar kilku napięć oczywiście niejednocześnie. Źródło napięcia odniesienia niezbędne do pracy przetwornika może być wbudowane do struktury mikrokontrolera lub przyłączone z zewnątrz. Schemat blokowy przetwornika ADC mikrokontrolera Atmega 16/32 obejmujący najistotniejsze elementy przedstawiony jest na rysunku 8-3.

Magistrala danych ADMUX ADC CTRL ADC DATA AVcc 2,56V MPX1 Sterowanie przetwarzaniem AREF ADC0 GND ADC1 MPX2 ADC7 Rys. 8-3. Uproszczony schemat blokowy przetwornika ADC w mikrokontrolerze ATmega 16/32 Przetwornik ADC Atmega 16/32 może przetwarzać do ośmiu napięć podawanych na wejścia ADC0-ADC7. Możliwa jest praca niesymetryczna w zakresie napięć 0 Vcc lub praca różnicowa, gdzie wykorzystywane są dwa wejścia analogowe. Zawsze należy pamiętać o ograniczeniu wartości napięć podawanych do wejść układów CMOS: napięcie wejściowe nie może być niższe niż -0,3V poniżej poziomu GND oraz nie może być wyższe niż +0,3V powyżej napięcia Vcc. Źródłem napięcia odniesienia może być napięcie zasilania części analogowej AVCC, źródło wewnętrzne o wartości 2,56V lub zewnętrzne źródło o wartości napięcia w zakresie od 2,0V do (AVCC-0,5V). Konfigurację i sterowanie pracą bloku przetwornika umożliwiają rejestry sterujące ADMUX, ADCSRA, ADCL, ADCH i SFIOR Rejestr sterowania multiplekserami wejściowymi i źródłem napięcia odniesienia. ADMUX REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 REFS1, REFS0 - wybór źródła napięcia odniesienia. Patrz tabela 8-1 ADLAR MUX4 MUX0 - wybór metody zapisu słowa wyjściowego - wybór ustawień wejściowego multipleksera analogowego. Patrz tabela 8-2

Tabela 8-1 REFS1 REFS0 Źródło napięcia odniesienia 0 0 Źródło zewnętrzne, źródło wewnętrzne jest wyłączone 0 1 AVCC 1 0 zarezerwowane 1 1 Źródło wewnętrzne 2,56V Do pinu AREF mikrokontrolera powinien być przyłączony kondensator filtrujący o pojemności min. 100nF, drugą końcówką przyłączony do potencjału AGND. Do ustawiania pracy multipleksera wejściowego wykorzystane są bity MUX4 MUX0. Bity MUX4 i MUX3 służą do ustawiania pracy różnicowej i zmiany wzmocnienia w torze przetwornika. W pracy podstawowej (wejście niesymetryczne, zakres napięć mierzonych 0 AVCC) stosowane są bity MUX2 MUX0, przy wartościach MUX4 = MUX3 = 0. Tabela 8-2 MUX2 MUX1 MUX0 Wejście analogowe 0 0 0 ADC0 0 0 1 ADC1 0 1 0 ADC2 0 1 1 ADC3 1 0 0 ADC4 1 0 1 ADC5 1 1 0 ADC6 1 1 1 ADC7 Rejestr sterujący ADCSRA zawiera następujące bity: ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 ADEN ADSC ADATE ADIF ADIE - odblokowanie przetwornika ADC - wpisanie '1' powoduje start przetwarzania, powrót bitu do stanu '0' sygnalizuje koniec przetwarzania - zezwolenie na pracę z automatycznym wyzwalaniem. Patrz tabela 8-4 - flaga zgłoszenia przerwania po zakończeniu przetwarzania - zezwolenie na zgłoszenia przerwania po zakończeniu przetwarzania ADPS2 - ADPS0 - wybór stopnia podziału preskalera. Patrz tabela 8-3 Dla zapewnienia dokładnej pracy przetwornika częstotliwość przebiegu taktującego powinna zawierać się zakresie 50 200 khz. Zatem w inicjalizacji pracy przetwornika należy dobrać właściwy stopień podziału preskalera, który taktowany jest głównym sygnałem zegarowym fclk. Dostępne stopnie podziału podane są w tabeli 8-3.

Tabela 8-3 ADPS2 ADPS1 ADPS0 Współczynnik podziału 0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 Rejestry danych ADCH i ADCL. Ponieważ rozdzielczość przetwornika mikrokotrolera wynosi 10 bitów, do przekazania wyniku przetwarzania potrzebne są dwa rejestry 8-bitowe. Dla wygody tworzenia oprogramowania przewidziano dwa sposoby zapisu rejestrów danych: z wyrównaniem do lewej lub prawej strony, wybierane bitem ADLAR znajdującym się w rejestrze ADMUX. Bit ADLAR = 0 wyrównanie do prawej ADC9 ADC8 ADCH ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADCL Bit ADLAR = 1 wyrównanie do lewej ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCH ADC1 ADC0 ADCL Uruchamianie przetwarzania może być realizowane dwojako: jednokrotne uruchamianie cyklu pracy, po którym przetwornik oczekuje na następny rozkaz. Automatyczne wyzwalanie pomiaru z sygnalizacją zakończenia każdego cyklu przetwarzania. Źródłem sygnału wyzwalającego mogą być różne sygnały/zdarzenia. Rejestr SFIOR zawiera m.in. bity wyboru źródła sygnału wyzwalania przetwornika ADC: ADTS2 ADTS1 ADTS0 - ACME PUD PSR2 PSR10 ADTS2-ADTS0 - wybór źródła sygnału wyzwalania przetwornika ADC. Patrz tabela 8-4 Dla uaktywnienia automatycznego wyzwalania przetwornika konieczne jest ustawienie bitu ADATE w rejestrze ADCSRA

Tabela 8-4 ADTS2 ADTS1 ADTS0 Źródło sygnału wyzwalania 0 0 0 Wyzwalanie ciągłe 0 0 1 Wyzwalanie sygnałem komparatora analogowego 0 1 0 Wyzwalanie sygnałem przerwania zewn. EXT0 0 1 1 Wyzwalanie sygnałem zrównania Timera 0 - OCR 1 0 0 Wyzwalanie sygnałem przepełnienia Timera 0 1 0 1 Wyzwalanie sygnałem zrównania Timera 1 - OCR-B 1 1 0 Wyzwalanie sygnałem przepełnienia Timera 1 1 1 1 Wyzwalanie sygnałem przechwycenia Timera 1 ZADANIA: 1. Na podstawie karty katalogowej określić kolejność odczytywania rejestrów danych ADCL i ADCH. 2. Dla sygnału taktującego mikrokontroler równego 16 MHz wyznaczyć optymalny stopień podziału preskalera przetwornika. 3. Przyjmując wyniki uzyskane w zadaniu 2 oraz średni czas przetwarzania przetwornika równy 15 cyklom preskalera, obliczyć maksymalną prędkość przetwarzania ADC w jednostkach ksps. Przebieg ćwiczenia: Przyłączyć potencjometr do zasilania i wybranego wejścia multipleksera przetwornika według schematu: JP9 Vcc czerwony biały 10kom niebieski PA0 - PA7 GND Utworzyć algorytm i napisać program cyklicznego pomiaru napięcia uzyskiwanego z potencjometru z wyświetlaniem 8-bitowego wyniku w postaci binarnej. Zmodyfikować program wprowadzając funkcję wysyłania wyniku przetwarzania przez kanał transmisji szeregowej do komputera PC. Wykorzystać funkcje biblioteczne konwersji liczby 10 bitowej na ciąg znaków ASCII. Literatura: [1] Francuz T. Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Helion, Gliwice, 2011 [2] Baranowski R. Mikrokontrolery AVR ATmega w praktyce. BTC, Warszawa, 2005 [3] Kardaś M. Mikrokontrolery AVR. Język C. Podstawy programowania. Atnel, Szczecin, 2011. [4] Witkowski A. Mikrokontrolery AVR. Programowanie w języku C. Przykłady zastosowań, PKJS, Katowice 2006 [5] Karta katalogowa mikrokontrolera Atmega32 firmy ATMEL.