Inne układy peryferyjne AVR

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

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

Wbudowane układy peryferyjne cz. 1 Wykład 7

Komunikacja w mikrokontrolerach Laboratorium

Podstawy systemów mikroprocesorowych

Mikroprocesory i Mikrosterowniki Laboratorium

Mikrokontroler AVR ATmega32 - wykład 9

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

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

Instytut Teleinformatyki

Programowanie mikrokontrolerów. 8 listopada 2007

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

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

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

16. Szeregowy interfejs SPI

Przetworniki analogowo-cyfrowe (A/C)

Hardware mikrokontrolera X51

MIKROKONTROLERY I MIKROPROCESORY

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

Układy czasowe / liczniki (timers/counters)

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

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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

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

SYSTEM PRZERWAŃ ATmega 32

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

WPROWADZENIE Mikrosterownik mikrokontrolery

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

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

Układy zegarowe w systemie mikroprocesorowym

WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

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

Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe

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

Systemy wbudowane Mikrokontrolery

Wykład Mikroprocesory i kontrolery

2. Architektura mikrokontrolerów PIC16F8x... 13

Język FBD w systemie Concept

Wstęp Architektura... 13

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Programowanie mikrokontrolerów 2.0

Układy zegarowe w systemie mikroprocesorowym

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

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

Mikrokontrolery AVR techniczne aspekty programowania

Mikrokontrolery AVR ATmega

Układy czasowo-licznikowe w systemach mikroprocesorowych

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

Mikrokontrolery AVR ATmega

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Mikroprocesory i Mikrosterowniki

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Współpraca procesora z urządzeniami peryferyjnymi

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

SML3 październik

Politechnika Białostocka Wydział Elektryczny

Ultradźwiękowy generator mocy MARP wersja Dokumentacja techniczno-ruchowa

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

MM05-IIIe. Dokumentacja techniczna

Instrukcja do ćwiczenia : Matryca komutacyjna

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

dokument DOK wersja 1.0

Układ transmisji szeregowej AVR

MIKROPROCESORY architektura i programowanie

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Technika Mikroprocesorowa

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

E-TRONIX Sterownik Uniwersalny SU 1.2

(przykład uogólniony)

Interfejsy szeregowe TEO 2009/2010

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

Charakterystyka mikrokontrolerów

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

Programowanie Mikrokontrolerów

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Mikroprocesory i Mikrosterowniki

Instytut Teleinformatyki

Pobór mocy przez układy mikroprocesorowe

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Elementy składoweµc - przypomnienie

Murasaki Zou むらさきぞう v1.1 Opis programowania modułu LPC2368/LPC1768 z wykorzystaniem ISP

Układy czasowo-licznikowe w systemach mikroprocesorowych

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Programowanie mikrokontrolerów 2.0

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Instrukcja obsługi symulatora linii produkcyjnej Komunikacja Modbus RTU (sterowniki PSW, Beckhoff)

Transkrypt:

Inne układy peryferyjne AVR Komparator analogowy Komparator rodzaj prostego przetwornika A/C blok pozwalający na dokonanie 1-bitowej konwersji sygnału z postaci analogowej na cyfrową, czyli sprawdzenia czy napięcie na wejściu komparatora jest powyŝej, czy poniŝej progu komparacji. Zwykle w komparatorze moŝna ustawić: próg komparacji (poziom komparacji), czyli zewnętrzne napięcie podawane na jedno z wejść komparatora traktowane jako napięcie odniesienia (napięcie progowe), warunek komparacji, tzn. co się stanie w przypadku, gdy napięcie wejściowe wzrośnie powyŝej (zmaleje poniŝej) progu komparacji. Spełnienie warunku komparacji powoduje ustawienie odpowiedniej flagi i generację przerwania, o ile nie zostało zablokowane. Schemat blokowy komparatora w ATmega 16 Komparator dokonuje porównania napięć na wejściu dodatnim AINO (pin PB2 ) i ujemnym AIN1 (pin PB3). Jeśli napięcie na pinie + jest wyŝsze niŝ na pinie, wyjście komparatora bit ACO jest ustawiane w stan 1. Wyjście komparatora moŝe sterować licznikiem T/C1 w trybie rejestratora zdarzeń, wyzwalaniem przetwornika A/C lub generacją przerwań dla warunków: zbocze narastające lub opadające lub przełączenie. Rejestr kontrolno-statusowy ACSR. ACD odłączenie komparatora analogowego. ACBG podłączenie źródła referencyjnego (Bandgap) do AIN0. ACO wyjście komparatora analogowego. ACI flaga przerwania komparatora analogowego. ACIE odblokowanie przerwania komparatora analogowego. ACIC funkcja Input Capture z komparatora analogowego. ACIS1:0 wybór sposobu wywołania przerwania komparatora analogowego. Ustawienie bitu ACME w rejestrze SFIOR umoŝliwia podłączenie jednego z pinów ADC7..0 do ujemnego wejścia komparatora (zamiast pinu AIN1). Wybór dokonywany jest bitami MUX2:0 w rejestrze ADMUX multipleksera analogowego przetwornika A/C (przetwornik musi być wyłączony - bit ADEN w rejestrze ADCSRA).

SPI (Serial Pheripheral Interface) Interfejs SPI słuŝy do dwukierunkowej (full-duplex), synchronicznej, szeregowej transmisji danych pomiędzy MK, a zewnętrznymi układami peryferyjnymi, np. przetwornikami A/C i C/A, pamięcią EEPROM, potencjometrami cyfrowymi, programowalnymi generatorami, innym MK, itp. Jest interfejsem trójprzewodowym: składa się z dwóch linii synchronicznie przesyłających dane w przeciwnych kierunkach i linii z sygnałem zegarowym synchronizującym transfer. Dodatkowo MK często wyposaŝone są w czwartą linię: SS słuŝącą do wyboru trybu pracy interfejsu SS = 1 układ Master, SS = 0 układ Slave. Połączenie interfejsu SPI pomiędzy układem nadrzędnym i układem podrzędnym Schemat blokowy SPI w ATmega16 Rejestry funkcyjne: Rejestr danych SPDR Rejestr kontroli SPCR Rejestr statusowy SPSR

Rejestr danych SPDR Rejestr danych SPI słuŝy do odczytu i zapisu transmitowanych danych. Zapis do rejestru inicjuje transmisję. Odczytywanie rejestru powoduje odczyt bufora odbiorczego rejestru przesuwnego. Rejestr kontroli SPCR SPIE Odblokowanie przerwania SPI. SPE włączenie interfejsu SPI. DORD Kolejność transferu bitów danej. MSTR Wybór master/slave. CPOL Polaryzacja zegara (w stanie spoczynku) CPHA Faza zegara. CPHA=1 pierwsze zbocze sygnału zegarowego próbkuje dane wejściowe a drugie przesuwa dane w rejestrze, CPHA=0 pierwsze zbocze przesuwa dane w rejestrze a drugie próbkuje dane wejściowe. SPR1:0 Szybkość zegara SPI dla trybu Master Przebiegi czasowe interfejsu SPI Rejestr statusowy SPSR SPIF flaga przerwania SPI WCOL flaga kolizji zapisu SPI2X podwójna szybkość SPI

