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

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

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

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

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

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

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

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

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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

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

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

2. Architektura mikrokontrolerów PIC16F8x... 13

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

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

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

Programator mikrokontrolerów AVR

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

11.Mikrokomputeryjednoukładowe

Politechnika Białostocka

Szkolenia specjalistyczne

MCAR Robot mobilny z procesorem AVR Atmega32

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

Jednym z najlepszych sposobów poznawania nowego typu mikrokontrolera

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

E-TRONIX Sterownik Uniwersalny SU 1.2

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

Projekt z przedmiotu Systemy Mikroprocesorowe w Automatyce Moduł z kontrolerem AtMega32, programator AVR ISP. Robert Kuczaj 6 marca 2007

Systemy wbudowane Mikrokontrolery

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

MMstm32F103Vx. Instrukcja uŝytkownika REV 1.1. Many ideas one solution

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

Elektronika samochodowa (Kod: TS1C )

Mikroprocesory i Mikrosterowniki

Mikrokontroler AVR ATmega32 - wykład 9

Wstęp Architektura... 13

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

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

KAmduino UNO. Rev Źródło:

Zestaw Startowy EvB. Więcej informacji na stronie:

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

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

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

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

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

Opis przedmiotu zamówienia CZĘŚĆ 1

Systemy wbudowane. Paweł Pełczyński

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

ZL11ARM. Uniwersalna płytka bazowa dla modułów diparm

Instytut Teleinformatyki

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Mikrokontrolery ośmiobitowe

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Mikrokontrolery AVR techniczne aspekty programowania

WPROWADZENIE Mikrosterownik mikrokontrolery

Uniwersalny adapter dla układów MSP430

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Moduł prototypowy.. Leon Instruments. wersja 1.0

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

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

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów

Opis przedmiotu zamówienia

Technika Mikroprocesorowa

Mikroprocesory i Mikrosterowniki

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

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

Charakterystyka mikrokontrolerów

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

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

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

High Speed USB 2.0 Development Board

MIKROKONTROLERY I MIKROPROCESORY

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

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

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

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

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

MODUŁ UNIWERSALNY UNIV 3

INSTRUKCJA OBSŁUGI Zestaw uruchomieniowy EvB 5.1 v5

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

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

Wykład 2. Mikrokontrolery z rdzeniami ARM

Instrukcja Użytkownika

Programator procesorów rodziny AVR AVR-T910

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

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

Transkrypt:

Inkubator AVR Podstawy obsługi i programowania mikrokontrolerów rodziny. CZĘŚĆ I. Wprowadzenie i hardware

Co na temat AVR każdy wiedzieć powinien? Producent: ATMEL (www.atmel.com) Instrukcje wykonywane w jednym cyklu zegarowym (większość), Architektura RISC, bogaty zastaw instrukcji i 32 rejestry ogólnego przeznaczenia, Bardzo szybkie i wygodne programowanie w systemie (ISP), Praca w dużym zakresie napięć 1.8V 5.5V, tryby niskiego poboru mocy. 2

Dlaczego AVR? Kilka powodów: wysoka wydajność, niski pobór mocy, maks. 20MIPS przy 20MHz, działanie w zakresie: 1.8 5.5 V, architektura nastawiona na języki wysokiego poziomu (język C), 32 rejestry ogólnego przeznaczenia, wbudowana mnożarka, źródło: AVR Product Line Introduction 3

Dlaczego AVR? skalowalność (urządzenia od 1 do 256 kb, od 8 do 100 wyprowadzeń, pełna kompatybilność kodu, kompatybilność pin-topin z innymi urządzeniami), programowanie, debuggowanie i weryfikacja w systemie, wbudowana pamięć Flash. źródło: AVR Product Line Introduction 4

Rodziny mikrokontrolerów AVR tinyavr TM mikrokontrolery ogólnego przeznaczenia (max 4kB Flash, 126B SRAM i EEPROM), megaavr TM możliwość samoprzeprogramowania pamięci (max 256kB Flash, 4kB SRAM i EEPROM), LCD AVR zintegrowane drivery LCD, pobór mocy (32 khz < 20µA), CAN AVR zintegrowane kontrolery magistrali CAN. 5

Rodziny mikrokontrolerów AVR Automotive AVR mikrokontrolery dla automatyki, USB AVR zintegrowane kontrolery USB, Lighting AVR (Motor Drivers) zaawansowane tryby PWM, Smart Battery AVR możliwość liczenia ładunków, FPGA AVR rdzeń AVR obudowany w matryce FPGA (Field Programmable Gate Array), pozwala uniknąć układów otaczających tzw. Glue Logic, budować w FPGA własne struktury. 6

Rodziny mikrokontrolerów AVR PicoPower Technology firma Atmel stopniowo wprowadza 16 urządzeń oznaczonych literą P (np.: ATmega169P): Zasilanie: 1.8V Zminimalizowane prądy upływu, Niskonapięciowy oscylator 32kHz, Możliwość wyłączania wejść cyfrowych, Bramkowanie zegara. 7

Dostępne wersje obudów Wiele możliwych wersji obudów od PDIP, przez TQFP do takich jak PLCC, SOIC i MLF 8

A jak to wygląda? Rejestry ogólnego przeznaczenia, Rejestr stanu, ALU (Arithmetic Logic Unit), Pamięci Flash (programu), SRAM, EEPROM, Liczniki (+Watchdog), USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter), USI (Universal Serial Interface), System przerwań, Komparator analogowy, Porty wejścia / wyjścia, I inne :-) 9

Jak zacząć (dobrą) zabawę? Czego potrzebujemy? Mikrokontrolera, Płytki testowej, Programatora, Kompilatora (AVR asembler, C++, Basic, Pascal, Ada ), Oprogramowania bezpośrednio ładującego FLASH, Ciekawych pomysłów źródło: AVR Product Line Introduction 10

1. Płyta testowa STK500 Development Kit Co musi się tam znaleźć koniecznie: Podstawka pod uc, Obwód zasilania, Oscylator, Układ resetu (+ np. przycisk resetu), Gniazdo dla programatora, Co jest opcjonalne: Dowolne kontrolki, Kolejne przyciski (klawiatura), Wyświetlacz LCD, 7- segmentowy, Konwerter poziomów logicznych CMOS na RS232, Tzw. bajery : Układ RTC, układy 1-Wire, przetworniki A/C, C/A i wiele innych 11

1a. Obwód zasilania Są dwa podejścia do sprawy: 1. Zakładamy, że jesteśmy nieomylni i dysponujemy PC tem (zasilanie np. z USB), 2. Znamy siebie na tyle, że założymy stabilizator i proste zabezpieczenie. 3. Rozwiązanie pośrednie (odpowiednie złącze). 12

1b. Oscylator (kwarc) Istnieje wiele źródeł sygnału zegara: Zewnętrzne układy zegara o poziomach TTL, Rezonatory kwarcowe, Rezonatory ceramiczne, Oscylator wewnętrzny. 13

1c. Układ generowania RESET u Specjalizowane układu Brown-out- Reset (np. DS1811, DS1813), Zabezpieczenie kondensatorem przed spadkami napięcia, Wewnętrzny układ resetu. 14

1c. Źródła sygnału RESET Źródła RESET u: Power-on Reset, External Reset, Watchdog Reset, Brown-out Reset 15

1d. Gniazdo dla programatora Sposoby programowania: Równoległe, Szeregowe (SPI Serial Programming Interface), JTAG. Rys. na bazie materiałów firmy Atmel Potrzebne sygnały: MOSI, MISO, SCK, RESET, GND. PROGRAMATOR 16

2. PROGRAMATOR SPI PROGRAMATOR: Wersja 1: buforowana, tzw. elegancka, Wersja 2: nie buforowana, tzw. skuteczna. Popularne gniazdo do programowania. źródło: sp12 Documentation oraz http://www.avr-asm-tutorial.net 17

2. PROGRAMATOR SPI Najprostsza wersja programatora niezawodna ale nie buforowana!!! Całość zamknąć można we wtyczce DB25 (złącze równoległe LPT). 18

3. Środowiska do programowania C AVR-GCC (Open Source) WinAVR (korzysta z GCC) AvrSide (korzysta z GCC) Visual Micro Lab 3.6 (komercyjny, AVR Asembler lub może korzystać z GCC) Atmel AVR Studio 4 (AVR Asembler lub może korzystać z GCC) CodeVisionAVR 1.24 (pakiet komercyjny, własny kompilator języka C) CrossWorks AVR (pakiet komercyjny, własny kompilator języka C) Wiele innych 19

4. Ładowanie pamięci FLASH uc Sp12, PonyProg 2000, AVR Studio 4, AVR Dude, Wiele innych 20

Przykładowa płytka testowa Gniazda zasilania, programatora, komparatora analogowego, Układ MAX232, Sterowanie LCD 16x2, Sterowanie silnikiem poprzez modulację PWM. 21

Jak rozpocząć, czyli pierwszy program #define AVR_AT90S8515 #include <io.h> #include <interrupt.h> #include <signal.h> #define LED1_ON (PORTC =(0x04)) #define LED2_ON (PORTC =(0x08)) #define LED1_OFF (PORTC&=~(0x04)) #define LED2_OFF (PORTC&=~(0x08)) #define SWITCH1 (PINC&(0x01)) #define SWITCH2 (PINC&(0x02)) int main(void) { DDRC = 0xFC; PORTC = 0x03; for (;;) { if (SWITCH1==0) LED1_OFF; else LED1_ON; if (SWITCH2==0) LED2_OFF; else LED2_ON; } } 22

Przydatne linki PODSTAWOWE: http://www.atmel.com strona producenta AVR, http://www.avrfreaks.com najlepsze forum mikrokontrolerów AVR, OPROGRAMOWANIE: http://winavr.sourceforge.net strona programu WinAVR, http://www.nongnu.org/avr-libc/ - strona projektu avr-libc, http://gcc.gnu.org strona kompilatora gcc, http://sources.redhat.com/binutils/ - strona narzędzi binutils, http://avrside.fr.pl strona środowiska AvrSide. INNE: http://www.propox.com strona polskiego producenta zestawów ewaluacyjnych, http://www.btc.pl strona wydawnictwa BTC. 23

Ruszamy w drogę Dodatkowe informacje: www.atmel.com www.avrfreaks.com www.mikrocontroller.com www.mikrokontrolery.of.pl www.avr-asm-tutorial.net mipsa.p.lodz.pl 24