Mikrocontroller

NXP stellt einfachsten 32-bit-Mikrocontroller aller Zeiten vor

12. November 2012, 9:38 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Schaltmatrix für flexible I/O-Pin-Zuordnung

Bild 3. Mit der I/O-Schaltmatrix können Leitungen von seriellen Schnittstellen, Timern und GPIOs flexibel den verfügbaren Pins zugeordnet werden.
Bild 3. Mit der I/O-Schaltmatrix können Leitungen von seriellenSchnittstellen, Timern und GPIOs flexibel den verfügbarenPins zugeordnet werden.
© Elektronik

Eine interessante Funktionalität stellt die I/O-Schaltmatrix dar (Bild 3). Mit ihr kann man Ein- und Ausgänge der seriellen Schnittstellen UART, SPI, I2C, Timer und GPIO flexibel den zur Verfügungs stehenden Pins zuordnen und damit etwaige notwendige Hardware-Redesigns vermeiden. In dem Beispiel aus Bild 3 wird durch unterschiedliche Konfiguration ein UART den Pins P0_2, P0_3 und P0_4 zugeordnet. Das ganze geschieht über ein grafisches Tool, mit dem man einzelne Leitungen auf einfache Weise einem bestimmten Pin zuweisen kann.

Das interessanteste Peripherieelement das das sogenannte „State-Configurable-Timer-Subsystem“ (SCT, Bild 4), das man schon von anderen NXP-Mikrocotrollern wie dem LPC4300 kennt. Es handelt sich beim SCT um einen programmierbaren Allzweck-Zustandsautomaten in Kombination mit einem Timer. Während der SCT beim LPC4300 noch aus 8 Eingänge, 16 Ausgänge und bis zu 32 Zuständen maximal 16 Ereignisse erzeugt, wurde er beim LPC800 aus Kosten- und Platzgründen auf jeweils 4 Ein- und Ausgänge und 2 Zustände abgespeckt, die maximal 6 Ereignisse erzeugen können.

Die Eingänge des Zustandsautomaten und die Timer-Ausgänge werden auf Pins herausgeführt, um mit externer Hardware kommunizieren zu können. Nachdem der Zustandsautomat einmal von der CPU initialisiert wurde und vorausgesetzt, dass die Anzahl der Zustände nicht mehr als 6 beträgt, arbeitet der Timer für die Zustandsänderungen völlig autonom und benötigt keine weitere Involvierung der CPU.

Bild 5. Mit dem „State Configurable Timer Subsystem”, einem programmierbaren Zustandsautomaten in Kombination mit einem Timer, können auch komplexe Funktionen wie Motorsteuerungen realisiert werden.
Bild 4. Mit dem „State Configurable Timer Subsystem”, einem programmierbarenZustandsautomaten in Kombination mit einem Timer, können auch komplexe Funktionen wie Motorsteuerungen realisiert werden.
© Elektronik

Ein weiterer Block dekodiert aus Eingängen, Ausgängen und Zuständen bis zu 6 Ereignisse, um den Zustandsautomaten von einem Zustand in den nächsten zu überführen. Als Anwendungsbeispiele kann man sich z.B. die Erzeugung von PMW-Ausgangssignalen oder das Triggern von A/D-Wandler-Abtastpunkten im Bereich Motorsteuerung, die Erzeung von modulierten PWM-Ausgangssignalen oder die Reaktion auf Signale eines Beleuchtunsgsensors im Bereich Lighting oder allgemein die Erzeugung von Pulssequenzen oder Taktsignalen vorstellen. Natürlich ist auch die Abtastung von Eingangssignalen z.B. für Frequenzerkennung, Pulsbreitenerkennung oder Phasenerkennung denkbar. Zudem kann externe Logik für eine Signalaufbereitung ersetzt werden und das Jitter-frei.

Um den Zustandsautomaten zu programmieren, gibt es zwei Tools: Fizzim (<c"EK-Rot">www.fizzim.com<c$>) sowie das integrierte Werkzeug LPCXpresso von CodeRed. Über eine GUI wird der Zustandsautomat konfiguriert, anschließend wird C-Code generiert der z.B. mit Keils µVision-Compiler kompiliert werden kann.


  1. NXP stellt einfachsten 32-bit-Mikrocontroller aller Zeiten vor
  2. Schaltmatrix für flexible I/O-Pin-Zuordnung
  3. Analog, Timer und Fazit

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu NXP Semiconductors Germany