MIKROPROCESORY architektura i programowanie

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

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Struktury specjalizowane wykorzystywane w mikrokontrolerach

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

MIKROPROCESORY architektura i programowanie

Przetworniki analogowo-cyfrowe (A/C)

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

Zastosowania mikrokontrolerów w przemyśle

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

MIKROPROCESORY architektura i programowanie

Programowanie mikrokontrolerów. 8 listopada 2007

MIKROKONTROLERY I MIKROPROCESORY

Research & Development Ultrasonic Technology / Fingerprint recognition

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

Parametryzacja przetworników analogowocyfrowych

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

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Scalony analogowy sterownik przekształtników impulsowych MCP1630

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

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

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

Przykładowe zadanie praktyczne

PRZETWORNIKI C / A PODSTAWOWE PARAMETRY

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

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Imię i nazwisko (e mail) Grupa:

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Wstęp Architektura... 13

Przetworniki A/C i C/A w systemach mikroprocesorowych

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

2.1 Porównanie procesorów

Podstawy elektroniki i metrologii

Przetwornik analogowo-cyfrowy

Przetwarzanie A/C i C/A

PRAWO OHMA DLA PRĄDU PRZEMIENNEGO. Instrukcja wykonawcza

Przetworniki AC i CA

Przetwarzanie AC i CA

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Karta katalogowa V E3XB. Moduł wejść/wyjść Snap. 18 (podzielone na dwie grupy) Typ wejść

Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865

Programowanie w językach asemblera i C

1. Zasilacz mocy AC/ DC programowany 1 sztuka. 2. Oscyloskop cyfrowy z pomiarem - 2 sztuki 3. Oscyloskop cyfrowy profesjonalny 1 sztuka

Układ pomiarowy CoachLab II

Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI. Katedra Metrologii i Optoelektroniki. Metrologia. Ilustracje do wykładu

Interfejs analogowy LDN-...-AN

Programowalne układy logiczne

OPBOX ver USB 2.0 Miniaturowy Ultradźwiękowy system akwizycji danych ze

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

U 2 B 1 C 1 =10nF. C 2 =10nF

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

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

Układy czasowo-licznikowe w systemach mikroprocesorowych

MIKROPROCESORY architektura i programowanie

PRZETWORNIKI A/C I C/A.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

KAŻDY Z 8-MIO BITOWYCH PORTÓW MIKROKONTROLERÓW RODZINY 51 MA JEDYNIE REJESTR PORTU: P0, P1, P2, P3, PEŁNIĄ ONE ROLĘ REJESTRÓW DANYCH WE/WY.

Instytut Teleinformatyki

E-TRONIX Sterownik Uniwersalny SU 1.2

Przetworniki A/C. Ryszard J. Barczyński, Materiały dydaktyczne do użytku wewnętrznego

cennik detaliczny , ,- seria wzmacniacz zintegrowany 1010 odtwarzacz CD

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

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

Układy transmisji przewodowej. na przykładzie USB

Liniowe układy scalone. Elementy miernictwa cyfrowego

Komputerowe systemy pomiarowe. Podstawowe elementy sprzętowe elektronicznych układów pomiarowych

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Przetworniki A/C i C/A w systemach mikroprocesorowych

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Programowany układ czasowy APSC

Ćw. 7 Przetworniki A/C i C/A

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

a) dolno przepustowa; b) górno przepustowa; c) pasmowo przepustowa; d) pasmowo - zaporowa.

Przerwania, polling, timery - wykład 9

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

Hardware mikrokontrolera X51

Ćwiczenie 7 Matryca RGB

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Ćw. 7: Układy sekwencyjne

PROFESJONALNY MULTIMETR CYFROWY ESCORT-99 DANE TECHNICZNE ELEKTRYCZNE

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

ĆWICZENIE NR 1 TEMAT: Wyznaczanie parametrów i charakterystyk wzmacniacza z tranzystorem unipolarnym

Układy akwizycji danych. Komparatory napięcia Przykłady układów

Metody obsługi zdarzeń

Programowany układ czasowy

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

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

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

Technika Mikroprocesorowa

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

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

Architektura przetworników A/C

Przetworniki analogowo-cyfrowe

4. Schemat układu pomiarowego do badania przetwornika

Badanie właściwości tłumienia zakłóceń woltomierza z przetwornikiem A/C z dwukrotnym całkowaniem

Transkrypt:

WEWNĘTRZNE UKŁADY PERYFERYJNE (µ-kontrolerów rodziny 51) nazwa jest trochę osobliwa, ale dobrze oddaje to, co jest najważniejszą cechą mikro-kontrolerów: jednoukładowość przy bogatym wyposażeniu Wyposażenie mikro-kontrolerów w przetworniki analogowo-cyfrowe i cyfrowo-analogowe można uznać za jedno z najważniejszych osiągnięć w ich rozwoju. Nasz przykładowy CISC: ADuC812 jest wyposażony w 8-mio kanałowy 12-to bitowy przetwornik analogowo-cyfrowy i dwa 12-to bitowe przetworniki cyfrowo-analogowe (DAC0 i DAC1). Dane z postaci cyfrowej można skonwertować do formy analogowej za pomocą wzmacniacza pracującego w trybie układu sumującego. Najczęściej wymienia się dwa układy dla tego typu konwersji. Układ (rys.1.) z zestawem oporników, których wartość stanowi wagę z jaką wartość odpowiadająca danemu bitowi wchodzi do sumy wyniku. Układ ten ma znaczne wady, głównie wynikające z potrzeby stosowania precyzyjnych oporników, o wartościach z szerokiego zakresu, gdy układ miałby być stosowany dla wielobitowych konwersji. Dla 12-bitowych danych największy opornik miałby wartość 2048 razy większą niż najmniejszy. Powszechnie stosuje się, przedstawiony na rys.2. układ drabinki R-2R. Rys. 1. Układ konwersji DAC z ważonymi opornikami Rys. 2. Układ konwersji DAC z drabinka R-2R 1/10

PRZETWORNIKI CYFROWO-ANALOGOWE (DAC). Przetworniki cyfrowo-analogowe w AduC812 pracują na tym samym napięciu odniesienia co ADC (opisane poniżej). Przetworniki te wykazują znany efekt nieliniowości przy końcach zakresu konwersji. Poza tymi niewielkimi zakresami ( po kilkadziesiąt mv) wykazują dobrą liniowość i stabilność. Konwersja wartości cyfrowej, ustawionej w odpowiednich rejestrach sterujących pracą przetworników, następuje natychmiastowo (w odróżnieniu od konwersji analog-cyfra, która jest stosunkowo powolnym procesem iteracyjnym). Dwa, w znacznym stopniu niezależne, DAC0 l DAC1 mogą być ustawiane niezależnie lub synchronicznie. 2/10

Przetworniki cyfrowo-analogowe (DAC) Nasz przykładowy mikro-kontroler AduC812 wyposażony jest w dwa przetworniki DAC. REJESTRY ZARZĄDZJĄCE PRACĄ DAC TO KONTROLNY REJESTR DACCON ORAZ REJESTRY DANYCH: DACCON rejestr SFR o adresie FDH MODE RNG1 RNG0 CLR1 CLR0 SYNC PD1 PD0 7 6 5 4 3 2 1 0 Bit MODE wybiera pracę DAC-ów jako 8-mio bitowe (MODE=1) lub 12-to bitowe. Bity RNG wybierają zakres sygnałów wyjściowych dla każdego DAC z osobna. RNG = 1 wybiera zakres 0 Vdd (napięcie zasilania), RNG = 0 wybiera zakres 0 Vref. CLR powinny być ustawione na 1 dla normalnej pracy DAC. Wartość zero forsuje zero sygnału na wyjściu. SYNC ustawiony na 1 oznacza, że sygnał wyjściowy pojawia się natychmiast po ustawieniu młodszego rejestru danych (DAC0L lub DAC1L). Jest to praca asynchroniczna. Gdy chcemy, by analogowe sygnały wyjściowe pojawiły się równocześnie, wtedy bit SYNC ustawiamy na zero. Wtedy wpisanie wartości do DAC0L ani do DAC1L nie wyzwala ustawienia wyjścia. Dopiero postawienie bitu SYNC na 1 wyznacza moment jednoczesnego ustawienia analogowych linii wyjściowych procesora. Rejestry DAC0H i DAC1H służą oczywiście do wpisywania czterech starszych bitów danych i powinny, przy pracy asynchronicznej być wypełniane PRZED wpisaniem wartości do DAC0L/1L. 3/10

Przetworniki analogowo-cyfrowe - (ADC) Istnieje wiele metod konwersji analogowo-cyfrowych. Wśród najczęściej stosowanych wylicza się metodę bezpośrednią (flash ADC), metodę kolejnych przybliżeń, metody całkowe oraz tzw. metodę Sigma-Delta. Wspólnym dla różnych technik konwersji, jest zapewnienie niezakłóconego próbkowania sygnału analogowego oraz zapewnienie jego stabilności na czas przeprowadzania konwersji. Tę stabilność realizuje się często przez włączenie w układ konwertera bloku S/H sample and hold (pobierz i przechowaj). Przetworniki ADC w mikro-kontrolerach ADuC812 wykorzystują technikę kolejnych przybliżeń. Konwersja ta opiera się na porównywaniu sygnału analogowego z przetworzonym przez wewnętrzny DAC cyfrowym przybliżeniem generowanym krok po kroku przez zegar napełniający rejestr przybliżenia, SAR. W pierwszym kroku DAC ładuje się najstarszym bitem. Bit pozostaje ustawiony, gdy wyjście z DAC nie przekracza sygnału. W przeciwnym razie bit jest zerowany. W następnych taktach ustawiane (oraz ewentualnie zerowane) są kolejne bity. Liczba taktów zegara potrzebnych dla pełnej konwersji nieznacznie przekracza liczbę bitów przetwornika. Schemat blokowy ADC pracującego techniką kolejnych przybliżeń 4/10

Schematyczny układ przetwornika analogowo-cyfrowego z ADuC812 przedstawia rysunek (wzięty, jak część rysunków w tych notatkach z Data Sheet for AduC812, Rev E. www.analog.com). Konwersja sygnału analogowego, podawanego na linię wejściową procesora, sterowna jest zegarem, którego częstotliwość wynika z częstości zegara procesora i dzielnika, wybieranego programowo. Zalecany zakres częstotliwości pracy ADC: 400kHz 4 MHz (ADuC812). Przełączaniem kanałów steruje program, odnosząc się do odpowiednich rejestrów SFR. Niewielka pojemność wejściowa, reprezentowana na rysunku kondensatorem 2 pf, może wnosić pewien błąd pomiarowy przy szybkim przełączaniu kanałów. Przy zalecanym zakresie częstotliwości i zapewnieniu małej oporności wyjściowej źródła (poniżej 60 Ω) błąd jest zaniedbywalny. Jeśli warunek małej stałej czasowej jest niezachowany, to ograniczenie szybkości przełączania należy do programisty. 5/10

Zdolność rozdzielczą ADC wyznacza liczba bitów wyniku konwersji oraz napięcie odniesienia (referencja). Maksymalny sygnał analogowy, który może zostać poprawnie przetworzony na wartość cyfrową jest równy napięciu referencyjnemu, a jego przetworzona wartość to maksymalny integer mieszczący się w rejestrze wyniku. Dla ADuC812 wewnętrzne napięcie referencji wynosi 2.5 V. Taki jest więc maksymalny sygnał, który może być przetworzony ma wartość 4095, a najmniejsza mierzalna różnica między dwoma sygnałami wynosi 0.61mV. ADuC812 może pracować także z zewnętrznym źródłem referencji. Jego wartość, większa od 2.3V, nie może przekraczać napięcia zasilania. Idealna, liniowa relacja analog-cyfra może być obarczona błędami. Producent ADuC812 wprowadził automatyczną kalibrację, dzięki której eliminuje się błąd przesunięcia zera i błąd nachylenia. 6/10

REJESTRY STERUJĄCE PRACĄ ADC: MIKROPROCESORY architektura i programowanie ADCCON1 (ADC Control #1) to rejestr SFR o adresie EFH. MD1 MD0 CK1 CK0 AQ1 AQ0 T2C EXC 7 6 5 4 3 2 1 0 Para bitów MD1 MD0 kontroluje zasilanie obwodów ADC, para CK1, CK0 wyznacza dzielnik zegara, para AQ1, AQ0 wyznacza liczbę cykli zegara ADC, którą dodatkowo przeznaczamy na czas akwizycji sygnału wejściowego (zwykle wystarcza 1). MD1 MD0 CK1 CK0 dzielnik zegara 0 0 Obwody ADC nie są zasilane 0 0 1 0 1 Normalna praca 0 1 2 1 0 ADC nie zasilane jeśli nie biegnie konwersja 1 0 4 1 1 Stan uśpienia 1 1 8 (W stanie uśpienia napięcie referencyjne jest utrzymywane, a wyłączone są pozostałe obwody ADC) AQ1 AQ0 liczba extra cykli Bit T2C (ADCCON.1) może być ustawiony przez 0 0 1 programistę. Ustawiony oznacza zezwolenie na 0 1 2 użycie licznika T2 dla wyzwalania procesu kon- 1 0 4 wersji. Konwersja startuje przy DRUGIM przepeł- 1 1 8 nieniu licznika. Bit EXC jest ustawiany również przez programistę i ustawienie zezwala na użycie sygnału doprowadzanego do linii procesora CONVST jako wyzwalania konwersji (active low, jak zwykle). 7/10

REJESTRY STERUJĄCE PRACĄ ADC: ADCCON2 (ADC Control #2) to rejestr SFR o adresie D8H. ADCI DMA CCONV SCONV CS3 CS2 CS1 CS0 7 6 5 4 3 2 1 0 Bity CS3 CS0 ustawiają numer kanału dla przyszłej konwersji: CS3 CS2 CS1 CS0 Wybrany kanał Bit ADCI to wskaźnik 0 0 0 0 0 przerwania, który jest 0 0 0 1 1 ustawiany, gdy konwersja 0 0 1 0 2 jest zakończona. Używany gdy decydujemy się na 0 1 1 0 6 pracę ADC w trybie 0 1 1 1 7 przerwań. 1 0 0 0 pomiar temperatury układu 1 1 1 1 wstrzymuje pracę DMA Pozostałe konfiguracje bitów nie są używane. Ustawienie bitu DMA zezwala na pracę ADC w trybie Direct Memory Access, który zwłaszcza przy żądaniu konwersji ciągłej zezwala na akwizycję pomiarów bez obciążania procesora. Praca DMA zostanie omówiona w przyszłych wykładach. CCONV ustawia programista i zezwala na pracę ADC trybie konwersji ciągłej po zakończeniu jednego procesu konwersji, startuje następny. Wyzwalanie konwersji zależy od innych ustawień. Ustawienie SCONV inicjuje pojedynczą konwersję. Bit jest zerowany sprzętowo po zakończeniu konwersji. 8/10

REJESTRY STERUJĄCE PRACĄ ADC: ADCCON3 (ADC Control #3) to rejestr SFR o adresie F5H. BUSY RSVD RSVD RSVD RSVD RSVD RSVD RSVD 7 6 5 4 3 2 1 0 Ten rejestr nie jest zbyt bogaty. Bit BUSY jest jedynie do czytania. Jest ustawiany automatycznie (sprzętowo) w trakcie konwersji lub kalibracji i także automatycznie zerowany po zakończeniu konwersji lub kalibracji. Wyniki konwersji znajdują się w ADCDATAH i ADCDATAL, rejestrach SFR. Wynik konwersji jest 12-bitowy. Cztery najstarsze bity znajdują się na pozycjach ADCTADAH.3 ADCDATAH.0 a pozostałe w rejestrze ADCDATAL. UWAGA! Na pozycjach ADCDATAH.7 ADCDATAH.4 automatycznie, po pomiarze znajduje się numer kanału ADC, z którego pomiar pochodzi. ADuC812 ma wbudowaną automatyczną funkcję kalibracyjną, która uruchamia się po włączeniu zasilania. Programista ma dostęp do dwóch parametrów kalibracyjnych i może je zmieniać, jeśli uważa, że jego wartości są lepsze. Producent dostarcza kodu procedury i można go zastosować dla własnej kalibracji lub zmienić. Parametry kalibracyjne dostępne dla programisty to 14-bitowe wartości umieszczone w następujących rejestrach: ADCGAINH (zawiera 6 starszych bitów parametru korygującego nachylenie prostej odnoszącej sygnał do wartości odczytu), ADCGAINL pozostałe 8 bitów tego parametru. ADCOFSH i ADCOFSL to rejestry zawierające 14-bitową wartość parametru korygującego punkt przecięcia prostej z początkiem układu współrzędnych. 9/10

PRZYKŁAD PROGRAMU używającego ADC w w trybie pojedynczej konwersji, bez zezwolenia na przerwania. USTAWIENIA WSTĘPNE: MOV ADCCON1,#01100000B ;ADC normal, clk div 4, aq 0, no T2, no EXT PRZYGOTOWNIE KONWERSJI: MOV ADCCON2,#02H ;wybranie kanału 2 SETB SCONV JB SCONV,$ ;czekaj na zakończenie konwersji. Pierwsza zła. SETB SCONV JB SCONV,$ ;OK PRZETWORZENIE WYNIKU: MOV WYNIKH,ADCDATAH MOV WYNIKL,ADCDATAL ANL WYNIKH,#0FH ; wymaskuj numer kanału DYSKUSJA: W przykładzie pokazano użycie ADC BEZ zezwolenia na przerwania. Wynika to stąd, że konwersja, która w przypadku tego procesora zajmuje ok. 17 cykli zegara ADC, czyli pojedyncze mikrosekundy. Obsługa przerwania byłaby w tym przypadku nieuzasadniona. Na pewną przykładową przestrogę wskazuje użycie dwóch następujących po sobie konwersji. Otóż producent procesora podał w informacjach o błędach, że w przypadku konwersji następującej po czasie dłuższym niż 200 ms od ostatnio przeprowadzonej wynik jest niepoprawny i należy go powtórzyć! 10/10