Klik hier voor de Engelse versie van de broncode.

Snel krachtige en efficiënte AI en machine learning implementeren met Renesas RA8M1 MCU’s

Door Kenton Williston

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

De opkomst van kunstmatige intelligentie (AI), machine learning (ML) en andere rekenintensieve taken aan de edge van een network voor het Internet of Things (IoT) leidt tot extra processorbelasting van microcontrollers (MCU’s). Deze nieuwe workloads verhogen het stroomverbruik, zelfs als ontwerpers wordt gevraagd om het energieverbruik te minimaliseren en de time-to-market te versnellen.

Ontwerpers hebben een optie nodig die de efficiëntie van een MCU behoudt en tegelijkertijd krachtige functies toevoegt die specifiek zijn afgestemd op low-power use cases. Deze optie moet ook de eenvoudige implementatiemodellen behouden die geassocieerd worden met traditionele MCU’s, terwijl er voldoende functies worden toegevoegd om de geavanceerde AI- en ML-toepassingen te ondersteunen, zoals spraakbesturing en voorspellend onderhoud.

Dit artikel geeft allereerst een overzicht van de factoren die de vraag naar AI en ML stimuleren waarna wordt uitgelegd waarom er nieuwe processorarchitecturen nodig zijn om deze mogelijkheden efficiënt te leveren. Vervolgens wordt de RA8M1 MCU-familie van Renesas geïntroduceerd en wordt getoond hoe deze kan worden gebruikt om aan deze vereisten te voldoen.

De vereisten voor edge-AI en -ML

De vraag naar AI en ML neemt toe in edge IoT-toepassingen, variërend van gebouwautomatisering en industriële apparaten tot huishoudelijke apparaten. Zelfs relatief kleine, low-power embedded systems worden nu belast met workloads zoals het zoeken naar trefwoorden, spraakbesturing en het verwerken van audio/beelden. Doeltoepassingen zijn onder andere sensorhubs, navigatie en besturing van drones, augmented reality (AR), virtual reality (VR) en communicatieapparatuur.

Om het energieverbruik, de overhead en de latentie te minimaliseren en tegelijkertijd de privacy te waarborgen, wordt vaak de voorkeur gegeven aan het verwerken van gegevens aan de edge in plaats van ze naar de cloud te verzenden. Dit is een uitdaging voor ontwerpers omdat edge-apparaten vaak beperkte middelen hebben, vooral als ze op batterijen werken.

Verbeterde MCU’s voor edge computing

Bij AI- en ML-workloads wordt meestal dezelfde wiskundige bewerking herhaaldelijk uitgevoerd in een grote dataset. Deze workloads zijn geschikt voor versnelling met SIMD-verwerking (single instruction, multiple data). SIMD voert verschillende wiskundige bewerkingen parallel uit, wat een aanzienlijk hogere verwerkingscapaciteit en een betere energie-efficiëntie oplevert dan conventionele verwerking.

Omdat traditionele MCU’s SIMD-functionaliteit missen, hebben ze hulp nodig bij het uitvoeren van AI- en ML-workloads. Eén oplossing is het gebruik van een digitale signaalprocessor (DSP) of andere SIMD-versnellers naast de MCU. Deze multi-processorbenadering compliceert echter het systeemontwerp.

Een andere optie is om over te schakelen op een krachtigere microprocessor unit (MPU) met SIMD-mogelijkheden. Dit kan de nodige prestaties leveren met een enkele processor, maar MPU’s hebben nadelen wat betreft stroomverbruik en functiesets. Niet alle MPU’s zijn bijvoorbeeld ontworpen om de deterministische rekenkracht met lage latentie te leveren die vereist is in MCU-georiënteerde toepassingen.

Gebruik van AI en ML in MCU’s

Renesas erkent de behoefte aan een geoptimaliseerde reeks MCU’s om AI- en ML-workloads te ondersteunen en introduceerde daarom de RA8M1 MCU-serie (afbeelding 1). De serie is gebaseerd op een Arm® Cortex®-M85-architectuur met Helium en TrustZone. Ze kunnen werken bij 480 megahertz (MHz) met een typisch stroomverbruik van 225 microampère per megahertz (µA/MHz).

Schema van de RA8M1 MCU (klik om te vergroten)Afbeelding 1: De RA8M1 MCU van Renesas is gebaseerd op een Arm Cortex-M85 en bevat Helium-technologie om AI- en ML-verwerking te versnellen. (Bron afbeelding: Renesas)

De RA8M1 MCU is ontworpen voor efficiënte prestaties en een laag stroomverbruik en heeft eigenschappen zoals determinisme, korte interrupttijd en ondersteuning voor geavanceerd stroombeheer. De processor behaalt een prestatie-efficiëntie van 6,39 CoreMark per megahertz (CoreMark/MHz).

Helium is een SIMD M-Profile Vector Extension (MVE) die signaalverwerking en ML aanzienlijk versnelt. Het voegt 150 scalaire en vectorinstructies toe en maakt de verwerking van 128-bits registers mogelijk (afbeelding 2). Het is geoptimaliseerd voor zuinige microcontrollers. Helium hergebruikt bijvoorbeeld de registers van de floating-point unit (FPU) in plaats van nieuwe SIMD-registers te introduceren. Dit helpt het stroomverbruik van de processor te verlagen en de complexiteit van het ontwerp te verminderen.

Schema: Helium hergebruikt de FPU-registerbank voor vectorverwerkingAfbeelding 2: Helium hergebruikt de FPU-registerbank voor vectorverwerking. (Bron afbeelding: Arm)

