i.MX-RT - mikroprocesorowy crossover

| Technika

Produkowana przez NXP rodzina układów i.MX jednoznacznie kojarzy się z klasycznymi mikroprocesorami, co jest między innymi wynikiem ich wieloletniej rynkowej tradycji. W połowie 2018 roku NXP tę tradycję zaczęło modyfikować, wprowadzając na rynek układy i.MX-RT, które nominalnie należą do rodziny mikroprocesorów, ale pod wieloma względami jest im bliżej do zaawansowanych mikrokontrolerów.

i.MX-RT - mikroprocesorowy crossover

Producent układów i.MX-RT używa wobec nich określenia "crossover processor", które - podobnie jak w przypadku niezwykle obecnie popularnych na rynku samochodów klasy crossover, łączących swoją konstrukcją, cechami i możliwościami odmienne światy zastosowań - doskonale oddaje intencje przyświecające firmie: układy i.MX-RT to platforma przejściowa pomiędzy zaawansowanymi mikroprocesorami aplikacyjnymi, a zaawansowanymi mikrokontrolerami. Sufiks nazwy nowej rodziny mikrokontrolerów - RT - pochodzi od słów real-time, co dobrze charakteryzuje te układy o ambicjach mikroprocesorowych i mikrokontrolerowej "duszy".

Ze świata mikrokontrolerów pochodzi rdzeń układów i.MX-RT - ARM Cortex-M7 (architektura ARMv7-M), który komunikuje się z pamięcią za pomocą szybkich buforów cache dla instrukcji i danych oraz pamięcią TCM.

 
Rys. 1. Schemat blokowy mikrokontrolerów i.MX-RT1050

Rozwiązania zastosowane w rdzeniu użytym w prezentowanych układach przypominają te stosowane w rdzeniach Cortex-A, co pozwoliło uzyskać duża wydajność obliczeniową, dochodząca do 3020 CoreMark/1284 DMIPS przy częstotliwości taktowania CPU wynoszącą 600 MHz.

Ze świata mikrokontrolerów wywodzą się także wbudowane w układy i.MX-RT pamięci RAM i Flash o sporych pojemnościach, mikrokontrolerowe są także obudowy układów o relatywnie niewielkiej liczbie wyprowadzeń, w tym także łatwe w montażu obudowy LQFP (tabela 1).

 
Tabela 1. Zestawienie najważniejszych cech i parametrów rodzin i.MX-RT

Na tym kończą się cechy mikrokontrolerowe nowych układów, peryferia w jakie je wyposażono pochodzą w większości z klasycznych mikroprocesorów i.MX6UL/ULL - dotyczy to zarówno interfejsów graficznych, komunikacyjnych, timerów itd.

 
Rys. 2. Schemat blokowy mikrokontrolerów i.MX-RT685

Ponieważ układy crossover będą się w wielu przypadkach zmagać z dużymi wymaganiami aplikacji dotyczącymi pojemności pamięci RAM, pojemności pamięci wbudowanych w struktury prezentowanych układów nie zawsze będą wystarczające.

Żeby zaspokoić ten wymóg, producent wyposażył układy w interfejsy zewnętrznych pamięci, dzięki czemu do układów i.MXRT można wygodnie dołączyć zewnętrzne pamięci SDRAM (także z 16-bitową magistralą danych), pamięci Flash (NOR lub NAND).

W systemach bazujących na układach i.MX-RT można także korzystać z pamięci stałych eMMC (do tego celu służy wydzielony interfejs sprzętowy SDIO) oraz pamięci QuadSPI, z których każda może spełniać rolę pamięci bootującej system.

 
Fot. 3. Widok zestawu ewaluacyjnego MIMXRT1060-EVK

Schemat blokowy mikrokontrolerów i.MX-RT1050 pokazano na rys. 1. Osoby interesujące się mikroprocesorami produkowanymi przez NXP dostrzegą duże podobieństwo budowy wewnętrznej prezentowanego układu do mikroprocesora i.MX6ULL.

