Arduino Portenta H7 – płytka z mikrokontrolerem STM32H747 oraz modułem Wi-Fi i Bluetooth 5.1

Arduino Portenta to rodzina płytek zaprojektowana specjalnie do aplikacji profesjonalnych, takich jak IoT i systemy przemysłowe. Pozwala wykorzystać platformę umożliwiającą łatwe programowanie układów, szeroko wykorzystywaną w projektach hobbystycznych w systemach bardziej zaawansowanych. Pierwszą płytką z rodziny jest Arduino Portenta H7 dająca użytkownikom olbrzymie możliwości, niespotykane dotąd w zwykłych płytkach bazowych z serii Arduino

Arduino jest kojarzone głównie zestawami wyposażonymi w proste, najczęściej 8-bitowe mikrokontrolery. Co prawda sama platforma jest otwarta i na rynku znajduje się wiele modułów o dużej mocy obliczeniowej, które bez problemu można programować z poziomu Arduino. Tym niemniej wśród płytek oryginalnych do tej pory nie było takiej, która oferowałaby możliwość implementacji bardzo zaawansowanych aplikacji. Ta sytuacja zmieniła się wraz z premierą Arduino Portenta H7. Zawiera ona mikrokontroler STM32H747 produkowany przez STMicroelectronics. Sam ten układ jest bardzo ciekawą konstrukcją. Wyposażono go bowiem w aż dwa rdzenie: ARM Cortex-M7 o taktowaniu do 480 MHz, a także ARM Cortex-M4 o taktowaniu do 240 MHz. Układ zawiera także pamięć Flash o pojemności 2 MB oraz pamięć RAM o pojemności 1 MB. Oferuje także interfejs na pamięć Quad-SPI oraz inne typy pamięci zewnętrznej.

Mikrokontroler udostępnia oczywiście wszystkie interfejsy znane z płytek Arduino, a więc I2C, SPI, UART oraz wejścia i wyjścia cyfrowe (GPIO). Interesującymi dodatkami są też m.in. interfejsy CAN, SDIO, USB-OTG, Ethernet oraz SAI (Serial Audio Interface). Układ zawiera także trzy 16-bitowe przetworniki analogowo-cyfrowe, a także dwa 12 -bitowe przetworniki cyfrowo-analogowe. Oferuje również 8-bitowe wejście na kamerę, wyjście MIPI DSI oraz MIPI D-PHY do podłączenia wyświetlacza, a także dedykowany koprocesor Chrom-ART służący do przetwarzania grafiki oraz sprzętowy enkoder i dekoder JPEG.

Rys. 1. Schemat blokowy mikrokontrolera STM32H747XI

Więcej informacji oraz dokumentacja mikrokontrolera znajduje się na stronie STMicroelectronics.

Wyposażenie płytki Arduino Portenta H7

Oprócz samego mikrokontrolera płytka zawiera również całą gamę interesujących układów peryferyjnych. Wśród nich znajdziemy moduł Murata 1DX, który jest odpowiedzialny komunikację bezprzewodową w standardach Wi-Fi oraz Bluetooth 5.1. Interfejs Wi-Fi może być obsługiwany jako punkt dostępowy, jako stacja lub jako jednoczesny AP/STA w dwóch trybach i może obsługiwać prędkość transferu do 65 Mb/s. Natomiast interfejs Bluetooth obsługuje Bluetooth Classic, a także Bluetooth Low Energy.

Antena układu Murata 1DX została wyprowadzona na miniaturowe złącze u.FL. Firma Arduino zdecydowała się dołączyć do płytki antenę firmy Molex, pracującą w pasmach 2,4 GHz oraz 5 GHz, a więc bez problemu współpracującą z sieciami Wi-Fi oraz Bluetooth. Oczywiście w miejsce anteny dołączonej do zestawu można dobrać własną antenę o lepszym zasięgu lub innych parametrach.

Rys. 2. Płytka Portenta H7 z dołączoną anteną

Kolejną ciekawą funkcją płytki Portenta jest układ kryptograficzny SE050C2 produkcji NXP. Układ ma za zadanie zabezpieczyć transmisję danych i uniemożliwić atak na system. Obsługuje m.in. systemy kryptograficzne RSA, 3DES, ECC oraz AES. Oferuje także funkcje pomagające zabezpieczyć transmisję danych w sieci Wi-Fi. Współpracuje zarówno z systemami Windows, Linux oraz Android jak i z systemami czasu rzeczywistego RTOS. Układ SE050C2 jest zgodny ze standardem Common Criteria EAL 6+.

Płytka zawiera także złącze USB typu C. Do tej pory znakomita większość płytek Arduino zawierała złącze microUSB, a więc jest to unowocześnienie również tego aspektu zestawu. Złącze USB służy zazwyczaj w Arduino do zasilania płytki, programowania systemu oraz połączenia z komputerem za pomocą portu szeregowego. Do płytki Arduino Portenta można jednak dołączyć także urządzenie USB OTG. Port może także służyć do podłączenia ekranu za pomocą komunikacji DisplayPort.

Do zasilania płytki można także wykorzystać baterię LiPo. Portenta H7 obsługuje akumulatory o jednej celi, napięciu 3,7 V i pojemności minimum 700 mAh. Zawiera także zintegrowany układ zarządzania zasilaniem, który umożliwia również ładowanie baterii.

Złącza rozszerzeniowe

Płytka Arduino Portenta H7 została zaprojektowana w taki sposób, aby być zgodną z płytkami z serii MKR. Płytka zawiera złącze rozszerzające, na które wyprowadzono porty mikrokontrolera, wejścia przetwornika analogowo-cyfrowego, a także interfejsy I2C, SPI i UART. Złącze to umożliwia podłączenie do Portenty płytek rozszerzeniowych przygotowanych pod kątem serii MKR.

Rys. 3. Pinout złącza rozszerzeniowego Arduino Portenta H7

Na spodzie płytki Portenta znajdują się także dwa 80-pinowe złącza o gęstym upakowaniu wyprowadzeń. Na te złącza wyprowadzono właściwie wszystkie interfejsy, które oferuje mikrokontroler STM32H7, włącznie z JTAG służącym do programowania i debugowania mikrokontrolera. Złącza te umożliwiają podłączenie płytki Portenta H7 do zewnętrznej płytki bazowej, która umożliwi wykorzystanie pełni możliwości mikrokontrolera.

Rys. 4. Złącza do połączenia z płytką bazową

Dobór elementów na płytce

Specyfikacja płytki, którą opisaliśmy powyżej to specyfikacja płytek sprzedawanych detalicznie, które znajdziemy w sklepach elektronicznych na całym świecie. Arduino pozwala jednak przy dużych, wielkoseryjnych zamówieniach na dobór niektórych elementów płytki. Pozwoli do dopasować konfigurację Portenty do szczegółowych wymagań projektu, a także zoptymalizować koszty.

Dostępne opcje konfiguracji to:

  • Pamięć SDRAM – od 8 MB do 64 MB lub wymontowana,
  • Pamięć QSPI Flash – 2 MB (NOR), 16 MB (NOR), 128 MB (NAND) lub wymontowana,
  • Układ Ethernet PHY – zamontowany lub nie,
  • USB High Speed PHY – zamontowany lub nie,
  • Układ kryptograficzny – SE050C2, Microchip ATECC608A, lub brak na płytce,
  • Moduł komunikacji bezprzewodowej – zamontowany lub brak,
  • Port anteny u.FL – zamontowany lub brak,
  • Wyjście DisplayPort przez USB-C – tak lub nie.

Domyślnie płytka zawiera pamięć SDRAM o pojemności 2 MB, pamięć NOR Flash o pojemności 16 MB, a także zamontowane wszystkie pozostałe możliwe układy (układ kryptograficzny to SE050C2).

Narzędzia do programowania

Arduino udostępnia kilka możliwości programowania układu. Są to:

  • Środowisko Arduino IDE za pośrednictwem oprogramowania ARM Mbed OS,
  • Natywne aplikacje MBed,
  • Programy napisane w MicroPython/JavaScript

Płytka obsługuje także bibliotekę TensorFlow Lite – najpopularniejsze narzędzie do projektowania aplikacji uczenia maszynowego w urządzeniach mobilnych i wbudowanych. Oznacza to, że oprócz sprawnego korzystania ze całej gamy dostępnych interfejsów, systemy oparte o płytkę Arduino Portenta H7 mogą także korzystać z zaawansowanych algorytmów z dziedziny sztucznej inteligencji.

Podsumowanie

Arduino Portenta H7 to interesujący wybór do aplikacji profesjonalnych, takich jak IoT czy systemy przemysłowe. Łączy ona prostotę programowania i szerokie wsparcie oferowane przez platformę Arduino z dużą mocą obliczeniową i szerokim zestawem interfejsów oferowanym przez jeden z najpotężniejszych mikrokontrolerów na rynku – STM32H747. Płytka jest także wyposażona we wszystkie niezbędne komponenty pozwalające na wykorzystanie pełni możliwości układu. Możliwość zaprojektowania własnej płytki bazowej pozwala na dobór wymiarów oraz złączy urządzenia. Natomiast szeroki wybór środowisk i języków programowania umożliwia wybór najwygodniejszego i najlepszego dla nas modelu projektowania urządzenia, a co za tym idzie uproszczenie i przyspieszenie tego procesu.

Płytkę Arduino Portenta H7 kupisz w sklepie internetowym Kamami.pl

O autorze