Projektowanie
article miniature

Szybkie wdrażanie zaawansowanych rozwiązań AI i ML za pomocą mikrokontrolerów Renesas RA8M1

Rozwój sztucznej inteligencji (AI), uczenia maszynowego (ML) i innych intensywnych obliczeniowo zadań w środowisku brzegowym sieci dla Internetu rzeczy (IoT) powoduje dodatkowe obciążenie mikrokontrolerów (MCU). Obsługa wspomnianych nowych obciążeń zwiększa zużycie energii, nawet gdy od projektantów wymaga się minimalizacji mocy i skrócenia czasu wprowadzania produktu na rynek.

Projektanci potrzebują rozwiązań obliczeniowych, które zachowują sprawność mikrokontrolera MCU, a jednocześnie zawierają dodatkowe wysokowydajne funkcje dostosowane specjalnie do zastosowań niskiej mocy. W rozwiązaniach takich należy również zachować proste modele wdrażania związane z tradycyjnymi mikrokontrolerami MCU, a jednocześnie dodać wystarczającą liczbę funkcji do obsługi zaawansowanych zastosowań realizowanych przy pomocy sztucznej inteligencji (AI) i uczenia maszynowego (ML), takich jak sterowanie głosowe i konserwacja predykcyjna.

W niniejszym artykule omówiono czynniki stymulujące popyt na sztuczną inteligencję (AI) i uczenie maszynowe (ML) oraz wyjaśniono, dlaczego do sprawnej realizacji tych możliwości potrzebne są nowe architektury procesorów. Następnie przedstawiono grupę mikrokontrolerów MCU RA8M1 firmy Renesas i pokazano sposób ich stosowania umożliwiający spełnienie omawianych wymagań.

Wymagania dotyczące sztucznej inteligencji (AI) i uczenia maszynowego (ML) w środowisku brzegowym

Zapotrzebowanie na sztuczną inteligencję (AI) i uczenie maszynowe (ML) rośnie w brzegowych zastosowaniach Internetu rzeczy (IoT), począwszy od automatyki budynków i urządzeń przemysłowych, a skończywszy na urządzeniach AGD. Nawet stosunkowo małe systemy wbudowane niskiej mocy są obecnie odpowiedzialne za takie zadania, jak wykrywanie słów kluczowych, sterowanie z użyciem poleceń głosowych oraz przetwarzanie dźwięku i obrazu. Zastosowania docelowe obejmują m.in. koncentratory czujników, nawigację i sterowanie dronami, rzeczywistość rozszerzoną (AR), rzeczywistość wirtualną (VR) oraz sprzęt komunikacyjny.

Aby zminimalizować zużycie energii, obciążenie obliczeniowe i latencję, a jednocześnie zapewnić prywatność, zamiast wysyłania danych do chmury, często preferuje się ich przetwarzanie w środowisku brzegowym sieci. Jest to trudne dla projektantów, ponieważ urządzenia brzegowe często charakteryzują się ograniczonymi zasobami, zwłaszcza gdy mają zasilanie bateryjne.

Udoskonalone mikrokontrolery MCU do przetwarzania brzegowego

Obciążenia związane ze sztuczną inteligencją (AI) i uczeniem maszynowym (ML) zwykle wiążą się z wielokrotnym wykonywaniem tych samych operacji matematycznych na dużych zbiorach danych. W przypadku tych obciążeń możliwa jest akceleracja z wykorzystaniem przetwarzania wielu danych za pomocą jednej instrukcji (SIMD). W ramach przetwarzania wielu danych za pomocą jednej instrukcji (SIMD) wykonywanych jest kilka operacji matematycznych równolegle, co zapewnia znacznie wyższą przepustowość i lepszą sprawność energetyczną w porównaniu z konwencjonalnym przetwarzaniem.

Ponieważ w tradycyjnych mikrokontrolerach MCU brakuje funkcji SIMD, wymagają one pomocy przy wykonywaniu zadań związanych ze sztuczną inteligencją (AI) i uczeniem maszynowym (ML). Jednym z rozwiązań jest zastosowanie obok mikrokontrolera MCU cyfrowego procesora sygnałowego (DSP) lub innych akceleratorów przetwarzania wielu danych za pomocą jednej instrukcji (SIMD). Jednak takie wieloprocesorowe podejście komplikuje projektowanie systemu.

Inną opcją jest przejście na bardziej wydajną jednostkę mikroprocesorową (MPU) wyposażoną w funkcje przetwarzania wielu danych za pomocą jednej instrukcji (SIMD). Może to zapewnić niezbędną wydajność w konfiguracji jednoprocesorowej, ale stosowanie jednostek mikroprocesorowych (MPU) wiąże się kompromisami w zakresie poboru mocy i zbiorów funkcji. Na przykład nie wszystkie jednostki mikroprocesorowe (MPU) są zaprojektowane tak, aby zapewniać deterministyczne przetwarzanie o niskiej latencji, wymagane w zastosowaniach zorientowanych na mikrokontrolery MCU.

Realizacja funkcji sztucznej inteligencji (AI) i uczenia maszynowego (ML) w mikrokontrolerach MCU

Dostrzegając zapotrzebowanie na zoptymalizowany zestaw mikrokontrolerów MCU do obsługi obciążeń wynikających z wykorzystania sztucznej inteligencji (AI) i uczenia maszynowego (ML), firma Renesas wprowadziła serię mikrokontrolerów MCU RA8M1 (ilustracja 1). Serię tę oparto na architekturze Arm® Cortex®-M85 i wyposażono w technologie Helium oraz TrustZone. Może ona pracować z częstotliwością 480MHz przy typowym poborze mocy 225µA/MHz.

Diagram przedstawiający mikrokontroler MCU RA8M1 firmy Renesas (kliknij, aby powiększyć)Ilustracja 1: mikrokontroler MCU RA8M1 firmy Renesas bazuje na procesorze Arm Cortex-M85 i wykorzystuje technologię Helium do akceleracji przetwarzania danych na potrzeby sztucznej inteligencji (AI) i uczenia maszynowego (ML). (Źródło ilustracji: Renesas)

Mikrokontrolery MCU RA8M1 zaprojektowano z myślą o wysokiej sprawności działania i niskim zużyciu energii. Charakteryzują się one determinizmem, krótkim czasem przerw oraz najnowocześniejszymi funkcjami zarządzania zasilaniem. Procesor osiąga 6,39 punktów CoreMark na jeden MHz.

Helium to mikrokontrolerowe rozszerzenie wektorowe (MVE) do przetwarzania wielu danych za pomocą jednej instrukcji (SIMD), które znacznie przyspiesza przetwarzanie sygnału i uczenie maszynowe (ML). Dodaje ono 150 instrukcji skalarnych i wektorowych oraz umożliwia przetwarzanie rejestrów 128-bitowych (ilustracja 2). Jest zoptymalizowane pod kątem ograniczonych zasobów i mikrokontrolerów niższej mocy. Na przykład: zamiast wprowadzać nowe rejestry przetwarzania wielu danych z użyciem jednej instrukcji (SIMD), technologia Helium wykorzystuje rejestry jednostki zmiennoprzecinkowej (FPU). Pomaga to obniżyć pobór mocy przez procesor i zmniejszyć złożoność projektu.

Diagram przedstawiający technologię Helium wykorzystującą istniejący zespół rejestrów jednostki zmiennoprzecinkowej (FPU) do przetwarzania wektorowegoIlustracja 2: technologia Helium wykorzystuje istniejący zespół rejestrów jednostki zmiennoprzecinkowej (FPU) do celów przetwarzania wektorowego. (Źródło ilustracji: Arm)