Zestawienie najważniejszych cech i wyposażenia rodzin mikrokontrolerów i.MX-RT przedstawiono w tabeli 1. Znajduje się w niej także odmienna pod względem budowy wewnętrznej i obszaru zastosowań grupa układów oznaczonych symbolem i.MX-RT-600.

 
Fot. 4. Widok zestawu MIMXRT1050-EVK

Wyposażono je w dwa niezależne rdzenie:

  • Cortex-M33 (architektura ARMv8-M) - jeden z najnowszych rdzeni mikrokontrolerów firmy ARM, wyposażony m.in. w platformę TrustZone, taktowany sygnałem zegarowym o częstotliwości do 300 MHz,
  • Cadence Xtensa Hi-Fi 4 Audio DSP - zaawansowany koprocesor DSP dla aplikacji audio, taktowany sygnałem zegarowym o częstotliwości do 600 MHz.

Budowa tych układów wyraźnie predestynuje je do stosowania w różnego rodzaju aplikacjach audio, w tym także IoT z rozpoznawaniem głosu. Schemat blokowy układu i.MX-RT685, pierwszego na rynku członka rodziny i.MXRT600, pokazano na rysunku 2.

 
Rys. 5. Okno programu i.MX Pin Tool z konfiguratorem i.MX-RT

Firma NXP przygotowała dla konstruktorów zainteresowanych aplikowaniem platformy i.MX-RT dużą liczbę narzędzi oraz rozbudowany support programowy i sprzętowy. Dostępne są m.in. duże zestawy ewaluacyjne i uruchomieniowe - jak na przykład MIMXRT1060-EVK z mikrokontrolerem i.MX-RT1064 (fot. 3) czy też MIMXRT1050-EVK (fot. 4).

 
Fot. 6. Moduł SoM z układem z rodziny i.MX-RT1050 firmy Embedded Artists

Charakterystyka sprzętowa mikrokontrolerowych "serc" prezentowanych rozwiązań powoduje, że NXP przygotowało własne dystrybucje systemów operacyjnych Zephyr oraz Amazon FreeRTOS, dostępne są także narzędzia wspomagające konfigurację wbudowanych peryferiów - graficzny kreator i.MX Pin Tool (rys. 5). Producent udostępnia także bezpłatne środowisko programistyczne MCUXpresso oraz SDK z kompletami bibliotek i driverów.

 
Fot. 7. Moduły SoM polskiej produkcji z rodziny Vision-SOM, wyposażone w układ z rodziny i.MX-RT1050

Potencjał układów i.MX-RT docenili już producenci komputerów przemysłowych oraz miniaturowych komputerów SoM (System-on-Module). Jedną z pierwszych na świecie firm oferujących komputer z układem z rodziny i.MXRT1050 była szwedzka firma Embedded Artists (fot. 6), a także polski producent SoM-ów - firma SoMLabs - która oferuje moduł z rodziny VisionSOM (fot. 7), który jest pin-pin zgodny z modułami VisionSOM tego samego producenta, wyposażonymi w mikroprocesory i.MX6ULL.

Prezentowany w artykule pomysł firmy NXP wydaje się koncepcyjnie ryzykowny, bo przecież i.MX-RT to zbyt wiele jak na mikrokontroler i zbyt mało jak na mikroprocesor, a czy jest miejsce na crossover na współczesnym rynku elektroniki?

Przypomnę, że pod koniec lat 90. za ekstremalnie ryzykowny uchodził pomysł firmy Honda, która przedstawiła prototyp swojego nowego modelu - HR-V - który był pierwszym na rynku crossoverem, choć wtedy nikt jeszcze nie używał tego określenia. Nie wróżono tej konstrukcji rynkowego powodzenia, a spójrzmy na dzisiejsze drogi i ulice.

Piotr Zbysiński
SomLabs sp. z o.o.