Das kann wirklich jeder

Rapid-Prototyping-Tools für vernetzte Anwendungen

17. Oktober 2022, 8:00 Uhr | Syed Thaseemuddin, Technical Staff Engineer, und Shridhar Channagiri, Produktmarketing-Manager, beide Microchip Technology
Microchip-Aufmacherbild-2022
© Microchip Technology/WEKA Fachmedien

Microchip Technology führt nicht nur MCUs im Portfolio, sondern auch Entwicklungswerkzeuge für die Hard- und Software. Diese Tools machen es möglich, Prototypen schnell zu realisieren, ohne die Leiterplatten entwickeln zu müssen.

Zu den Hardware-Tools von Microchip gehören beispielsweise die »Curiosity Nano Development Boards« und die »Curiosity Development Boards«. Die Curiosity Nano Development Kits sind kostengünstige Entwicklungs-Boards mit kleinem Formfaktor und der Möglichkeit zum On-Board-Debuggen und Programmieren. Sie sitzen auf einem Adapter, dem so genannten Nano Base Board. Mit den Mikrocontroller-Click- und Pro-Extension-Boards können die Möglichkeiten der Entwicklungs-Boards erweitert werden, beispielsweise mit zusätzlichen Sensoren, Touch-Schnittstellen, Displays oder anderen Konnektivitäts-Schnittstellen, je nachdem, was für die Entwicklung einer bestimmten Anwendung erforderlich ist.

Diese Nano-Kits haben ein einheitliches Design, egal ob es sich um 8-, 16- oder und 32-Bit-Mikrocontroller handelt, sodass Anwendungen über die verschiedenen Mikrocontroller-Familien hinweg einfach skaliert werden können.

Die Curiosity Entwicklungs-Boards sind mit zusätzlichen Funktionen ausgestattet. Dazu zählen beispielsweise Grafikschnittstellen oder diverse Anschlüsse für Audio, Grafik oder für eine Internetverbindung.

Zusätzlich zu den Mikroe-Steckverbindern gibt es auch XPRO-Steckleisten. Manche Curiosity-Boards sind auch mit Arduino-Steckverbindern versehen, so dass auch Arduino-Shields zur Implementierung von Anwendungsprototypen verwendet werden können.  

Software-Tools

Wenn es um Software-Tools geht, stehen von Microchip vier wichtige Werkzeuge zur Verfügung. An erster Stelle steht die MPLAB X, eine IDE (integrierte Entwicklungsumgebung) zur Entwicklung von Embedded-Anwendungen für die digitalen Signalcontroller und Mikrocontroller von Microchip. Dazu kommt der MPLAB XC Compiler. Mit dem XC-Compiler können Entwickler den C- oder C++-Code in die Assemblersprache des Mikrocontrollers übersetzen, für den sie entwickeln. Ein weiteres Werkzeug ist das MPLAB Harmony Software Development Framework, was wiederum Teil des größeren MPLAB X-Ecosystems von Microchip ist. Damit können Embedded-Anwendungen auf den 32-Bit-Mikrocontrollern von Microchip entwickelt werden. Harmony verfügt über mehrere Funktionen und Features, ist mit mehreren Demobeispiele für den Einstieg in die Anwendungs- und Prototypenentwicklung ausgestattet und bietet mehrschichtige und modulare Libraries. Dazu kommen noch Libraries für die Peripherals, die eine Schnittstelle zu den Hardware-Registern bereitstellen, und die Middleware-Libraries, sowie abstrahierte Treiber und Systemdienste.

Es gibt auch mehrere graphische Entwicklungs-Tools, mit denen Projekte erstellt und Code über eine grafische Benutzeroberfläche generiert werden kann. All dies kann über eine GitHub-Plattform heruntergeladen werden, auch das gesamte MPLAB Harmony v3-Softwareentwicklungs-Framework ist auf GitHub verfügbar. Eines dieser grafischen Entwicklungs-Tools ist »MCC«, der Code-Konfigurator von Microchip, der mittlerweile auch die 32-Bit-Mikrocontroller unterstützt, so dass Entwicklern ein gemeinsames Konfigurationstool für alle Mikrocontroller-Familien zur Verfügung steht.