Pamięć EEPROM W nieulotnej pamięci danych EEPROM przechowuje się dane pomiarowe, zmienne konfiguracyjne itp., które nie mogą ulec skasowaniu po wyłączeniu zasilania lub w trakcie resetowania MK. Zaletą tej pamięci jest moŝliwość kasowania jej zawartości i wpisu nowych danych z poziomu programu uŝytkownika zapisanego w pamięci programu MK. ATmega16 posiada pamięć EEPROM o rozmiarze 512 bajtów. Rejestry dostępu do EEPROM znajdują się w przestrzeni adresowej we/wy. Czas dostępu przy zapisie zaleŝy od napięcia zasilania i wynosi 2,5 4 ms. Kiedy następuje dostęp do pamięci EEPROM, JC jest zatrzymywana przez dwa takty zegara, a następnie kontynuuje wykonywanie programu. Rejestry funkcyjne pamięci EEPROM: rejestr danych EEDR, rejestr adresowy EEARH:L, rejestr sterujący EECR. Rejestr danych zawiera daną, która ma być zapisana lub która została odczytana z pamięci. Rejestr adresowy pamięci zawiera adres komórki do której realizowany będzie dostęp (EEARL zawiera młodsze 8 bitów adresu, a EEARH jeden najstarszy bit adresu) Rejestr sterujący EECR EERIE gotowość pamięci do wykonania kolejnej operacji. EEMWE ogólny dostęp do zapisu, EEWE zapis do pamięci EEPROM. Procedura zapisu danej do pamięci EEPROM: 1. Czy bit EEWE = 0 w EECR? 2. Czy bit SPMEN = 0 w SPMCR? 3. Wpisz adres do rejestru adresu EEARL:H. 4. Wpisz daną do EEDR. 5. Ustaw (1) bit EEMWE w EECR. 6. W ciągu 4 cykli ustaw bit EEWE w EECR. W czasie wykonywania zapisu przerwania muszą być wyłączone, gdyŝ obsługa przerwania moŝe zakłócić procedurę. EERE odczyt z pamięci EEPROM. Przed odczytem naleŝy sprawdzić czy bit EERE jest wyzerowany. Zakończenie odczytu jest sygnalizowane sprzętowym wyzerowaniem bitu EERE.

Układ nadzorujący - watchdog Układ nadzorujący zapobiega moŝliwości zawieszania się mikrokontrolera na skutek zakłóceń zaistniałych w systemie czy teŝ błędów w programie (niepoŝądane nieskończone pętle programu). Jeśli włączony licznik nadzorcy nie zostanie w określonym czasie wyzerowany, następuje wygenerowanie impulsu resetującego mikrokontroler. Taktowanie układu odbywa się poprzez niezaleŝny oscylator o częstotliwości pracy ok. 1MHz. Aby po uruchomieniu watchdoga (ustawienie bitu WDE) nie nastąpił reset MK naleŝy cyklicznie wykonywać instrukcję WDR.

Oszczędzanie energii RóŜnorodne tryby oszczędzania energii, pozwalają na znaczne wydłuŝenie czasu działania urządzeń zasilanych bateryjnie, a takŝe wpływają na redukcję emitowanych zakłóceń w środowiskach, gdzie ma to szczególne znaczenie. Idle Tryb Idle (bezczynności) zatrzymuje jednostkę CPU pozwalając na pracę układów interfejsów USART, TWI, SPI, przetwornika ADC, systemu przerwań, watchdoga i komparatora analogowego. W tym trybie zegary clkcpu i clkflash są zatrzymane podczas gdy inne mogą pracować. Wybudzenie moŝliwe jest przez wewnętrzne lub zewnętrze przerwanie. Jeśli układ nie musi być wzbudzany przez komparator, to takŝe komparator moŝna wyłączyć dla zwiększenia oszczędności energii. Jeśli ADC jest włączone, to po wejściu w tryb Idle nastąpi automatyczne wystartowanie konwersji. Power-down Tryb Power-down (wyłączonego zasilania) wyłącza mikrokontroler. W tym trybie zewnętrzny oscylator jest zatrzymany do chwili, aŝ pojawi się przerwanie zewnętrzne dopasowania adresu TWI, watchdoga, reset zewnętrzny lub Brown-out. Wyłączone zostają wszystkie zegary pozostawiając działające moduły asynchroniczne. Ponowne uruchomienie następuje z pewnym opóźnieniem, niezbędnym do rozpoczęcia ponownej generacji sygnału zegarowego i osiągnięcia jego stabilności. Czas wybudzania jest określany przez te same bity zabezpieczające CKSEL, które definiują opóźnienie resetu. Power-save Tryb Power-save (oszczędności zasilania) jest podobny do Power-down. Jedyną róŝnicą jest moŝliwość pracy Timera/Licznika2 w sposób asynchroniczny (np. ustawiony bit AS2 w rejestrze ASSR). MoŜe nastąpić przerwanie wybudzające spowodowane przez timer/licznik 2, jeśli odpowiedni bit włączający to przerwanie jest ustawiony w TIMSK oraz ogólny bit przerwań i w SREG jest ustawiony. Jeśli timer asynchroniczny nie będzie pracował z zegara asynchronicznego, wówczas zalecane jest zamiast Power-save uŝycie trybu Power-down. ADC Noise Reduction Tryb ADC Noise Reduction (redukcji szumów przetwornika ADC) zatrzymuje CPU pozwalając na pracę i wybudzenie przez ADC, zewnętrzne przerwania, monitorowanie adresu TWI, timera/licznika2 i watchdoga. Tryb ten pozwala zminimalizować szum przełączania podczas trwania konwersji przetwornika ADC dla zapewnienia większej dokładności. Jeśli przetwornik jest włączony, to wejście w stan uśpienia spowoduje automatyczne rozpoczęcie konwersji. Tryb ten powoduje zatrzymanie zegarów clkcpu, clki/o i clkflash, podczas gdy inne mogą pracować. Standby W trybie Standby (czuwania) rezonator kwarcowy pracuje, podczas gdy reszta układu jest w uśpieniu. Tryb ten moŝe być uŝyty tylko jeśli MK skonfigurowany jest do pracy z zewnętrznym źródłem zegarowym. Podobny jest do trybu Power-down, z tą róŝnicą Ŝe w połączeniu z bardzo niskim poborem mocy pozwala na bardzo szybkie wybudzenie układu. Extended Standby Tryb Extended Standby (rozszerzonego czuwania) od trybu Power-save roŝni się tym Ŝe oscylator pozostaje włączony. Wybudzenie następuje w ciągu sześciu cykli zegarowych.