Jak pokazano na ilustracji 3, rdzeń Cortex-M85 urządzenia RA8M1 wykorzystuje technologię TrustZone firmy Arm. Technologia TrustZone zapewnia izolację sprzętową dla krytycznego oprogramowania układowego, aktywów i prywatnych informacji. Rdzeń Cortex-M85 wprowadza również nowe funkcje zabezpieczeń, takie jak rozszerzenie bezpieczeństwa PACBTI (Pointer Authentication and Branch Target Identification). Wspomniane funkcje zabezpieczeń są szczególnie cenne w kontekście sztucznej inteligencji (AI), w której urządzenie może wchodzić w interakcje z danymi osobowymi.

Ilustracja przedstawiająca technologię TrustZone procesora Cortex-M85 firmy ArmIlustracja 3: technologia TrustZone rdzenia Cortex-M85 zapewnia izolację sprzętową dla krytycznego oprogramowania układowego, zasobów i informacji prywatnych. (Źródło ilustracji: Arm)

Pożądane funkcje sprzętowe w mikrokontrolerach MCU z obsługą sztucznej inteligencji (AI)

Mikrokontroler MCU powinien łączyć w sobie sprawne działanie z solidnym zestawem funkcji do obsługi zastosowań sztucznej inteligencji (AI). Urządzenie RA8M1 jest dobrze przystosowane do sterowania silnikami, programowalnych sterowników logicznych (PLC), liczników i innych zastosowań przemysłowych oraz Internetu rzeczy (IoT).

Na przykład algorytmy sztucznej inteligencji (AI) wymagają dużej ilości pamięci. Pamięć systemowa urządzenia RA8M1 obejmuje nawet 2MB pamięci flash oraz 1MB statycznej pamięci o dostępie swobodnym (SRAM). Pamięć SRAM zawiera 128kB pamięci ściśle przyległej (TCM), która umożliwia szybki dostęp do pamięci w celu przeprowadzenia obliczeń o wysokiej wydajności.

Aby zapewnić niezawodne działanie, 384kB statycznej pamięci o dostępie swobodnym (SRAM) użytkownika oraz całą pamięć ściśle przyległą o rozmiarze 128kB skonfigurowano jako pamięć z kodowaniem korekcyjnym (ECC). Dodatkowo ochronie poprzez kodowanie korekcyjne (ECC) podlega 32kB pamięci podręcznej instrukcji i danych.

Oprócz funkcji zawartych w rdzeniu ARM, urządzenie RA8M1 zawiera wiele innych funkcji zabezpieczeń. Należą do nich aparat kryptograficzny reprogramowalnej bezpiecznej własności intelektualnej (RSIP) do bezpiecznego przetwarzania danych, niezmienialna pamięć masowa zapewniająca ochronę danych o znaczeniu krytycznym oraz mechanizmy zabezpieczenia przed nieupoważnioną ingerencją.

Jeśli chodzi o interfejsy komunikacyjne, mikrokontroler MCU wyposażono w łączność sieciową Ethernet, protokół CAN FD do zastosowań motoryzacyjnych i przemysłowych oraz w protokół USB High-Speed/Full-Speed do łączności ogólnej. Zawiera on również interfejs kamery oraz ósemkowy szeregowy interfejs urządzeń peryferyjnych (SPI) z funkcją deszyfrowania pamięci zewnętrznej na bieżąco.

Interfejsy analogowe to m.in. 12-bitowe przetworniki analogowo-cyfrowe (ADC) i cyfrowo-analogowe (DAC), szybkie komparatory analogowe oraz trzy obwody próbkowania i podtrzymywania. Jeśli chodzi o komunikację szeregową, urządzenie RA8M1 obsługuje wiele protokołów, w tym interfejs komunikacji szeregowej (SCI) z trybami szeregowego interfejsu urządzeń peryferyjnych (SPI), uniwersalnego asynchronicznego nadajniko-odbiornika (UART) i magistrali I²C. Mikrokontroler MCU zawiera również magistralę I3C (Improved Inter-Integrated Circuit), która zwiększa szybkość i sprawność przesyłu danych.

