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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.