Mikrocontroller NXP stellt einfachsten 32-bit-Mikrocontroller aller Zeiten vor

Mit dem LPC800 hat NXP heute offiziell auf der Electronica den einfachsten 32-bit-Mikrocontroller überhaupt vorgestellt. Das kleinste Derivat wird in ein DIP8-Gehäuse passen, Designziele waren neben der geringsten Leistungsaufnahme im aktiven Modus ein absoluter Kampfpreis, um gegen AVR8, PIC10 und andere Wettbewerber am alleruntersten Ende des MCU-Marktes bestehen zu können. Trotz Abspeckens an allen Enden sind noch bemerkenswerte technische Eigenschaften übriggeblieben.

Kern des LPC800 ist ARMs Cortex-M0+, der kleinste und neueste Core der M-Serie, den wir hier schon ausführlich analysiert hatten. Erstmals tauchte dieser in Freescales Kinetis-L-Mikrocontrollern auf, mit denen der LPC800 allerdings nicht vergleichbar ist. Während Freescale Derivate von 24 bis über 100 Pins sowie USB-, LCD-und Touch-Schnittstellen geplant hat, war der Ansatz von NXP, den einfachsten 32-bit-Mikrocontroller mit der geringsten Stromaufnahme im aktiven Modus und den geringsten Kosten zu entwicklen.

So sind in der kleinsten Ausführung in einem 8-Pin-DIP8-Gehäuse Preise von weniger als 40 US-Cent und eine Stromaufnahme von unter 100 µA/MHz wahrscheinlich, die maximale Taktfrequenz des in NXPs C14-Prozess gefertigten Chips beträgt 30 MHz, was zusammen mit der wesentlich höheren Rechenleistung des Cortex-M0+ im Vergleich zu jedem 8-bit-Core die anvisierte 8-bit-Konkurrenz natürlich um Längen schlägt.

Bild 1 zeigt das Blockdiagramm des LPC800. Man erkennt, dass NXP auf jede Art von Ballast, also sogar auf A/D- und D/A-Wandler, bei 32-bit-Mikrocontrollern heutzutage Standard, verzichtet hat. Die seriellen Schnittstellen wurden nicht von anderen NXP-Controlern übernommen sondern von Grund auf neudesignt, um eine geringere Chip-Fläche und Leistungsaufnahme zu erreichen. Die UARTS können auch im Energiespar-Modus über einen 32-KHz-Takt betrieben werden.

Das größte Gehäuse wird 20 Pins haben (Tabelle), der Flash-Speicher reicht von 4 bis 16 KB, das SRAM von 1 bis 4 KB – ein wahrhaft minimalistischer Ansatz für eine 32-bit-ARM-MCU.

Minimalistisch ist auch die Busstruktur auf dem Chip. Während Flash-Speicher, ROM und ROM wenigstens noch über einen AHB-Lite-Bus mit dem Core kommunizieren dürfen, sind die seriellen Schnittstellen, Timer, Komparator und Power-Management-Einheit über den APB (Advanced-Periphal-Bus) angebunden, Teil des von ARM bereits 1996 eingeführten AMBA-Busses, der mit seiner 32 bit Busbreite maximal Signale mit 66 MHz unterstützt – was im Fall des .LPC800 aber natürlich vollkommen ausreichend ist,

Die GPIO sind dagegen direkt mit dem I/O-Bus des Cortex-M0+ verbunden. Durch programmierbare Pullup- und Pulldown-Wiederstände können die Eingänge auf einen definierten Wert gezogen werden. Dank des Cortex-M0+ und seiner verbesserten I/O-Schnittstelle können mit einer Instruktion bis zu 18 I/O-Pins umgeschaltet werden (Bild 2) und das mit der halben Core-Taktfrequenz. Desweiteren kann man Bitmuster von bis zu 8 Eingängen mit einem vordefinierten Wert vergleichen.

 Bezeichnung/EigenschaftLPC810LPC811
LPC812
  
GehäuseDIP8TSSOP16TSSOP16SO20TSOOP20
Flash-Speicher in KB48161616
SRAM in KB12444
GPIO614141818
Komparator-Zahl/URef1/Nein1/Ja1/Ja1/Ja1/Ja
State-Configurable-Timer (SCT)11111
Multi-Rate-Timer (4 Kanäle)11111
I2C11111
 SPI1 1 2 1 2
 UART2 2 3 2 3
Zunächst wird des fünf Derivate in drei unterschiedlichen Gehäusen geben. LPC810, 811 und 812 unterscheiden sich durch die Größe des Flash-Speichers.