Prezentacja mikrokontrolerów i narzędzi firmy ATMEL
Transkrypt
Prezentacja mikrokontrolerów i narzędzi firmy ATMEL
Mikrokontrolery AVR architektura i narzędzia inżynierskie Marcin Korus, JM Elektronik JM Elektronik – nowoczesny dystrybutor Dostawca profesjonalnych elementów elektronicznych od 1990 roku Jeden z największych polskich dystrybutorów elektroniki Jedyny polski dystrybutor Atmela System jakości ISO 9001:2000 Gwarancja powtarzalnej wysokiej jakości elementów Członkostwo w grupie ATeG • 16 biur sprzedaży w całej Europie • 60 pracowników • Dział wsparcia technicznego • Szkolenia • Pomoc techniczna podczas realizacji projektów • Dział produkcji • • • • • • http://www.jm.pl JM Elektronik – kompleksowa obsługa http://www.jm.pl Nasi dostawcy Zaufało nam już wielu producentów elementów elektronicznych Jesteśmy oficjalnym dystrybutorem następujących firm: • • • • • • • Elementy aktywne ATMEL, HOLTEK, MEMSIC, RECTRON Przetwornice DC/DC MURATA PS, AIMTEC Optoelektronika KYOCERA, FUTABA, EDISON-OPTO, SHARP, CHIMEI Elementy bierne EPCOS, ELNA, HAHN, HITANO, WIMA, PREMO, YAGEO Złącza i elektromechanika WIESON, SUYIN Komputery przemysłowe IEI TECHNOLOGY, ICP DAS Drukarki termiczne CUSTOM ENGINEERING http://www.jm.pl Atmel - sukces to innowacja • Atmel (NASDAQ ATML) • Na rynku od 1984 • Kwatera główna San Jose – USA • Około 8000 pracowników • Pięć fabryk na całym świecie • 27 biur projektowych • Atmel – lider technologii • Najbardziej innowacyjny producent układów scalonych • Pierwsza pamięć Flash • Pierwszy mikrokontroler z pamięcią Flash • Najlepsza technologia układów niskomocowych picoPower http://www.jm.pl Praca magisterska i American dream • Rok 1992 – Studenci Alf Egil Bogen i Vegard Wollan obronili pracę magisterską na Uniwersytecie w Trondheim • Rok 1995 – początek centrum inżynierskiego Atmel w Trondheim • Rok 1997 – pierwszy mikrokontroler AVR AT90S1200 • Rok 2009 – Atmel Norway zatrudnia 180 pracowników • Alf Egil Bogen i Vegard Wollan są dyrektorami departamentów odpowiedzialnych za rozwój mikrokontrolerów w firmie Atmel http://www.jm.pl AVR - lider wśród mikrokontrolerów • Programowalna w systemie pamięć FLASH i EEPROM • jest to pierwszy na świecie mikrokontroler w pełni programowalny w systemie (FLASH i EEPROM) • Architektura zaprojektowana dla języków wysokiego poziomu • AVR jest jedynym mikrokontrolerem dedykowanym dla programów pisanych w językach wysokiego poziomu (HLL ang. High Level Language), a w szczególności dla języka C • Interfejs JTAG • pierwsze 8-bitowce z interfejsem JTAG • Możliwość zmiany zawartości pamięci FLASH „w locie” • AVR jest pierwszym mikrokontrolerem mogącym przeprogramować swoją własną pamięć FLASH w czasie wykonywania programu • AVR Studio • darmowe oprogramowanie dostępne ze strony www.atmel.com http://www.jm.pl Mikrokontroler RISC • Architektura RISC z listą rozkazów CISC • prosty zestaw instrukcji zarówno dla assemblera jak i kompilatorów C • 32 rejestry robocze • wszystkie rejestry bezpośrednio połączone z ALU • Liniowa przestrzeń adresowa • Wykonywanie rozkazów w jednym takcie zegarowym • na jeden takt przypada jedna instrukcja • przy oscylatorze 20MHz daje 20MIPS • w jednym takcie wynik operacji wpisywany do rejestrów skąd pobrane zostały argumenty • niski pobór mocy • Architektura harvardzka • szybki dostęp do pamięci • Wsparcie dla operacji arytmetycznych 16- i 32-bitowych http://www.jm.pl Gęstość kodu • Do 50% mniejsza objętość kodu • W porównaniu z innymi mikrokontrolerami 8-bitowymi • mniejsza objętość kodu to nie tylko oszczędność Flash ale mniejsze zużycie prądu • Pełna kontrola wielkości kodu • Tryby adresowania dedykowane dla języka C • Liniowa przestrzeń adresowa • Prosty do przeniesienia kod w postaci gotowych procedur • Time-to-Market • Łatwość pisania kodu http://www.jm.pl Gęstość kodu • Zestaw instrukcji projektowany z dostawcą kompilatora IAR Systems • pierwsze projekty na AVR powstały przed zakończeniem prac nad architekturą i listą rozkazów • Aktywny udział dostawcy kompilatora podczas prac nad architekturą • Potencjalne przeszkody i ograniczenia dla języków HLL zostały usunięte • 3 data pointery X, Y, Z • operacje zapisu z post- i preinkrementacją Auto Increment/Decrement Example: Kod w C: unsigned char *var1, *var2; *var1++ = *--var2; Wygenerowany kod Assemblera: LD R16,-X ST Z+,R16 http://www.jm.pl Porównanie objętości kodu ST five COP8 PICmicro® 16, 17 68HC16 PICmicro® 18 N MAXQ c80xx251 j e z r o g aj 8051 68HC08 78K4 H8/300 SAM8 TMP68HC11 eZ80 aj le pi ej M16C/1x-3x, M16C/6x ST7 68HC12 N MSP430 mega128 0,0 % http://www.jm.pl 50,0 % 100,0 % 150,0 % 200,0 % 250,0 % 300,0 % Schemat blokowy AVR http://www.jm.pl AVR - kompletny System On Chip TWI Analog Reference Temperature Sensor Hardware Multiplier Analog Comparator A/D Converter USART SPI EEPROM OTP Memory CPU CORE SRAM Register File I/O pins Brown Out Detector Watchdog Output Driver Większość mikrokontrolerów ma tylko tę część In - Circuit Emulator Test Fixtures http://www.jm.pl Programming Circuitry LCD driver AVR - kompletny System On Chip TWI Temperature Sensor USART SPI Flash EEPROM CPU CORE SRAM A/D Converter Register File I/O pins Brown Out Detector Reset Circuitry Programmable Watchdog On - Chip Debug Analog Reference Pull- Ups On Demand High Current Outputs Calibrated Oscillator In System Programming LCD Interface Hardware Multiplier Analog Comparator JTAG Boundary Scan AVR ma wszystko w jednej strukturze http://www.jm.pl LCD driver Output Driver Wszystko na pokładzie • • • • • • • Wbudowana pamięć Flash/RAM/EEPROM Sprzętowa mnożarka Wbudowany oscylator RC Timery 8- i 16-bitowe z funkcją Capture/Compare Przetworniki ADC z programowalnym stopniem wzmocnienia Komparatory analogowe Interfejsy komunikacyjne • • • • • • USART (DALI) SPI (Serial Peripheral Interface) TWI (Two Wire Interface) kompatybilny z I2C USI (Universal Serial Interface) CAN USB • Układy nadzoru • Watchdog z autonomicznym oscylatorem • Brown-Out Detector • Power-On Reset http://www.jm.pl Debugowanie programu • Debugowanie • kontrola wykonywanego programu z poziomu C i assemblera • praca krokowa, pułapki... • dostęp do pamięci mikrokontrolera • Flash, EEPROM, RAM, podgląd zmiennych • Możliwość debugowania wszystkich nowych AVR • interfejs JTAG w dużych mikrokontrolerach • w mniejszych interfejs debugWire • dowolne napięcie zasilania i częstotliwość • debugWire • jednoprzewodowy interfejs do debugowania • nie jest to układ ROM monitor • funkcja dostępna w mikrokontrolerach do 16kB (+mega168) • JTAG • pełny interfejs JTAG • funkcja dostępna we wszystkich mega AVR (poza rodziną megax8) http://www.jm.pl Technologia picoPower • Kluczowe elementy • śpiący BOD (Brown Out Detector) • zasilanie 1.8V • ulepszony oscylator kwarcowy 32kHz • zminimalizowany prąd upływności • odłączanie układów cyfrowych na wejściach analogowych • odłaczanie niewykorzystanych peryferii • bramkowanie sygnału zegarowego • próbkowany odczyt pamięci Flash • Technologia picoPower oznacza redukcję zużycia mocy nawet o 50% • Funkcjonalnie kompatybilne z układami nie-picoPower • Obecnie najbardziej energooszczędna technologia wśród mikrokontrolerów http://www.jm.pl TinyAVR – naprawdę znaczy wielki • #1 w integracji układów peryferyjnych • Cechy układów TinyAVR • Obudowy 6 – 32 pinów • Pamięć Flash 1 – 8 kB • Zalety rodziny TinyAVR • ADC ze stopniem wzmacniacza • High Speed PWM (64MHz) • Zintegrowany EEPROM • Wewnętrzny oscylator RC • debugWire • Układy nadzorujące • Technologia picoPower • Układy z zasilaniem 0.9V http://www.jm.pl MegaAVR – ogromne możliwości • Ogromne możliwości dla projektantów • Cechy układów MegaAVR • Obudowy 32 – 100 pinów • Pamięć Flash 4 – 256 kB • Zalety rodziny MegaAVR • Interfejsy komunikacyjne (USART, SPI, TWI) • Łatwość migracji między układami • ADC ze stopniem wzmacniacza • High Speed PWM (64MHz) • Zintegrowany EEPROM • Wewnętrzny oscylator RC • Real Time Clock • JTAG • Układy nadzorujące • Technologia picoPower http://www.jm.pl ASSP AVR – do zadań specjalnych ASSP – Application Specific Standard Product • Zintegrowany sterownik paneli LCD • Układy ładowania akumulatorów Smart Battery • AVR dla aplikacji energoelektronicznych • Sterowanie silników • Stateczniki dla lamp jarzeniowych • Interfejs CAN dla motoryzacji • Interfejs USB (Device i Host OTG) http://www.jm.pl Xmega – kolejna generacja AVR • Układy Xmega dedykowane dla aplikacji 8 i 16 bitowych • 8 bitowy rdzeń • Druga generacja picoPower • Zasilanie od 1.6V • 20% mniejsze pobór prądu • Zwiększona wydajność • 32 MIPS • Kontroler DMA • Event System • Ulepszone peryferia • Rozbudowana część analogowa • Crypto Engine • Duża liczba interfejsów http://www.jm.pl Nowości w układach Xmega • Pamięci Flash 16kB – 256kB • Obudowy 44 – 100 pinów • Kontroler zewnętrznej pamięci SDRAM • Adresowanie do 128Mb • Nowe przetworniki ADC • Prędkość 2MSps (najszybszy konkurent 1MSps) • Rozdzielczość 12 bitów • Przetwornik DAC • Sprzętowy układ kryptograficzny • AES z kluczem 128 bit • DES z kluczem 56 bit • Priorytetowy system przerwań • Ogromna ilość interfejsów • 8xUSART, 4xSPI, 4xTWI, IrDA • Unifikacja peryferii • Łatwość pisania kodu http://www.jm.pl Event System • Autonomiczna sieć połączeń między peryferiami • Peryferia określają kiedy generować Event • Przepełnieni timera, zmiana pinu, wynik ADC • Kolejne peryferia reagują na Event • Inkrementowanie timera, strat transmisji SPI, start ADC • Zmniejszenie ilości przerwań – odciążenie CPU • Przyśpieszenie reakcji na zdarzenia • System pracuje bez udziału rdzenia • Pozostaje aktywny w stanie Idle http://www.jm.pl Narzędzia programistyczne http://www.jm.pl AVR Studio • Zintegrowane środowisko programistyczne • Edycja kodu • Assembler i C • Debugowanie kodu • Symulator • On Chip Debug • Współpraca z narzędziami sprzętowymi • Wsparcie dla kompilatora GCC • Darmowe http://www.jm.pl Zestawy startowe • STK500 • Interfejs RS232 • Możliwość rozszerzenia o dodatkowe nakładki • STK600 • Interfejs USB • Możliwość rozszerzenia o dodatkowe nakładki http://www.jm.pl Programatory i debuggery • AVRISPmkII • Pogramator ISP • AVRDragon • Programator ISP, JTAG, równoległy • Debugger JTAG i dWire (do 32kB Flash) • JTAGICEmkII • Programator ISP, JTAG, PDI • Debugger JTAG, dWire, PDI • AVRONE! • Programator ISP, JTAG, PDI • Debugger JTAG, dWire, PDI, Nexus Class 3 http://www.jm.pl Koniecznie zajrzyj! • Noty katalogowe, przykładowe aplikacje, instrukcje obsługi, FAQ • www.atmel.com/products/avr/ • www.atmel.com/products/avr/applications.asp • www.avrtv.com • www.avrfreaks.net • forum dyskusyjne • przykładowe projekty • akademia AVR • Kompilatory • • • • GNU GCC (darmowy) IAR Code Vision Image Craft • Newsletter JM - zapisz się już teraz • Zakupy detaliczne • www.seguro.pl http://www.jm.pl Kilka prawd • Inżynierowie używają języka C • Bascom nie jest narzędziem inżyniera • Oryginalne narzędzia nie są drogie • Język angielski nie jest językiem obcym • Wasz sukces zależy od was http://www.jm.pl Dziękuję za uwagę. http://www.jm.pl