Überprüfen Sie, ob das Projekt Bootloadable Blinking LED gewählt ist. Das erkennen Sie daran, dass die Software den Namen in fetter Schrift darstellt. Falls das nicht der Fall ist, klicken Sie mit der rechten Maustaste auf den Eintrag und wählen Set as Active Project. Nun sollte der Tab Bootloadable Blinking LED.cydwr in den Vordergrund springen. Passiert das nicht, klicken Sie ihn an.
Nun sehen Sie die aktuelle Pin-Belegung des Mikrocontrollers (Abbildung 4). Auf der rechten Seite finden Sie die Liste der in diesem Projekt verwendeten Pins. Klicken Sie einen Eintrag an, erhalten Sie alle Informationen dazu. Hier sehen Sie außerdem, wie flexibel Sie die einzelnen Pins konfigurieren dürfen.

Abbildung 4: Die Pin-Belegung des Mikrocontrollers für das Blink-Beispiel: Jeder Pin trägt einen Namen, über den Sie ihn im Code ansprechen.
Allen Pins ist ein Name zugewiesen, den Sie bei Bedarf später im Code nutzen. Dank dieses Mappings, das das Programm von der realen Hardware entkoppelt, lassen sich nachträgliche Änderungen an der Belegung unkompliziert vornehmen.
Klicken Sie nun im Projektbaum auf die Datei TopDesign.cysch. Es öffnet sich ein zusätzlicher Reiter, der das aktuelle Programm enthält (Abbildung 5). Hier sehen Sie eine grafische Darstellung des Programms, das quasi nur aus einer PWM-Komponente und einem Impulsgenerator besteht. Letzterer erzeugt den Takt, den die PWM-Komponente zum Arbeiten benötigt. Der Kasten “PWM” liefert einige Zusatzinformationen zu diesem Bauteil.
PWM
PWM steht für Pulsweitenmodulation. Die Grundidee ist, ein Rechtecksignal mit einer festen Frequenz zu erzeugen und dabei die Dauer beim Ein- und Ausschalten des Signals zu variieren. So lässt sich die effektive Leistung des Signals relativ leicht steuern. PWM-Signale kommen in unterschiedlichen Bereichen zum Einsatz, etwa beim Steuern der Leistung einer elektrischen Heizung oder in einem Gleichstrommotor. Darüber hinaus eignen sie sich zum Ansteuern von Servos im Modellbau.
Im Bereich der Leistungselektronik haben PWM-Signale den enormen Vorteil, dass sie in Endstufen sehr wenig Verluste verursachen. Transistoren haben im gesperrten und voll leitenden Zustand die geringste Verlustleistung. Jeder Arbeitspunkt dazwischen erzeugt Verlustleistung in Form von Wärme. Die Basisfrequenz des Signals dürfen Sie frei wählen.
Für unterschiedliche Anwendungen benötigen Sie verschiedene Frequenzen. So ist bei Modellbauservos eine Frequenz von 50 Hz Standard, bei Elektromotoren liegt sie oft in KHz-Bereich. Um eine LED zum Blinken zu bringen, verwenden Sie eine Frequenz von etwa einem Hertz.
Um die Konfiguration der PWM-Komponente anzusehen, klicken Sie doppelt darauf. Es öffnet sich ein Dialog, über den Sie die Komponente einrichten (Abbildung 6). Die Konfiguration eines PWM-Generators ist keine leichte Angelegenheit. Daher geht es in diesem Beispiel nur darum, die Einschaltzeit des Signals zu verändern.
Das erreichen Sie, indem Sie den Wert für Compare verändern. Setzen Sie ihn auf 10 Prozent des Werts, der in Periode steht. So erreichen Sie, dass die LED 90 Prozent der Signallänge dunkel bleibt und nur 10 Prozent der Signallänge aufleuchtet. Im unteren Bereich des Reiters sehen Sie eine Grafik, die verdeutlicht, wie das Programm das Signal erzeugt. Bei den vielen Einstellmöglichkeiten für PWM ist das eine Hilfe.
Um den Build für das Projekt zu starten, wählen Sie im Menü den Punkt Build | Build Bootloadable Blinking LED aus oder drücken [Umschalt]+[F6]. Haben Sie den Build gestartet, rauschen im Fenster mit der Ausgabe etliche Nachrichten durch. Üblicherweise endet der Build mit einem Build Succeeded.
Beim Bauen eines Projekts prüft die Software alle Abhängigkeiten. Findet Sie dabei nicht mehr aktuelle Komponenten, verursacht das einen Fehler. Falls Ihnen das passiert, klicken Sie in die Fehlermeldung und aktualisieren Sie die entsprechenden Komponenten. Ein Menü führt Sie durch den Prozess.
Nach dem erfolgreichen Build laden Sie das Programm in den Mikrocontroller. Dabei gilt es, die Arbeitsweise des Boards zu beachten: Es hat zwei Betriebsmodi, von denen der eine beim normalen Starten des Mikrocontrollers aktiv ist. In der Cypress-Welt heißt dieser Modus Bootloadable Application. Dabei führt das Board das Programm aus, das sich aktuell im Speicher des Controllers befindet. Arbeitet der Mikrocontroller in diesem Modus, lassen sich keine neuen Programme laden.
Um den Mikrocontroller neu zu programmieren, versetzen Sie ihn in den Bootloader Modus, dann können Sie Programme über die USB-Schnittstelle an den Controller übertragen. Um diesen Modus zu aktivieren, trennen Sie das Board komplett vom USB-Port. Danach halten Sie den Taster SW1 gedrückt und stecken das Board wieder an den USB-Anschluss. Eine schnell blinkende LED zeigt an, dass der Bootloader nun aktiv ist. Bei neueren CY8CKIT-049-42xx-Entwicklungsboards blinkt sie stattdessen langsam, was manchmal zu Verwirrung führt.
Ist der Bootloader aktiv, übertragen Sie das angepasste PWM-Programm in den Controller. Dazu wählen Sie den Menüpunkt Tools | Bootloader Host. Es schadet nicht, die Kommunikationsparameter noch einmal zu überprüfen. Dann wählen Sie die Datei Bootloadable Blinking LED.cyacd aus, die Sie im Workspace unter SCB_Bootloader\ Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_541\Debug finden.
Nach dem Anklicken der Datei wählen Sie noch den USB-Port aus, den Sie verwenden wollen. Damit aktivieren Sie die Funktionen oben im Dialog zum Übertragen des Programms in den Mikrocontroller. Mit dem Pfeil nach unten starten Sie nun den Prozess. Binnen weniger Sekunden wandert das Programm in den Mikrocontroller, und dieser führt es aus. Versuchen Sie jetzt selbst einmal, das Puls-Pausen-Verhältnis zu ändern und das geänderte Programm in den Controller zu laden.
Wie Sie eventuell bemerkt haben, befindet sich auf der linken Bildschirmseite eine Baumdarstellung des kompletten Projekts. Hier zeigt die IDE alle Dateien, die Sie benötigen, um das Projekt zu bauen. Sie haben die Möglichkeit, sich den C-Code aller Komponenten anzusehen. Wenn Sie möchten, dürfen Sie den Code direkt anpassen.
Projekte modifizieren
Das Beispiel enthält ein einfaches Projekt, das Sie leicht verändern, wenn Sie wollen. Das ist etwas einfacher, als ein Projekt komplett neu aufzusetzen. So bauen Sie auf dieser Grundlage etwa ein kleines Acht-Kanal-Lauflicht auf. Dazu verbinden Sie die Pins P2.0 bis P2.7 über 1K-Widerstände mit Leuchtdioden. Da Standard-LEDs nicht gut auf das Breadboard passen, verwenden Sie stattdessen eine Bargraph-Anzeige. Aus dem PWM-Beispiel löschen Sie alles bis auf die Komponente Bootloadable und die Clock.







