Mikrokontrolery Freescale Kinetis z rdzeniem ARM Cortex-M4
Nowość w ofercie Freescale: mikrokontrolery z rodziny Kinetis
Mikrokontrolery z rdzeniami ARM są obecne w branży elektronicznej od wielu lat. Liczne zalety tych układów powodują, iż znajdują one zastosowanie w wielu różnorodnych konstrukcjach. Ich wykorzystanie stało się do tego stopnia powszechne, że zdominowały one rynek układów mikroprocesorowych o architekturze 32-bitowej. Do niedawna najpopularniejszymi rdzeniami były ARM7TDMI, ARM9 oraz ARM11. Rozwój technologiczny oraz jednocześnie coraz większe wymagania stymulują intensywny rozwój mikrokontrolerów, czego efektem jest najnowszy rdzeń firmy ARM o nazwie Cortex. Kolejnym etapem rozwoju tego rdzenia, a zarazem najnowszym produktem firmy ARM jest Cortex-M4 (architektura ARMv7). Jego powstanie jest przykładem nieustannego postępu w dziedzinie techniki mikroprocesorowej, a zarazem dobrym odzwierciedleniem zapotrzebowania rynku, który w tej dziedzinie wymaga rozwiązań o coraz większej wydajności i funkcjonalności przy jednocześnie postępującej miniaturyzacji i ograniczeniach w poborze energii, a wszystko to przy zachowaniu atrakcyjnej ceny. Rdzeń Cortex-M4 spełnia te kryteria, co zaowocowało entuzjastycznym przyjęciem go przez producentów mikrokontrolerów, dzięki czemu w nieodległej przyszłości można spodziewać się wielu różnorodnych układów bazujących na tym rdzeniu (licencję na wykorzystywanie tego rdzenia obecnie posiadają już czołowi producenci mikrokontrolerów tacy jak Freescale, NXP, czy Texas Instruments). Pierwszą firmą, która uzupełnia swoje portfolio o układy z jądrem Cortex-M4 jest Freescale, który wprowadził na rynek rodzinę o nazwie Kinetis.
ARM Cortex-M4
Rdzeń ARM Cortex-M4 w dużej mierze jest produktem, który powstał jako efekt ewolucji dobrze znanego rdzenia Cortex-M3, którego jest niejako rozwinięciem. Podstawowa konstrukcja obu rdzeni jest podobna, przy czym Cortex-M4 został wzbogacony o kilka dodatkowych elementów, spośród których najistotniejszymi są jednostka wspomagająca obliczenia zmiennoprzecinkowe FPU oraz sprzętowe wsparcie dla cyfrowego przetwarzania sygnałów DSP, do których należy między innymi moduł SIMD oraz jednocyklowy układ mnożący MAC. Budowę wewnętrzną obu rdzeni przedstawiono na rys. 1.
Rys. 2. Wyposażenie mikrokontrolerów Kinetis
Bardzo interesującą cechą rodziny Kinetis jest wielofunkcyjność zintegrowanej w układach pamięci o nazwie FlexMemory. W zależności od potrzeb może być ona skonfigurowana w całości jako pamięć programu, częściowo jako pamięć programu oraz pamięć danych lub w całości jako pamięć danych.
Układy rodziny Kinetis otrzymały od firmy Freescale bogate wsparcie aplikacyjne. Podstawowym środowiskiem programistycznym jest oferowany przez producenta pakiet CodeWarrior. Jego uzupełnieniem jest narzędzie Freescale Tower System, które umożliwia szybkie prototypowanie i testowanie oprogramowania. Alternatywnymi dla CodeWarriora środowiskami programistycznymi są produkty firm IAR oraz Keil. Oprócz obsługi klasycznych programów rodzina Kinetis ma możliwość implementacji systemu operacyjnego typu RTOS o nazwie MQX.
Rodzina Kinetis została podzielona przez producenta według kryterium funkcjonalności i przeznaczenia. Podział obejmuje 5 grup: K10, K20, K30, K40 oraz K60. Poszczególne grupy różnią się między sobą cechami charakterystycznymi dla danej grupy. Ponadto dokonać można dodatkowego podziału mikrokontrolerów wewnątrz każdej z grup, który obejmuje różnorodność układów ze względu na częstotliwość taktowania, liczbę wyprowadzeń, rodzaj obudowy oraz ilość pamięci. Ogólny podział zilustrowano na rys. 3.
Rys. 3. Podział rodziny Kinetis
Podstawową podrodziną jest grupa K10. Układy ją reprezentujące posiadają od 32 kB do 1 MB wewnętrznej pamięci, ich nominalna częstotliwość taktowania wynosi od 50 MHz do 150 MHz, a dostępne obudowy posiadają od 32 do 144 wyprowadzeń. Wyposażeniem dodatkowym tej grupy jest kontroler pamięci Flash typu NAND oraz jednostka wspomagająca obliczenia zmiennoprzecinkowe.
Podrodzina K20 jest rozwinięciem grupy K10, przez co posiada ona takie same parametry oraz identyczną funkcjonalność rozszerzoną o jeden element jakim jest interfejs USB w wersji OTG.
Kolejną podrodziną jest grupa K30. Zbiór tych układów oferuje następujące parametry: pamięć o pojemności 64 kB – 512 kB, maksymalną częstotliwość taktowania w granicach 50 MHz – 100 MHz oraz obudowy z ilością wyprowadzeń w liczbie 64 – 144. Cechą charakterystyczną grupy K30 jest posiadanie kontrolera wyświetlacza LCD.
Parametry wydajnościowe grupy K40 są takie same jak w przypadku grupy K30. Różnica między nimi jest analogiczna do tej występującej między grupami K10 i K20. Mikrokontrolery grupy K40 w porównaniu do K30 zostały wyposażone w interfejs komunikacyjny USB.
Ostatnią z grup tworzących rodzinę Kinetis są układy z serii K60. Są to najbardziej zaawansowane mikrokontrolery. Posiadają najwyższą wydajność (częstotliwość taktowania rzędu 100 MHz – 180 MHz, pamięć 256 kB – 1 MB, obudowy posiadające od 100 do 256 wyprowadzeń) oraz najliczniejsze wyposażenie dodatkowe. Należą do nich: interfejs komunikacyjny USB OTG oraz Ethernet, kontroler pamięci SDRAM, jednostka wspomagająca obliczenia zmiennoprzecinkowe FPU, kontroler pamięci FLASH typu NAND, blok kryptograficzny obsługujący algorytmy 3DES, DES, AES, MD5, SHA-1 i SHA-256.
Podsumowanie
Liczne zalety układów z rodziny Kinetis pozwalają uznać mikrokontrolery te za udany produkt. Daje to wiarygodne podstawy do stwierdzenia, iż znajdą one swoje miejsce na rynku i odniosą komercyjny sukces. Przemawia za tym również cena układów, która rozpoczyna się już od około $1.