Rejestr kontroli oszczędzania energii - MCUCR Aby wprowadzić układ w któryś ze stanów oszczędzania energii, naleŝy ustawić bit SE w rejestrze MCUCR oraz wykonać instrukcję SLEEP. Wykonywanie rozkazów zostaje wstrzymane w miejscu wywołania SLEEP i jest kontynuowane z tego miejsca po wybudzeniu. Jeśli wybudzenie następuje na skutek przerwania, to zachowanie się układu jest identyczne, jakby w tym momencie nastąpiło przerwanie podczas normalnej pracy. PoŜądany tryb wybiera się konfigurując bity SMn w MCUCR.

In-System Programming (programowanie w systemie) Moduł ISP Zarówno pamięć FLASH jak i EEPROM, a takŝe bity konfiguracyjne i zabezpieczające mogą być programowane za pomocą szeregowego interfejsu w systemie. Programowanie-w-systemie oznacza, Ŝe zaprogramowanie i weryfikacja zawartości pamięci układu są moŝliwe w mikrokontrolerze będącym fizycznie na docelowej płytce drukowanej wraz z innymi układami. Programowanie szeregowe w systemie moŝe odbywać się za pomocą szyny SPI i/lub JTAG. Programowanie szeregowe pamięci FLASH Programowanie szeregowe pamięci FLASH (12V) Interfejs JTAG JTAG to nazwa standardu definiującego protokół uŝywany do testowania połączeń na płytkach drukowanych, stosowany takŝe do uruchamiania i programowania układów programowalnych i systemów mikroprocesorowych. śeby moŝna było wykorzystywać JTAG układy scalone umieszczone w testowanym systemie muszą posiadać wewnątrz odpowiednią warstwę sprzętową tego interfejsu. Właściwości interfejsu JTAG w mikrokontrolerze ATMega16: Interfejs JTAG zgodny ze standardem IEEE 1149.1. MoŜliwości skanowania wyprowadzeń zgodnie ze standardem JTAG. Dodatkowe instrukcje diagnostyczne IDCODE, AVR_RESET. Instrukcje zapewniające moŝliwość programowania pamięci flash. Funkcje wspomagające debugowanie i śledzenie działania programu w układzie.