Mikrokontroler Wykład 5
Mikrokontroler jednoukładowy Mikrokontroler jednoukładowy jest układem scalonym, w którym zostały zintegrowane następujące elementy Rdzeń obliczeniowy Kontroler pamięci oraz pamięć RAM i pamięć programu Układy peryferyjne, takie jak liczniki, moduły komunikacyjne itp. 2
Mikrokontroler a mikroprocesor Mikroprocesor jest kompletnym systemem mikroprocesorowym, integrującym w swoim wnętrzu wszystkie niezbędne elementy Mikroprocesor to jeden lub kilka rdzeni obliczeniowych z opcjonalnym kontrolerem pamięci Istnieją platformy łączące cechy mikrokontrolera i mikroprocesora: układy SoC (System-on-a-chip) 3
Najpopularniejsze rodziny mikrokontrolerów Spośród licznych rodzin mikrokontrolerów jednoukładowych najpopularniejsze to 51 AVR PIC ARM 4
51 Zaprojektowana w 1980 r. przez Intela architektura MCS-51 (zwana też 8051 lub 51) dla mikrokontrolerów 8-bitowych (później również 16- i 32-bitowych) o architekturze harwardzkiej CISC Jedna z pierwszych rodzin mikrokontrolerów dla systemów wbudowanych 5
51 Mikrokontrolery tej rodziny są do dnia dzisiejszego produkowane przez kilkadziesiąt firm, w tym Atmel, Infineon Technologies, Maxim Integrated Products, NXP, Microchip Technology, Nuvoton, ST Microelectronics, Silicon Laboratories, Texas Instruments, Ramtron International, Silicon Storage Technology, Cypress Semiconductor and Analog Devices 6
51 Rdzeń 51 dostępny jest również w postaci opisu FPGA i ASIC, bywa wbudowywany w bardziej skomplikowane układy jako moduł pomocniczy Poszczególne implementacje są ze sobą w większości przypadków kompatybilne, różnią się zwykle tylko liczbą i rodzajem układów peryferyjnych i parametrami elektrycznymi 7
51 8
51 Zalety Ilość materiałów dostępnych w sieci Prostota Dostępność wielu wersji o bardzo zróżnicowanych parametrach Możliwość korzystania z zewnętrznej pamięci 9
51 Wady Przestarzała architektura Niska wydajność w stosunku do częstotliwości taktowania Wymagają dość skomplikowanego programatora 10
AVR Rodzina 8- i 32-bitowych mikrokontrolerów o zmodyfikowanej architekturze harwardzkiej RISC, rozwijanych i produkowanych przez firmę Atmel Jedna z najpopularniejszych rodzin mikrokontrolerów wykorzystywanych przez amatorów 11
AVR Dzielą się na kilka rodzin, kompatybilnych binarnie, ale różniących się znacząco rozmiarem pamięci, częstotliwością taktowania i liczbą wbudowanych układów peryferyjnych, najpopularniejsze to: ATtiny, ATmega, Atxmega Dostępne są również modele przewidziane do specjalistycznych zastosowań, z wbudowanym kontrolerem CAN czy obsługujące zaawansowane tryby PWM 12
AVR Architektura AVR została zoptymalizowana pod kątem użycia języków wysokiego poziomu Układy AVR cechują się wysoką wydajnością wynoszącą 1 MIPS/MHz 13
AVR8 14
AVR32 15
AVR Zalety Jedna z najpopularniejszych architektur, z bardzo rozbudowaną społecznością, ogromną ilością gotowego kodu, przykładów, tutoriali i narzędzi Mininalna liczba elementów potrzebna do działania mikrokontrolera Wiele wersji programatorów, większość bardzo prostych w budowie Wysoka wydajność 16
AVR Zalety Bardzo duże zróżnicowanie wersji, umożliwiające wybór optymalnego mikrokontrolera do danego zastosowania Cena i dostępność 17
AVR Wady Większość modeli nie obsługuje natywnie zewnętrznych pamięci RAM i programu Modele o większej pamięci programu i RAM posiadają zwykle obudowy o dużej liczbie wyprowadzeń i małym rastrze, co utrudnia ich użycie w konstrukcjach amatorskich 18
PIC Rodzina mikrokontrolerów o zmodyfikowanej architekturze harwardzkiej, zaprojektowanej w 1976 r. Obecnie układy PIC są produkowane przez firmę Microchip Technology Pierwsze modele były 8-bitowe i miały pamięć programu tylko do odczytu. Z czasem zaprojektowano również wersje 16- i 32-bitowe, a pamięć ROM zastąpiono pamięcią FLASH 19
PIC32 20
PIC Zalety Stosunkowo duża wydajność Prosty zestaw instrukcji 21
PIC Wady Rodzina mało popularna wśród amatorów, głównie z powodu braku dobrego darmowego środowiska IDE (większość narzędzi jest komercyjnych) W związku z powyższym mniejsza ilość dostępnego kodu, przykładów i tutoriali 22
ARM Rodzina układów o architekturze RISC, zaprojektowana i rozwijana przez ARM Holdings Dystrybuowana jako licencja Większość produkujących układy scalone ma w swojej ofercie również układy ARM Podobnie jak 51 rdzeń ARM jest samodzielnym mikrokontrolerem lub stanowi część bardziej skomplikowanego układu 23
ARM Układy ARM występują w wersjach przewidzianych do obsługi zewnętrznych pamięci RAM i programu oraz w wersjach z wbudowaną pamięcią (często z brakiem możliwości rozbudowy tej pamięci ARM jest najczęściej wykorzystywaną architekturą w rozwiązaniach SoC 24
ARM Ze względu na zróżnicowanie sterowania układami peryferyjnymi w mikrokontrolerach różnych producentów, do każdego mikrokontrolera ARM dostarczana jest biblioteka CMSIS, pozwalająca na obsługę układów peryferyjnych w taki sam sposób, niezależnie od producenta 25
ARM Cortex-M3 (STMicroelectronics) 26
ARM Zalety Bardzo duża wydajność Duża dostępność, stosunkowo niskie ceny Bardzo duże zróżnicowanie, pozwalający na optymalny dobór typu mikrokontrolera Bardzo duża liczba wbudowanych układów peryferyjnych Dostępne narzędzia ułatwiające tworzenie i debugowanie oprogramowania Możliwość uruchomienia systemów takich jak Linux 27
ARM Wady Stopień komplikacji zwykle zbyt wysoki dla amatorów Słaba dostępność dokumentacji skierowanej do początkujących użytkowników Niskie napięcie zasilania utrudnia współpracę z powszechnie wykorzystywanymi układami zasilanymi napięciem 5v Obudowy układów ARM zwykle uniemożliwiają wykonanie płytki PCB w warunkach amatorskich 28
Dlaczego właśnie AVR? Mikrokontrolery AVR są optymalną platformą do budowy urządzeń w warunkach amatorskich z kilku powodów Są ławo dostępne i tanie, nie ma zróżnicowania na modele łatwiej i trudniej dostępne Wymagają minimalnej liczby elementów zewnętrznych Mogą być zasilane napięciem od 3 do 5V Posiadają obudowy przyjazne amatorom 29
Dlaczego właśnie AVR? Dostępne są liczne darmowe narzędzia, w tym bardzo rozbudowane AVR Studio, kompilator AVR GCC oraz program AVRDUDE Do programowania AVR można wykorzystać kilkadziesiąt różnych programatorów, z czego większość można zbudować samodzielnie i jest wspierana przez AVRDUDE Dokumentacja techniczna od firmy Atmel to jedne z najlepszych tego typu dokumentów udostępnianych przez producentów podzespołów elektronicznych 30
ARDUINO Arduino 31
Czym jest Arduino? Arduino jest prostą platformą typu Open Hardware dla systemów wbudowanych opartą na mikrokontrolerach jednoukładowych, dostarczaną ze standaryzowanym językiem bazującym na środowisku Wiring Oprogramowanie dla Arduino tworzy się w darmowym IDE bazującym na Processing 32
Arduino 33
Cechy Arduino Większość odmian bazuje na mikrokontrolerach AVR i ARM, ale wykorzystanie tych mikrokontrolerów nie jest formalnym wymogiem Płytki bazowe Arduino posiadają wyprowadzone porty I/O, różne rodzaje magistral (USART, USB) oraz wbudowane układy zasilania 34
Cechy Arduino Do płytki bazowej mogą być podłączone liczne moduły, zawierające elementy zróżnicowane pod względem poziomu skomplikowania, takie jak czujniki, elementy wykonawcze, sterowniki magistral, elementy interfejsu użytkownika itp. Na rynku oprócz oryginalnych płytek bazowych i modułów oznaczonych logiem Arduino, jest dostępnych wiele klonów, w mniejszym lub większym stopniu zgodnych z Arduino 35
Środowisko Wiring Wiring jest biblioteką umożliwiającą obsługę różnych platform zgodnych z Arduino w taki sam sposób Programy są pisane w języku podobnym do C/C++, istnieje też możliwość wykorzystania innych języków 36
Arduino jako platforma do nauki techniki mikroprocesorowej - zalety Rozbudowana społeczność Bogactwo modułów Gotowe środowisko programistyczne Liczne tutoriale Biblioteki Idealny do szybkiego budowania i testowania prototypów 37
Arduino jako platforma do nauki techniki mikroprocesorowej - wady Arduino bazuje na pojęciu czarnej skrzynki nie uczy zasady działania mikrokontrolera i podłączonych do niego modułów, a jedynie ich wykorzystania. Większość użytkowników Arduino nie potrafi wykorzystać układów, które nie są wspierane przez bibliotekę Arduino, ani budować własnych modułów 38
Arduino jako platforma do nauki techniki mikroprocesorowej - wady Trzeba samodzielnie zadbać o zasilanie modułów Podłączenie zasilania do każdego modułu zajmuje czas Błędy z podłączeniu zasilania są główną przyczyną uszkodzeń Im więcej połączeń, tym więcej źródeł problemów 39
Arduino jako platforma do nauki techniki mikroprocesorowej - wady Arduino wykształca w użytkowniku nieprawdziwe przekonanie, że potrafi zaprojektować samodzielnie urządzenia mikroprocesorowe, nie dając mu możliwości nauki projektowania obwodów zasilania, zegarowych itp. mających kluczowy wpływ na działanie urządzenia Nie jest to rozwiązanie bezprzewodowe, co widać na poniższych zdjęciach 40
Programowanie AVR 41
Programowanie AVR 42
Popularne platformy SoC Pod pojęciem platformy SoC zwykle rozumie się niewielkich rozmiarów mikrokomputer o niskim zużyciu energii, wyposażony w układ SoC, pamięci RAM i programu, niezbędne układy peryferyjne i układy zasilania 43
Popularne platformy SoC Gotowe platformy SoC, ze względu na poziom skomplikowania i wykorzystanie systemu operacyjnego (zwykle Linux) niebędącego systemem czasu rzeczywistego nie nadają się do nauki techniki mikroprocesorowej Ponadto ze względu na architekturę kontrolującego platformę systemu operacyjnego bezpośredni dostęp do sprzętu jest bardzo utrudniony 44
Popularne platformy SoC Platformy SoC nadają się idealnie w zastosowaniach takich jak multimedia, urządzenia sieciowe i innych, w których wymagana jest stosunkowo duża wydajność przy jednoczesnym niewielkim zużyciu energii, małych wymiarach i niskiej cenie 45
Raspberry Pi 46
Raspberry Pi Platforma komputerowa zaprezentowana w 2012 r. Urządzenie oparte jest na układzie Broadcom BCM2835 (1 rdzeń 700MHz) lub Broadcom BCM2836 (4 rdzenie 900MHz) SoC, z wbudowanym dwurdzeniowym GPU VideoCore IV. Jest wyposażone w 256MB, 512MB lub 1GB pamięci RAM współdzielonej z GPU 47
Raspberry Pi Komputer wyposażony jest w złącze USB, Ethernet, audio, composite, złącze karty SD/MicroSD, HDMI oraz szereg linii portów I/O Nie posiada zegara RTC wyposażonego w podtrzymanie pracy po odłączeniu zasilania System operacyjny instalowany jest na karcie pamięci 48
Raspberry Pi Raspberry Pi posiada wbudowaną kartę graficzną, dźwiękową i sieciową (przewodową), niektóre inne urządzenia (np. karty Wi-Fi) mogą być podłączone do portu USB Istnieje możliwość podłączenia dedykowanego ekranu LCD oraz kamery do złączy na płytce mikrokomputera 49
Banana Pi 50
Banana Pi Możliwości Banana Pi są zbliżone do tych oferowanych przez Raspberry Pi. Niektóre istotniejsze różnice to Procesor Allwinner A20 (2 rdzenie 1GHz) z dwurdzeniową kartą graficzną Mali 400 MP2 i 1GB pamięci RAM Gigabitowy port Ethernet Złącze SATA Brak gniazda karty pamięci Mniejsza liczba portów I/O 51
Intel Edison 52
Intel Edison Platforma zaprojektowana przez firmę Intel, bazująca na dwurdzeniowym procesorze Atom Edison wyposażony jest we wbudowaną pamięć RAM (1GB) i FLASH (4GB), kartę Wi-Fi i Bluetooth Posiada kontrolery takie jak SPI, USART, USB, I2C, SD, lecz do ich wykorzystania niezbędne jest użycie specjalnego adaptera wyposażonego w niezbędne złącza 53