ARM y jakich (jeszcze) nie znacie

Podobne dokumenty
Wykład 2. Mikrokontrolery z rdzeniami ARM

NXP ma nowe ARM-y. BlueStreak: co i jak

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

Wykład 6. Mikrokontrolery z rdzeniem ARM

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

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

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

ARMputer, część 1 AVT 922

Kolejny etap rewolucji

Układy zegarowe w systemie mikroprocesorowym

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

System on Chip na miarę S P R Z Ę T

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

Szkolenia specjalistyczne

R8C: 16-bitowy Renesas do aplikacji 8-bitowych

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

MIKROKONTROLERY I MIKROPROCESORY

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

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

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

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

Systemy wbudowane Mikrokontrolery

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

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Wstęp Architektura... 13

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

WPROWADZENIE Mikrosterownik mikrokontrolery

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

prowadzący: mgr inż. Piotr Prystupiuk

System czasu rzeczywistego

KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE

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

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Maluchy na fali. HC08) na asembler ST7. W momencie wprowadzania rodziny ST7 możliwość bezpośredniego

Sposób na pamięci Flash

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

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

ZL10PLD. Moduł dippld z układem XC3S200

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

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

KAmduino UNO. Rev Źródło:

Instytut Teleinformatyki

2. Architektura mikrokontrolerów PIC16F8x... 13

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

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

Doświadczenia z tworzenia systemu pomiarowo-sterującego z procesorami rodziny C2000. Leszek Dębowski Instytut Elektrotechniki Oddział w Gdańsku

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

Popularne pamięci FLASH firmy GigaDevice

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Laboratorium Procesorów Sygnałowych

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

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

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Wykład Mikroprocesory i kontrolery

Pulse width modulation control of three-phase three-level inverter Sterowanie modulacji szerokości impulsów trójpoziomowego trójfazowego falownika.

TECHNIKA MIKROPROCESOROWA II

ISBN Copyright by Wydawnictwo BTC Warszawa Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Wykład 7. Architektura mikroprocesorów powtórka

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

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

Vinculum scalony host USB

Systemy wbudowane. Paweł Pełczyński

Rynkowe nowości, część 1

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

11.Mikrokomputeryjednoukładowe

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

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

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

8 bitowe maluchy historii ciąg dalszy

Płytka uruchomieniowa XM64

Część 6. Mieszane analogowo-cyfrowe układy sterowania. Łukasz Starzak, Sterowanie przekształtników elektronicznych, zima 2011/12

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

STM32L0: Cortex-M0+ w rodzinie STM32

Aparatura Elektroniczna (EAE) Stopień studiów i forma: I stopień, stacjonarna Rodzaj przedmiotu: obowiązkowy - 2

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

Systemy na Chipie. Robert Czerwiński

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

E-TRONIX Sterownik Uniwersalny SU 1.2

AsLinkEx instrukcja obsługi

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

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

Część 5. Mieszane analogowo-cyfrowe układy sterowania

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

Instytut Teleinformatyki

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

Procesory o architekturze dwusystemowej

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

Transkrypt:

ARM y jakich (jeszcze) nie znacie Jak zareaguje przeciętny inżynier elektronik na propozycję budowy sterownika na mikrokontrolerze 32 bitowym? W większości przypadków nie potraktuje jej serio, zwłaszcza gdy istotnym parametrem realizowanego projektu jest koszt zastosowanych w nim elementów. Zmiany na rynku mikrokontrolerów następują bardzo szybko, a jednym z najszybciej zmieniających się (co interesujące: w dół!) parametrów są ceny. Pojawienie się dwa lata temu w sprzedaży mikrokontrolerów z rdzeniem ARM7TD- MI zintegrowanych z pamięcią Flash (rodzina LPC2000 firmy Philips) zainicjowała rynkowy przełom, którego owocem są najnowsze, miniaturowe ARM y, którym poświęcamy artykuł. ARM owy sposób na maluchy Oprócz szybkiego obniżania cen mikrokontrolerów, drugim łatwo dostrzegalnym rynkowym trendem jest tworzenie całych rodzin maluchów, czyli mikrokontrolerów o względnie słabym wyposażeniu i niewielkiej pamięci Flash. Prekursorem tego trendu jest Microchip, którego pierwsze tak pomyślane mikrokontrolery (rodzina PIC12C5xx) znalazły spore obszary zastosowań. Po pewnym czasie tym samym tropem poszły inne firmy (Atmel, Silicon Labs, Freescale jeszcze jako Motorola, STMicroelectronics czy Philips). Co interesujące, Microchip wykonał kolejny Przekaêniki elektromagnetyczne w ponad 6000 wersji wykonania, sklasyfikowanych w 9 grupach: ogólnego zastosowania motoryzacyjne telekomunikacyjne do monta u PCB mocy zatrzaskowe timery do sterowania nap dami pó przewodnikowe J C E R T Y F A K O I K A T ISO 9001 Â C I J C E R T Y F A K O I K A T QS 9000 Â C I 01-772 Warszawa ul. Sady oliborskie 13A 01-013 Warszawa, ul. Kacza 6 lok. A tel. (022) 862-75-00, tel./fax (022) fax (022) 663-83-76 862-75-01 e-mail: info@gamma.pl (022) 663-98-87 e-mail: e-mail: jarek@gamma.pl info@gamma.pl www.gamma.pl 43

Rys. 1. Wyniki testów EEMBC pod kątem objętości programów a) i czasu ich wykonywania b) przez rdzeń obsługujący polecenia Thumb 2 krok w stronę miniaturyzacji mikrokontrolerów, wprowadzając do swojej oferty rodzinę PIC10F, której cechą charakterystyczną jest obudowa SOT23 i zaledwie 6 wyprowadzeń. C o t o w s z y s t ko m a wspólnego z ARM ami? Sporo, bowiem także mikrokontrolery z rdzeniami ARM podlegają takim samym trendom. Od pierwszych miesięcy tego roku można kupić bogato wyposażone mikrokontrolery z rodziny LPC210x za cenę bliską 10 zł brutto (a można się spodziewać, że ceny nadal będą spadać), a 27 marca 2006 światło dzienne ujrzały zupełnie nowe mikrokontrolery z nieznanym dotychczas szerzej rdzeniem ARM Cortex M3. Ich pojawienie się na rynku jest zapowiedzią nowego wśród ARM ów trendu: zmniejszania liczby wyprowadzeń (i wiążącej się z tym ceny) mikrokontrolerów 32 bitowych. O ile obecnie dostępnych jest wiele typów mikrokontrolerów w obudowach 48 i 64 wyprowadzeniowych, to ARM z 28 nogami jest czymś zaskakującym. ARM owa nisza, czyli rodzina Stellaris Firma Luminary Micro jest pierwszym producentem nowej na rynku rodziny mikrokontrolerów z r d z e n i e m A R M C o r- tex M3. Nie jest to nowe opracowanie firmy ARM, bowiem pierwsze znane mi wzmianki o tym rdzeniu były publikowane już w 2001 roku, a oficjalna premiera nastąpiła w roku 2004, ale rodzina Stellaris jest pierwszą, w której zastosowano ten rdzeń. Cortex M3 to rdzeń obsługujący listę instrukcji ARMv7M, przy czym w odróżnieniu od innych wersji rdzeni zgodnych z ARMv7, są przez niego dekodowane wyłącznie instrukcje zapisane w nowym formacie noszącym nazwę Thumb 2. Polecenia są kodowane w słowach 16 bitowych, ale modyfikacje wprowadzone zarówno do listy instrukcji jak i sposobu ich dekodowania przez CPU spowodowały, że programy zapisane w Thumb 2 są o5% mniejsze od odpowiedników w klasycznej wersji Thumb i 12% szybsze (rys. 1, dane za Embedded Microprocessor Benchmark Consortium, www.eembc.org). Dodatkowym atutem rdzenia Cortex M3 są dwie instrukcje (MOVW i MOVT), ułatwiające wykonywanie operacji na stałych 16 i 32 bitowych oraz 10 innych, nowych instrukcji zorientowanych na maksymalizację wydajności rdzenia. Architektura rdzenia Cortex 3 jest oparta na koncepcji harwardzkiej z 3 stopniowym kolejkowaniem. Niebagatelny wpływ n a w y d a j n o ś ć r d z e n i a ma specjalny mechanizm przyjmowania i obróbki przerwań, który nazwano Tail Chaining. Dzięki niemu, gwarantowany minimalny czas pomiędzy kolejno przyjmowanymi przerwaniami wynosi zaledwie 6 (w najgorszym przypadku 12) cykli zegarowych, a zaawansowany kontroler przerwań NVIC (Nested Vectored Interrupt Controller) pozwala na wygodne zawiadywanie ich priorytetami (priorytetów może być do 256 poziomów, określa je 8 bitowa maska) do 244 różnych przerwań. Zgodnie z danymi producenta, średni czas oczekiwania na przyjęcie Luminary Micro...to młoda amerykańska firma, ale prowadzona przez niezwykle doświadczoną ekipę wywodzącą się z firm: Motorola (Freescale), Cirrus Logic, Winbond i Conexant. Osoby stanowiące kierownictwo firmy mają doświadczenia w pracy w firmach start up, które można by nazwać w naszej krajowej nomenklaturze inkubatorami technologicznymi. 44