Zoals in afbeelding 3 te zien is, bevat de Cortex-M85 van de RA8M1 de TrustZone-technologie van Arm. TrustZone biedt hardware-isolatie voor kritieke firmware, assets en privégegevens. De Cortex-M85 voegt ook nieuwe beveiligings- en veiligheidsmogelijkheden toe, zoals de pointer authentication and branch target identification (PACBTI) uitbreiding. Deze beveiligingsfuncties zijn vooral waardevol in een AI-context waarin een apparaat kan interageren met persoonlijke gegevens.

Afbeelding van TrustZone van Arm Cortex-M85Afbeelding 3: De TrustZone van de Cortex-M85 biedt hardware-isolatie voor kritieke firmware, assets en privégegevens. (Bron afbeelding: Arm)

Gewenste hardware-eigenschappen van een MCU die geschikt is voor AI

Een MCU moet efficiënte prestaties combineren met een robuuste functieset om AI-toepassingen te ondersteunen. De RA8M1 is goed uitgerust voor motorbesturing, programmeerbare logische besturing (PLC), metering en andere industriële en IoT-toepassingen.

Zo hebben AI-algoritmen bijvoorbeeld veel geheugen nodig. Het RA8M1-systeemgeheugen bevat tot 2 megabyte (MB) flash en 1 MB SRAM. Het SRAM bevat 128 kilobyte (kB) strak gekoppeld geheugen (TCM), dat snelle geheugentoegang mogelijk maakt voor krachtige berekeningen.

Om een betrouwbare werking te garanderen, zijn 384 kB van het gebruikers-SRAM en de volledige 128 kB van TCM geconfigureerd als geheugen met foutcorrectiecode (ECC). De 32 kB instructie- en datacaches zijn ook ECC beschermd.

De RA8M1 bevat meerdere beveiligingsfuncties naast die van de Arm-core. Deze omvatten de Reprogrammable Secure Intellectual Property (RSIP) cryptografische engine voor veilige gegevensverwerking, onveranderlijke opslag voor bescherming van kritieke gegevens en mechanismen voor knoeibescherming.

Voor communicatie-interfaces is de MCU uitgerust met ethernet voor netwerkconnectiviteit, Controller Area Network Flexible Data Rate (CAN FD) voor automotive en industriële toepassingen en USB High-Speed/Full-Speed voor algemene connectiviteit. Het bevat ook een camera-interface en een octale seriële perifere interface (SPI) met ‘decryption on the fly’ voor extern geheugen.

Analoge interfaces omvatten 12-bits analoog-naar-digitaalomzetters (ADC’s) en digitaal-naar-analoogomzetters (DAC’s), snelle analoge comparatoren en drie sample-and-hold circuits. Voor seriële communicatie ondersteunt de RA8M1 meerdere protocollen, waaronder een seriële communicatie-interface (SCI) met SPI, een universele asynchrone ontvanger/zender (UART) en I²C-modi (Inter-Integrated Circuit). De MCU biedt ook het Improved Inter-Integrated Circuit (I3C) voor verbeterde gegevensoverdrachtssnelheden en efficiëntie.

Ontwikkelaars die volledige toegang tot deze I/O-mogelijkheden (input/output) nodig hebben, kunnen een BGA-pakket (ball grid array) zoals de 224-pins R7FA8M1AHECBD#UC0 gebruiken. Wie op zoek is naar een gestroomlijnder printplaatontwerp en assemblageproces kan overwegen om een LQFP-optie (low-profile quad flat package) te gebruiken, zoals de 144-pins R7FA8M1AHECFB#AA0.

Ontwikkelomgevingen voor AI-toepassingen

Ontwerpers die willen experimenteren met de RA8M1-serie kunnen beginnen met het EK-RA8M1 R7FA8M-evaluatieboard (afbeelding 4). Dit board bevat een RJ45 RMII ethernetinterface, een USB High-Speed Host en Device interface en een CAN FD-header met drie pinnen. Het geheugen is voorzien van 64 MB octaal SPI-flash.

Afbeelding van Renesas EK-RA8M1-evaluatieboard (klik om te vergroten)Afbeelding 4: Het EK-RA8M1-evaluatieboard heeft robuuste I/O-ondersteuning om de RA8M1-MCU uit te proberen. (Bron afbeelding: Renesas)

De RA8M1 wordt ondersteund door het Renesas Flexible Software Package (FSP), een uitgebreid framework dat een gebruiksvriendelijke, schaalbare en hoogwaardige softwarebasis biedt voor embedded-systeemontwerpen.

Het pakket biedt ontwikkeltools, waaronder de e² studio geïntegreerde ontwikkelomgeving (IDE) gebaseerd op de populaire Eclipse IDE. Het bevat ook twee prominente, royalty-vrije, real-time besturingssystemen: Azure RTOS en FreeRTOS.

Het pakket bevat lichtgewicht, productieklare drivers die veelvoorkomende use cases in embedded systems ondersteunen. In combinatie met het evaluatieboard kunnen ontwikkelaars dankzij deze drivers op een snelle manier met de RA8M1-I/O experimenteren.

Conclusie

De RA8M1 biedt ontwikkelaars een nieuwe optie voor het implementeren van AI- en ML-workloads in edge IoT-toepassingen die energie bespaart, de prestaties verbetert, de complexiteit vermindert en de time-to-market verkort.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Image of Kenton Williston

Kenton Williston

Kenton Williston received his B.S. in Electrical Engineering in 2000 and started his career as processor benchmark analyst. Since then he worked as an editor with the EE Times group and helped launch and lead multiple publications and conferences serving the electronics industry.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey