Klik hier voor de Engelse versie van de broncode.

NXP biedt een Arm® Cortex®-M33-ontwikkelingsecosysteem

Door Pete Bartolik

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Arm® Cortex®-M33-kernprocessors zijn een familie van energiezuinige, krachtige microcontrollers (MCU's) die verbeterde beveiliging en digitale signaalverwerkingsmogelijkheden bieden. Ze zijn geschikt voor een breed scala aan IoT- en embedded toepassingen, maar het ontwerpen van producten met deze MCU's kan een uitdaging zijn, vooral voor ontwikkelaars die niet bekend zijn met de Arm-architectuur. NXP Semiconductors, een toonaangevende leverancier van Arm-gebaseerde microcontrollers, wil die uitdaging verlichten met zijn MCUXpresso-ontwikkelplatform.

De RISC-processor (reduced instruction set computing) van Arm domineert in marktsegmenten zoals smartphones en consumentenelektronica, waar een laag energieverbruik en hoge prestaties van cruciaal belang zijn.

De Cortex-M33-processors zijn ontworpen om energiezuinig te zijn en bieden energiezuinige modi die het actieve en slaapstroomverbruik verlagen, en kunnen een breed scala aan toepassingen aandrijven, zoals industriële besturing, smart home, draagbare apparaten en IoT. Ze bieden ontwikkelaars een hoge mate van flexibiliteit en schaalbaarheid, maar vereisen ook zorgvuldige optimalisatie om de ideale afweging te maken tussen prestaties, stroomverbruik en voetafdruk.

Cortex-M33 MCU's ondersteunen de Arm Embedded Application Binary Interface (EABI), die binaire compatibiliteit garandeert met andere Cortex-M processors, waardoor ze bestaande Cortex-M-code kunnen uitvoeren zonder aanpassingen. Deze compatibiliteit biedt toegang tot bestaande softwaretools, bibliotheken en middleware.

NXP's MCX-portfolio

NXP is een van de topfabrikanten van op Arm gebaseerde MCU's, waaronder producten voor algemene doeleinden en producten voor de auto-industrie. Het heeft zijn MCX-portfolio gepositioneerd als de basis voor energie-efficiënte randapparaten in de industriële en IoT-markten, met uitgebreide schaalbaarheid en baanbrekende productmogelijkheden.

MCX MCU's bestaan uit twee afzonderlijke productlijnen:

  • MCX N-serie industriële en IoT MCU's met dubbele Cortex-M33-kernen die werken tot 150 MHz en voorzien zijn van de eIQ® Neutron Neural Processing Unit (NPU) van het bedrijf voor machine learning (ML) versnelling. Deze krachtige MCU's met laag stroomverbruik bevatten intelligente randapparatuur en versnellers, die multitasking-mogelijkheden en efficiënte prestaties bieden.
  • MCX A Essential Series, een productlijn van single core Cortex-M33 MCU's geoptimaliseerd om kritieke functionaliteit te bieden voor toepassingen waar geavanceerde analoge mogelijkheden zoals hoge-precisie dataconverters, kostenbeperkingen en een snelle time-to-market belangrijke overwegingen zijn.

Dit artikel richt zich op de MCX A MCU's (Afbeelding 1) en hun ontwikkeltools. De MCX A-serie ondersteunt een groot aantal toepassingen in verschillende markten, waaronder industriële communicatie, slimme meters, automatisering en besturing, sensors en apparaten met laag vermogen en batterijvoeding. Met een gemeenschappelijke kern en randapparatuur kunnen ontwikkelaars profiteren van vereenvoudigde softwareontwikkeling, gemakkelijke migratie en upgrades.

Afbeelding van de MCX A-serie microcontroller van NXPAfbeelding 1: Weergave van de MCX A-serie microcontroller van NXP. (Bron afbeelding: NXP)

Elk apparaat uit de MCX A-serie bevat een selectie slimme randapparaten die onafhankelijk van de CPU kunnen werken, waardoor deze op een lagere frequentie en met een lager energieverbruik kan werken. Deze randapparaten stellen ontwerpers in staat om een kleinere verpakking te gebruiken, een eenvoudiger printplaatontwerp en lagere kosten voor de stuklijst (BOM) van het systeem.

Meegeleverde randapparatuur is:

  • Seriële communicatie met ingebouwde buffers, programmeerbaar gegevensverzamelbereik en DMA
  • Gemengd signaal analoog-digitaalconvertor (ADC)
  • Digitaal-naar-analoogconvertor (DAC)
  • Operationele versterker met ingebouwde intelligentie voor middeling en piekdetectie
  • FlexPWM (pulsbreedtemodulator) met dode-tijdregeling en encoder voor motortoepassingen

De MCX A MCU's beschikken ook over een energiebeheerunit (PMU) die dynamische spannings- en frequentieschaling (DVFS) en adaptieve vermogensregeling (APC) mogelijk maakt om het energieverbruik te optimaliseren op basis van de werkbelasting en de bedrijfsomstandigheden. Apparaten bevatten 64 KB of 128 KB flashgeheugen en 16 KB of 32 KB SRAM - alle RAM-gegevens kunnen worden bewaard tot aan de diepe uitschakelmodus.

Een 4 KB Low-Power Cache Controller (LPCAC) aangesloten op de Cortex-M33-codebus zorgt ervoor dat gegevens en instructies beschikbaar zijn met een lage latentie. De busbeschikbaarheid voor andere randapparatuur wordt verbeterd doordat de processorprestaties kunnen worden losgekoppeld van de prestaties van het systeemgeheugen. Deze functie kan ontwikkelaars helpen om de beste I/O- en verwerkingsprestaties te bereiken voor detectie- en besturingstoepassingen.

MCX A-apparaten werken op 48 MHz voor de A14x-serie en op 96 MHz voor de A15x-serie. MCX A gebruikt een LDO-voedingssubsysteem zonder kap, dat kan werken van 1,7 V tot 3,6 V. De apparaten hebben een laag energieverbruik in verschillende modi:

  • 59 µA/MHz (3 V, bij 25 °C) in actieve modus met Coremark vanuit intern flashgeheugen
  • 6,5 µA diepe slaap, 10 µs opstarten met volledige SRAM-retentie, 3 V bij 25 °C
  • Minder dan 400 nA in diepe uitschakeling met 2,78 ms wektijd

MCX A-apparaten bevatten een USB-apparaatcontroller met volledige snelheid en onboard PHY, die connectiviteit met pc's en andere apparaten mogelijk maakt. Het USB-subsysteem is voorzien van in-system programming (ISP) via het boot ROM, en producten kunnen in het veld worden bijgewerkt via de USB-interface.

Afhankelijk van het model kunnen ontwikkelaars profiteren van 26 tot 52 GPIO (general purpose input/output) pinnen. De seriële communicatie-interfaces omvatten één I²C, twee SPI en drie UART's. Er zijn drie 32-bits timers die complementaire PWM-paren kunnen genereren met deadband-invoeging, samen met één timer met laag stroomverbruik. De voedingsspanning kan variëren van 1,71 tot 3,6 V en de bedrijfstemperatuur is van -40 °C tot 125 °C.

De A14x-serie MCXA143VLH heeft bijvoorbeeld 52 GPIO-pinnen en werkt tot 48 MHz, met 128 KB flashgeheugen en 32 KB SRAM, in een LQFP64-pakket. De MCXA152VFT uit de 15x-serie heeft ook 52 GPIO-pinnen en werkt op maximaal 96 MHz, met 64 KB flashgeheugen en 16 KB SRAM, in een QFN48-pakket.

MCUXpresso gebruiken

Deze MCU's bieden een balans tussen kosten, prestaties en energiezuinigheid. Met ondersteuning voor meer GPIO-pinnen kunnen ontwerpers kleinere pakketten en eenvoudigere bordontwerpen gebruiken.

De serie maakt gebruik van de MCUXpresso Developer Experience om het ontwikkelproces te vergemakkelijken met software, tools en beveiligde provisioning om ontwerpcycli te versnellen en ontwikkelaars te helpen bij het maken, debuggen en optimaliseren van applicaties. Het MCUXpresso-platform omvat:

  • MCUXpresso IDE: eengeïntegreerde ontwikkelomgeving die codebewerking, compilatie, debugging en flash-programmering ondersteunt.
  • MCUXpresso Config Tools: een set grafische tools waarmee ontwikkelaars de pinnen, klokken, randapparatuur en beveiligingsfuncties kunnen configureren.
  • MCUXpresso SDK: eensoftwareontwikkelingskit die een verzameling drivers, middleware, bibliotheken en voorbeelden biedt.

NXP-ontwikkelkborden voor de MCX A-serie, waaronder de FRDM-MCXA153 (Afbeelding 2), zijn ontworpen voor snelle prototyping en ontwikkeling van toepassingen met zowel de A14x- als de A15x-microcontrollers.

Afbeelding van NXP FRDM-MCXA153-ontwikkelbordAfbeelding 2: De FRDM-MCXA153-ontwikkelbord (Bron afbeelding: NXP)

Deze borden zijn compact, waardoor ze gemakkelijk kunnen worden geïntegreerd in ontwerpprototypes. Industriestandaard headers bieden eenvoudige I/O-toegang voor snelle evaluatie en snel prototypen. Met uitbreidingsopties zoals Arduino® Header, FRDM Header, Pmod™ en mikroBUS™ kunnen ontwikkelaars eenvoudig extra functionaliteiten en componenten toevoegen.

Andere ontwikkelaarsvriendelijke functies zijn onder andere geïntegreerde open-standaard seriële interfaces, extern flashgeheugen en een ingebouwde MCU-Link-debugger met CMSIS-DAP-protocol. Ontwikkelaars kunnen kiezen om te werken met MCUXpresso for Visual Studio Code of de op Eclipse gebaseerde MCUXpresso IDE van NXP, of met IDE's van IAR en Keil die ook veiligheidscertificering bieden.

NXP biedt ook een Application Code Hub (ACH) repository met softwarevoorbeelden, codefragmenten en demo's op hoog niveau. Deze voorbeelden zijn gekoppeld aan de SDK en zijn direct toegankelijk vanuit de IDE's van NXP of via de ACH-webinterface.

Conclusie

De MCX A-serie microcontrollers van NXP bieden ontwikkelaars een goedkope oplossing met een kleine voetafdruk, met essentiële functies en een innovatieve energiearchitectuur die ze zeer geschikt maken voor een breed scala aan embedded toepassingen, zoals slimme meters, automatisering en besturing, en apparaten met een laag energieverbruik/batterijvoeding. De microcontrollers, evaluatieborden en het MCUXpresso platform van NXP kunnen ontwikkelaars helpen te profiteren van geavanceerde bewerkings-, compilerings- en debugging-functies om te innoveren, te optimaliseren en op de markt te brengen.

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 Pete Bartolik

Pete Bartolik

Pete Bartolik is een freelance schrijver die al meer dan twintig jaar onderzoek doet naar en schrijft over IT- en OT-kwesties en -producten. Daarvoor was hij nieuwsredacteur van de IT-managementpublicatie Computerworld, hoofdredacteur van een maandelijks computertijdschrift voor eindgebruikers en verslaggever bij een dagblad.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey