Skocz do zawartości

[Teoria] Nowe rdzenie ARM: Cortex-M4 w mikrokontrolerach Kinetis ARM


Treker

Pomocna odpowiedź

Firma Freescale, podobnie do wielu innych czołowych producentów mikrokontrolerów, wprowadziła do swojej oferty układy wyposażone w rdzenie z rodziny Cortex, a jako pierwsza (i na razie jedyna) firma na świecie – rdzenie Cortex-M4. Nie są one jeszcze dostępne w sprzedaży (można się ich spodziewać pod koniec roku 2010), ale i tak przecierają szlaki nowoczesnym rozwiązaniom opartym na jednolitej platformie sprzętowej ARM Cortex.

Rys. 1. Zestawienie najważniejszych elementów wyposażenia mikrokontrolerów z rodziny Kinetis

Nowa rodzina mikrokontrolerów nosi nazwę Kinetis, w jej skład wchodzi pięć podrodzin oznaczonych symbolami K10, K20, K30, K40 i K60 (rys. 1), które różnią się wyposażeniem wewnętrznym i wynikającym z niego ukierunkowaniem aplikacyjnym.

Podrodziny K10 (rys. 2) i K20 (taktowane sygnałem zegarowym od 50 do 150 MHz) są ze sobą praktycznie identyczne (i wymienne), najistotniejszą różnicą jest wyposażenie K20 w interfejs USB-OTG. Obydwie podrodziny mikrokontrolerów - podobnie jak największe z podrodziny K60 - wyposażono w wewnętrzne kontrolery pamięci NAND Flash i zmiennoprzecinkowe jednostki obliczeniowe FPU. Wszystkie mikrokontrolery z rodziny Kinetis wyposażono w podwójny interfejs CAN2.0B, ich standardowym wyposażeniem jest także wiele bloków i interfejsów peryferyjnych, w tym 16-bitowy przetwornik A/C, wzmacniacze analogowe o programowanym wzmocnieniu, szybkie komparatory analogowe, a także interfejsy do obsługi bezstykowych paneli użytkownika. Mikrokontrolery Kinetis wyposażono także w bogaty zestaw interfejsów komunikacyjnych: I2C, SPI, UART, generator-kontroler CRC, cyfrowy interfejs audio I2S, timery z generatorami PWM przeznaczone do sterowania pracą silników elektrycznych, a także sprzętowy interfejs kart SDHC.

Rys. 2. Schemat blokowy mikrokontrolerów z podrodziny K10

Mikrokontrolery Kinetis z podrodzin K30 i K40 (przystosowane do taktowania sygnałami o częstotliwości w zakresie od 50 do 100 MHz) wyposażono w sprzętowy sterownik LCD, pozbawiono je natomiast jednostki FPU i kontrolera NAND Flash. Najlepiej wyposażone są mikrokontrolery z podrodziny K60 (częstotliwości taktowania rdzenia od 100 do 180 MHz): oprócz sprzętowego bloku kryptograficznego (obsługuje algorytmy DES, 3DES, AES, MD5, SHA-1 oraz SHA-256) wbudowano w nie moduł MAC interfejsu Ethernet 10/100Mb/s (zgodny z IEEE1588, interfejsy MII i RMII) oraz kontroler pamięci SDRAM. Obsługuje on pamięci DRAM: LPDDR, DDR oraz DDR2 o 16-bitowej magistrali danych i łącznej pamięci do 256 MB. Niektóre wersje mikrokontrolerów wyposażono w kontroler magistrali zewnętrznej FlexBus, dzięki któremu CPU uzyskuje dostęp do zewnętrznej przestrzeni adresowej wynoszącej 2 GB w konfiguracji 8-/16- i 32-bitowej. Można w niej ulokować m.in. pamięci PROM, EPROM, Flash, SRAM i EEPROM, a także dowolne inne peryferia.

Mikrokontrolery Kinetis oznaczone symbolem X (jak np. MK60X256VLL100) wyposażono w rzadko spotykany typ pamięci Flash, noszący firmową nazwę FlexMemory. Jest ona wykonywana w technologii TFS (Thin Film Storage) o wymiarze charakterystycznym 90 nm, jest ona przystosowana do pracy przy napięciach zasilania dochodzących do 1,71V, a deklarowany przez producenta czas dostępu do danych nie przekracza 30 ns. Kontroler pamięci FlexMemory umożliwia użytkownikowi definiowanie niektórych jej bloków jako pamięci EEPROM o typowej liczbie cykli kasowanie/zapis wynoszącej 1 mln, charakteryzującej się dodatkowo bardzo krótkim czasem kasowania i zapisu – nie przekracza on 1,5 ms/bajt.

Producent wprowadzając do sprzedaży nowe mikrokontrolery zadbał o ich wsparcie aplikacyjne, polegające na udostępnieniu dobrze znanego systemu operacyjnego czasu rzeczywistego MQX, a także zestawu bibliotek programowych, m.in. dla aplikacji sterowania silnikami elektrycznymi, do obsługi bezstykowych paneli HMI, stosy USB i TCP/IP, system plików MFS, a także szeroką gamę bootloaderów programowych, pozwalających na wymianę zawartości pamięci Flash poprzez różne interfejsy komunikacyjne. Zapowiadane są także biblioteki z algorytmami DSP, zaawansowanymi operacjami arytmetycznymi i szyfrujące.

Dodatkowe informacje o mikrokontrolerach Kinetis są dostępne pod adresem: www.freescale.com/kinetis

Autor:

Piotr Zbysiński

Artykuł opublikowano w portalu forbot.pl za zgodą autora.

RTOS dla Kinetisów, MQX

Szczegółowe informacje o systemie operacyjnym MQX, w tym jego pliki źródłowe, można znaleźć pod adresem www.freescale.com/mqx

Klarowna nomenklatura

Mikrokontrolery Kinetis charakteryzują się – w odróżnieniu od niektórych innych rodzin mikrokontrolerów firmy Freescale - klarownym systemem oznaczeń, np.:

MK60X256VLL100 – mikrokontroler z podrodziny K60, wyposażony w 256 kB pamięci Flash FexMemory, taktowany sygnałem zegarowym o częstotliwości do 100 MHz

MK10N32VFM50 – mikrokontroler z podrodziny K10, wyposażony w 32 kB pamięci Flash, taktowany sygnałem zegarowym o częstotliwości do 50 MHz

V – oznacza zakres temperatur pracy od -40 do +105oC

FM i LL – oznaczają rodzaj obudowy

Rdzeń Cortex-M4 jest kolejną, obecnie najbardziej rozbudowaną, wersją rdzenia mikrokontrolerowego Cortex spośród opracowanych przez ARM (architektura ARMv7-ME). Jest on przeznaczony dla prostych aplikacji DSP, wyposażono go w jednotaktową, 16-/32-bitową jednostkę MAC (Multiply-Accumulate), zestaw 8- i 16-bitowych instrukcji SIMD (Single Instruction Multiple Data), obsługuje zaawansowane instrukcje arytmetyczne wspomagające realizację obliczeń DSP: najkrócej rzecz ujmując można stwierdzić, że Cortex-M4 to Cortex-M3 rozszerzony o instrukcje DSP. Przeciętne prędkości wykonywania programu przez rdzenie Cortex-M4 wynoszą 1,25 DMIPS/MHz, mogą być one wyposażone w jednostkę wspomagającą obliczenia zmiennoprzecinkowe FPU zgodną z IEEE754, wyposażono je także w zaawansowane mechanizmy oszczędzania energii.

Użytkownicy mikrokontrolerów z rdzeniami Cortex-M4 mogą – podobnie jak i starszych rdzeni Cortex – korzystać z bibliotek CMSIS (Cortex Microcontroller Software Interface Standard), które wzbogacono m.in. o predefiniowane algorytmy filtracji sygnałów, zaawansowane obliczenia trygonometryczne, a także funkcje regulacyjne.

Rodzina Kinetis w skrócie:

K10 – podrodzina mikrokontrolerów wyposażonych m.in. w kontroler NAND Flash i FPU

K20 - podrodzina mikrokontrolerów wyposażonych jak K10 + USB-OTG

K30 - podrodzina mikrokontrolerów wyposażonych w kontroler LCD

K40 - podrodzina mikrokontrolerów wyposażonych jak K30 + USB-OTG

K60 – podrodzina mikrokontrolerów wyposażonych w MAC Ethernet + IEEE1588, NAND Flash, FPU, USB-OTG, kontroler pamięci SDRAM

Zobacz ogólne informacje o konkursie.

Pytania konkursowe:

1. Jakie są zasadnicze różnice – podaj co najmniej 2 - pomiędzy rdzeniem Cortex-M3 i Cortex-M4?

2. Wymień – co najmniej 2 - możliwe obszary zastosowań mikrokontrolerów Kinetis w robotyce.

3. Którą podrodzinę Kinetis uważasz za najbardziej interesującą w swoich zastosowaniach?

Gwarantowane nagrody dla autorów trzech pierwszych zgłoszeń, 3 zestawy:

• książka Mikrokontrolery 68HC08 w praktyce

• kubek do kawy z termoizolacja

• czapeczka

• smycz

Nagrody, które zostaną rozlosowane w śród pozostałych zgłoszeń:

1 zestaw:

• książka Mikrokontrolery 68HC08 w praktyce

• kubek do kawy z termoizolacja

• czapeczka

• smycz

oraz

6 zestawów:

• książka Mikrokontrolery 68HC08 w praktyce

• kalkulator biurkowy

Sponsorem wszystkich nagród jest

KAMAMI.pl

Odpowiedzi należy publikować w tym temacie, wysłane zgłoszenia nie mogą być edytowane.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.