Anhand von drei Beispielen wird gezeigt, welche Möglichkeiten den Entwicklern offenstehen. Zuerst allerdings werfen wir einen Blick auf ein paar Ressourcen, die für diese Beispiele relevant sind. Dazu gehört das MPLAB Harmony Reference Apps-Paket, das als Repository auf GitHub verfügbar ist. Dieses Repository verfügt über viele Stand-alone-Anwendungen, um die Funktionen und Fähigkeiten der 32-Bit-Mikrocontroller zu demonstrieren. Die Beispiele in unseren Referenz-Apps fangen bei den ersten Schritten und Demo-Anwendungen an und gehen bis hin zu viel komplexeren und funktionsreicheren Demos, die die MikroElektronika Click Boards, XPRO-Boards und etc. verwenden. 

Als Teil des Referenz-App-Pakets stehen auch Beispiel-Demos mit dem MikroElektronika Click Board zur Verfügung, die zeigen, wie man diese unter dem Harmony Software Development Framework verwendet.

Beispiele für Rapid Prototyping

Das erste Beispiel ist die Steuerung eines Ventilators basierend auf der Raumtemperatur, das im folgenden Diagramm dargestellt ist.

Anbieter zum Thema

zu Matchmaker+
1. Beispiel: Lüftersteuerung
1. Beispiel: Lüftersteuerung
© Microchip Technology

Der Lüfter läuft mit niedriger, mittlerer oder hoher Geschwindigkeit, er kann je nach Raumtemperatur ein- oder ausgeschaltet werden. In diesem Beispiel kommt ein PIC32CM MC00 Curiosity Nano Evaluierungskit mit einem Cortex M0+-Mikrocontroller zum Einsatz. Über einen Firewall-Baustein ist es per I2C-Bus mit dem MikroElektronika Click-Board verbunden. Darauf sitzen zwei Click-Boards, das Wetter-Click Board und das Lüfter-Click-Board. Das Wetter-Click-Board verwendet die Temperatur-, Druck- und Feuchtigkeitsparameter, während das Lüfter-Click-Board es ermöglicht, den angeschlossenen Lüfter zu steuern.

Die Boards sind über die I2C-Schnittstelle angebunden und es gibt nur eine Instanz von I2C, die von der Mikrocontroller-Seite verwendet wird und mit zwei verschiedenen Leitungen die beiden Boards adressiert. Die Anwendung initialisiert diese Click-Boards und liest dann die Temperatur des Raumes über I2C. Je nach Temperatur steuert die Anwendung den Lüfter. Liegt die Temperatur beispielsweise über 25 Grad, und vom Entwickler wurde eingestellt, dass der Lüfter dann mit mittlerer Geschwindigkeit laufen soll, so wird der Ventilator entsprechend angetrieben. In ähnlicher Weise wird der Lüfter auch ein- und ausgeschaltet und mit verschiedenen Geschwindigkeiten betrieben.

2. Beispiel: Herzfrequenzüberwachung
2. Beispiel: Herzfrequenzüberwachung
© Microchip Technology

Im zweiten Beispiel wird die Herzfrequenz eines Menschen überwacht, was hilfreich bei der Analyse von Schlafmustern oder der Leistung bei einer Vielzahl von sportlichen Aktivitäten ist. In diesem Beispiel könnte der Entwickler das SAM E51 Curiosity Nano-Board verwenden, das über einen Cortex-M4-Mikrocontroller verfügt und mit dem Heart-Rate-Click- (für die Herzfrequenz) und einem Low-Power-Display, dem eINK-Click-Bundle-Board, verbunden ist. Ersteres ist über UART-Leitungen angebunden, das Display per SPI.

Sobald diese Module initialisiert sind und ein Standardwert auf dem eINK Click Bundle angezeigt wird, löst der Benutzer die Messung aus, indem er eine Taste drückt und dann seinen Finger auf den Herzfrequenzsensor legt. Der Mikrocontroller liest den Messwert und zeigt ihn auf dem Low-Power-Display an.

3. Beispiel: Lüftersteuerung mit Anzeige
3. Beispiel: Lüftersteuerung mit Anzeige
© Microchip Technology

Das dritte Beispiel ist eine Erweiterung von Beispiel 1, in dem wir eine Anzeigefunktion der raumtemperaturbasierten Lüftersteuerung hinzufügen. Das eINK Click Bundle (im gestrichelten Rechteck) wurde in das obige Blockdiagramm eingefügt. Der Anwendungsfluss bleibt gleich. Sobald die Temperatur gemessen wurde, muss der Lüfter wie bisher auf langsam, mittel oder hoch eingestellt werden. Zusätzlich werden hier nun aber auch der Temperaturwert und die Lüfterdrehzahl auf dem Low-Power-Display angezeigt.

Im zweiten Teil dieses Beispiels kommt noch eine drahtlose Kommunikation hinzu. Sie eröffnet die Möglichkeit, die Anwendung über ein BLE-basiertes Android-Smartphone zu steuern – die Befehle werden über das Telefon gesendet und mit dem Telefon kann der Lüfter auch ausgeschaltet oder in einem temperaturbasierten Modus laufen gelassen werden.

Die zwei Teile aus Beispiel 3 könnten natürlich auch in eine intelligente Gerätesteuerung mit vollständiger Fernbedienungs- und Anzeigefunktion integriert werden.

Entwickeln der Anwendungen

Es lohnt sich, folgende drei Schritte durchzugehen, um eine Anwendung zu entwickeln. Der erste Schritt besteht darin, ein MPLAB X IDE-Projekt für den ausgewählten Mikrocontroller zu erstellen, z. B. einen SAM E51 mit MCC. Dann konfiguriert der Entwickler die Uhr, die Peripherals und die entsprechenden Pins. Wenn ein vorhandenes Beispiel verwendet und dieses nur erweitert werden soll, muss kein neues Projekt erstellt werden, sondern ein vorhandenes wird einfach in der MPLAB X IDE geöffnet.

Im zweiten Schritt wird Anwendungs-Code hinzugefügt. Davor können Entwickler auch erst einmal die vorhandenen MikroElektronika Click Board Beispiele verwenden. Diese Beispiele haben bestimmte Routinen, welche die Entwickler verwenden können, um die Funktionalität der Click-Boards in ihrer Endanwendungen zu implementieren - im Wesentlichen muss der Entwickler dafür diese Routinen zu seiner Anwendung hinzufügen und dann die Anwendung entsprechend der Anforderung implementieren.

Der dritte Schritt besteht darin, die Anwendung auszuführen und die Ausgabe zu bewerten. Dazu startet der Entwickler die Android-AppMBD, und wenn er aufgefordert wird, den Bluetooth-Standort zu aktivieren, macht er das. Dazu muss er auf das BLE UART-Symbol tippen, das die Art der Geräte anzeigt, die gescannt werden können. Mit dem Tippen auf BM70 Scanning werden alle verfügbaren BLE-basierten Geräte aufgelistet. Der Entwickler muss auf das transparente UART-Demogerät achten, sobald es auftaucht, kann der laufende Scanvorgang abgebrochen und auf die transparente UART-Demo getippt werden.

Damit wird eine Verbindung mit dem Gerät hergestellt und der Pfad für die Datenkommunikation aktiviert. Einfach auf das Symbol zur Datenübertragung tippen und die richtige Datenübertragung aktivieren. Damit wird man auf einen Bildschirm weitergeleitet, auf dem Befehle eingegeben werden können, um das Gerät zu steuern – Ausschalten des Lüfters, Einschalten des Lüfters oder eine bestimmte Geschwindigkeit einstellen. Diese Kommandos werden in Textform eingegeben.

Wenn der Lüfter ausgeschaltet werden soll, wird der BLE-Befehl »fan off« eingegeben und dann auf die Sendetaste getippt. Soll der Lüfter in einem temperaturbasierten Modus betrieben werden, kommt der Befehl »temp control« zum Einsatz, mit nachfolgendem Tastedruck, und der Lüfter läuft entsprechend der Raumtemperatur. Die Temperatur kann auch variiert werden, indem man einen Finger auf den Sensor legt, wonach der Lüfter seine Geschwindigkeit entsprechend variiert und mit niedriger, mittlerer oder hoher Geschwindigkeit basierend auf der Raumtemperatur läuft.

MPLAB Harmony Software-Entwicklungsplattform

Microchip bietet verschiedene Ressourcen zur Unterstützung bei der Entwicklung von Anwendungen, darunter Grafik-Stacks, Audio, Kryptobibliotheken etc.

Neben den Curiosity Boards und Curiosity Nano Boards für schnelles Prototyping bietet Microchip auch diverse, deutlich umfassendere Plattformen an, wie die Xplained Pro oder XPLORE Serien mit Entwicklungs-Boards sowie die Ultra Serie mit Curiosity Development Boards.


Das könnte Sie auch interessieren

Verwandte Artikel

Microchip Technology GmbH