Płytka Teensy 4.1 ARM Cortex-M7 600MHz, zgodna z Arduino IDE [PJRC TEENSY41]
Nettigo
RSS
189.00
153.66 + VAT
- Kod:
- TEN-1976
- Dodany do bazy:
- Ostatnio widziany:
- Zmiana ceny:
- -5% (28.03.2025)
- Poprzednia cena:
- 199.00
Sugerowane produkty dla ma600
Możliwości… dużo możliwości :)
Teensy 4.1 to połączenie mocy znanej z Teensy 4.0 z wygodą użytkowania Teensy 3.6 - gdzie większość pinów wyprowadzona jest w postaci wygodnych w użyciu pól w rastrze 2.54mm. Teensy 4.1 ma dokładnie ten sam procesor co Teensy 4.0. Zostało wyposażone w 32-bitową jednostkę ARM Cortex-M7 taktowaną zawrotnym zegarem 600 MHz. Zastosowanie układu NXP iMXRT1062 sprawia, że rodzina Teensy 4 to w chwili premiery jedne z najszybszych płytek rozwojowych na rynku. Deklasują absolutnie wszystko co do tej pory widzieliśmy. Zostawiają daleko w tyle superszybkie Teensy 3.6, od którego jest przynajmniej 5 razy szybsze. Z kolei od popularnego ESP32 jest szybsza przynajmniej 6 razy… Ale to nie koniec niespodzianek. Teensy 4 potrafi wróżyć (branch prediction), może modyfikować swój zegar podczas pracy, ma wydajne peryferia, które mogą korzystać z DMA i sprzętowe FPU obsługujące liczby zmiennoprzecinkowe podwójnej precyzji.
Jak zawsze płytkę można programować z poziomu Arduino IDE oraz PlatformIO.
Teensy 4.1 vs Teensy 4.0
Różnice między płytkami serii 4 są widoczne gołym okiem.
Po pierwsze: wygląd. Mnogość pinów. Teraz jest ich o wiele więcej i łatwo się do nich podpiąć.
Po drugie: na płytce znalazło się miejsce dla Ethernet PHY, dzięki czemu za pomocą 6-pinowego złącza w rastrze 2.0mm (2x3) możemy podpiąć moduł z gniazdem Ethernet. Nie potrzeba tu skomplikowanych układów, wystarczy gniazdo z wbudowanym transformatorem (np: RB1-125BAG1A). Dla potrzebujących na już mamy gotowe zestawy (od PJRC) Ethernet do Teensy 4.1.
Po trzecie: host USB. Teensy serii 3 i 4 są często używane do budowy instrumentów muzycznych. Host USB pozwala na podpięcie klawiatur, manipulatorów, decków, przenośnych dysków, pendrivów, kamer, itp. Robi się ciekawie :)
* Po czwarte: slot na kartę microSD.
* Po piąte: 4 razy więcej pamięci flash plus dwa miejsca na wlutowanie dodatkowej pamięci.
Co z tym zrobić?
Paul Stoffregen - autor płytki przewiduje, że Teensy 4 będzie wykorzystywane do polifonicznej syntezy audio, uruchamiania średnio złożonych algorytmów uczenia maszynowego i analizy audio w czasie rzeczywistym. W wielu przypadkach pierwszy poziom obróbki danych z urządzeń wejściowych można teraz przenieść z komputera na zewnętrzny mikrokontroler, zmniejszając przepustowość wymaganą pomiędzy mikrokontrolerem a komputerem. Z kolei w przypadku projektów wykorzystujących wyświetlacz wbudowany potok przetwarzania pikseli może znacząco przyspieszyć operacje graficzne, tym samym odciążając procesor.
Możesz też wgrać blinka i chełpić się tym, że Twoja płytka ma 600MHz :P
Specyfikacja:
* Procesor: NXP iMXRT1062 ARM Cortex-M7 taktowany zegarem 600 MHz
* RAM: 1024K (512K ściśle powiązane) - możesz dodać 8 lub 16 MB korzystając z układów PSRAM 8MB dla Teensy 4.1)
* Flash: 8192K (64K zarezerwowane w celach odzyskiwania i emulacji EEPROM)
* 2 x USB, pracujące z prędkością 480 mbps
* 1 x Ethernet PHY (10/100 Mbit DP83825) - dostępny kit do ze złączem Ethernet
* 3 x CAN Bus (1 z CAN FD)
* 2 x Cyfrowe Audio I2S
* 1 x Cyfrowe Audio S/PDIF
* 1 x SDIO (4 bit) natywne SD
* 3 x SPI, wszystkie z 32 bajtowym FIFO (16 word)
* 3 x I2C, wszystkie z 4 bajtowym FIFO
* 7 x Serial, wszystkie z 4 bajtowym FIFO
* 32 kanały DMA ogólnego przeznaczenia
* 35 piny PWM
* 55 pinów I/O:
* 42 wyprowadzonych pinów cyfrowych, wszystkie z obsługą przerwań
* 6 pinów w slocie karty microSD
* 7 na padach lutowniczych kości pamięci
* 18 pinów analogowych, 2 ADC wbudowane w układ
* Sprzętowa akceleracja operacji kryptograficznych
* Sprzętowy Generator liczb losowych
* Zegar czasu rzeczywistego RTC (data/czas)
* Programowalne FlexIO
* Pixel Processing Pipeline
* Peripheral cross triggering
Zużycie prądu, skalowanie zegara i zarządzanie zasilaniem
Komputery PC przyzwyczaiły nas, że wysoka wydajność zawsze idzie w parze z bardzo wysoka prądożernością. Podczas pracy z częstotliwością 600 MHz Teensy 4.1 pobiera około 100 mA prądu. To dużo i niedużo, zależy jak spojrzeć. Co ważne Teensy 4.1 wspiera obsługę dynamicznego skalowania zegara. W przeciwieństwie do tradycyjnych mikrokontrolerów, w których zmiana prędkości zegara powoduje błędy transmisji i inne “ciekawe” problemy, sprzęt Teensy 4.1 i oprogramowanie Teensyduino obsługujące funkcje taktowania są zaprojektowane tak, aby umożliwić dynamiczne zmiany prędkości. Prędkość transmisji szeregowej, częstotliwości próbkowania strumieniowego przesyłania audio oraz funkcje Arduino, takie jak delay() i millis(), oraz rozszerzenia Teensyduino, takie jak IntervalTimer i elapsedMillis, działają poprawnie podczas gdy procesor w najlepsze zmienia prędkość. A jak się domyślacie niższy zegar to niższe zużycie prądu.
A teraz usiądźcie… Teensy 4.0 można również podkręcić! I to znacznie powyżej 600 MHz!
Kilka słów o procesorze Cortex-M7
2 instrukcje w 1 cyklu
ARM Cortex-M7 naszym zdaniem jest bardzo dobrym kandydatem do stworzenia platformy czasu rzeczywistego. Co prawda nie jest to procesor w pełni dwu wątkowy, ale dzięki architekturze superskalarnej może on wykonywać 2 instrukcje na cykl zegara. I to wszystko przy zawrotnych 600 MHz! Oczywiście możliwość jednoczesnego wykonania instrukcji zależy od ich typu i rejestrów porządkowych kompilatora, ale pierwsze testy porównawcze pokazały, że kod C++ skompilowany przez Arduino IDE ma tendencję do jednoczesnego wykonania 2 instrukcji w około 40-50% wypadków podczas wykonywania intensywnej obliczeniowo pracy na liczbach całkowitych i wskaźnikach. To tak jakbyśmy właśnie dołożyli dodatkowe 300MHz do zegara :)
Wróżbita (branch prediction)
Niespodzianek jest o wiele więcej! Cortex-M7 to pierwszy mikrokontroler z rodziny ARM, który potrafi wróżyć z kart tarota, fusów waniliowego Latte i szklanej kuli :) <żarcik? /> Posiada bowiem układ przewidywania rozgałęzień (branch prediction), który całkiem dobrze sobie radzi w mikrokontrolerowych warunkach. Zasada działania tego układu jest dość prosta. Cały czas monitoruje statystycznie pod jakie adresy skacze program i jeśli adres się powtarza kilka razy, to automatycznie przygotowuje strumień instrukcji z tego adresu do przetwarzania przez procesor. Dla porównania w rodzinie M4 (znanej z Teensy 3.x) wielokrotne wykonywanie kodu pętli na obsługę pożerało 3 cykle zegara za każdym razem. W Cortex-M7 po tym jak pętla zostanie wykonana kilka razy, mikrokontroler magicznie likwiduje narzut, pozwalając na wykonanie pętli z użyciem tylko jednego cyklu zegara. W świecie mikrokontrolerów oznacza to ogromną oszczędność czasu procesora. Kolejne cykle można wykorzystać na coś innego.
RAM ściśle powiązany/spięty/sprzężony… umagiczniony!
W Teensy 4.0 połowa RAMu jest “ściśle powiązana”. Czy jakkolwiek się tłumaczy termin “Tightly Coupled Memory”. W naszej mikrokontrolerowej karierze spotykamy się z tym pierwszy raz. Pamięć tę widać na schemacie blokowym kontrolera - znajduje się ona bezpośrednio w rdzeniu ARM. W rezultacie procesor ma do niej bardzo szybki i wyłączny dostęp. W praktyce oznacza to, że Cortex-M7 potrafi w pojedynczym cyklu zegara otrzymać dostęp do pamięci używając dwóch 64-bitowych magistrali. Jest szybko, bardzo szybko… Robi to dobrą robotę i przekłada się to na wzrost wydajności, więc nie narzekamy :)
A jeżeli potrzebujesz w swoim projekcie duuużooo więcej pamięci - mamy dla ciebie dobrą wiadomość. PJRC przewidziało możliwość instalacji dodatkowej pamięci RAM bezpośrednio na płytce Teensy. Dołóż 8 MB pamięci PSRAM. A nawet 16 MB jeśli dolutujesz drugą kość 8 MB.
Wydajne peryferia z obsługą DMA
Reszta pamięci jest zoptymalizowana pod DMA (Direct Memory Access - bezpośredni dostęp do pamięci). Oznacza to, że obustronna komunikacja z peryferiami odbywa się bardzo szybko i co ważne, procesor nie musi być pośrednikiem. Dla przykładu, dzięki temu można transferować dane do DAC bez udziału procesora w precyzyjnie ustalonych odstępach czasu. Wymagające peryferia mają zatem ogromne pole do popisu - jednym słowem mamy tu do czynienia z bardzo wydajnym I/O.
W dokumentacji procesora natrafiamy także na HSGPIO czyli obsługę GPIO zaimplementowaną w rdzeniu ARM. Łatwo się domyślić, że jest to bardzo szybka obsługa. Są to co prawda tylko wybrane piny, ale w razie potrzeby natychmiastowej reakcji na sygnał, taka funkcjonalność może okazać się na wagę złota.
FPU podwójnej precyzji co robi zacną robotę!
Procesor Cortex-M7 w Teensy 4.1 posiada dedykowaną jednostkę do obliczeń zmiennoprzecinkowych (FPU), która obsługuje zarówno 64-bitowe liczby podwójnej precyzji (“double”), jak i standardowe 32-bitowe liczby zmiennoprzecinkowe (“float”). Należy pamiętać, że FPU było obecne już w rodzinie M4 (Teensy 3.5, 3.6, Atmel SAMD51). Ale tam wspierało tylko 32-bitowe liczby zmiennoprzecinkowe. Każde użycie liczb zmiennoprzecinkowych podwójnej precyzji, czy funkcji takich jak log(), sin(), cos() oznaczało przesiadkę na powolne obliczenia implementowane programowo. W Teensy 4.1 wszystkie te operacje wykonuje sprzętowy FPU. Niezły czad! Kolejne zaoszczędzone cykle!
Jak małe są płytki Teensy?
W chwili obecnej rodzina Teensy składa się z 7 płytek. Dwie z nich bazują na 8-bitowym mikrokontrolerze AVR, pozostałe 5 to zawierają 32-bitowe układy z rodziny ARM. Wymiary poszczególnych płytek:
* Teensy 2.0 - 30 x 18 mm
* Teensy++ 2.0 - 50 x 18 mm
* Teensy LC - 36 x 18 mm
* Teensy 3.2 - 36 x 18 mm
* Teensy 3.5 - 61 x 18 mm
* Teensy 3.6 - 61 x 18 mm
* Teensy 4.0 - 36 x 18 mm
* Teensy 4.1 - 61 x 18 mm
W zestawieniu z Arduino UNO R3 wyglądają następująco:
Płytki Teensy 8-bit AVR:
Płytki Teensy 32-bit ARM:
Dedykowane akcesoria:
Pasujące akcesoria:
Elecena nie prowadzi sprzedaży elementów elektronicznych, ani w niej nie pośredniczy.
Produkt pochodzi z oferty sklepu Nettigo