Arduino Portenta H7 – czyli STM32 dla każdego

| Technika

Arduino Portenta to zaprezentowane niedawno nowe wersje płytek przeznaczonych do wymagających aplikacji przemysłowych, do zadań sztucznej inteligencji w aplikacjach brzegowych oraz w robotyce. Pierwsza wersja Portenta H7 została pokazana na początku roku na targach CES, o czym pisaliśmy już w "Elektroniku", ale z uwagi na pandemię dopiero od niedawna jest dostępna w sprzedaży, co tworzy doskonałą okazję, aby opisać ją nieco szerzej.

Arduino Portenta H7 – czyli STM32 dla każdego

Arduino to niezwykle popularna platforma obejmująca spójne środowisko obejmujące platformę programistyczną oraz serię kilkudziesięciu płytek o różnych właściwościach stanowiących bazę dla własnych projektów, a także setki dodatków z peryferiami. Początkowo były to proste rozwiązania zawierające tyko mikrokontroler AVR firmy Atmel. Dzisiaj doszło do nich wiele zaawansowanych rozwiązań z procesorami ARM Cortex i bogatymi peryferiami. Szacunki mówią o ponad 30 mln użytkowników Arduino w skali świata, co przekonuje, że nie jest to już produkt wyłącznie dla makerów i hobbystów. Seria Portenta przynosi kolejne potwierdzenie, że tych profesjonalnych zastosowań jest coraz więcej.

Portenta ma wymiary i rozkład wyprowadzeń zgodne z dotychczasową serią rozwiązań MKR – są to wersje z komunikacją bezprzewodową oraz kryptografią, co zapewnia kompatybilność wykorzystywanych tam płytek nakładkowych. Wyposażono ją w mikrokontroler STM32H747 firmy ST Microelectronics z dwoma rdzeniami: ARM Cortex-M7 (taktowanym zegarem 480 MHz) oraz ARM Cortex-M4 (240 MHz). Poza procesorem jest też pamięć SDRAM o pojemności 2 MB i NOR Flash 16 MB na kod programu.

Dzięki dwóm asymetrycznym rdzeniom układ jest w stanie jednocześnie wykonywać zaawansowane zadania (związane np. ze sztuczną inteligencją) oraz proste zadania niskiego poziomu. Oba rdzenie współdzielą wszystkie peryferia i komunikują się za pomocą mechanizmu Remote Procedure Call, który sprawia, że możliwe jest wywoływanie funkcji na drugim rdzeniu. Innymi słowy, dwa rdzenie mogą działać niezależnie i uruchamiać inny szkic. Na przykład, możliwe jest wykonanie kodu skompilowanego Arduino razem z MicroPythonem. Dzięki wykorzystaniu tak zaawansowanego układu Portenta H7 może być programowana z wykorzystaniem tradycyjnych szkiców Arduino (w systemie operacyjnym Arm Mbed), w natywnych aplikacjach Mbed oraz w językach MicroPython lub JavaScript (z użyciem interpretera).

Portenta może też uruchamiać zadania utworzone za pomocą biblioteki TensorFlow Lite. Umożliwia to użycie jednego rdzenia do obliczeń z wykorzystaniem algorytmu obróbki obrazu w czasie rzeczywistym, podczas gdy drugi rdzeń może w tym samym czasie wykonywać proste operacje, takie jak sterowanie silnikiem lub obsługiwać interfejs użytkownika.

 
Rys. 1. Płytka Portenta H7. Na zdjęciu strony dolnej widoczne są dwa 80-pinowe złącza łączące ją z płytą bazową Portenta Carrier Board i dające dostęp do interfejsów takich jak m.in. UART (4), CAN Bus (1), USB2.0 (2), I²C (2), SPI (2), ADC (8, 16-bitowy), DAC (2, 12-bitowy), GPIO (6), I²S, DMIC i SAI

Na płytce znajduje się również układ kryptograficzny NXP SE050C2, ładowarka ogniwa Li-Po, moduły Wi-fi oraz Bluetooth (wbudowana antena ceramiczna, są też wersje ze złączem UFL do anteny zewnętrznej), możliwe jest również komunikowanie się za pomocą standardów LoRa, LTE Cat-M oraz NB-IoT. Moduł Wi-fimoże pracować jako Access Point, klient lub oba jednocześnie (osiągając prędkości do 65 Mbps). Interfejs Bluetooth obsługuje Bluetooth Classic i BLE. Nowe Arduino jest również wyposażone przez DisplayPort (przez USB-C) lub Display Serial Interface (DSI).

Portenta może działać w temperaturach od –40 do 85°C (z modułem Wi-Fi/BT –10…+55°C). Kształt płytki został dopasowany do standardu pinowego MKR, dzięki czemu płytka jest kompatybilna z shieldami (nakładkami), które były projektowane z myślą o tamtej rodzinie Arduino. Taka liczba wyprowadzeń może być jednak zbyt mała dla wielu zastosowań przemysłowych. W związku z tym na spodzie płytki umieszczono dwa dodatkowe złącza, które zapewniają aż 80 dodatkowych wyprowadzeń. Umożliwia to użytkownikowi uzyskanie większej liczby funkcji. Do dyspozycji są trzy przetworniki ADC 16-bitowe (do 36 kanałów, do 3,6 MSPS) i 2 DAC-e 12-bitowe (2 kanały PWM). Jest Ethernet 10/100 Mb, port wideo MIPI DSI host oraz MIPI D-PHY, akcelerator graficzny Chrom-ART, 8-bitowy interfejs kamery (do 80 MHz). Zasilanie jest realizowane za pomocą USB lub akumulatora Li-Po (wbudowana ładowarka). Płytka zawiera również programowalny układ zarządzania energią do zasilania szerokiej gamy płyt zewnętrznych od 1,8 do 3,3 V. Pobór prądu podczas uśpienia: 2,95 μA.

Złącze do programowania płyty jest portem USB-C, który może być również używany do zasilania płyty jako koncentratora USB, do podłączenia monitora DisplayPort lub do zasilania urządzeń podłączonych do OTG.

 
Rys. 2. Płytka Portenta Carrier Board

Prawdopodobnie jedną z najbardziej ekscytujących funkcjonalności Portenta H7 jest możliwość podłączenia zewnętrznego monitora, na którym można wyświetlić interfejs użytkownika. Jest to możliwe dzięki wbudowanemu układowi GPU oraz akceleratorowi Chrom-ART. Oprócz procesora graficznego układ zawiera koder i dekoder JPEG.

Producent zapewnia możliwość przygotowania specyficznej konfiguracji płytki w przypadku dużych zamówień (ponad 1000 sztuk), obejmujących np. interfejs DisplayPort, pamięć SDRAM/ QSPI Flash, inny niż standardowy rodzaj układu kryptograficznego, Ethernetu, Wi-Fi/Bluetooth, High-Speed USB. Programiści mogą więc zacząć pracę od domyślnej platformy, aby zacząć pisać swój kod, a zamówić wersję, która będzie zawierała tylko potrzebne dodatki i peryferia. Planowane jest również wydanie płytki Portenta Carrier – płyty bazowej do modułu Portenta H7. Będzie ona zawierać m.in. złącze USB, RJ-45, wejście i wyjście audio, magistralę CAN, moduł LoRa itd.

Podsumowanie

W dzisiejszym świecie, gdzie na rynku nowe płytki, mikrokontrolery, moduły komunikacyjne pojawiają się co chwila, Portenta nie byłaby wielkim wydarzeniem, gdyby nie to, że wykorzystuje ona środowisko Arduino i dorobek tysięcy członków społeczności użytkowników. Jest to także pomost między światem profesjonalistów oraz zaawansowanych amatorów, który przynosi obu tym grupom więcej możliwości i efektywniejszą pracę.

 

ST Microelectronics
www.st.com