Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26



Podobne dokumenty
2. Architektura mikrokontrolerów PIC16F8x... 13

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

MIKROKONTROLERY I MIKROPROCESORY

Technika Mikroprocesorowa

Wstęp Architektura... 13

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

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

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Mikroprocesory i Mikrosterowniki

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

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

Mikrokontroler AVR ATmega32 - wykład 9

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

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

Szkolenia specjalistyczne

WPROWADZENIE Mikrosterownik mikrokontrolery

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

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

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

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


Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Mikroprocesory i Mikrosterowniki

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

Wykład Mikroprocesory i kontrolery

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Aoi Ryuu. v2.0 moduł z mikroprocesorem Atmega169 dla makiety dydaktycznej Akai Kaba

Systemy wbudowane Mikrokontrolery

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Zestaw Startowy EvB. Więcej informacji na stronie:

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

Mikrokontrolery AVR techniczne aspekty programowania

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Układy zegarowe w systemie mikroprocesorowym

Mikroprocesory i mikrosterowniki

Charakterystyka mikrokontrolerów

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

E-TRONIX Sterownik Uniwersalny SU 1.2

Programator mikrokontrolerów AVR

Komunikacja w mikrokontrolerach Laboratorium

MultiTool instrukcja użytkownika 2010 SFAR

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

Układy zegarowe w systemie mikroprocesorowym

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

LEKCJA TEMAT: Zasada działania komputera.

INSTRUKCJA Płytka uruchomieniowa EvB 4.3

High Speed USB 2.0 Development Board

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

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

1.2. Architektura rdzenia ARM Cortex-M3...16

MODUŁ UNIWERSALNY UNIV 3

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

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

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

Układy czasowo-licznikowe w systemach mikroprocesorowych

Organizacja typowego mikroprocesora

Architektura komputerów

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Moduł prototypowy.. Leon Instruments. wersja 1.0

MCAR Robot mobilny z procesorem AVR Atmega32

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

System mikroprocesorowy i peryferia. Dariusz Chaberski

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

INSTRUKCJA OBSŁUGI Zestaw uruchomieniowy EvB 5.1 v5

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Wykład 2. Mikrokontrolery z rdzeniami ARM

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Projektowanie urządzeń mikroprocesorowych cz. 2 Wykład 4

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

MikloBit ul. Cyprysowa 7/ Jaworzno. rev MB-AVR-ISP programator

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin Mojej Żonie Kasi

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Systemy uruchomieniowe

INSTRUKCJA OBSŁUGI.

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

11.Mikrokomputeryjednoukładowe

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

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

dokument DOK wersja 1.0

ZL8AVR. Płyta bazowa dla modułów dipavr

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Programowanie mikrokontrolerów AVR

Zastosowania mikrokontrolerów w przemyśle

Transkrypt:

Kurs Elektroniki Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26

Mikrokontroler - autonomiczny i użyteczny system mikroprocesorowy, który do swego działania wymaga minimalnej liczby elementów dodatkowych. Zawiera w sobie CPU, pamięć programu, pamięć ram, oraz rozbudowane układy wejścia wyjścia. www.knr.meil.pw.edu.pl 2/26

Rodziny mikrokontrolerów -AVR (ATmega, ATtiny, Xmega 8bitowce) -PIC (PIC10Xxxxx-8bit, PIC24Xxxxx-16bit, PIC32) -ARM (bardzo szeroka gama procesorów 32bit!) Oprócz powyższych typów jest jeszcze kilka mniej popularnych i trudnodostępnych oraz już przestarzałych mikrokontrolerów. www.knr.meil.pw.edu.pl 3/26

Przykładowe obudowy up rodziny AVR www.knr.meil.pw.edu.pl 4/26

Co ma w środku up? Mikrokontrolery wyposażone są w: -Jednostkę arytmetyczno-logiczną (ALU) -Pamięć flash, pamięć RAM, pamięć EEPROM -Szynę danych -Szynę adresowa -Porty wejścia/wyjścia -Urządzenia peryferyjne www.knr.meil.pw.edu.pl 5/26

Schemat blokowy struktury wewnętrznej up ATmega 16 www.knr.meil.pw.edu.pl 6/26

Jednostka arytmetyczno logiczna i współpracujące z nią urządzenia. Jednostka ALU odpowiada za wykonywanie operacji arytmetycznych oraz logicznych. www.knr.meil.pw.edu.pl 7/26

Pamięć flash, pamięć RAM, pamięć EEPROM. Pamięci te wykonane są w postaci bloku rejestrów podłączonych do szyny danych i szyny adresowej. Pamięć flash przeznaczona jest do przechowywania wsadu czyli skompilowanego programu. Dostęp do tej pamięci w up AVR możliwy jest za pomocą interfejsu SPI. Pamięć RAM przeznaczona do pracy na bieżąco, po wyłączeniu zasilania dane z pamięci są kasowane. Pamięć EEPROM- tego typu pamięć może być zapisywana samodzielnie prze up, dzięki czemu po zaniku napięcia dane nie giną. www.knr.meil.pw.edu.pl 8/26

Szyna danych oraz szyna adresowanajprościej mówiąc są to szyny łączące pamięć, jednostkę ALU, rejestry wspomagające. W zależności od typu procesora szyny te mogą być 8, 16, czy 32bitowe. Ciekawostką jest to, że nawet po szynie 8 bitowej istnieje możliwość przesłania rozkazu 16bitowego! www.knr.meil.pw.edu.pl 9/26

Porty wejścia/wyjścia. Fizyczne wyprowadzenia up stanowiące medium między wnętrzem up a światem zewnętrznym. Na wyprowadzeniach generowane są stany napięcia odpowiadające stanom logicznym. Dla większości up rodziny ATmega, przyjmuje się, że stan wysoki zaczyna się od 0,6xVcc, stan niski powinien być bliski zeru. Obciążalność wejść jest na poziomie 20mA w stanie niskim. Wyprowadzenia pełnią również funkcję wyjść/wejść urządzeń peryferyjnych. www.knr.meil.pw.edu.pl 10/26

Urządzenia peryferyjne. Urządzenia peryferyjne pracują zwykle w tle up. Oznacza to, że pracują równolegle z wykonującym się kodem. Podstawowe urządzenia peryferyjne: -Timery -Przetworniki ADC, CDA -Komparatory analogowe -Interfejsy UART, TWI (I2C), SPI, USB, CAN, i inne -Wewnętrzne generatory RC -Generatory przerwań zewnętrznych -Watchdog www.knr.meil.pw.edu.pl 11/26

Gdzie szukać informacji na temat własności up? Strona www producenta: http://www.atmel.com Google: fraza datasheet ATmega xx www.knr.meil.pw.edu.pl 12/26

Urządzenia peryferyjne. Timery Liczniki 8 lub 16 bitowe, mogą zliczać impulsy z oscylatora taktującego up lub z zewnętrznego źródła. Przy przepełnieniu zgłaszają przerwanie, mogą pracować jako generatory sygnału PWM. Przetwornik ADC przetwarza sygnał analogowy na cyfrowy, należy zadbać o właściwe zasilanie przetwornika, napięcie odniesienia, rozdzielczość generowanych danych. W up przetwornik jest jeden, natomiast wejść sygnałowych jest zwykle 6 lub 8 (w zależności od obudowy), lub 16. www.knr.meil.pw.edu.pl 13/26

Urządzenia peryferyjne. Interfejs UART bądź USART, w skrócie, pozwala na komunikację między urządzeniami zgodnie z protokołem popularnej w komputerach magistrali szeregowej RS232 (COM). UART od RS232 różni się jednak elektrycznymi parametrami. W UART dysponujemy tylko sygnałem logicznym 0/1 zależnymi od napięciazasilania, RS232 pracuje z napięciami +/-15V. Ze względu na elektryczną niekompatybilność RS232 i UART do komunikacji up z PC wymagana jest przejściówka dopasowująca napięcia (najczęściej wykonana w oparciu o układ MAX232), istnieje też możliwość komunikacji UART- USB z wykorzystaniem przejściówki opartej o układ FT232. www.knr.meil.pw.edu.pl 14/26

Urządzenia peryferyjne. TWI (I2C)- pozwala na komunikację szeregową z innymi urządzeniami (pamięci, wyświetlacze, zewnętrzne przetworniki itp.) Wykorzystuje linie SDA, SCL, GND. SPI (ang. Serial Peripheral Interface) - szeregowy interfejs urządzeń peryferyjnych. Używany do komunikacji między przetwornikami ADC/DAC, układami RTC, pamięciami EEPROM, pamięciami flash, kartami MMC/SD/ itp. Komunikacja odbywa się synchronicznie za pomocą 3 linii: * MOSI -dane dla układu peryferyjnego * MISO - dane z układu peryferyjnego * SCK - sygnał zegarowy (taktujący) * CS (SS) wybór układu * GND www.knr.meil.pw.edu.pl 15/26

Urządzenia peryferyjne. Wewnętrzny generator RC Pozwala na pracę up bez zewnętrznego rezonatora kwarcowego. W ATmegach zwykle ma wartość 8MHz. W świeżych nieprogramowalnych układach włączony jest ponadto dzielnik częstotliwości, tzw. preskaler. Pozwala on na zmniejszenie częstotliwości generatora (zazwyczaj w celu oszczędności energii). Świeże up pracują zwykle na f=1mhz (preskaler =8), wymaga to czasem odpowiedniej konfiguracji programatora. Wewnętrzny generator RC jest niedokładny, a jego parametry ulegają zmienia wraz z zewnętrznymi warunkami np. temperatura. Mikroprocesor może być również taktowany zewnętrznym rezonatorem kwarcowym lub innym przebiegiem. www.knr.meil.pw.edu.pl 16/26

Urządzenia peryferyjne. Generatory przerwań zewnętrznych- pozwalają na wywołanie przerwania poprzez podanie sygnału na odpowiednie wyprowadzenie up. Przerwania mają wyższy priorytet niż wykonujący się aktualnie program, dzięki czemu można w każdej chwili wykonać operacje o wyższym priorytecie. Watchdog- urządzenie wyposażone we własny, niezależny generator taktujący. Kontroluje na bieżąco pracę up i w przypadku kiedy dojdzie do zawieszenia up resetuje go. Prościej mówiąc watchdog oczekuje od procesora pewnych informacji w ustalonym przedziale czasowym. Jeśli takich danych nie dostanie świadczy to o zawieszeniu programu i następuje reset up. www.knr.meil.pw.edu.pl 17/26

Wyprowadzenia up www.knr.meil.pw.edu.pl 18/26

Programowanie up Programowanie up polega na wgraniu do pamięci flash skompilowanego pliku. Można to zrobić na kilka sposobów. Komunikacja z pamięcią za pomocą magistrali SPI używamy do tego programatora. Istnieje wiele różnych programatorów (oraz programów je obsługujących). Programator stk200 podłączenie przez LPT Programator stk500 RS232/USB Programator stk500v2 USB Programator USBasp USB Programy obsługujące programatory PonyProg, AVRdude, Khazam AVR i inne. www.knr.meil.pw.edu.pl 19/26

Programator łączy się z odpowiednimi wyprowadzeniami up. Są to MOSI, MISO, SCK, RESET, GND. Istnieje możliwość zasilania programowanego up z programatora, wtedy trzeba jeszcze podłączyć linię VCC. Do połączenia up z programatorem zazwyczaj wykorzystuje się 10pinowe dwurzędowe złącze zwane potocznie KANDA www.knr.meil.pw.edu.pl 20/26

Inne możliwości zaprogramowania up to wgranie (przy pomocy klasycznego programatora) specjalnego programu do up zwanego Bootloaderem (program rozruchowy). Taki program pozwala przesłać skompilowany plik do pamięci flash up za pomocą innej magistrali danych np. UART, USB. Przykładem jest platforma ARDUINO, którą programujemy bezpośrednio z portu USB komputera. www.knr.meil.pw.edu.pl 21/26

FUSEbity Rejestry konfiguracyjne pozwalają na konfigurację pracy up. Od ich ustawień zależy jaką wartość ma preskaler, czy procesor ma pracować na zewnętrznym rezonatorze, czy włączony jest interfejs JTAG, czy włączony jest WATCHDOG i kilka innych opcji w zależności od typu procesora. WAŻNE!!! Jeśli ustawimy FUSEbity tak by up pracował na zewnętrznym oscylatorze, a nie będzie on podłączony stracimy możliwość ponownego zaprogramowania!!! Ponadto w małych up Reset jest współdzielony z portem we/wy. Jeśli zechcemy używać danego pinu jako we/wy stracimy możliwość programowania!! www.knr.meil.pw.edu.pl 22/26

Programowanie. Popularne języki programowania AVRów: -Asembler -C (C++) -BASCOM Zalety i wady: Asembler- dostępnych około 130 instrukcji, wymagana znajomość architektury procesora, rejestrów lecz mamy pełną kontrolę nad wykonującym się kodem, wsad zajmuje minimalną objętość. www.knr.meil.pw.edu.pl 23/26

C (C++)- Wsparcie wielu bibliotek, duże możliwości kontroli kodu, dość dobrze zoptymalizowany wsad wynikowy, wiele przykładów w sieci, dostępny bezpłatny kompilator, bardziej profesjonalny od BASCOMa przez co bardziej preferowany przez firmy. Wymagana dobra znajomość języka C. BASCOM- Wsparcie wielu bibliotek, łatwość konfiguracji urządzeń peryferyjnych, wiele użytecznych funkcji, wiele przykładów w sieci i literaturze, dostępne oprogramowanie, język bardzo intuicyjny w korzystaniu w zamian za plik wynikowy o dużej wadze, mniejszą wydajność (nie dokońca wiemy co się dzieje w programie). www.knr.meil.pw.edu.pl 24/26

BASCOM Środowisko: BASCOM-AVR IDE zawiera edytor, preprocesor, kompilator oraz narzędzia dodatkowe pozwalające np. wygenerować własny znak dla wyświetlacza LCD, własny terminal do obsługi komunikacji RS232 i inne. www.knr.meil.pw.edu.pl 25/26

Paczka pomocy dla BASCOMa Paczka 100Mb zawiera mn. zeskanowaną książkę dotyczącą programowania w BASCOMie, inne kursy oraz wiele konkretnych zastosowań. http://dl.dropbox.com/u/29529698/bascom_pliki.rar Dobry artykuł o FUSEbitach dla popularnych up AVR http://mirley.firlej.org/fuse_bity_w_mikrokontrolerach_avr www.knr.meil.pw.edu.pl 26/26