Das NXP MIMXRT1010-EVK, ein schönes Kit für Audioanwendungen und Motorsteuerung (Review)
über
Übersicht
Das MIMXRT1010-EVK (Evaluation Kit) basiert auf der i.MX RT1010 Mikrocontroller-Einheit (MCU) von NXP. Diese MCU ist Teil der i.MX RT Crossover-Familie, die mit leistungsstarken Arm Cortex-M-Kernen ausgestattet ist (einige haben sogar zwei). Die meisten Mitglieder dieser Familie sind für Echtzeit-Ethernet-Protokolle in industriellen IoT- und Automobilanwendungen optimiert, aber der RT1010, einer der kleineren Bausteine der Familie, ist eher für allgemeine Zwecke geeignet.Das Innere der MCU
Der iMX RT1010 basiert auf einem Arm Cortex-M7 Kern, der mit einer Geschwindigkeit von bis zu 400 MHz arbeitet. Bei leistungsfähigeren Mitgliedern der Familie kommt noch ein Arm Cortex-M4-Kern hinzu. Der Prozessor verfügt über 128 KB On-Chip-RAM, das als Tightly Coupled Memory (TCM) oder universelles RAM konfiguriert werden kann. In den SoC ist ein Energieverwaltungsmodul integriert, das die Stromversorgung des Geräts erheblich vereinfacht. Natürlich gibt es eine Reihe von Schnittstellen, darunter UART, SPI, I²C, I²S und USB. Auch ein ADC und ein Temperatursensor wurden nicht vergessen.Audio-Anwendungen
Der iMX RT1010 ist ein Allzweckbaustein mit einer leichten Vorliebe für Audioanwendungen, da er über umfangreiche Audiofunktionen verfügt, darunter SPDIF- und I²S-Audioschnittstellen. Das Evaluierungskit, auf dem die MCU steckt, unterstreicht dies durch die Integration eines WM8960 Audio-Stereo-CODECs von Wolfson, einer Kopfhörerbuchse, Lautsprecheranschlüssen, einem integrierten Kondensatormikrofon und (unbestückten) Lötpunkten für SPDIF-Anschlüsse.Andere Anwendungen
Neben Audioanwendungen eignet sich der iMX RT1010 auch für die Steuerung von Motoren. Zu diesem Zweck verfügt das EVK über Anschlüsse für PWM-Signale, die vom eFlexPWM-Modul der MCU erzeugt werden, sowie über Analogeingänge zur Messung von Strömen und Spannungen.Der MIMXRT1010-EVK wird auch vom Zephyr RTOS unterstützt.
Andere Peripheriegeräte
Wie bei Evaluierungsplatinen üblich, befinden sich noch einige andere Dinge darauf, die die Entwicklung etwas erleichtern sollen. Das MIMXRT1010-EVK ist da keine Ausnahme. Neben der bereits erwähnten Audio- und Motorsteuerungsperipherie verfügt das Board auch über 128 Mbit QSPI-Flash-Speicher (für Programm- und Datenspeicherung, da die MCU keinen hat) und 4 Mbit LPSPI-Flash-Speicher, USB OTG, einen Bedientaster und LED sowie einen 6-Achsen-Bewegungssensor mit 3-Achsen-Beschleunigungsmesser und 3-Achsen-Magnetometer.
Auch Arduino Shields werden unterstützt
Erweiterungsleisten im Arduino-UNO-Stil sind ebenfalls verfügbar, allerdings in einer besonderen Form, da sie aus zweireihigen statt einreihigen Leisten bestehen. Die inneren Reihen sind mit dem Arduino Shield kompatibel, während einige der äußeren Reihen den Zugang zur Motorsteuerungsschnittstelle ermöglichen.Debugging leicht gemacht
Um die Anwendungsentwicklung zu erleichtern, verfügt das EVK über eine integrierte Debug-Unterstützung. Neben einem JTAG-Header gibt es auch eine Freelink-Schnittstelle (ein Überbleibsel von Freescale) mit einem USB-Anschluss (der auch die Stromversorgung des Boards sicherstellt). Diese Schnittstelle wird von MCUXpresso unterstützt, NXPs Eclipse-basierter integrierter Softwareentwicklungsplattform.MCUXpresso und Beispiele
Damit kommen wir zur Softwareentwicklung. Wie bereits erwähnt, ist MCUXpresso der günstigste Weg, um mit dem MIMXRT1010-EVK zu beginnen, da es kostenlos ist. Es wird mit einem umfangreichen SDK geliefert, das viele Beispiele für fast alle auf der MCU und dem EVK verfügbaren Peripheriegeräte enthält. Alles, was Sie tun müssen, ist, das Beispiel, das Sie interessiert, zu importieren, es zu kompilieren und auf das Board zu laden.Viele Beispiele gibt es in drei Versionen: 'bm', 'lite_bm' und 'freertos'. BM" steht für Bare Metal, d.h. ohne Betriebssystem wie FreeRTOS. Die lite-Beispiele sind Bare-Metal-Beispiele, aber mit einem minimalen USB-Stack. Die komplexeren Beispiele kommen mit etwas Dokumentation, aber tief versteckt in einem Unterordner eines Ordners mit dem Namen der Karte ('evkmimxrt1010'), der auch eine vorkompilierte ausführbare Datei enthält.
Ich habe ein paar Beispiele ausprobiert und sie haben alle problemlos funktioniert. Nach dem Hochladen kann man den Code sofort ausführen oder debuggen, indem man ihn schrittweise durchläuft oder Breakpoints setzt.
Eine überraschende Demo
Ein interessantes Beispiel, das ich ausprobiert habe, ist 'evkmimxrt1010_dev_audio_generator_bm', das ein USB-Audiowiedergabegerät emuliert. Nach dem Kompilieren und Hochladen des Codes entdeckt Windows ein 'USB AUDIO DEMO'-Gerät, das man anhören kann. Anstatt jedoch schöne Musik zu spielen, schreit die Demo: " Out! Out! Out! Out!...".Natürlich werden der EVK und der iMX RT1010-Prozessor auch von den etablierten Tool-Herstellern unterstützt.
Diskussion (0 Kommentare)