Teensy 4.1 – płytka rozwojowa z wydajnym procesorem NXP i.MX RT1062

Artykuł opisuje zgodną z Arduino płytkę rozwojową Teensy 4.1 wyposażoną w wydajny mikrokontroler i.MX RT1062 z rdzeniem ARM Cortex-M7 o taktowaniu 600 MHz.

W ostatnich latach Arduino umocnił swoją pozycję jako najpopularniejszej platformy deweloperskiej dla amatorów i hobbystów. Na rynku dostępne jest zatrzęsienie płytek rozwojowych, które są kompatybilne z tą platformą. Niestety oryginalne zestawy zazwyczaj są wyposażone w budżetowe, albo co najwyżej średniej klasy mikrokontrolery. Ogranicza to oczywiście stopień skomplikowania projektów, które można wykonać z tymi płytkami oraz uniemożliwia stosowanie w pewnych specyficznych projektach.

Oczywiście na rynku pojawiają się zestawy kompatybilne z Arduino wyposażone w układy o większych możliwościach. Znakomitym przykładem są tutaj płytki Bluepill i Blackpill opisywane już w artykule na portalu. Powstała cała inicjatywa – STM32Duino – mająca na celu umożliwienie programowania popularnych mikrokontrolerów STM32 za pomocą platformy Arduino. Obsługuje ona zarówno płytki z niewielkimi układami z serii STM32F0 i STM32L0, jak i duże mikrokontrolery z serii np. STM32F7. Do trendu produkcji wydajnych płytek Arduino dołączył zresztą sam producent platformy wydając zestaw Portenta H7 z dwurdzeniowym mikrokontrolerem STM32H747.

Ale sztandarowym przykładem wydajnych płytek Arduino jest rodzina Teensy. Te niewielkie zestawy produkowane przez firmę PJRC już w poprzedniej wersji 3.5 i 3.6 zostały wyposażone w układy NXP Kinetis z rdzeniem Cortex-M4F. W zależności od wersji dysponowały taktowaniem z częstotliwością 120 MHz lub 160 MHz. Tym razem producent posunął się jeszcze dalej.

Mikrokontroler NXP i.MX RT1062

W najnowszych płytkach Teensy 4.1 zastosowano układ NXP i.MX RT1062. Producent układu opisuje całą rodzinę jako procesory Crossover. W założeniu mają one dostarczyć wydajność oraz funkcjonalność procesora aplikacyjnego, a jednocześnie umożliwić łatwość użycia i oszczędność energii tak, jak w przypadku tradycyjnego mikrokontrolera. Układy mają za zadanie załatać lukę między klasycznymi mikrokontrolerami, a procesorami aplikacyjnymi, a jednocześnie korzystać z zalet obu tych rozwiązań. Brzmi to zachęcająco!

Mikrokontroler i.MX RT1062 oparto o rdzeń ARM Cortex-M7 o taktowaniu aż 600 MHz. Dysponuje standardowymi interfejsami, takimi jak UART, PWM, I2C, SPI oraz przetwornikiem analogowo-cyfrowy o rozdzielczości 12 bitów. Z rzeczy bardziej zaawansowanych procesor obsługuje interfejsy audio, takie jak SAI oraz SPDIF, magistrale USB OTG i Ethernet, a także interfejsy CAN i SDIO. Wbudowano też funkcje bezpieczeństwa, takie jak generator liczb losowych TRNG oraz silnik kryptograficzny. Sam układ dysponuje aż 127 wyprowadzeniami GPIO.

 Więcej informacji na temat mikrokontrolerów z serii i.MX RT 1060 można dowiedzieć się na stronie producenta, firmy NXP.

Elementy płytki Teensy 4.1

Oprócz zaawansowanego mikrokontrolera płytka zawiera oczywiście wiele elementów służących do podłączenia do zestawu peryferiów lub układów rozszerzających. Sztandarowym przykładem jest tu złącze szpilkowe znajdujące się po obu dłuższych krawędziach płytki. Po obu stronach wyprowadzono po 24 piny, za pomocą których można podłączyć wyprowadzenia cyfrowe, analogowe, PWM, a także interfejsy UART, I2C, SPI, I2S, S/PDIF oraz CAN.

Na poniższym rysunku można zobaczyć rozkład wyprowadzeń omawianego złącza.

Rysunek 1. Rozkład wyprowadzeń złącza rozszerzeń Teensy 4.1

Warto zauważyć, że w zestawie nie ma złącz szpilkowych do przylutowania do płytki. W związku z tym, aby wykorzystać Teensy 4.1 we współpracy z płytką stykową, należy zaopatrzyć się w odpowiednią listwę goldpin.

Kolejnym ważnym złączem umieszczonym na płytce jest złącze microUSB. Umożliwia ono m.in. podłączenie zestawu do komputera PC. Dzięki wbudowanemu bootloaderowi można w ten sposób zaprogramować mikrokontroler za pomocą środowiska Arduino IDE. Dodatkowo, płytka umożliwia też podłączenie urządzeń USB, takich jak klawiatura czy urządzenia MIDI, dzięki wbudowanej funkcjonalności USB OTG. Dodatkowo, jeśli istnieje konieczność wykonania dwóch połączeń USB, to wyprowadzenia są też obecne na dodatkowym złączu szpilkowym. Może być to przydatne np. w konfiguracji, gdzie płytka jest podłączona do komputera w celu zasilania i zaprogramowania układu, a jednocześnie potrzebujemy do zestawu podłączyć urządzenie USB.

Takie podłączenie zademonstrowano na poniższej fotografii.

Rysunek 2. Obsługa USB na płytce Teensy 4.1

Oczywiście do tego typu projektów należy zaopatrzyć się w specjalny przewód.

Ethernet

Drugim ważnym i interesującym interfejsem jest Ethernet. Zestaw dysponuje wbudowanym miniaturowym układem DP83825I realizującym warstwę fizyczną magistrali. Układ jest przystosowany do pracy w standardzie 10/100 Mbps. Interfejs został wyprowadzony na złącze 6-pinowe.

Rysunek 3. Przykładowy układ realizujący połączenie Teensy 4.1 z siecią Ethernet

Przykładowy projekt układu, który pozwala zrealizować połączenie płytki z siecią Ethernet można znaleźć na stronie https://oshpark.com/shared_projects/5epewE3O

Slot na kartę microSD

Teensy 4.1 zawiera także slot na kartę microSD. Komunikacja z kartą pamięci jest realizowana w mikrokontrolerze za pomocą interfejsu SDIO obsługiwanego przez procesor.

Rysunek 4. Slot na kartę MicroSD na płytce Teensy 4.1

Dodatkowe pamięci

Jeśli chodzi o pamięć, to układ i.MX RT1062 dysponuje wbudowaną pamięcią RAM o pojemności 1024 KB. Z kolei pamięć Flash realizowana jest w systemie jako pamięć zewnętrzna i na płytce zamontowana jest osobna kość o pojemności 8 MB. Warto zwrócić uwagę, że jest to aż 4 razy więcej niż na płytce Teensy 4.0. Ale jeśli planujemy jeszcze większą aplikację, to producent umożliwia nam instalację dodatkowej pamięci, zarówno PSRAM, jak i Flash. Służą do tego dwa miejsca na przylutowanie układów, znajdujące się na odwrocie płytki.

Rysunek 5. Miejsca na instalację dodatkowych pamięci na płytce

Dodatkowo w zestawie znajduje się karta zawierająca rozkład wyprowadzeń w wygodnej formie. Cała płytka ma wymiary jedynie 61 x 18 mm – jest więc o wiele mniejsza niż choćby Arduino UNO.

Programowanie Teensy 4.1

Jak już wspomnieliśmy, jedną z zalet płytki jest obsługa programowania z poziomu środowiska Arduino IDE. Umożliwia to wykorzystanie zalet zestawu nawet początkującym programistom.

Kompatybilność z Arduino IDE zapewnia program Teensyduino. Warto zauważyć, że zgodność z Arduino IDE w wersji 1.8.13 jest w tej chwili w trakcie testów beta. Instalator jest dostępny na stronie: https://www.pjrc.com/teensy/td_download.html

Rysunek 6. Instalator Teensyduino

Podczas instalacji należy podać katalog, w którym zainstalowane jest środowisko Arduino IDE. Należy pamiętać o wyłączeniu środowiska podczas instalacji.

Od razu po instalacji, w menu Narzędzia > Płytka pokażą się opcje dla wszystkich wersji płytek Teensy.

Rysunek 7. Płytki Teensy w Arduino IDE

Od tego momentu obsługa płytki w Arduino IDE jest bezproblemowa. Należy tylko po kompilacji nacisnąć przycisk na płytce, aby wejść w tryb programowania. O tym zresztą przypomni nam okno, które wyświetli się na ekranie komputera.

Podsumowanie

Teensy 4.1 to płytka o bardzo dużej mocy obliczeniowej i interesującym zestawie elementów dodatkowych. Zastosowany mikrokontroler i.MX RT1062 dysponuje bogatą funkcjonalnością i szerokim zestawem peryferiów. Zastosowanie na płytce elementów takich jak USB, złącze Ethernet, slot na kartę microSD oraz możliwość instalacji dodatkowej pamięci umożliwia zastosowanie zestawu nawet w bardzo zaawansowanych projektach. Dodatkowo, obsługa płytki w środowisku Arduino umożliwia programowanie płytki nawet przez mniej zaawansowanych użytkowników. Obsługa interfejsów audio, wysoka częstotliwość taktowania oraz niskie opóźnienia w procesorze, a także możliwość podłączenia urządzeń MIDI sugeruje, że płytka może być aplikowana w projektach audio. Teensy 4.1 to bardzo ciekawa konstrukcja i na pewno jest dobrą opcją do wielu projektów elektronicznych.

Płytka rozwojowa Teensy 4.1 jest dostępna w ofercie sklepu internetowego Kamami.pl

O autorze