Deweloperzy potrzebujący pełnego dostępu do wspomnianych funkcji wejścia-wyjścia mogą użyć obudowy z wyprowadzeniami sferycznymi w siatce rastrowej, takiej jak 224-wtykowa R7FA8M1AHECBD#UC0. Osoby poszukujące bardziej usprawnionego procesu projektowania i montażu płytek drukowanych mogą rozważyć użycie obudowy LQFP (Low-profile Quad Package), takiej jak 144-wtykowa R7FA8M1AHECFB#AA0.

Środowiska rozwojowe do zastosowań sztucznej inteligencji (AI)

Projektanci zainteresowani eksperymentowaniem z serią RA8M1 mogą zacząć od płytki ewaluacyjnej EK-RA8M1 R7FA8M (ilustracja 4). Płytka ta zawiera interfejs RJ45 RMII Ethernet, interfejs hosta i urządzenia USB High-Speed oraz trzywtykową listwę CAN FD. Jeśli chodzi o pamięć, posiada ona 64MB pamięci flash z ósemkowym szeregowym interfejsem urządzeń peryferyjnych (SPI).

Ilustracja przedstawiająca płytkę ewaluacyjną EK-RA8M1 firmy Renesas (kliknij, aby powiększyć)Ilustracja 4: płytka ewaluacyjna EK-RA8M1 posiada niezawodną obsługę wejścia-wyjścia, umożliwiającą stosowanie mikrokontrolera MCU RA8M1. (Źródło ilustracji: Renesas)

Urządzenie RA8M1 jest obsługiwane przez elastyczny pakiet oprogramowania (FSP) firmy Renesas, czyli rozbudowaną platformę zaprojektowaną pod kątem zapewnienia przyjaznej dla użytkownika, skalowalnej i wysokiej jakości bazy programowej do projektowania systemów wbudowanych.

Pakiet zawiera narzędzia rozwojowe, w tym zintegrowane środowisko deweloperskie (IDE) e² studio, oparte na popularnym zintegrowanym środowisku IDE Eclipse. Zawiera on również dwa znane, nieodpłatne systemy operacyjne czasu rzeczywistego: system operacyjny czasu rzeczywistego (RTOS) Azure oraz FreeRTOS.

Omawiany pakiet zawiera lekkie, gotowe do produkcji sterowniki, obsługujące typowe zastosowania w systemach wbudowanych. W połączeniu z płytką ewaluacyjną, sterowniki te dają deweloperom możliwość szybkiego eksperymentowania z wejściem-wyjściem urządzenia RA8M1.

Podsumowanie

Urządzenie RA8M1 daje deweloperom nowe możliwości wdrażania zadań związanych ze sztuczną inteligencją (AI) i uczeniem maszynowym (ML) w środowisku brzegowym Internetu rzeczy (IoT), które pozwalają oszczędzać energię, poprawić parametry działania, zmniejszyć złożoność i skrócić czas wprowadzania produktu na rynek.

Źródło: Szybkie wdrażanie zaawansowanych i wydajnych rozwiązań sztucznej inteligencji (AI) oraz uczenia maszynowego (ML) za pomocą mikrokontrolerów MCU RA8M1 firmy Renesas

Kontakt w Polsce: poland.support@digikey.pl

Autor: Rolf Horn

Rolf Horn, Applications Engineer at DigiKey, has been in the European Technical Support group since 2014 with primary responsibility for answering any Development and Engineering related questions from final customers in EMEA, as well as writing and proof-reading German articles and blogs on DK’s TechForum and maker.io platforms. Prior to DigiKey, he worked at several manufacturers in the semiconductor area with focus on embedded FPGA, Microcontroller and Processor systems for Industrial and Automotive Applications. Rolf holds a degree in electrical and electronics engineering from the university of applied sciences in Munich, Bavaria and started his professional career at a local Electronics Products Distributor as System-Solutions Architect to share his steadily growing knowledge and expertise as Trusted Advisor.

Hobbies: spending time with family + friends, travelling in our VW-California transporter and motorbiking on a 1988 BMW GS 100.

Zapraszamy na TEK.day Gdańsk, 26 września 2024Zapisz się już dziś!