De NXP MIMXRT1010-EVK, een mooie kit voor audiotoepassingen en motorbesturing (review)
op
Overzicht
De MIMXRT1010-EVK (evaluatiekit) is gebaseerd op de i.MX RT1010 microcontroller unit (MCU) van NXP. Deze MCU maakt deel uit van de i.MX RT Crossover-familie die beschikt over krachtige Arm Cortex-M-kernen (sommige hebben er zelfs twee). De meeste leden van deze familie zijn geoptimaliseerd voor realtime Ethernetprotocollen in industriële IoT- en automobieltoepassingen, maar de RT1010, een van de kleinere apparaten uit de familie, is meer universeel inzetbaar.In de MCU
De iMX RT1010 is gebaseerd op een Arm Cortex-M7 kern die werkt met snelheden tot 400 MHz. Krachtigere leden van de familie voegen hier een Arm Cortex-M4 kern aan toe. De processor heeft 128 KB RAM op de chip, configureerbaar als vast gekoppeld geheugen (TCM) of RAM voor algemeen gebruik. De SoC integreert een energiebeheermodule die de voeding van het device sterk vereenvoudigt. Natuurlijk is er een scala aan connectiviteitsinterfaces, waaronder UART, SPI, I²C, I²S en USB. Ook een ADC en temperatuursensor zijn niet vergeten.Audiotoepassingen
De iMX RT1010 is een device voor algemene doeleinden met een lichte voorkeur voor audiotoepassingen, aangezien het over uitgebreide audiofuncties beschikt, waaronder SPDIF en I²S audio-interfaces. De evaluatiekit waarop de MCU is gemonteerd, accentueert dit door de integratie van een WM8960 audio stereo CODEC van Wolfson, een hoofdtelefoonaansluiting, luidsprekeraansluitingen, een ingebouwde condensatormicrofoon en (onbezette) footprints voor SPDIF-connectoren.Andere toepassingen
Naast audiotoepassingen is de iMX RT1010 ook geschikt voor motorbesturing. Om dit mogelijk te maken heeft de EVK-connectoren die PWM-signalen leveren die worden gegenereerd door de eFlexPWM-module van de MCU, samen met analoge ingangen voor het meten van stromen en spanningen.De MIMXRT1010-EVK wordt ook ondersteund door het Zephyr RTOS.
Andere randapparatuur
Zoals gebruikelijk bij evaluatiekaarten, zit er wat meer spul op dat bedoeld is om het ontwikkelen van toepassingen wat gemakkelijker te maken. MIMXRT1010-EVK is daarop geen uitzondering. Naast de al genoemde audio- en motorbesturingsperiferie heeft het board ook 128 Mbit QSPI-flashgeheugen (voor programma- en dataopslag, aangezien de MCU dit niet heeft) en 4 Mbit LPSPI flashgeheugen, USB OTG, een gebruikersknop en LED, en een 6-assige bewegingssensor met 3-assige versnellingsmeter en 3-assige magnetometer.
Arduino Shields worden ook ondersteund
Arduino-UNO-stijl uitbreidingsheaders zijn ook beschikbaar, maar op een speciale manier omdat ze bestaan uit headers met dubbele rijen in plaats van enkele rijen. De binnenste rijen zijn compatibel met Arduino-shields, terwijl sommige van de buitenste rijen toegang bieden tot de motorbesturingsinterface.Debuggen gemakkelijk gemaakt
Om de ontwikkeling van toepassingen te vergemakkelijken, wordt de EVK geleverd met ingebouwde debug-ondersteuning. Naast een JTAG-header is er ook een Freelink Interface (een overblijfsel van Freescale) met een USB-poort (levert ook stroom aan het board). Deze interface wordt ondersteund door MCUXpresso, NXPs op Eclipse gebaseerde geïntegreerde softwareontwikkelplatform.MCUXpresso en voorbeelden
Dit brengt ons bij softwareontwikkeling. Zoals gezegd is MCUXpresso de goedkoopste manier om met de MIMXRT1010-EVK aan de slag te gaan, omdat het gratis is. Het wordt geleverd met een uitgebreide SDK met vele voorbeelden voor bijna alle randapparatuur die beschikbaar is op de MCU en op de EVK. Het enige wat je moet doen is het voorbeeld waarin je geïnteresseerd bent importeren, compileren en uploaden naar het board.Veel voorbeelden komen in drie versies: 'bm', 'lite_bm' en 'freertos'. BM' staat voor bare metal, dus zonder besturingssysteem zoals FreeRTOS. De lite voorbeelden zijn bare metal voorbeelden maar met een minimale USB-stack. De complexere voorbeelden worden geleverd met wat documentatie, maar diep weggestopt in een submap van een map met de naam van het board ('evkmimxrt1010') die ook een voorgecompileerde executable bevat.
Ik heb een paar voorbeelden geprobeerd en ze werkten allemaal zonder problemen. Eenmaal geüpload, kun je de code onmiddellijk uitvoeren of debuggen door er doorheen te stappen of door breekpunten te zetten.
Een verrassende demo
Een vreemd voorbeeld dat ik heb geprobeerd is 'evkmimxrt1010_dev_audio_generator_bm' dat een USB-audioweergaveapparaat emuleert. Na het compileren en uploaden van de code, ontdekt Windows een 'USB AUDIO DEMO' apparaat waar je naar kunt luisteren. Echter, in plaats van het afspelen van aangename muziek, schreeuwt de demo: “Out! Out! Out! Out! ...”.Natuurlijk worden de EVK en de iMX RT1010 processor ook ondersteund door de gevestigde fabrikanten van tool chains.
Discussie (0 opmerking(en))