ELFA dostarcza produkty firmy Hirschmann P O D Z E S P O Ł Y Rys. 2. Mechanizm Tail-Chaining, średni czas obsługi przerwania przerwania zmniejsza się o 65 70 % w stosunku do rdzenia ARM7TDMI i pochodnych (rys. 2, wyniki za prezentacją Warrena Easte a z ARM Developers Conference 2004). Na rys. 3 pokazano schemat blokowy jednego z mikrokontrolerów z rodziny Stellaris. Bloki zaznaczone na kolor czerwony (jak na przykład przetwornik A/C, czy czujnik temperatury) nie są dostępne w obecnie produkowanych układach. Obecnie w sprzedaży są dostępne dwa typy układów (tab. 1), ale producent przewiduje wprowadzenie w najbliższym czasie na rynek łącznie 14 typów mikro - kontrolerów. Zakres pojemności pamięci Flash w rodzinie Stellaris mieści się w przedziale 8 32 kb, pojemności pamięci SRAM 2 8 kb, a dostępne obudowy mają od 28 (SOIC28) do 4 8 w y p r o w a - dzeń (LQFP48). P i e r w s z e d o - s t ę p n e u k ł a - dy mają rdzeń taktowany sy- gnałem zegarowym o częstotliwości do 20 MHz, niektóre wersje kolejnych typów mikrokontrolerów Stellaris będą przystosowane do taktowania sygnałami o częstotliwości do 50 MHz. Pomimo relatywnie wysokiej częstotliwości taktowania, dostęp do zawartości pamięci Flash jest jednotaktowy, co pozwala maksymalnie wykorzystać wydajność rdzenia. Standardowym wyposażeniem rdzeni Cortex jest dwuprzewodowy interfejs SWD (Serial Wire Debug) umożliwiający debugowanie in circuit pracy mikrokontrolera, który miał zastąpić JTAG a. Producent mikrokontrolerów Stellaris nie zrezygnował jednak z JTAG a i połączył w module Serial Wire JTAG Debug Port nieco zmodyfikowanego JTAG a z SWD, o czym należy pamiętać studiując dokumentację rdzeni Cortex formy ARM. Możliwości diagnostyczne bloku sprzętowego debuggera są porównywalne z oferowanymi przez dotychczas stosowane w mikrokontrolerach z rdzeniami ARM7xx i ARM9xxx, przy czym dzięki zastosowaniu mechanizmu flash Polecamy fanom mikrokontrolerów z rdzeniem ARM! W czerwcu 2006 ukaże się w sprzedaży specjalny numer Elektroniki Praktycznej Plus, w całości poświęcony mikrokontrolerom z rdzeniami ARM. Wszystkich zainteresowanych tematem zapraszamy! 45

Tab. 1. Podstawowe cechy i parametry dostępnych modeli mikrokontrolerów Stellaris Cecha lub parametr LM3S101 LM3S102 Rdzeń ARM Cortex M3 ARM Cortex M3 Flash/SRAM [kb] 8/2 8/2 JTAG + + UART + + SSI + + I2C + Timery 2 2 Komparatory analogowe 2 + Wbudowany stabilizator LDO 2,5V + + GPIO 2 18 0 18 Watchdog + + PWM CCP 1 2 Częstotliwość taktowania (PLL) [MHz] 20 20 Napięcie zasilania [V] 3,3 3,3 Maksymalne napięcie wejściowe [V] 5 5 Podstawowe cechy Thumb 2: 16 bitowe instrukcje będące skompresowanymi odpowiednikami większości 32 bitowych instrukcji ARM, kompatybilność z wcześniejszymi wersjami ARM i Thumb, obsługa standardowych instrukcji ARM, 12 nowych instrukcji, dzięki którym zwiększa się wypadkowa wydajność rdzenia w typowych aplikacjach (do 12% większa niż w przypadku klasycznej wersji Thumb, objętość kodu do 5% mniejsza), rzadziej występująca konieczność przełączania sposobu dekodowania patch (remapowaniu specjalnych obszarów pamięci SRAM w miejsce Flash) możliwości ingerowania użytkownika w realizację programu (pod kątem diagnostyki jego działania) są bardzo duże. Mikrokontrolery z rdzeniem Cortex, zgodnie z deklaracjami twórcy rdzenia, mają się charakteryzować szczególnie małym poborem mocy. Niestety, dane katalogowe udostępnione przez producenta układów w końcu marca niewiele mówią na temat faktycznego poboru mocy, bowiem jedyną jawnie podaną informacją jest nominalny pobór prądu w trybie RUN, który wynosi 35 ma. Trudno taki wynik uznać za szczególne osiągnięcie, bowiem zgodnie z danymi katalogowymi mikrokontroler LPC2101 (8 kb Flash/2 kb SRAM + bogate wyposażenie w peryferia), wykorzystujący stary rdzeń AR- M7TDMI pobiera w trybie RUN 7 ma przy częstotliwości taktowania 10 MHz, a 41 ma przy częstotliwości taktowania 70 MHz. Dajmy jednak czas producentowi na dojście do zapowiadanych wyników. Najpoważniejsze wątpliwości budzi przyjęty przez producenta sposób programowania pamięci Flash. Wygląda na to, że jedynym sposobem zmodyfikowania jej zawartości jest skorzystanie z interfejsu JTAG (jak np. ulink firmy Keil), co jak pokazuje instrukcji pomiędzy trybami Thumb 2/ARM niż miało to miejsce w przypadku Thumb/ ARM, oprogramowanie wymaga pamięci o pojemności o 26% mniejszej niż w klasycznych wersjach ARM. 46

Rys. 3. Schemat blokowy mikrokontrolera z rodziny Stellaris praktyka utrudnia przyswojenie nowych produktów przez rynek popularny. Przykładem takiego koncepcyjnego błądzenia producenta, zakończonego zresztą szybkim wprowadzeniem do produkcji wersji mikrokontrolerów wyposażonych w bootloader, są układy z rodziny AT91SAM7S firmy Atmel. Nastały bowiem czasy, w których inżynierowie Rodzina Cortex Rdzeń Cortex opracowano z myślą o stosowaniu w trzech typach mikrokontrolerów, optymalizowanych pod kątem docelowej aplikacji: ARM Cortex A Series procesory przeznaczone do stosowania w urządzeniach wyposazonych w systemy operacyjne, wymagające dużej wydajności. Obsługiwane formaty rozkazów: ARM, Thumb oraz Thumb 2. ARM Cortex R Series procesory zoptymalizowane pod kątem stosowania w aplikacjach czasu rzeczywistego. Obsługiwane formaty rozkazów: ARM, Thumb oraz Thumb 2. ARM Cortex M Series tanie mikrokontrolery przeznaczone dla aplikacji typu embedded. Obsługiwane są wyłącznie polecenia Thumb 2. nie chcą się skupiać na rozwiązywaniu problemów nieistotnych z punktu widzenia aplikacji. Musi być wygodnie! Rozwój rodziny produktów firmy Luminary Micro będziemy śledzić, a z obserwacji złożymy Czytelnikom raporty. Z informacji jakie udostępnił nam producent można wnioskować, że w niedługim czasie oprócz rodziny Stellaris będziemy mogli wybierać układy z dwóch kolejnych corteksowych rodzin: Fury oraz Tornado. Fury to rodzina dużych mikrokontrolerów, a Tornado to grupa układów wyposażonych w precyzyjne tory A/C i C/A. Napisałem, że będziemy mogli wybierać układy, bowiem są one już dostępne w ofercie polskiego dystrybutora! Piotr Zbysiński, EP piotr.zbysinski@ep.com.pl Dodatkowe informacje Artykuł powstał dzięki pomocy krajowego dystrybutora firmy LuminaryMicro: PDW Marthel, tel.: 071 311 07 11/12, www.marthel.pl, marthelinfo@marthel.pl. 47