<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.187.122.42</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.187.122.42"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/84.187.122.42"/>
	<updated>2026-04-11T03:16:17Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80535</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80535"/>
		<updated>2014-01-02T13:55:05Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Controller */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home  lpcware]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 256kB. Die IDE ist auch für &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home Linux und Mac]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[http://www.watterott.com/de/LPC1114FN28/102 watterott: LPC1114FN28/102 DIP28] 2,68 EUR (Stand Nov 2013)&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== LPCWare (kostenlos) ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (Ursprünglich von &amp;quot;Code REd&amp;quot; entwickelt, die Firma wurde 2013 von LPC gekauft) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 256kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red und NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.elpro.org/shop/shop.php elpro]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox] (Kostenlos)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80534</id>
		<title>LPC1xxx Entwicklungskit LPCXpresso</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80534"/>
		<updated>2014-01-02T13:41:30Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Evaluation Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:LPCXpresso_board_NXP.jpg|thumb|right|550px|LPCXpresso ©NXP.com]]&lt;br /&gt;
==LPCXpresso ==&lt;br /&gt;
&lt;br /&gt;
NXP hat das hier beschriebene Entwicklungskit zusammen mit Embedded Artists entwickelt. Dazu wurde von Code-Red - im Auftrag von NXP - eine passende Entwicklungsumgebung erstellt, die kostenlos erhältlich ist. Hier eine &#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.getting.started.pdf erste Einführung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das preiswerte Board (ca. 25€) ist z.B. hier erhältlich &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Hier die &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf Dokumentation]&#039;&#039;&#039; (PDF) von NXP.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
===Aufbau des Boards===&lt;br /&gt;
&lt;br /&gt;
Das Board ist als teilbare Platine ausgeführt. Der obere Teil - der LPC-Link - hat sowohl die Funktion eines USB-Programmers, als auch die eines USB-Debuggers. &lt;br /&gt;
&lt;br /&gt;
Der untere Teil ist ein reines Eval-Board, das - je nach Wunsch - mit einem LPC1114, LPC1343, oder LPC1769 ausgestattet ist.&lt;br /&gt;
&lt;br /&gt;
LPC-Link und Eval-Buard können an der markierten Stelle zwischen dem 2x8-Poligen Stecker getrennt, und separat eingesetzt werden. Über einen 8x Jumper ist jederzeit wieder eine Verbindung möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der LPC-Link===&lt;br /&gt;
[[Bild:LPC_Xpresso_lpc-link_NXP.jpg|thumb|right|550px|LPC-Link ©NXP.com]]&lt;br /&gt;
Der LPC-Link enthält den Programmer und Debugger. Die PCB enthält einen LPC3154, eine USB-Schnittstelle, ein JTAG/SWD-Interface und ein paar LEDs.  &lt;br /&gt;
Das Programmier-Interface ist sowohl im 2,54mm Raster (8-polige Lochreihe an der schmalen Seite zum Target, &amp;quot;J4&amp;quot;), als auch im 1,27mm Raster (2x5-polig, als SMD-Stiftleiste &amp;quot;J5&amp;quot;) vorhanden. Pin 1 ist jeweils deutlich gekennzeichnet.&lt;br /&gt;
Hier die Pinbelegung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Steckerbelegung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Pin Nummer ||J5 (2x5-polig) || J4 (1x8-polig)&lt;br /&gt;
|-&lt;br /&gt;
| Pin  1|| V_Target || V_Target&lt;br /&gt;
|-&lt;br /&gt;
| Pin  2|| SWDIO/TMS|| SWDIO/TMS&lt;br /&gt;
|-&lt;br /&gt;
| Pin  3|| GND|| SWDCLK/TCLK&lt;br /&gt;
|-&lt;br /&gt;
| Pin  4|| SWDCLK/TCLK|| SWO/TDO&lt;br /&gt;
|-&lt;br /&gt;
| Pin  5|| GND|| nc/TDI&lt;br /&gt;
|-&lt;br /&gt;
| Pin  6|| SWO/TDO|| nRESET&lt;br /&gt;
|-&lt;br /&gt;
| Pin  7|| nc|| EXT Power&lt;br /&gt;
|-&lt;br /&gt;
| Pin  8|| nc/TDI|| GND&lt;br /&gt;
|-&lt;br /&gt;
| Pin  9|| GND|| -&lt;br /&gt;
|-&lt;br /&gt;
| Pin 10|| nRESET|| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Achtung: die Pinnummer für J4 entspricht dem GETRENNTEN Zustand der PCB. Die Nummerierung auf der Platine beginnt aber bei 1, und endet bei 15 (siehe auch Foto rechts).&lt;br /&gt;
&lt;br /&gt;
===Eine passende Entwicklungsumgebung===&lt;br /&gt;
Code-Red hat einen speziell angepaßten C-Compiler entwickelt. &lt;br /&gt;
Die IDE basiert auf Eclipse und ist ohne Registrierung bis 8kB freigeschaltet. Nach einer kostenlosen Registrierung erhält man eine &amp;quot;Full&amp;quot; Lizenz bis 512kB, die auch für den kommerziellen Einsatz zugelassen ist. &lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;.&lt;br /&gt;
Weitere Compiler sind verfügbar, hier eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Entwicklungsumgebungen Übersicht]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.elpro.org/shop/shop.php?p=32BitMicrocontroller elpro]&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;LPCWare&amp;quot; Entwicklungsplattform)], dazu hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex NXP Boards&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungsplattformen ===&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* [http://www.rowley.co.uk/arm/index.htm Rowley Crossworks]&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80533</id>
		<title>LPC1xxx Entwicklungskit LPCXpresso</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80533"/>
		<updated>2014-01-02T13:41:07Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:LPCXpresso_board_NXP.jpg|thumb|right|550px|LPCXpresso ©NXP.com]]&lt;br /&gt;
==LPCXpresso ==&lt;br /&gt;
&lt;br /&gt;
NXP hat das hier beschriebene Entwicklungskit zusammen mit Embedded Artists entwickelt. Dazu wurde von Code-Red - im Auftrag von NXP - eine passende Entwicklungsumgebung erstellt, die kostenlos erhältlich ist. Hier eine &#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.getting.started.pdf erste Einführung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das preiswerte Board (ca. 25€) ist z.B. hier erhältlich &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Hier die &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf Dokumentation]&#039;&#039;&#039; (PDF) von NXP.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
===Aufbau des Boards===&lt;br /&gt;
&lt;br /&gt;
Das Board ist als teilbare Platine ausgeführt. Der obere Teil - der LPC-Link - hat sowohl die Funktion eines USB-Programmers, als auch die eines USB-Debuggers. &lt;br /&gt;
&lt;br /&gt;
Der untere Teil ist ein reines Eval-Board, das - je nach Wunsch - mit einem LPC1114, LPC1343, oder LPC1769 ausgestattet ist.&lt;br /&gt;
&lt;br /&gt;
LPC-Link und Eval-Buard können an der markierten Stelle zwischen dem 2x8-Poligen Stecker getrennt, und separat eingesetzt werden. Über einen 8x Jumper ist jederzeit wieder eine Verbindung möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der LPC-Link===&lt;br /&gt;
[[Bild:LPC_Xpresso_lpc-link_NXP.jpg|thumb|right|550px|LPC-Link ©NXP.com]]&lt;br /&gt;
Der LPC-Link enthält den Programmer und Debugger. Die PCB enthält einen LPC3154, eine USB-Schnittstelle, ein JTAG/SWD-Interface und ein paar LEDs.  &lt;br /&gt;
Das Programmier-Interface ist sowohl im 2,54mm Raster (8-polige Lochreihe an der schmalen Seite zum Target, &amp;quot;J4&amp;quot;), als auch im 1,27mm Raster (2x5-polig, als SMD-Stiftleiste &amp;quot;J5&amp;quot;) vorhanden. Pin 1 ist jeweils deutlich gekennzeichnet.&lt;br /&gt;
Hier die Pinbelegung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Steckerbelegung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Pin Nummer ||J5 (2x5-polig) || J4 (1x8-polig)&lt;br /&gt;
|-&lt;br /&gt;
| Pin  1|| V_Target || V_Target&lt;br /&gt;
|-&lt;br /&gt;
| Pin  2|| SWDIO/TMS|| SWDIO/TMS&lt;br /&gt;
|-&lt;br /&gt;
| Pin  3|| GND|| SWDCLK/TCLK&lt;br /&gt;
|-&lt;br /&gt;
| Pin  4|| SWDCLK/TCLK|| SWO/TDO&lt;br /&gt;
|-&lt;br /&gt;
| Pin  5|| GND|| nc/TDI&lt;br /&gt;
|-&lt;br /&gt;
| Pin  6|| SWO/TDO|| nRESET&lt;br /&gt;
|-&lt;br /&gt;
| Pin  7|| nc|| EXT Power&lt;br /&gt;
|-&lt;br /&gt;
| Pin  8|| nc/TDI|| GND&lt;br /&gt;
|-&lt;br /&gt;
| Pin  9|| GND|| -&lt;br /&gt;
|-&lt;br /&gt;
| Pin 10|| nRESET|| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Achtung: die Pinnummer für J4 entspricht dem GETRENNTEN Zustand der PCB. Die Nummerierung auf der Platine beginnt aber bei 1, und endet bei 15 (siehe auch Foto rechts).&lt;br /&gt;
&lt;br /&gt;
===Eine passende Entwicklungsumgebung===&lt;br /&gt;
Code-Red hat einen speziell angepaßten C-Compiler entwickelt. &lt;br /&gt;
Die IDE basiert auf Eclipse und ist ohne Registrierung bis 8kB freigeschaltet. Nach einer kostenlosen Registrierung erhält man eine &amp;quot;Full&amp;quot; Lizenz bis 512kB, die auch für den kommerziellen Einsatz zugelassen ist. &lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;.&lt;br /&gt;
Weitere Compiler sind verfügbar, hier eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Entwicklungsumgebungen Übersicht]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.elpro.org/shop/shop.php?p=32BitMicrocontroller elpro]&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex NXP Boards&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungsplattformen ===&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* [http://www.rowley.co.uk/arm/index.htm Rowley Crossworks]&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80532</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80532"/>
		<updated>2014-01-02T13:40:38Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home  lpcware]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 256kB. Die IDE ist auch für &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home Linux und Mac]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[http://www.watterott.com/de/LPC1114FN28/102 watterott: LPC1114FN28/102 DIP28] 2,68 EUR (Stand Nov 2013)&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== LPCWare (kostenlos) ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (Ursprünglich von &amp;quot;Code REd&amp;quot; entwickelt, die Firma wurde 2013 von LPC gekauft) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 256kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red und NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox] (Kostenlos)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80531</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80531"/>
		<updated>2014-01-02T13:39:39Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Entwicklungsumgebungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home  lpcware]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 256kB. Die IDE ist auch für &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home Linux und Mac]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[http://www.watterott.com/de/LPC1114FN28/102 watterott: LPC1114FN28/102 DIP28] 2,68 EUR (Stand Nov 2013)&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== LPCWare (kostenlos) ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (Ursprünglich von &amp;quot;Code REd&amp;quot; entwickelt, die Firma wurde 2013 von LPC gekauft) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 256kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red und NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox] (Kostenlos)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red&amp;diff=80530</id>
		<title>Installationsanleitung C-Entwicklungsumgebung für LPC1xxx von Code Red</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red&amp;diff=80530"/>
		<updated>2014-01-02T13:36:55Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier eine kurze Installationsanleitung zur LPC-IDE:&lt;br /&gt;
&lt;br /&gt;
Die IDE basiert auf Eclipse und ist ohne Registrierung bis 8KB freigeschaltet. Nach einer kostenlosen Registrierung erhält man eine &amp;quot;Full&amp;quot; Lizenz bis 512KB.&lt;br /&gt;
&lt;br /&gt;
# Gehe zur LPCXpresso-Website [http://lpcxpresso.code-red-tech.com/LPCXpresso/ Website]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
# Die Software von [http://www.lpcware.com/lpcxpresso/home Downloads] herunterladen. &lt;br /&gt;
# Während der Wartezeit in der CodeRed-FAQ [http://support.code-red-tech.com/CodeRedWiki/CodeRedFAQ CodeRed-FAQ] oder jetzt in der [http://www.lpcware.com LPCWARE-Seite] stöbern.&lt;br /&gt;
# Software installieren. Die Software ist ohne Registrierung automatisch für 8KB freigeschaltet&lt;br /&gt;
# LPCXpresso starten&lt;br /&gt;
# Im Menü &amp;quot;Help&amp;quot; den Punkt &amp;quot;Product activation&amp;quot; und dann &amp;quot;Create Serial Number and activate...&amp;quot; auswählen und die Nummer kopieren.&lt;br /&gt;
# Wie dort beschrieben die Nummer auf der NXP-Seite eingeben, ggf muß man sich dort zuerst kostenfrei registrieren.&lt;br /&gt;
# Ist die Mail von &amp;quot;NXP&amp;quot; angekommen, oder bei der neueren Version sobald der Freischaltcode angezeigt wird, die lange Nummer herauskopieren und im Menü &amp;quot;Help&amp;quot; den Punkt &amp;quot;Product Activation&amp;quot; und dann &amp;quot;Enter Activation Code&amp;quot; auswählen, und diese Nummer einfügen.&lt;br /&gt;
# Fertig! Die IDE ist jetzt registriert. Dies bedeutet, daß eine maximale Codegröße von 512KiB erzeugt oder debugt werden kann. LPC weist explizit darauf hin, daß dies einer &amp;quot;FULL&amp;quot; Lizenz entspricht, mit der auch produktiv – also nicht nur für den Privatgebrauch – gearbeitet werden kann.&lt;br /&gt;
 &lt;br /&gt;
Viel Spaß!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Codebase_f%C3%BCr_LPC1xxx&amp;diff=80529</id>
		<title>Codebase für LPC1xxx</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Codebase_f%C3%BCr_LPC1xxx&amp;diff=80529"/>
		<updated>2014-01-02T13:36:33Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Codebase für LPC11xx und LPC13xx ==&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
Neben weiteren, interessanten Infos findet man dort eine Beta-Version 0.8 für den &#039;&#039;&#039;[http://www.microbuilder.eu/Projects/LPC1114ReferenceDesign/LPC1114CodeBase.aspx LPC1114]&#039;&#039;&#039; vom 14. April 2012 (auch wenn dort 2011 steht!) und eine Beta-Version 1.1.1 für den &#039;&#039;&#039;[http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign/LPC1343CodeBase.aspx LPC1343]&#039;&#039;&#039; vom 14. April 2012.&lt;br /&gt;
&lt;br /&gt;
(Achtung: die aktuellste Version findet sich immer unter dem dort auch gezeigten &amp;quot;github&amp;quot;-Link)&lt;br /&gt;
&lt;br /&gt;
Die Original-Dokumentation kann auf der rechten Seite unter &amp;quot;Code Base/Documentation&amp;quot; angewählt werden.&lt;br /&gt;
&lt;br /&gt;
Natürlich können die Funktionen die unter LPC1343 gesammelt werden auch für z.B. den LPC1313 eingesetzt werden, jedoch könnte das Ergebnis beim ansprechen von eigentlich nicht vorhandener Peripherie unvorhersehbar sein.&lt;br /&gt;
&lt;br /&gt;
Der hier folgende Text ist zum gegenwärtigen Zeitpunkt (Januar 2012) im Wesentlichen eine Übersetzung der Seite von microbilder.eu&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Informationen zum Aufbau der Code Base ==&lt;br /&gt;
&lt;br /&gt;
Der Aufbau der Dateien wird am Beispiel für den weiter fortgeschrittenen Stand zur LPC13xx Familie beschrieben, sollte aber weitgehend auch für den LPC1114 anwendbar sein. Die Beispiele der Code-Base beziehen sich auf ein Referenzboard von &amp;quot;microbuilder.eu&amp;quot; das &#039;&#039;&#039;[http://www.microbuilder.eu/projects/LPC1343ReferenceDesign.aspx hier]&#039;&#039;&#039; verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download des im Folgenden beschriebenen Code-Packages als github-Zip [https://github.com/microbuilder/LPC1343CodeBase/zipball/master hier]... immer als aktuellste Version &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ziel ist, auf dem aktuellen Stand aufzusetzen, bereits vorhandene Grundfunktionen zu erweitern und neue hinzuzufügen, Mitarbeit ist herzlich willkommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lizenz ===&lt;br /&gt;
&lt;br /&gt;
Der Author, microBuilder SARL, hat seine Libs unter eine &amp;quot;modifizierte BSD-Lizenz gestellt&amp;quot;, die Nutzung und Modifikation erlaubt, sofern der in jedem File enthaltene Paragraph zur&lt;br /&gt;
Lizenzbeschreibung erhalten bleibt. Details sind aus jedem beliebigen File der Code Base zu entnehmen.&lt;br /&gt;
&lt;br /&gt;
=== Unterstütze Peripherieeinheiten ===&lt;br /&gt;
(Stand Januar 2012)&lt;br /&gt;
&lt;br /&gt;
* CPU  (vorerst nur auf 72MHz gesetzt)&lt;br /&gt;
* ADC  (Analog zu Digital Konverter)&lt;br /&gt;
* GPIO (Standard Eingänge und Ausgänge)&lt;br /&gt;
* I2C  (Generischer I2C Code, interrupt betrieben)&lt;br /&gt;
* PMU  (Power Management, Sleep-Modi)&lt;br /&gt;
* PWM  (Pulsweiten Modulation)&lt;br /&gt;
* SSP  (Generischer SSP/SPI Code)&lt;br /&gt;
* Systick (Verwendung des 24-bit Systick Timers)&lt;br /&gt;
* Timer16 (Die 16-bit Timer)&lt;br /&gt;
* Timer32 (Die 32-bit Timer)&lt;br /&gt;
* UART (UART code, interrupt betrieben)&lt;br /&gt;
* USBCDC (USB / Serial Port Emulation)&lt;br /&gt;
* USBHID-ROM (ROM-based USB HID)&lt;br /&gt;
* WDT (Watchdog Timer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enthaltene Treiber für externe HW ===&lt;br /&gt;
(Stand Januar 2012)&lt;br /&gt;
&lt;br /&gt;
* EEPROM/AT25040 (SPI EEPROM)&lt;br /&gt;
* EEPROM/MCP24AA (I2C EEPROM)&lt;br /&gt;
* SENSORS/LM75B (I2C Temp Sensor)&lt;br /&gt;
* CHIBI - Ein einfacher, Open Source Wireless Stack von Freaklabs für Sensorknoten. In diesem Beispiel für den AT86RF212 Transceiver (868MHz) konfiguriert.&lt;br /&gt;
* FATFS - Eine Portierung von Chan&#039;s FATFS das bereits FAT32, und einen einfachen MMC Treiber zum lesen von SDHC Karten beinhaltet&lt;br /&gt;
* ILI9325 - Treiber für einen auf ILI9325/ILI9328 Controller (8-bit Interface erforderlich) basierten 240x320 TFT LCD.&lt;br /&gt;
* ST7565 - Treiber für ein 128x64 pixel Bitmap Display&lt;br /&gt;
* SSD1306 - Treiber für ein 128x64 OLED Display (bit-banged SPI mode)&lt;br /&gt;
* TCS3414 - TAOS RGB Sensor&lt;br /&gt;
* ISL12022M - Temperaturkompensierter RTC &lt;br /&gt;
* TSL2561 - TAOS Beleuchtungssensor&lt;br /&gt;
* PN532 - 13.56MHz RFID/NFC Transceiver (im moment mit serh limitierter Funktionalität)&lt;br /&gt;
* STEPPER - Basis Treiber für einen Bipolar Schrittmotor mit L293D oder SN754410N&lt;br /&gt;
&lt;br /&gt;
== Struktur der Code Base ==&lt;br /&gt;
oder &amp;quot;wo finde ich was&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Die LPC1343 Code Base hat - nach einiger Gewöhnungszeit - einen recht einfachen Aufbau:&lt;br /&gt;
* Alle bauteilespezifischen Informationen incl. der internen Peripherie befinden sich im Verzeichnis &amp;quot;core&amp;quot;.&lt;br /&gt;
* Treiber für externe HW ist im Verzeichnis &amp;quot;drivers&amp;quot;  zusammengefaßt.&lt;br /&gt;
* Die Files zur Projekt- und Systemkonfiguration befinden sich im Root-Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
* Projektfiles für CodeLite (kostenlos) und Rowley Associates Crossworks (kommerziell) stehen im &amp;quot;build&amp;quot; Verzeichnis, und obwohl beide IDEs den gleichen Code verwenden können benutzen sie zum Compilieren nicht die gleiche Toolchain. &amp;quot;Crossworks for Arm&amp;quot; nutze eine eigene GCC Toolchain und einen eigenen Startup Code aber nicht das Makefile im Root-Verzeichnis. Mit CodeLite kann man auch ohne entsprechende Investitionen in HW und SW schon recht angenehm arbeiten&lt;br /&gt;
&lt;br /&gt;
=== LPC134x.h===&lt;br /&gt;
Um den Umgang mit der Code Base so einfach wie möglich zu machen wurde ein neues Header-File erzeugt. Obwohl bereits diverse Header-Files für den LPC1343 existieren war der Wunsch die sogenannten &amp;quot;magic-numbers&amp;quot; im Code zu eliminieren. Daher wurde ein &amp;quot;eigenes&amp;quot; erzeugt.&lt;br /&gt;
Die 134x.h Datei enthält daher für fast jedes Bit das gesetzt oder gelöscht werden kann auch eine entsprechende Definition. Es bedeutet natürlich einen großen Arbeitsaufwand all diese Informationen in ein Header-File zu pakcen, das Resultat ist jedoch ein einfach lesbarer Code, speziell wenn jemand Anderer ihn geschrieben hat.&lt;br /&gt;
&lt;br /&gt;
Was sind diese &amp;quot;Magic Numbers&amp;quot;?&lt;br /&gt;
Unter &amp;quot;Magic Numbers&amp;quot; versteht man hier den Zugriff auf ein Register ohne &amp;quot;define&amp;quot; also die direkte Angabe einer Zahl in beliebigem Format. Klar, die Eingabe ist kürzer und erzeugt den gleichen Code, aber welche Zeile ist wohl ein halbes Jahr später einfacher zu lesen??&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
UART_U0LCR = 0x83;&lt;br /&gt;
&lt;br /&gt;
UART_U0LCR = (UART_U0LCR_Word_Length_Select_8Chars |&lt;br /&gt;
              UART_U0LCR_Stop_Bit_Select_1Bits |&lt;br /&gt;
              UART_U0LCR_Parity_Disabled |&lt;br /&gt;
              UART_U0LCR_Break_Control_Disabled |&lt;br /&gt;
              UART_U0LCR_Divisor_Latch_Access_Enabled);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===projectconfig.h===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;projectconfig.h&amp;quot; enthält diverse Aufzählungen die innerhalb eines Projektes benutzt werden wie eine Übersicht über die verwendeten Pins, die CPU_Clock, die Zeit für den System-Tick, Baudraten, SSP, USB, ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Core Peripherie (core/...)===&lt;br /&gt;
&lt;br /&gt;
Alle Funktionen zum initialisieren der internen Peripherie sowie ein kleines Beispiel ist im Verzeichnis &amp;quot;core&amp;quot; enthalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===External Hardware (drivers/...)===&lt;br /&gt;
&lt;br /&gt;
Jeden Code, der mit der externen Hardware irgendwie interagiert findet man im Verzeichnis &amp;quot;drivers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Core/CPU==&lt;br /&gt;
&lt;br /&gt;
Die maximale Taktfrequenz des LPC1343 ist 72MHz.  Beim Start-Up ist automatisch die max. Taktfrequenz (72MHz), und ein externer Quarz mit 12MHz eingestellt.&lt;br /&gt;
(Der LPC13xx enthält auch einen internen 12MHz Oszillator, der aber nicht so genau wie ein externer Quarz sein kann. Für USB ist die Genauigkeit definitiv nicht ausreichend.)  &lt;br /&gt;
Um den Stromverbrauch zu minimieren werden alle Pins auf GPIO und &amp;quot;Eingang&amp;quot; gesetzt. Der interne Pull-Up Widerstand ist dabei immer in &amp;quot;pull up&amp;quot; Modus. Dies bedeutet, daß alle Pins nach dem Start der CPU auf &amp;quot;High&amp;quot; gesetzt sind.&lt;br /&gt;
Um diese Voreinstellungen zu ändern muß cpuInit entsprechend angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===cpuInit===&lt;br /&gt;
void cpuInit (void)&lt;br /&gt;
&lt;br /&gt;
Initialisiert die System-Taktfrequenz, auf max. Speed (12MHz x 6 = 72MHz)und benutzt einen externen Quarz als Taktquelle. Dies sollte die erste Funktion sein, die ausgeführt wird, da sich die CPU sonst nicht wie erwartet verhalten wird. Alle Pins sind auf GPIO mit aktiviertem internen Pull-up gesetzt.&lt;br /&gt;
&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
&lt;br /&gt;
  // Enter permanent loop&lt;br /&gt;
  while(1);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cpuGetDeviceID===&lt;br /&gt;
cpuDeviceID_t cpuGetDeviceID (void)&lt;br /&gt;
&lt;br /&gt;
Liest die CPU-ID aus&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
&lt;br /&gt;
cpuDeviceID_LPC1311, &lt;br /&gt;
cpuDeviceID_LPC1313, &lt;br /&gt;
cpuDeviceID_LPC1342, &lt;br /&gt;
cpuDeviceID_LPC1343 oder&lt;br /&gt;
cpuDeviceID_Unknown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
&lt;br /&gt;
  cpuDeviceID_t id = cpuGetDeviceID();&lt;br /&gt;
&lt;br /&gt;
  if (id == cpuDeviceID_LPC1343)&lt;br /&gt;
  {&lt;br /&gt;
    // Part is either LPC1343FBD48 or LPC1343FHN33&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Enter permanent loop&lt;br /&gt;
  while(1);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Core/ADC==&lt;br /&gt;
&lt;br /&gt;
Der LPC1343 enthält einen 8-Kanal, 10-Bit Analog/Digital Wandler (ADC), der zwischen 0 und 3,6V messen kann. (Achtung: Vcc - meist 3,3V - nicht überschreiten. Jeder Kanal kann separat, oder alle 8 Kanäle nacheinander im&lt;br /&gt;
&#039;Burst&#039; Mode gewandelt werden. Derzeit ist der &#039;Burst&#039; Mode nicht in SW umgesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===adcInit===&lt;br /&gt;
void adcInit (void)===&lt;br /&gt;
&lt;br /&gt;
Initialisiert den A/D Konverter und Konfiguriert die Kanäle 0..3 für 10-Bit.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für adcRead&lt;br /&gt;
&lt;br /&gt;
===adcRead===&lt;br /&gt;
uint32_t adcRead (uint8_t channelNum)&lt;br /&gt;
&lt;br /&gt;
Diese Funktion startet eine AD-Wandlung für einen einzigen Kanal (0..7) und gibt das Ergebnis zurück (0..1023).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * uint8_t channelNum: Der Kanal [0..7] der abgetastet werden soll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
&lt;br /&gt;
0, wenn ein Überlauf entsteht, ansonsten ein 10-Bit Wert der das Ergebnis der Wandlung enthält. &lt;br /&gt;
&lt;br /&gt;
Warnung:&lt;br /&gt;
In adcInit werden nur die Kanäle 0..3 als AD-Wandler Input konfiguriert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/adc/adc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main (void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
  adcInit();&lt;br /&gt;
&lt;br /&gt;
  uint32_t results = 0;  &lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    // Get A/D conversion results from A/D channel 0&lt;br /&gt;
    results = adcRead(0);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Core/GPIO==&lt;br /&gt;
&lt;br /&gt;
GPIO (General Purpose Input/Output) bezeichnet einen digitalen Ein-/Ausgang (I/O). JederPin kann unabhängig von Anderen beliebig als Eingang oder als Ausgang konfiguriert werden. Zusätzlich kann jeder GPIO Pin am LPC13xx als externer Interrupt Eingang konfiguriert werden. Wenn sich ein Pegel an einem solchen Pin ändert wird. Zusätzlich besitzt jeder GPIO einen internen Widerstand, der sowohl als Pull-up, als Pull-down oder als Repeater  konfiguriert werden kann. Dieser interne Widerstand ist auch abschaltbar. Details hierzu bitte im Datenblatt nachschlagen. Dieser Widerstand sorgt nicht nur für eine Verringerung der erforderlichen Bauteile für so ein System, er erhöht außerdem die Flexibilität, erfordert aber auch mehr Sorgfalt bei der Pinkonfiguration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===gpioInit ===&lt;br /&gt;
void gpioInit (void)&lt;br /&gt;
&lt;br /&gt;
Initialisiert GPIO und schaltet den GPIO interrupt handler für alle GPIO Ports ein.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für  gpioSetValue&lt;br /&gt;
&lt;br /&gt;
===gpioSetDir ===&lt;br /&gt;
void gpioSetDir (uint32_t portNum, uint32_t bitPos, gpioDirection_t dir)&lt;br /&gt;
&lt;br /&gt;
Setzt die Richtung (input/output) für einen bestimmten Port Pin.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
    * dir: die Pin Richtung (gpioDirection_Input or gpioDirection_Output)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für gpioSetValue&lt;br /&gt;
&lt;br /&gt;
===gpioSetValue ===&lt;br /&gt;
void gpioSetValue (uint32_t portNum, uint32_t bitPos, uint32_t bitVal)&lt;br /&gt;
&lt;br /&gt;
Setzt einen Wert für einen bestimmten Port Pin (nur relevant, wenn eder Pin als Ausgang konfiguriert wurde).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
    * bitVal: Enthält den neuen Pegen high (1) oder low (0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/gpio/gpio.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
  gpioInit();&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO1.8 to output&lt;br /&gt;
  gpioSetDir(1, 8, gpioDirection_Output);&lt;br /&gt;
  // Disable the internal pullup/down resistor on P1.8&lt;br /&gt;
  gpioSetPullup(&amp;amp;IOCON_PIO1_8, gpioPullupMode_Inactive);&lt;br /&gt;
  // Set GPIO1.8 high&lt;br /&gt;
  gpioSetValue(1, 8, 1);&lt;br /&gt;
&lt;br /&gt;
  while(1);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===gpioGetValue===&lt;br /&gt;
uint32_t gpioGetValue (uint32_t portNum, uint32_t bitPos)&lt;br /&gt;
&lt;br /&gt;
Liest einen bestimmten Port Pin aus.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
&lt;br /&gt;
1 wenn der Pin gerade high, oder 0 wenn der Pin gerade low ist.&lt;br /&gt;
Warnung:&lt;br /&gt;
&lt;br /&gt;
Alle GPIO Pins des LPC1343 haben interne Pull-up/Pull-down widerstände die beliebig konfiguriert werden können. By default, schaltet der LPC1343 nach dem Reset die pull-up Widerstände an den meisten Pins EIN. Hintergrund dieser Vorgehensweise ist, daß der Stromverbrauch geringer ist, wenn die Pins einen definierten Pegel haben, statt zu &amp;quot;floaten&amp;quot;. Dies hat jedoch den Nachteil, daß der zurückgelesene Pegel nicht unbedingt mit dem erwarteten Pegen zu tun haben muss. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/gpio/gpio.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
  gpioInit();&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO1.8 to input&lt;br /&gt;
  gpioSetDir(1, 8, gpioDirection_Input);&lt;br /&gt;
  // Disable the internal pullup/down resistor on P1.8&lt;br /&gt;
  gpioSetPullup (&amp;amp;IOCON_PIO1_8, gpioPullupMode_Inactive);&lt;br /&gt;
&lt;br /&gt;
  uint32_t results = 0;&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    // Read the current state of GPIO1.8 (1 = high, 0 = low)&lt;br /&gt;
    results = gpioGetValue(1, 8);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===gpioSetPullup ===&lt;br /&gt;
void gpioSetPullup (volatile uint32_t *ioconReg, gpioPullupMode_t mode)&lt;br /&gt;
&lt;br /&gt;
Alle GPIO Pins des LPC1343 haben interne Pull-up/Pull-down widerstände die beliebig konfiguriert werden können.  Diese Funktion kann dazu verwendet werden den Betriebsmodus der integrierten Widerstände auszufählen (inactive, pull-up, pull-down, or repeater)&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
* *ioconReg: Pointer auf das IOCON Register um den Pin zu wählen (zB. &#039;IOCON_PIO1_8&#039; für GPIO 1.8, &#039;IOCON_PIO2_2&#039; für GPIO 2.2, etc.). Achtung: Da dies ein Pointer ist, muß die Adresse (und nicht der Wert) des Registers übergeben werden. Dies wird erreicht in dem ein &#039;&amp;amp;&#039; vor das entsprechende IOCON Register gesetzt wird, z.B.: &#039;gpioSetPullup(&amp;amp;IOCON_PIO2_2, gpioPullupMode_Inactive);&#039;.&lt;br /&gt;
  * mode: Betriebsmodus des internen Widerstandes (gpioPullupMode_Inactive, gpioPullupMode_PullDown, gpioPullupMode_PullUp or gpioPullupMode_Repeater).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung:&lt;br /&gt;
Der LPC13xx setzt den Pull-up Widerstand direkt nach dem Reset automatisch. , &lt;br /&gt;
Um Schwierigkeiten zu vermeiden wird empfohlen alle Pins immer explizit zu definieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/gpio/gpio.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  cpuInit();&lt;br /&gt;
  gpioInit();&lt;br /&gt;
&lt;br /&gt;
  // Set GPIO1.8, 1.9, 1.10 and 1.11 to input&lt;br /&gt;
  gpioSetDir(1, 8, gpioDirection_Input);&lt;br /&gt;
  gpioSetDir(1, 9, gpioDirection_Input);&lt;br /&gt;
  gpioSetDir(1, 10, gpioDirection_Input);&lt;br /&gt;
  gpioSetDir(1, 11, gpioDirection_Input);&lt;br /&gt;
&lt;br /&gt;
  // Enable the pull-down resistor on P1.8&lt;br /&gt;
  gpioSetPullup (&amp;amp;IOCON_PIO1_8, gpioPullupMode_PullDown);&lt;br /&gt;
  // Enable the pull-up resistor on P1.9&lt;br /&gt;
  gpioSetPullup (&amp;amp;IOCON_PIO1_9, gpioPullupMode_PullUp);&lt;br /&gt;
  // Disable the internal resistor resistor on P1.10&lt;br /&gt;
  gpioSetPullup (&amp;amp;IOCON_PIO1_10, gpioPullupMode_Inactive);&lt;br /&gt;
  // Set P1.11 to &#039;Repeater&#039; (remembers the last state explicitly set)&lt;br /&gt;
  gpioSetPullup (&amp;amp;IOCON_PIO1_11, gpioPullupMode_Repeater);&lt;br /&gt;
&lt;br /&gt;
  while(1);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===gpioSetInterrupt ===&lt;br /&gt;
void gpioSetInterrupt (uint32_t portNum, uint32_t bitPos, gpioInterruptSense_t sense, gpioInterruptEdge_t edge, gpioInterruptEvent_t event)&lt;br /&gt;
&lt;br /&gt;
Jeder GPIO Pin des LPC1343 kann als externe Interrupt Quelle definiert werden. Die Funktion gpioSetInterrupt erlaubt die Festlegung, welcher Pin als Interruptquelle fungieren soll, und spezifiziert die Randbedingungen, unter denen ein Interrupt ausgelöst wird(Pin geht von H==&amp;gt;L oder von L==&amp;gt;H, ...). Abhängig von der portNum, wird der Interrupt durch den  PIOINTx_IRQHandler gehandhabt , wobei &#039;x&#039; der Portnummer entspricht (PIOINT1_IRQHandler wird benutzt wenn der Interrupt z.B. an GPIO Pin 1.8, ausgelöst wird).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
    * sense: Flanken, oder Level-sensitive(gpioInterruptSense_Edge oder gpioInterruptSense_Level).&lt;br /&gt;
    * edge: bei Flanke: Flanken-sensitive als Einfache Flanke (gpioInterruptEdge_Single) oder beide Flanken (gpioInterruptEdge_Double).&lt;br /&gt;
    * event: bei Level:, High oder Low Level (gpioInterruptEvent_ActiveHigh) (gpioInterruptEvent_ActiveLow). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/gpio/gpio.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    gpioInit();&lt;br /&gt;
&lt;br /&gt;
    // Set GPIO1.8 to input&lt;br /&gt;
    gpioSetDir(1, 8, gpioDirection_Input);&lt;br /&gt;
    // Disable the internal pullup/down resistor on P1.8&lt;br /&gt;
    gpioSetPullup (&amp;amp;IOCON_PIO1_8, gpioPullupMode_Inactive);&lt;br /&gt;
    // Setup an interrupt on GPIO1.8&lt;br /&gt;
    gpioSetInterrupt(1,                               // Port&lt;br /&gt;
                     8,                               // Pin&lt;br /&gt;
                     gpioInterruptSense_Edge,         // Edge Sensitive&lt;br /&gt;
                     gpioInterruptEdge_Single,        // Single Edge&lt;br /&gt;
                     gpioInterruptEvent_ActiveHigh);  // Active High&lt;br /&gt;
    // Enable the interrupt&lt;br /&gt;
    gpioIntEnable(1, 8);&lt;br /&gt;
&lt;br /&gt;
    while (1);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===gpioIntEnable ===&lt;br /&gt;
void gpioIntEnable (uint32_t portNum, uint32_t bitPos)&lt;br /&gt;
&lt;br /&gt;
Erlaubt einen Interrupt am spezifizierten GPIO-Pin.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für gpioSetInterrupt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===gpioIntDisable ===&lt;br /&gt;
void gpioIntDisable (uint32_t portNum, uint32_t bitPos)&lt;br /&gt;
&lt;br /&gt;
Schaltet einen Interrupt am spezifizierten GPIO-Pin aus.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für gpioSetInterrupt.&lt;br /&gt;
&lt;br /&gt;
===gpioIntClear===&lt;br /&gt;
void gpioIntClear (uint32_t portNum, uint32_t bitPos)&lt;br /&gt;
&lt;br /&gt;
Löscht den Interrupt am spezifizierten Pin. Diese Funktion sollte nur aus der Interrupt-Service Routine aufgerufen werden, wenn der Interrupt aufgetreten ist. &lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
// IRQ Handler for GPIO Port 1&lt;br /&gt;
void PIOINT1_IRQHandler(void)&lt;br /&gt;
{&lt;br /&gt;
  uint32_t regVal;&lt;br /&gt;
&lt;br /&gt;
  // Check if pin 1.8 raised the interrupt  &lt;br /&gt;
  regVal = gpioIntStatus(1, 8);&lt;br /&gt;
  if (regVal)&lt;br /&gt;
  {&lt;br /&gt;
    // Do Something&lt;br /&gt;
    ...&lt;br /&gt;
    // Clear the interrupt&lt;br /&gt;
    gpioIntClear(1, 8);&lt;br /&gt;
  }		&lt;br /&gt;
  return;&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für for gpioSetInterrupt to configure an interrupt.&lt;br /&gt;
&lt;br /&gt;
===gpioIntStatus ===&lt;br /&gt;
uint32_t gpioIntStatus (uint32_t portNum, uint32_t bitPos)&lt;br /&gt;
&lt;br /&gt;
Liest den Interrupt Status des spezifizierten Port-Pins.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: die gpio Port Nummer [0..3]&lt;br /&gt;
    * bitPos: die Bit Position für den gpio pin [0..11]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
&lt;br /&gt;
&#039;1&#039; wenn ein Interrupt an diesem Pin aufgetreten ist ansonsten  &#039;0&#039;.&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für gpioIntClear.&lt;br /&gt;
&lt;br /&gt;
==Core/PMU==&lt;br /&gt;
&lt;br /&gt;
Konfiguriert die Power Management Unit (PMU) um den Sleep, Deep-sleep und Power-Down Modus.  Jeder GPIO Pin kann so konfiguriert werden, um den Prozessor aus dem Sleep Mode aufzuwecken, aber nur ein low-level an Pin 1.4 (WAKEUP) kann den LPC aus dem Power-Down aufwecken. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===pmuInit===&lt;br /&gt;
void pmuInit(void)&lt;br /&gt;
&lt;br /&gt;
Initialisiert die Power Management Unit und Konfiguriert Pin 0.1 so, da er als Wakeup-Quelle für Sleep oder Deep-Sleep Mode fungieren kann.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
Jeder GPIO Pin kann so konfiguriert werden, um den Prozessor aus dem Sleep Mode -- ausgelöst durch pmuSleep oder pmuDeepSleep-- aufzuwecken, aber nur ein low-level an Pin 1.4 (WAKEUP) kann den LPC aus dem Power-Down -- ausgelöst durch pmuPowerDown -- aufwecken. &lt;br /&gt;
&lt;br /&gt;
Im oment ist nur P0.1 als Wakeup Quelle konfiguriert, aber in pmuSleep besteht die Möglichkeit durch auskommentieren beliebige, andere Pins zu wählen, sofern auch die entsprechende GPIO Konfiguration passend gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für pmuSleep, pmuDeepSleep and pmuPowerDown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===pmuSleep===&lt;br /&gt;
void pmuSleep(void)&lt;br /&gt;
&lt;br /&gt;
Diese Function versetzt den LPC in den Sleep Mode. Jeder GPIO-Pin kann verwendet werden um den LPC wieder aufzuwecken, der Pin muß entsprechend in pmuInit konfiguriert werden.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/pmu/pmu.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Configure wakeup sources before going into sleep/deep-sleep.&lt;br /&gt;
    // By default, pin 0.1 is configured as wakeup source (falling edge)&lt;br /&gt;
    pmuInit();&lt;br /&gt;
&lt;br /&gt;
    // Enter sleep mode&lt;br /&gt;
    pmuSleep();&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Wait for an interrupt to wake the device up&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===pmuDeepSleep===&lt;br /&gt;
void pmuDeepSleep( uint32_t sleepCtrl, uint32_t wakeupSeconds )&lt;br /&gt;
&lt;br /&gt;
Diese Function versetzt den LPC in den Deep-Sleep Mode. AJeder GPIO-Pin kann verwendet werden um den LPC wieder aufzuwecken, der Pin muß entsprechend in pmuInit konfiguriert werden. &lt;br /&gt;
Der sleepCtrl Parameter wird benötigt umd festzulegen welche Peripherieeinheiten in den Sleep-Mode versetzt werden sollen, siehe SCB_PDSLEEPCFG Register für Details). Optional kann ein Wert ungleich null , in wakeupSeconds bereitgestellt werden, der den Prozessor nach der eingestellten Zeit wieder aufweckt. Dabei wird der 32-bit Timer 0 und Pin 0.1 (CT32B0_MAT2) benutzt.&lt;br /&gt;
&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * sleepCtrl: hierüber werden die gesetzten Peripherieeinheiten gezielt in Sleep-Mode gesetzt.&lt;br /&gt;
    * wakeupSeconds: Ist dieser Wert größer 0 wird der Prozessor automatisch bach dieser Zeit in Sekunden wieder aufgeweckt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/pmu/pmu.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    uint32_t pmuRegVal;&lt;br /&gt;
&lt;br /&gt;
    // Configure wakeup sources before going into sleep/deep-sleep.&lt;br /&gt;
    // By default, pin 0.1 is configured as wakeup source (falling edge)&lt;br /&gt;
    pmuInit();&lt;br /&gt;
&lt;br /&gt;
    // Inidicate which peripherals should be disabled in deep-sleep&lt;br /&gt;
    pmuRegVal = SCB_PDSLEEPCFG_IRCOUT_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_IRC_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_FLASH_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_USBPLL_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_SYSPLL_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_SYSOSC_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_ADC_PD | &lt;br /&gt;
                SCB_PDSLEEPCFG_BOD_PD;&lt;br /&gt;
&lt;br /&gt;
    // Enter deep sleep mode and wakeup after 10 seconds&lt;br /&gt;
    pmuDeepSleep(pmuRegVal, 10);&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===pmuPowerDown===&lt;br /&gt;
void pmuPowerDown( void )&lt;br /&gt;
&lt;br /&gt;
Diese Function konfiguriert das PMU Control Register so, daß der LPC in den deep power-down mode geht. Achtung: Alle Register außer der vier Register  (PMU_GPREG0..3) verlieren ihren Inhalt während der Prozessor im Deep-Power Down Mode ist. die 3,3V dürfen dazu nicht wegfallen&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung:&lt;br /&gt;
Der LPC kann NUR durch einen Low-level an Pin P1.4 (WAKEUP aufgeweckt werden). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/pmu/pmu.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    pmuInit();&lt;br /&gt;
&lt;br /&gt;
    // Enter power-down mode&lt;br /&gt;
    pmuPowerDown();&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Device was woken up by WAKEUP pin&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Core/SSP==&lt;br /&gt;
&lt;br /&gt;
Generischer Code für SSP/SPI Kommunikation. Der SSP Block wird als SPI Master Mode initialisiert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===sspInit ===&lt;br /&gt;
void sspInit (uint32_t portNum, sspClockPolarity_t polarity, sspClockPhase_t phase)&lt;br /&gt;
&lt;br /&gt;
Initialisiert den SSP Port. By default, SSP wird als SPI frame-format mit 8-bit Data initialisiert. Pin 2.11 wird als serial clock (SCK) verwendet, und SSEL (0.2) ist als GPIO initialisiert, um manuell den SPI Port ein- bzw. Auszuschalten Überlauf und Timeout Interrupts sind beide ein.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: Port Number. ( Standardmäßig 0, es sei denn auf einem LPC1313/1.)&lt;br /&gt;
    * polarity: Clock High (sspClockPolarity_High) oder Low (sspClockPolarity_Low)als inaktiven Pegel.&lt;br /&gt;
    * phase: Bit Start mit steigender Flanke (sspClockPhase_RisingEdge) oder mit fallender Flanke sspClockPhase_FallingEdge) bei Pegelwechsel von SCK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
sspSelect() und sspDeselect() macros wurden ssp.h definiert, um SSEL kontrollieren zu können, ohne deß der dafür definierte Pin bekannt ist line &lt;br /&gt;
Siehe Beispiel für sspSend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===sspSend ===&lt;br /&gt;
void sspSend (uint32_t portNum, uint8_t *buf, uint32_t length)&lt;br /&gt;
&lt;br /&gt;
Sendet einen Datenblock an den SSP Port&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: Port Number. ( Standardmäßig 0, es sei denn auf einem LPC1313/1.)&lt;br /&gt;
    * *buf: Pointer auf den Datenpuffer&lt;br /&gt;
    * length: Block Länge des Datenpuffers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/ssp/ssp.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define SSP_FIFOSIZE		8&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    sspInit(0, sspClockPolarity_High, sspClockPhase_RisingEdge);&lt;br /&gt;
&lt;br /&gt;
    uint8_t request[SSP_FIFOSIZE];&lt;br /&gt;
    uint8_t response[SSP_FIFOSIZE];&lt;br /&gt;
&lt;br /&gt;
    // Send 0x9C to the slave device and wait for a response&lt;br /&gt;
&lt;br /&gt;
    // Fill request buffer&lt;br /&gt;
    request[0] = 0x80 | 0x1C;&lt;br /&gt;
&lt;br /&gt;
    // Enable CS line&lt;br /&gt;
    ssp0Select();&lt;br /&gt;
&lt;br /&gt;
    // Send the &#039;request&#039; data (1 byte)&lt;br /&gt;
    sspSend(0, (uint8_t *)&amp;amp;request, 1);&lt;br /&gt;
&lt;br /&gt;
    // Wait for the response (1 byte)&lt;br /&gt;
    sspReceive(0, (uint8_t *)&amp;amp;response, 1);&lt;br /&gt;
&lt;br /&gt;
    // Disable CS line&lt;br /&gt;
    ssp0Deselect();&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sspReceive===&lt;br /&gt;
void sspReceive(uint32_t portNum, uint8_t *buf, uint32_t length)&lt;br /&gt;
&lt;br /&gt;
Empfängt einen Datenblock an den SSP Port&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * portNum: Port Number. ( Standardmäßig 0, es sei denn auf einem LPC1313/1.)&lt;br /&gt;
    * *buf: Pointer auf den Datenpuffer&lt;br /&gt;
    * length: Block Länge des Datenpuffers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für sspSend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Core/Systick==&lt;br /&gt;
&lt;br /&gt;
Steuert den 24-bit &#039;system tick&#039; Timer, der sowohl als normaler Timer, alsauch als System-Timer für ein real-time Betriebssystem (FreeRTOS, Crossworks CTL, etc.) verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===systickInit ===&lt;br /&gt;
void systickInit (uint32_t delayMs)&lt;br /&gt;
&lt;br /&gt;
Initialisiert den Systick Timer in Millisekunden (typischer Wert = 10ms). Dies führt alle z.B. 10ms zu einem Systtick Interrupt und dazu, daß eine unsigned 32-Bit Variable mit dem Namen &amp;quot;msTicks&amp;quot; um 1 hochgezählt wird wenn der Interrupt ausgelöst wird.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * delayMs: Indicates the length of time in millaseconds between each system &#039;tick&#039;.&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für systickDelay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===systickDelay ===&lt;br /&gt;
void systickDelay (uint32_t delayTicks)&lt;br /&gt;
&lt;br /&gt;
Führt zu einem den Prozessor blockierenden Wartezeit von einer spezifizierten Anzahl an Systick Timer Ticks. Die Länge der Pause hängt von der in der systickInit Function definierten Interruptzeit ab. &lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * delayTicks: The number of systick ticks to wait.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/systick/systick.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
  // Initialise the cpu&lt;br /&gt;
  cpuInit();&lt;br /&gt;
  // Initialise the systick timer with one tick every 10 millaseconds&lt;br /&gt;
  systickInit(10);&lt;br /&gt;
&lt;br /&gt;
  while(1)&lt;br /&gt;
  {&lt;br /&gt;
    // Wait 15 ticks on the systick timer (meaning 150ms)&lt;br /&gt;
    systickDelay(15);&lt;br /&gt;
    // Do something ...&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Core/Timer16==&lt;br /&gt;
Steuert alle 16-Bit Timers auf dem LPC1343. Achtung: bei 72MHz deckt ein 16-Bit Timer nur eine Zeit von knapp 0.91mS (or 910uS) ab:&lt;br /&gt;
&lt;br /&gt;
1 mS = CFG_CPU_CCLK / 1000&lt;br /&gt;
     = 72000000 / 1000&lt;br /&gt;
     = 72000 &#039;ticks&#039;&lt;br /&gt;
&lt;br /&gt;
Der Maximalwert eines 16-Bit Timers ist 0xFFFF (65535) also 0.910208ms. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===timer16Init===&lt;br /&gt;
void timer16Init(uint8_t timerNum, uint16_t timerInterval)&lt;br /&gt;
&lt;br /&gt;
Initialisiert einen 16-bit timer mit seiner Interruptzeit. Jedes mal, wenn der Zeiraum abgelaufen ist wird der Timer-Interrupt ausgelöst, und die Zählervariable um eins hochgezählt. (z.B.  mit Timer CT16B0, wird der &#039;timer16_0_counter&#039; Inkrementiert).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
    * timerNum: Der 16-Bit Timer der initialisiert werden soll [0..1]&lt;br /&gt;
    * timerInterval: Die Anzahl an Takt-&#039;ticks&#039; zwischen den Interrupts [0..65534]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung&lt;br /&gt;
Vorsicht bei der Konfiguration der Timer, da die Pins mehrfach mit anderer Peripherie gemultiplext werden, je nach Initialisierung.Diese Funktion dient nur der besseren Veranschaulichung und muß unbedingt an die jeweiligen Randbedingungen angepaßt werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;/core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;/core/timer16/timer16.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Instantiated in timer16.c&lt;br /&gt;
extern volatile uint32_t timer16_0_counter;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Initialise timer0 with a delay of 0xFFFF, which will cause the&lt;br /&gt;
    // timer interrupt to fire every 65535 ticks and increment&lt;br /&gt;
    // timer16_0_counter by 1&lt;br /&gt;
    timer16Init(0, 0xFFFF);&lt;br /&gt;
&lt;br /&gt;
    // Enable the timer&lt;br /&gt;
    timer16Enable(0);&lt;br /&gt;
&lt;br /&gt;
    // At this point timer16_0_counter should start incrementing by 1&lt;br /&gt;
    // every 65535 ticks&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // If the timer has been fired 10 times, disabled the timer&lt;br /&gt;
        if (timer16_0_counter == 10)&lt;br /&gt;
        {&lt;br /&gt;
            timer16Disable(0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===timer16DelayTicks===&lt;br /&gt;
void timer16DelayTicks(uint8_t timerNum, uint16_t delayInTicks)&lt;br /&gt;
&lt;br /&gt;
Führt zu einer blockierenden Pause für die definierte Anzahl an Takt-ticks.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der 16-Bit Timer der initialisiert werden soll [0..1]&lt;br /&gt;
    * delayInTicks: Anzahl an Takt ticks die pausiert werden soll [0..65534]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
Die genaue Zeitdauer der Pause hängt von der Taktrate des System-Taktes ab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;/core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;/core/timer16/timer16.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Initialise timer 0 ... delay is provided but not used here&lt;br /&gt;
    timer16Init(0, 0xFFFF);&lt;br /&gt;
&lt;br /&gt;
    // Enable the timer&lt;br /&gt;
    timer16Enable(0);&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Cause blocking delay for 36000 ticks (0.5mS @ 72MHz)&lt;br /&gt;
        // Note: The delay must be 65534 or less (16-bit value)&lt;br /&gt;
        timer16DelayTicks(0, 36000);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===timer16DelayUS===&lt;br /&gt;
void timer16DelayUS(uint8_t timerNum, uint16_t delayInUS)&lt;br /&gt;
&lt;br /&gt;
Führt zu einer blockierenden Pause für die definierte Anzahl an Mikrosecunden.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 16-Bit Timer [0..1]&lt;br /&gt;
    * delayInUS: Anzahl der Mikrosekonden, die gewartet werden soll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung&lt;br /&gt;
Die maximale Wartezeit bei 72MHz beträgt 910uS (0xFFFF / 72 = 910), or 0.91ms&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;/core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;/core/timer16/timer16.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Initialise timer 0 ... delay is provided but not used here&lt;br /&gt;
    timer16Init(0, 0xFFFF);&lt;br /&gt;
&lt;br /&gt;
    // Enable the timer&lt;br /&gt;
    timer16Enable(0);&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Cause blocking delay for 500 microseconds (0.5mS)&lt;br /&gt;
        timer16DelayUS(0, 500);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===timer16Enable===&lt;br /&gt;
void timer16Enable(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Schaltet den spezifizierten Timer ein (erlaubt die Auslösung der konfigurierten Interrupts)&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 16-Bit Timer [0..1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für timer16Init&lt;br /&gt;
void timer16Disable(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Schaltet den spezifizierten Timer aus (verbietet die Auslösung der konfigurierten Interrupts)&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 16-Bit Timer [0..1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für timer16Init&lt;br /&gt;
&lt;br /&gt;
===timer16Reset===&lt;br /&gt;
void timer16Reset(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Setzt den spezifizierten Timer zurück.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: The 16-bit timer to reset [0..1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Core/Timer32==&lt;br /&gt;
Steuert alle 32-Bit Timers auf dem LPC1343.&lt;br /&gt;
Achtung: der 32-bit timers ermöglicht einen deutlich längeren Timerinterrupt als der 16-Bit Timer. z.B.&lt;br /&gt;
&lt;br /&gt;
1 mS = CFG_CPU_CCLK / 1000&lt;br /&gt;
     = 72000000 / 1000&lt;br /&gt;
     = 72000 &#039;ticks&#039;&lt;br /&gt;
&lt;br /&gt;
Der Maximalwert eines 32-Bit Timers ist, 0xFFFFFFFF (4,294,967,295), gleichbedeutend mit 59652ms (etwas weniger als eine Minute, im Vergleich ~0.91ms mit einem 16 Bit Timer @ 72MHz).&lt;br /&gt;
&lt;br /&gt;
Sowohl die 16-Bit, alsauch die 32-Bit Timer können in verbindung mit einem externen Pin eingesetzt werden. z.B. setzen/löschen eines Pins, wenn ein &amp;quot;Match&amp;quot; eintritt. Jeses Matchregisters jedes Timers kann auch als PWM Register verwendet werden und ein entsprechendes PWM-Verhältnis ausgeben zu können. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===timer32Init===&lt;br /&gt;
void timer32Init(uint8_t timerNum, uint32_t timerInterval)&lt;br /&gt;
&lt;br /&gt;
Initialisiert einen 32-bit timer mit seiner Interruptzeit. Jedes mal, wenn der Zeiraum abgelaufen ist wird der Timer-Interrupt ausgelöst, und die Zählervariable um eins hochgezählt. (z.B.  mit Timer CT16B0, wird der &#039;timer16_0_counter&#039; Inkrementiert).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
    * timerNum: Der 32-Bit Timer der initialisiert werden soll [0..1]&lt;br /&gt;
    * timerInterval: Die Anzahl an Takt-&#039;ticks&#039; zwischen den Interrupts [0..4,294,967,294]&lt;br /&gt;
&lt;br /&gt;
Warnung:&lt;br /&gt;
Vorsicht bei der Konfiguration der Timer, da die Pins mehrfach mit anderer Peripherie gemultiplext werden, je nach Initialisierung.Diese Funktion dient nur der besseren Veranschaulichung und muß unbedingt an die jeweiligen Randbedingungen angepaßt werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;/core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;/core/timer32/timer32.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Instantiated in timer32.h&lt;br /&gt;
extern volatile uint32_t timer32_0_counter;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Initialise timer0 with a delay of 72000, which will cause the&lt;br /&gt;
    // timer interrupt to fire every 1mS @ 72MHz and increment&lt;br /&gt;
    // timer32_0_counter by 1&lt;br /&gt;
    timer32Init(0, 72000);&lt;br /&gt;
&lt;br /&gt;
    // Enable the timer&lt;br /&gt;
    timer32Enable(0);&lt;br /&gt;
&lt;br /&gt;
    // At this point timer32_0_counter should start incrementing by 1&lt;br /&gt;
    // every 72000 ticks&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // If the timer has been fired 10 times, disabled the timer&lt;br /&gt;
        if (timer32_0_counter == 10)&lt;br /&gt;
        {&lt;br /&gt;
            timer32Disable(0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===timer32Delay===&lt;br /&gt;
void timer32Delay(uint8_t timerNum, uint32_t delay)&lt;br /&gt;
&lt;br /&gt;
Führt zu einer blockierenden Pause für die definierte Anzahl an Takt-ticks.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der 16-Bit Timer der initialisiert werden soll [0..1]&lt;br /&gt;
    * delayInTicks: Anzahl an Takt ticks die pausiert werden soll &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
Die genaue Zeitdauer der Pause hängt von der Taktrate des System-Taktes ab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warning&lt;br /&gt;
Die max. delay-Zeit hängt von &#039;timerInterval&#039; Wert ab, der bei der Timer initialisierung verwendet wird  (siehe timer32Init).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;/core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;/core/timer32/timer32.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Initialise timer 0 with 1 millisecond &#039;ticks&#039;&lt;br /&gt;
    timer32Init(0, TIMER32_CCLK_1MS);&lt;br /&gt;
&lt;br /&gt;
    // Enable the timer&lt;br /&gt;
    timer32Enable(0);&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Cause a blocking delay for 1.5 seconds (1500 milliseconds)&lt;br /&gt;
        timer32Delay(0, TIMER32_DELAY_1MS * 1500);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===timer32Enable===&lt;br /&gt;
void timer32Enable(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Schaltet den spezifizierten Timer ein (erlaubt die Auslösung der konfigurierten Interrupts)&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 32-Bit Timer [0..1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für timer32Init&lt;br /&gt;
&lt;br /&gt;
===timer32Disable===&lt;br /&gt;
void timer32Disable(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Schaltet den spezifizierten Timer aus (verbietet die Auslösung der konfigurierten Interrupts)&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 32-Bit Timer [0..1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für timer32Init&lt;br /&gt;
&lt;br /&gt;
===timer32Reset===&lt;br /&gt;
void timer32Reset(uint8_t timerNum)&lt;br /&gt;
&lt;br /&gt;
Setzt den spezifizierten Timer zurück.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * timerNum: Der betreffende 32-Bit Timer [0..1]&lt;br /&gt;
&lt;br /&gt;
==Core/UART==&lt;br /&gt;
&lt;br /&gt;
Ermöglicht es einfache Teste über RS232, USB oder FTDI232RL zu senden oder zu empfangen. Jeder eingehende Text wird in einem FIFO gespeichert sodaß Datenverlust nicht auftreten sollte. &lt;br /&gt;
&lt;br /&gt;
===uart_pcb_t===&lt;br /&gt;
uart_pcb_t *uartGetPCB ()&lt;br /&gt;
&lt;br /&gt;
Liefert einen Pointer auf den Protokollblock des UART&#039;s. Damit kann der Status des UART ermittelt werden, und damit ob der UART initialisiert wurde, ob auf Daten gewartet oder gerade gesendet wird und um eine Referenz auf den Empfangs-FIFO zu erhalten. &lt;br /&gt;
&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
// Make sure that UART is initialised&lt;br /&gt;
uart_pcb_t *pcb = uartGetPCB();&lt;br /&gt;
if (!pcb-&amp;gt;initialised)&lt;br /&gt;
{&lt;br /&gt;
  uartInit(CFG_UART_BAUDRATE);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===uartInit ===&lt;br /&gt;
void uartInit (uint32_t baudrate)&lt;br /&gt;
&lt;br /&gt;
Initialisiert den UART mit einer spezifischen Baud-Rate.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * baudRate: Die Baud-Rate, mit der der UART konfiguriert werden soll (z.B. &#039;57600&#039;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/uart/uart.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define UARTBUFFERSIZE 5&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    uartInit(57600);&lt;br /&gt;
&lt;br /&gt;
    uint8_t uartBuffer[UARTBUFFERSIZE] = { &#039;T&#039;, &#039;e&#039;, &#039;s&#039;, &#039;t&#039;, &#039;\n&#039; };&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {  &lt;br /&gt;
        // Constantly send contents of uartBuffer&lt;br /&gt;
        uartSend((uint8_t *)uartBuffer, UARTBUFFERSIZE);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===uartSend ===&lt;br /&gt;
void uartSend (uint8_t *bufferPtr, uint32_t length)&lt;br /&gt;
&lt;br /&gt;
Sendet den Inhalt des Puffers über den UART.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * *bufferPtr: Pointer zum Text Buffer&lt;br /&gt;
    * length: Die Größe des Text Buffers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für uartInit&lt;br /&gt;
&lt;br /&gt;
===uartSendByte ===&lt;br /&gt;
void uartSendByte (uint8_t byte)&lt;br /&gt;
&lt;br /&gt;
Schickt ein einzelnes Byte an den UART.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * byte: Das zu sendende Byte&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
// Send 0xFF over UART&lt;br /&gt;
uartSendByte(0xFF);&lt;br /&gt;
&lt;br /&gt;
// Send &#039;B&#039; over UART (note single quotes)&lt;br /&gt;
uartSendByte(&#039;B&#039;);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===uartRxBufferInit ===&lt;br /&gt;
void uartRxBufferInit ()&lt;br /&gt;
&lt;br /&gt;
Initialisiert den RX FIFO buffer.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
No example current available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===uartRxBufferRead ===&lt;br /&gt;
uint8_t uartRxBufferRead ()&lt;br /&gt;
&lt;br /&gt;
Liest ein Byte aus dem RX Buffer. Diese Funktion liefert ein Byte zurück, das durch den Array Index spezifiziert wird. Erreicht der Pointer die max. Buddergröße, beginnt er wieder bei &#039;0&#039;.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für uartRxBufferWrite.&lt;br /&gt;
&lt;br /&gt;
===uartRxBufferWrite===&lt;br /&gt;
void uartRxBufferWrite(uint8_t data)&lt;br /&gt;
&lt;br /&gt;
Schreibt ein Byte in den RX Buffer. &lt;br /&gt;
&lt;br /&gt;
Note: Normalerweise ist es nicht notwendig diese Funktion zu benutzen, da alle eingehenden Daten über den UART Interrupt laufen, und jedes Byte in den RX-Buffer geschrieben wird.&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * uint8_t data: Byte, das in den RX Buffer geschrieben werden soll.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/uart/uart.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    uartInit(57600);&lt;br /&gt;
&lt;br /&gt;
    // Add 0xFF to the RX buffer&lt;br /&gt;
    uartRxBufferWrite(0xFF);&lt;br /&gt;
&lt;br /&gt;
    // Check if the buffer is empty (it shouldn&#039;t be!)&lt;br /&gt;
    while (uartRxBufferDataPending())&lt;br /&gt;
    {&lt;br /&gt;
      // Retrieve the first available character in the buffer&lt;br /&gt;
      uint8_t c = uartRxBufferRead();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===uartRxBufferClearFIFO===&lt;br /&gt;
void uartRxBufferClearFIFO ()&lt;br /&gt;
&lt;br /&gt;
Löscht die RX und TX Pointer und setzt die Längen auf Null. &lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
No example currently available.&lt;br /&gt;
&lt;br /&gt;
===uartRxBufferDataPending===&lt;br /&gt;
void uartRxBufferDataPending()&lt;br /&gt;
&lt;br /&gt;
Stellt fest, ob Daten im FIFO sind. Wenn ein odermehr Bytes im FIFO enthalten sind, wird eine &#039;1&#039; zurückgeliefert  Ist der Puffer leern wird eine &#039;0&#039; zurückgeliefert.&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
Siehe das Beispiel für uartRxBufferWrite.&lt;br /&gt;
&lt;br /&gt;
==Core/USBHID-ROM==&lt;br /&gt;
&lt;br /&gt;
Der LPC1343 enthält eine ROM-basierte Unterstützung für HID (Human Interface Device) und MSCD (Mass Storage Device) was einem eine relativ einfache Möglichkeit liefert USB Klassen schnell und effizient zu implementieren.  Eine einfache HID implementierung ist in der Code-Base enthaltenund beinhaltet die Basis-Kommunikation zwischen dem LPC1343 und einem PC or USB-Host Device. In diesem Beispiel wird das Device so konfiguriert, daß &amp;quot;1-Byte! telegramme geschickt werden können. Achtung: dieses Beispiel ist auf das bei microbuilder.eu verfügbare LPC1343 Reference Board abgestimmt. &lt;br /&gt;
&lt;br /&gt;
Dieser ROM-basierte HID Driver macht es wirklich außergewöhnlich bequem, ist aber weniger flexibel als ein vollständig SW-basierter USB/HID Stack.&lt;br /&gt;
Der Hauptunterschied ist, daß man hier auf einen &amp;quot;single Report&amp;quot; limitiert ist.  Ein vollständig SW-basierter Stack ist auf der NXP-Website verfügbar. Ein möglicher Kompromiß zwischen Aufwand und flexibilität ist, daß z.B. immer zwei oder mehre Byte-Reports verschickt werden, wobei das erste Byte als eine adt &amp;quot;Komando-ID&amp;quot; bestimmt, wie die nachfolgenden Bytes interpretiert werden sollen.  Speicher-Einschränkung: Der ROM-basierte HID Treiber verwendet 0x10000050 to 0x10000180 des On-Chip RAM, was bedeutet, daß im Linkter entsprechend eingestellt werden muß , daß diese Sektion nicht verwendet werden darf. &lt;br /&gt;
&lt;br /&gt;
===usbHIDInit ===&lt;br /&gt;
void usbHIDInit (void)&lt;br /&gt;
&lt;br /&gt;
Initialisiert das Device für USB HID Support und versucht einen Verbindungsaufbau zum Host. Das Device ist als 1 Byte Report konfiguriert.&lt;br /&gt;
&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/usbhid-rom/usbhid.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/gpio/gpio.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
&lt;br /&gt;
    // Set GPIO2.10 (LED) as output&lt;br /&gt;
    gpioSetDir(2, 10, gpioDirection_Output);&lt;br /&gt;
    // Disable LED (set high)&lt;br /&gt;
    gpioSetValue (2, 10, 1);&lt;br /&gt;
&lt;br /&gt;
    // Initialise and connect USB&lt;br /&gt;
    usbHIDInit();&lt;br /&gt;
&lt;br /&gt;
    // The device should enumerate on the PC, and&lt;br /&gt;
    // the LED on 2.10 can be enabled by sending 0x01&lt;br /&gt;
&lt;br /&gt;
    while (1)&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===usbHIDGetInReport ===&lt;br /&gt;
void usbHIDGetInReport (uint8_t src[], uint32_t length)&lt;br /&gt;
&lt;br /&gt;
Setzt die HID im Report (vom LPC1343 zum USB host).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * src[]: Ein Byte-Array für die Report Daten&lt;br /&gt;
    * length: Länge des src&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung&lt;br /&gt;
The signature for this method (uint8_t src[], uint32_t length) should not be modified, and this method should never be called directly. All interrupts and report exchanges are handled by the rom-based drivers. The only thing that should be modified in these methods is the code inside them that either generates or handles the appropriate byte data.&lt;br /&gt;
See the example for usbHIDInit&lt;br /&gt;
&lt;br /&gt;
===usbHIDSetOutReport ===&lt;br /&gt;
void usbHIDSetOutReport (uint8_t dst[], uint32_t length)&lt;br /&gt;
&lt;br /&gt;
Sezt den HID-out Report (Vom USB-Host zum LPC1343).&lt;br /&gt;
Übergabeparameter:&lt;br /&gt;
&lt;br /&gt;
    * src[]: Ein Byte-Array für die Report Daten&lt;br /&gt;
    * length: Länge des src&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warnung&lt;br /&gt;
The signature for this method (uint8_t dst[], uint32_t length) should not be modified, and this method should never be called directly. All interrupts and report exchanges are handled by the rom-based drivers. The only thing that should be modified in these methods is the code inside them that either generates or handles the appropriate byte data.&lt;br /&gt;
See the example for usbHIDInit&lt;br /&gt;
&lt;br /&gt;
==Core/WDT==&lt;br /&gt;
&lt;br /&gt;
Der LPC1343 enthält einen Watchdog-Timer der benutzt werden kann das Sytem am laufen zu halten. Damit wird festgestellt, ob der LPC abgestürzt ist, oder nicht.  Der &#039;Watchdog&#039; ist so konfiguriert, daß er alle &#039;x&#039; Ticks des System-Taktes getriggert werden muss. Wenn dies nicht stattfindet, können verschiedene Aktionen ausgelöst werden, (z.B. System-Reset, oder die Auslösung eines Interrupts). Die Grundeinstellung des in der Code-Base vorhandenen Codes setzt den Watchdog auf eine Togglerate von 250kHz, also einmal alle 250.000 Taktzyklen, und hier wird nur der WDT_IRQHandler ausgelöst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===wdtInit ===&lt;br /&gt;
void wdtInit (void)&lt;br /&gt;
&lt;br /&gt;
Initialisiert den Watchdog Timer und den interrupt.&lt;br /&gt;
&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;#include &amp;quot;core/cpu/cpu.h&amp;quot;&lt;br /&gt;
#include &amp;quot;core/wdt/wdt.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    cpuInit();&lt;br /&gt;
    wdtInit();&lt;br /&gt;
&lt;br /&gt;
    // Pat the watchdog to start it&lt;br /&gt;
    wdtFeed();&lt;br /&gt;
&lt;br /&gt;
    while(1)&lt;br /&gt;
    {&lt;br /&gt;
        // Keep the watchdog happy by regularly feeding it&lt;br /&gt;
        wdtFeed();&lt;br /&gt;
&lt;br /&gt;
        // Any delay here &amp;gt; 250,000 ticks (~3.5mS @ 72MHz)&lt;br /&gt;
        // will cause the watchdog to raise an interrupt, which&lt;br /&gt;
        // will be handled by WDT_IRQHandler&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===wdtFeed ===&lt;br /&gt;
void wdtFeed (void)&lt;br /&gt;
&lt;br /&gt;
Toggelt den Watchdog um einen Timeout zu verhindern.&lt;br /&gt;
&lt;br /&gt;
Übergabeparameter: Keine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe Beispiel für wdtInit&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80528</id>
		<title>LPC1xxx Entwicklungskit LPCXpresso</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso&amp;diff=80528"/>
		<updated>2014-01-02T13:35:53Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Entwicklungsplattformen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:LPCXpresso_board_NXP.jpg|thumb|right|550px|LPCXpresso ©NXP.com]]&lt;br /&gt;
==LPCXpresso ==&lt;br /&gt;
&lt;br /&gt;
NXP hat das hier beschriebene Entwicklungskit zusammen mit Embedded Artists entwickelt. Dazu wurde von Code-Red - im Auftrag von NXP - eine passende Entwicklungsumgebung erstellt, die kostenlos erhältlich ist. Hier eine &#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.getting.started.pdf erste Einführung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das preiswerte Board (ca. 25€) ist z.B. hier erhältlich &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Hier die &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf Dokumentation]&#039;&#039;&#039; (PDF) von NXP.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
===Aufbau des Boards===&lt;br /&gt;
&lt;br /&gt;
Das Board ist als teilbare Platine ausgeführt. Der obere Teil - der LPC-Link - hat sowohl die Funktion eines USB-Programmers, als auch die eines USB-Debuggers. &lt;br /&gt;
&lt;br /&gt;
Der untere Teil ist ein reines Eval-Board, das - je nach Wunsch - mit einem LPC1114, LPC1343, oder LPC1769 ausgestattet ist.&lt;br /&gt;
&lt;br /&gt;
LPC-Link und Eval-Buard können an der markierten Stelle zwischen dem 2x8-Poligen Stecker getrennt, und separat eingesetzt werden. Über einen 8x Jumper ist jederzeit wieder eine Verbindung möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der LPC-Link===&lt;br /&gt;
[[Bild:LPC_Xpresso_lpc-link_NXP.jpg|thumb|right|550px|LPC-Link ©NXP.com]]&lt;br /&gt;
Der LPC-Link enthält den Programmer und Debugger. Die PCB enthält einen LPC3154, eine USB-Schnittstelle, ein JTAG/SWD-Interface und ein paar LEDs.  &lt;br /&gt;
Das Programmier-Interface ist sowohl im 2,54mm Raster (8-polige Lochreihe an der schmalen Seite zum Target, &amp;quot;J4&amp;quot;), als auch im 1,27mm Raster (2x5-polig, als SMD-Stiftleiste &amp;quot;J5&amp;quot;) vorhanden. Pin 1 ist jeweils deutlich gekennzeichnet.&lt;br /&gt;
Hier die Pinbelegung:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Steckerbelegung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! Pin Nummer ||J5 (2x5-polig) || J4 (1x8-polig)&lt;br /&gt;
|-&lt;br /&gt;
| Pin  1|| V_Target || V_Target&lt;br /&gt;
|-&lt;br /&gt;
| Pin  2|| SWDIO/TMS|| SWDIO/TMS&lt;br /&gt;
|-&lt;br /&gt;
| Pin  3|| GND|| SWDCLK/TCLK&lt;br /&gt;
|-&lt;br /&gt;
| Pin  4|| SWDCLK/TCLK|| SWO/TDO&lt;br /&gt;
|-&lt;br /&gt;
| Pin  5|| GND|| nc/TDI&lt;br /&gt;
|-&lt;br /&gt;
| Pin  6|| SWO/TDO|| nRESET&lt;br /&gt;
|-&lt;br /&gt;
| Pin  7|| nc|| EXT Power&lt;br /&gt;
|-&lt;br /&gt;
| Pin  8|| nc/TDI|| GND&lt;br /&gt;
|-&lt;br /&gt;
| Pin  9|| GND|| -&lt;br /&gt;
|-&lt;br /&gt;
| Pin 10|| nRESET|| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Achtung: die Pinnummer für J4 entspricht dem GETRENNTEN Zustand der PCB. Die Nummerierung auf der Platine beginnt aber bei 1, und endet bei 15 (siehe auch Foto rechts).&lt;br /&gt;
&lt;br /&gt;
===Eine passende Entwicklungsumgebung===&lt;br /&gt;
Code-Red hat einen speziell angepaßten C-Compiler entwickelt. &lt;br /&gt;
Die IDE basiert auf Eclipse und ist ohne Registrierung bis 8kB freigeschaltet. Nach einer kostenlosen Registrierung erhält man eine &amp;quot;Full&amp;quot; Lizenz bis 512kB, die auch für den kommerziellen Einsatz zugelassen ist. &lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;.&lt;br /&gt;
Weitere Compiler sind verfügbar, hier eine &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Entwicklungsumgebungen Übersicht]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.elpro.org/shop/shop.php?p=32BitMicrocontroller elpro]&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex NXP Boards&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungsplattformen ===&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* [http://www.rowley.co.uk/arm/index.htm Rowley Crossworks]&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80527</id>
		<title>LPC-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=LPC-Mikrocontroller&amp;diff=80527"/>
		<updated>2014-01-02T13:35:31Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: /* Entwicklungsplattformen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:overview_Sep2011.png|thumb|right|850px|Überblick über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
[[Bild:positioning_NXPSep2011.gif|thumb|right|850px|Vergleich über die aktuelle Cortex M0/3 Familie, ©NXP.com]]&lt;br /&gt;
Die LPC1000-Familie von NXP basiert auf 32-Bit Cortex-Kernen von ARM und arbeitet mit bis zu 150MHz. Die LPC11xx-Serie basiert auf dem Cortex-M0-Kern, die Serien LPC13xx, 17xx und 18xx auf dem Cortex-M3. Mikrocontroller aus der LPC13xx-Serie mit 72MHz und der LPC17xx-Serie mit 100MHz (120MHz) sind inzwischen auch für Privatnutzer zu Preisen erhältlich, die mit denen von 8-Bit-Mikrocontrollern vergleichbar sind. Eine Auflistung der verschiedenen Typen findet sich im Dokument &#039;&#039;&#039;[http://www.nxp.com/documents/line_card/75017387.pdf &amp;quot;Microcontrollers selection guide&amp;quot; (PDF)]&#039;&#039;&#039; von NXP.&lt;br /&gt;
&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Infos + User-Manuals==&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC11xx (Cortex-M0) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc11xx/ LPC11xx-Serie]&#039;&#039;&#039; (3,3V) bietet viele Möglichkeiten&lt;br /&gt;
* Der LPC1100L ist derzeit laut NXP (Sep2011) der preisgünstigste ARM auf dem Markt. Der 32Bit ARM mit einer Performance von ca. 45DMIPS @50MHZ benötigt bei dieser Taktfrequenz nur etwa 10mA. (Details siehe NXP-Seite)&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features :&lt;br /&gt;
** LPC1100 Serie: • I2C, SSP, UART, GPIO, • Timers and watch dog timer, • 10-bit ADC, • Flash/SRAM memory, • Weitere Funktionen, siehe &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/LPC1xxx#Features_eines_LPC11xx 2.3 Features]&#039;&#039;&#039;&lt;br /&gt;
** LPC1100L Serie zusätzlich zu LPC1100: • Power Profile mit lower power consumption in Active- und Sleep-mode, • Interne pull-ups auf VDD level, • Programmierbarer pseudo open-drain mode für GPIO Pins, • WWDT mit Clock Source Lock.&lt;br /&gt;
**LPC11C00 Serie zusätzlich zu LPC1100: • CAN controller, • On-chip CAN Treiber, • On-chip CAN Transceiver (LPC11C2x), • WDT (not windowed) mit Clock Source Lock.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10398.pdf User Manual der LPC11-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Besonderes Augenmerk möchte ich auf die neue Serie  &#039;&#039;&#039;[http://www.nxp.com/ps/#/i=71498 LPC111xFD]&#039;&#039;&#039; legen, denn in jetzt gibt es den Cortex-M0 auch im DIL 28 &#039;&#039;&#039;[http://www.nxp.com/redirect/pip/LPC1114FN28.html den LPC1114FN28]&#039;&#039;&#039;&lt;br /&gt;
**Des Weiteren sind damit SO20, sowie TSSOP20 und TSSOP28 Bauformen verfügbar&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC12xx (Cortex-M0) ===&lt;br /&gt;
* Die Low Power &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc12xx/ LPC12xx-Serie]&#039;&#039;&#039; (3,3V) ist laut NXP (Sep2011) ein Cortex-M0 mit 32 bis 128kB Flash, einem 45 CoreMark™ Benchmark-Score bei 30MHz, 2 bis 8kB SRAM, und einem internen 1% genauen 12MHz Oscillator.&lt;br /&gt;
&lt;br /&gt;
* Überblick über die Features: fMAX von 30MHz, 1 10-Bit  ADC mit 8 Kanälen, 2 Comparatoren, 2 UARTs, 1 SSP/SPI, 1 I2C, DMA Controller, CRC Engine, 1 32-Bit, 5 Timer (16- und 32-Bit, + RTC), 13 PWM Kanäle, bis zu 55 GPIOs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10441.pdf User Manual der LPC12xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC13xx (Cortex-M3) ===&lt;br /&gt;
Die sehr stromsparende &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc13xx/ LPC13xx-Serie]&#039;&#039;&#039; (3,3V) bietet im LQFP 48 Gehäuse 8..32k Flash, 2..8k SRAM, 5 Timer (mit WD), 11 PWM, 1 UART, 1IIC, 1USB, 1..2 SPI, einen 8-Kanal/10Bit AD-Wandler und eine Taktfrequenz von max. 72MHz. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10375.pdf User Manual der LPC13xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC17xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc17xx/ LPC17xx-Serie]&#039;&#039;&#039; hingegen enthält eine weit größere Peripherie in einem LQFP80/100/144/208 Package.&lt;br /&gt;
32..512k Flash, 8..96k SRAM, 6 Timer (mit WD), 6 zusätzliche PWM-Einheiten, teilweise Ethernet und STN/TFT-LCD-Controller, meist USB (teilw. mit Host+OTG), 4 UART, 2..3IIC, 1..2 CAN, 1 SPI, 2 SSP/SPI einen 6..8-Kanal/12Bit AD-Wandler, einen 10Bit DAC, Motor-Control-Einheiten, einen Encoder-Eingang und eine Taktfrequenz von max. 100MHz(120MHz) und vieles mehr. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.nxp.com/documents/user_manual/UM10360.pdf User Manual der LPC17xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Eckdaten LPC18xx (Cortex-M3) ===&lt;br /&gt;
Die &#039;&#039;&#039;[http://ics.nxp.com/products/lpc1000/lpc18xx/ LPC18xx-Serie]&#039;&#039;&#039; stellt DIE &amp;quot;High-Performance&amp;quot; Controller aus der Cortex-M3-Serie. Die Taktfrequenz geht bis 150MHz, die Controller enthalten große dual-Bank Flash Speicher bis zu 1MB, ein großes On-Chip SRAM mit bis zu 200KB, zusätzliche Peripherie wie z.B. SPI Flash Interface (SPIFI) und State Configurable Timer (SCT), 2x High Speed USB (1x mit On-Chip HS PHY) und eine MPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc18xx.pdf User Manual der LPC18xx-Familie (PDF)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überblick über die Features: &#039;&#039;&#039;[http://ics.nxp.com/literature/leaflets/microcontrollers/pdf/lpc18xx.pdf LPC18xx Flyer von NXP]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Entwicklungskits ===&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Kostenlose Entwicklungsumgebung für ALLE hier genannten Controller ===&lt;br /&gt;
Für die ganze Prozessorfamilie ist eine &amp;lt;u&amp;gt;kostenlose&amp;lt;/u&amp;gt; Entwicklungsumgebung  erhältlich. Informationen unter &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home  lpcware]&#039;&#039;&#039;: Die auf Eclipse basierende Entwicklungsumgebung ist nach der Installation bis 8k freigeschaltet und nach einer einfachen und kostenlosen Registrierung für 256kB. Die IDE ist auch für &#039;&#039;&#039;[http://www.lpcware.com/lpcxpresso/home Linux und Mac]&#039;&#039;&#039; verfügbar.&lt;br /&gt;
&lt;br /&gt;
Hier die &#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== LPC11xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC11xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[http://www.watterott.com/de/LPC1114FN28/102 watterott: LPC1114FN28/102 DIP28] 2,68 EUR (Stand Nov 2013)&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-N0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC11xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC11xx ===&lt;br /&gt;
* System:&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 50 MHz. &lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory:&lt;br /&gt;
** 32 kB (LPC1114/LPC11C14), 24 kB (LPC1113), 16 kB (LPC1112/LPC11C12), or 8 kB (LPC1111) on-chip flash programming memory. &lt;br /&gt;
** 8 kB, 4 kB, or 2 kB SRAM.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages and LPC11C22/C24.&lt;br /&gt;
** GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** High-current output driver (20 mA) on one pin.&lt;br /&gt;
** High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
** Four general purpose timers/counters with a total of four capture inputs and up to 13 match outputs. &lt;br /&gt;
** Programmable WatchDog Timer (WDT).&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** UART with fractional baud rate generation, internal FIFO, and RS-485 support. &lt;br /&gt;
** Two SPI controllers with SSP features and with FIFO and multi-protocol capabilities (second SPI on LQFP48 and PLCC44 packages only).&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. &lt;br /&gt;
** C_CAN controller (LPC11Cxx only). On-chip CAN and CANopen drivers included.&lt;br /&gt;
** On-chip, high-speed CAN transceiver (parts LPC11C22/C24 only).&lt;br /&gt;
* Clock generation:&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, and the Watchdog clock.&lt;br /&gt;
* Power control:&lt;br /&gt;
** Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
** Power profiles residing in boot ROM allowing to optimize performance and minimize power consumption for any given application through one simple function call. (On LPC111x/102/202/302 only.)&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 13 of the functional pins.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Single 3.3 V power supply (1.8 V to 3.6 V).&lt;br /&gt;
* Available as 48-pin LQFP package, 33-pin HVQFN package, and 44-pin PLCC package.&lt;br /&gt;
&lt;br /&gt;
== LPC12xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC12xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagramM0_NXPSep2011.gif|thumb|right|850px|Blockdiagramm des Cortex-M0, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagramm der LPC12xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC12xx ===&lt;br /&gt;
&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.&lt;br /&gt;
** ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Serial Wire Debug (SWD).&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* Memory&lt;br /&gt;
** Up to 8 kB SRAM.&lt;br /&gt;
** Up to 128 kB on-chip flash programming memory. &lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Includes ROM-based 32-bit integer division routines.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.&lt;br /&gt;
** PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
** Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.&lt;br /&gt;
** Real-Time Clock (RTC).&lt;br /&gt;
* Digital peripherals&lt;br /&gt;
** Micro DMA controller with 21 channels.&lt;br /&gt;
** CRC engine.&lt;br /&gt;
** Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.&lt;br /&gt;
** SSP/SPI controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
** I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.&lt;br /&gt;
** Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter. &lt;br /&gt;
** Programmable output drive on all GPIO pins. Four pins support high-current output drivers.&lt;br /&gt;
** All GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
** Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers). &lt;br /&gt;
** Windowed WatchDog Timer (WWDT).&lt;br /&gt;
* Analog peripherals&lt;br /&gt;
** One 8-channel, 10-bit ADC.&lt;br /&gt;
** Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.&lt;br /&gt;
* Power&lt;br /&gt;
** Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Deep-sleep mode via start logic using 12 port pins.&lt;br /&gt;
** Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.&lt;br /&gt;
** Brownout detect with three separate thresholds each for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
** Integrated PMU (Power Management Unit).&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* 3.3 V power supply.&lt;br /&gt;
* Available as 64-pin and 48-pin LQFP package.&lt;br /&gt;
&lt;br /&gt;
== LPC13xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC13xx ===&lt;br /&gt;
[[Bild:LPC13xx_Selection_Guide_Sep2011.png|thumb|right|600px|Selection Guide zur LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1313 mit 32k-Flash mit 72MHz im LQFP 48 Gehäuse. Der LPC1313 ist bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; erhältlich für 3,57 € (Juli 2011), oder DigiKey für 2,70 €.  (Für den &amp;quot;/1&amp;quot; suche ich noch eine Bezugsquelle.) Entwicklungskit INKLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1343-LPCXpresso-Board Watterott]&#039;&#039;&#039; für 23,80 € (Juli 2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC13xx Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC13xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC13xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1313 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 72 MHz.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 32 kB on-chip flash programming memory.&lt;br /&gt;
* 8 kB SRAM.&lt;br /&gt;
* In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
* UART with fractional baud rate generation, modem, internal FIFO, and RS-485/EIA-485 support.&lt;br /&gt;
* SSP controller with FIFO and multi-protocol capabilities.&lt;br /&gt;
* Additional SSP controller on LPC1313FBD48/01.&lt;br /&gt;
* I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode.&lt;br /&gt;
* Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors.&lt;br /&gt;
* Four general purpose counter/timers with a total of four capture inputs and 13 match outputs.&lt;br /&gt;
* Programmable Watchdog Timer (WDT) &lt;br /&gt;
* System tick timer.&lt;br /&gt;
* Serial Wire Debug and Serial Wire Trace port.&lt;br /&gt;
* High-current output driver (20 mA) on one pin.&lt;br /&gt;
* High-current sink drivers (20 mA) on two I2C-bus pins in Fast-mode Plus.&lt;br /&gt;
* Integrated PMU (Power Management Unit) to minimize power consumption during Sleep, Deep-sleep, and Deep power-down modes.&lt;br /&gt;
* Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.&lt;br /&gt;
* Single power supply (2.0 V to 3.6 V).&lt;br /&gt;
* 10-bit ADC with input multiplexing among 8 pins.&lt;br /&gt;
* GPIO pins can be used as edge and level sensitive interrupt sources.&lt;br /&gt;
* Clock output function with divider that can reflect the system oscillator clock, IRC clock, CPU clock, or the watchdog clock.&lt;br /&gt;
* Processor wake-up from Deep-sleep mode via a dedicated start logic using up to 40 of the functional pins.&lt;br /&gt;
* Brownout detect with four separate thresholds for interrupt and one thresholds for forced reset.&lt;br /&gt;
* Power-On Reset (POR).&lt;br /&gt;
* Integrated oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 12 MHz internal RC oscillator trimmed to 1 % accuracy over the entire temperature and voltage range that can optionally be used as a system clock.&lt;br /&gt;
* Programmable watchdog oscillator with a frequency range of 7.8 kHz to 1.8 MHz. System PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.&lt;br /&gt;
* Code Read Protection (CRP) with different security levels.&lt;br /&gt;
* Unique device serial number for identification.&lt;br /&gt;
* Available as 48-pin LQFP package and 33-pin HVQFN package.&lt;br /&gt;
&lt;br /&gt;
== LPC17xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC17xx ===&lt;br /&gt;
[[Bild:LPC17xx_Selection_Guide_Sep2011.png|thumb|right|1200px|Selection Guide zur LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
LPC1754 mit 128K Flash im LQFP80, der bei &#039;&#039;&#039;[http://www.darisus.de/ Darius]&#039;&#039;&#039; für 7€74 (Juli/2011) erhältlich ist,[den LPC1751 (32k/8k) schon für 5€95] und bei Digikey für 6€35, den LPC1764FBD100 bei &#039;&#039;&#039;[http://www.tme.eu/de TME]&#039;&#039;&#039;    für 7€ Entwicklungskit INCLUSIVE JTAG-Programmer &amp;amp; Debugger bei &#039;&#039;&#039;[http://www.watterott.com/de/LPC1769-LPCXpresso Watterott]&#039;&#039;&#039; für 23€80 (Juli/2011)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:LPC177x_178x Block Diagram Sep2011.png|thumb|right|680px|Blockdiagramm der LPC17xx Familie, ©NXP.com]]&lt;br /&gt;
&lt;br /&gt;
=== Blockdiagram der LPC17xx Familie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC1754 ===&lt;br /&gt;
* ARM Cortex-M3 processor, running at frequencies of up to 100 MHz &lt;br /&gt;
* A Memory Protection Unit (MPU) supporting eight regions is included.&lt;br /&gt;
* ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
* 128 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. &lt;br /&gt;
* 32 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.&lt;br /&gt;
* Eight channel General Purpose DMA controller &lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
* USB 2.0 full-speed controller that can be configured for either device, Host, or OTG operation with an on-chip PHY for device and Host functions &lt;br /&gt;
* Four UARTs with fractional baud rate generation, internal FIFO, IrDA, and DMA, Einer mit Modem I/Os und RS485 Support&lt;br /&gt;
* 1 CAN controller.&lt;br /&gt;
* 2 SSP controllers &lt;br /&gt;
* 1 SPI controller &lt;br /&gt;
* 2 I2C-bus interfaces with data rates of 1Mbit/s,&lt;br /&gt;
* I2S (Inter-IC Sound) &lt;br /&gt;
* 52  General Purpose I/O (GPIO) pins Any pin of ports 0 and 2 can be used to generate an interrupt.&lt;br /&gt;
* 8x 12-bit Analog-to-Digital Converter (ADC) conversion rates up to 200 kHz&lt;br /&gt;
* 1x 10-bit Digital-to-Analog Converter (DAC) &lt;br /&gt;
* Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. &lt;br /&gt;
* One motor control PWM with support for three-phase motor control.&lt;br /&gt;
* Quadrature encoder interface that can monitor one external quadrature encoder.&lt;br /&gt;
* One standard PWM/timer block with external count input.&lt;br /&gt;
* Real-Time Clock (RTC) with a separate power domain including 20 bytes of battery-powered backup registers,  An RTC interrupt can wake up the CPU from any reduced power mode.&lt;br /&gt;
* Watchdog Timer (WDT). &lt;br /&gt;
* Cortex-M3 system tick timer&lt;br /&gt;
* Repetitive interrupt timer &lt;br /&gt;
* Standard JTAG test/debug interface as well as Serial Wire Debug and Serial Wire Trace Port options.&lt;br /&gt;
* Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
* Single 3.3 V power supply (2.4 V to 3.6 V). &lt;br /&gt;
* Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources.&lt;br /&gt;
* Non-maskable Interrupt (NMI) input.&lt;br /&gt;
* Wakeup Interrupt Controller (WIC) &lt;br /&gt;
* Each peripheral has its own clock divider for further power savings.&lt;br /&gt;
* Brownout detect with separate threshold for interrupt and forced reset.&lt;br /&gt;
* On-chip Power-On Reset (POR).&lt;br /&gt;
* On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
* 4 MHz internal RC oscillator trimmed to 1% accuracy that can optionally be used as a system clock.&lt;br /&gt;
* An on-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.&lt;br /&gt;
* Available as 80-pin LQFP (12 x 12 x 1.4 mm) packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPC18xx ==&lt;br /&gt;
&lt;br /&gt;
=== Familienübersicht LPC18xx ===&lt;br /&gt;
Bezugsquellen und Preise:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:block.diagram_NXP18xx Sep2011.gif|thumb|right|680px|Blockdiagramm der LPC18xx Familie, ©NXP.com]]&lt;br /&gt;
=== Blockdiagramm der LPC18xx Familie ===&lt;br /&gt;
&lt;br /&gt;
=== Features eines LPC18xx ===&lt;br /&gt;
DRAFT!&lt;br /&gt;
* Processor core&lt;br /&gt;
** ARM Cortex-M3 processor, running at frequencies of up to 180 MHz.&lt;br /&gt;
** ARM Cortex-M3 built-in Memory Protection Unit (MPU) supporting eight regions.&lt;br /&gt;
** ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).&lt;br /&gt;
** Non-maskable Interrupt (NMI) input.&lt;br /&gt;
** JTAG and Serial Wire Debug, serial trace, eight breakpoints, and four watch points.&lt;br /&gt;
** ETM and ETB support.&lt;br /&gt;
** System tick timer.&lt;br /&gt;
* On-chip memory (flashless parts LPC1850/30/20/10)&lt;br /&gt;
** Up to 200 kB SRAM total for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 64 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* On-chip memory (parts with on-chip flash)&lt;br /&gt;
** Up to 1 MB total dual bank flash memory with flash accelerator.&lt;br /&gt;
** In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.&lt;br /&gt;
** Up to 136 kB SRAM for code and data use.&lt;br /&gt;
** Two 32 kB SRAM blocks with separate bus access. Both SRAM blocks can be powered down individually.&lt;br /&gt;
** 32 kB ROM containing boot code and on-chip software drivers.&lt;br /&gt;
** 32-bit One-Time Programmable (OTP) memory for general-purpose customer use.&lt;br /&gt;
* Clock generation unit&lt;br /&gt;
** Crystal oscillator with an operating range of 1 MHz to 25 MHz.&lt;br /&gt;
** 12 MHz internal RC oscillator trimmed to 1 % accuracy.&lt;br /&gt;
** Ultra-low power RTC crystal oscillator.&lt;br /&gt;
** Three PLLs allow CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. The second PLL is dedicated to the High-speed USB, the third PLL can be used as audio PLL.&lt;br /&gt;
** Clock output.&lt;br /&gt;
* Serial interfaces:&lt;br /&gt;
** Quad SPI Flash Interface (SPIFI) with four lanes and data rates of up to 40 MB per second total.&lt;br /&gt;
** 10/100T Ethernet MAC with RMII and MII interfaces and DMA support for high throughput at low CPU load. Support for IEEE 1588 time stamping/advanced time stamping (IEEE 1588-2008 v2).&lt;br /&gt;
** One High-speed USB 2.0 Host/Device/OTG interface with DMA support and on-chip PHY.&lt;br /&gt;
** One High-speed USB 2.0 Host/Device interface with DMA support, on-chip full-speed PHY and ULPI interface to external high-speed PHY.&lt;br /&gt;
** USB interface electrical test software included in ROM USB stack.&lt;br /&gt;
** Four 550 UARTs with DMA support: one UART with full modem interface; one UART with IrDA interface; three USARTs support synchronous mode and a smart card interface conforming to ISO7816 specification.&lt;br /&gt;
** Two C_CAN 2.0B controllers with one channel each.&lt;br /&gt;
** Two SSP controllers with FIFO and multi-protocol support. Both SSPs with DMA support.&lt;br /&gt;
** One Fast-mode Plus I2C-bus interface with monitor mode and with open-drain I/O pins conforming to the full I2C-bus specification. Supports data rates of up to 1 Mbit/s.&lt;br /&gt;
** One standard I2C-bus interface with monitor mode and standard I/O pins.&lt;br /&gt;
** Two I2S interfaces with DMA support, each with one input and one output.&lt;br /&gt;
* Digital peripherals:&lt;br /&gt;
** External Memory Controller (EMC) supporting external SRAM, ROM, NOR flash, and SDRAM devices.&lt;br /&gt;
** LCD controller with DMA support and a programmable display resolution of up to 1024H x 768V. Supports monochrome and color STN panels and TFT color panels; supports 1/2/4/8 bpp CLUT and 16/24-bit direct pixel mapping.&lt;br /&gt;
** SD/MMC card interface.&lt;br /&gt;
** Eight-channel General-Purpose DMA (GPDMA) controller can access all memories on the AHB and all DMA-capable AHB slaves.&lt;br /&gt;
** Up to 80 General-Purpose Input/Output (GPIO) pins with configurable pull-up/pull-down resistors and open-drain modes. &lt;br /&gt;
** GPIO registers are located on the AHB for fast access. GPIO ports have DMA support.&lt;br /&gt;
** State Configurable Timer (SCT) subsystem on AHB.&lt;br /&gt;
** Four general-purpose timer/counters with capture and match capabilities.&lt;br /&gt;
** One motor control PWM for three-phase motor control.&lt;br /&gt;
** One Quadrature Encoder Interface (QEI).&lt;br /&gt;
** Repetitive Interrupt timer (RI timer).&lt;br /&gt;
** Windowed watchdog timer.&lt;br /&gt;
** Ultra-low power Real-Time Clock (RTC) on separate power domain with 256 bytes of battery powered backup registers.&lt;br /&gt;
** Alarm timer; can be battery powered.&lt;br /&gt;
* Digital peripherals available on flash-based parts LPC18xx only:&lt;br /&gt;
** &amp;lt;tbd&amp;gt;&lt;br /&gt;
* Analog peripherals:&lt;br /&gt;
** One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
** Two 10-bit ADCs with DMA support and a data conversion rate of 400 kSamples/s.&lt;br /&gt;
* Security:&lt;br /&gt;
** Hardware-based AES security engine programmable through an on-chip API.&lt;br /&gt;
** Two 128-bit secure OTP memories for AES key storage and customer use.&lt;br /&gt;
** Unique ID for each device.&lt;br /&gt;
* Power: &lt;br /&gt;
** Single 3.3 V (2.2 V to 3.6 V) power supply with on-chip internal voltage regulator for the core supply and the RTC power domain.&lt;br /&gt;
** RTC power domain can be powered separately by a 3 V battery supply.&lt;br /&gt;
** Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.&lt;br /&gt;
** Processor wake-up from Sleep mode via wake-up interrupts from various eripherals. &lt;br /&gt;
** Wake-up from Deep-sleep, Power-down, and Deep power-down modes via external interrupts and interrupts generated by battery powered blocks in the RTC power domain.&lt;br /&gt;
** Brownout detect with four separate thresholds for interrupt and forced reset.&lt;br /&gt;
** Power-On Reset (POR).&lt;br /&gt;
* Available as 100-pin, 144-pin, and 208-pin LQFP packages and as 100-pin, 180-pin, and 256-pin LBGA packages.&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsumgebungen ==&lt;br /&gt;
=== Code Red ===&lt;br /&gt;
[[Bild:lpcxpresso-debug_Code-red_3Sep2011.gif|thumb|right|680px|Ansicht der Entwicklungsumgebung, ©code-red-tech.com]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Entwicklungs Tool ====&lt;br /&gt;
(Beschreibung aus der Web-Site:)&lt;br /&gt;
LPCXpresso&#039;s IDE (powered by Code Red) ist eine hoch integrierte Entwicklungsumgebung für LPC-Controller, und beinhaltet alle zur Entwicklung erforderlichen Tools um hoch qualitative Software in einer angemessenen Zeit zu schreiben. LPCXpresso basiert auf ein vereinfachtes Eclipse mit vielen LPC-specifischen Erweiterungen.&lt;br /&gt;
Des Weiteren ist eine aktuelle Version der Industrie-Standard GNU Tool-Chain mit einer propritären und optimierten C-Lib mit dabei. Die LPCXpresso IDE stellt ein voll optimiertes Executable zur Verfügung. Die einzige Beschränkung der kostenlosen Version ist eine Limitierung auf 256kB Code nach erfolgter Registrierung.&lt;br /&gt;
Das LPCXpresso Target Board ist eine Gemeinschaftsentwicklung von Embedded Artists, Code Red, NXP.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Die LPCXpresso IDE stellt eine C-Umgebung mit Syntax-Colouring, Source-Formatierung, Funktions-Folding, sowie mit Online- und Offline Hilfe und umfangreichen Projekt-Management Funktionen zur Verfügung.  &lt;br /&gt;
Dies beinhaltet:&lt;br /&gt;
* Wizards um Projekte für alle unterstützten Controller zu erstellen &lt;br /&gt;
* Automatische Linker Script Generierung inklusive Memory-Map Unterstützung &lt;br /&gt;
* Programmierung des Controllers&lt;br /&gt;
* On-Line Debugging&lt;br /&gt;
* Datenblatt-Zugriff über eingebauten Browser&lt;br /&gt;
* Support für die NXP LPC Microcontroller Familien, von Cortex-M0, Cortex-M3 bis Cortex-M4 und ARM7 bis ARM9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Peripherie und Register Views im Debugger ====&lt;br /&gt;
Der Peripherie-Viewer im integrierten Debugger zeigt alle Register und Bit-Felder in einer einfachen Baumstruktur.&lt;br /&gt;
Ein Prozessor-Register Viewer erlaubt den Zugriff auf alle Prozessor-Register und stellt eine &amp;quot;Smart-Formatting&amp;quot;  Funktion zur Verfügung um komplexe Register wie Flags oder Status Register übersichtlich darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Unterstützte Familien ====&lt;br /&gt;
Cortex-M0, Cortex-M3, Cortex-M4, Einzelne Controller aus der LPC2000 family, ARM966, ARM926-EJ, ARM926-EJ + VFP&lt;br /&gt;
&lt;br /&gt;
==== Sehr preiswerter USB_JTAG_SWD Debugger ====&lt;br /&gt;
Von NXP sind &amp;lt;u&amp;gt;sehr preiswerte&amp;lt;/u&amp;gt; Entwicklungskits (ca. 25€ für Evaluation-Board incl. USB-JTAG Programmer und Debugger) erhältlich z.B. &#039;&#039;&#039;[http://www.watterott.com/index.php?page=search&amp;amp;keywords=LPCXpresso&amp;amp;cat=&amp;amp;mnf=&amp;amp;x=0&amp;amp;y=0 Watterott]&#039;&#039;&#039;. Siehe dazu auch die Dokumentation von NXP zu den &#039;&#039;&#039;[http://www.nxp.com/documents/leaflet/75016842.pdf LPCXpresso-Entwicklungskits (PDF)]&#039;&#039;&#039; und diese &#039;&#039;&#039;[http://www.mikrocontroller.net/wikisoftware/index.php?title=LPC1xxx_Entwicklungskit_LPCXpresso Beschreibung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Standard Library ====&lt;br /&gt;
Im Download der &amp;quot;Code Red&amp;quot; Entwicklungsumgebung ist eine relativ umfangreiche Firmwarebibliothek vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== Installationsanleitung zur IDE ====&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Codebase für LPC11xx und LPC13xx ====&lt;br /&gt;
Für die Cortex-M0 und -M3 Familien existieren verschiedene Basispakete die als Startausstattung sehr gut geeignet sind. Auf microbuilder.eu findet man eine sehr interessante Version inklusive Dokumentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx HIER]&#039;&#039;&#039; findet man alle Links zur original Codebase mit allen Dateien (Stand Januar 2012) aber auch eine deutsche Übersetzung zu den Files.&lt;br /&gt;
&lt;br /&gt;
=== CooCox ===&lt;br /&gt;
&lt;br /&gt;
Auf der &#039;&#039;&#039;[http://www.coocox.org/Index.html Homepage]&#039;&#039;&#039; von CooCox - einem chinesischen Open-Source Projekt, auf der eine IDE für Atmel, Energy Micro, Holtek, Nuvoton, ST, TI und NXP verfügbar ist  - findet man die auf Eclipse basierende &amp;quot;CooCox CoIDE&amp;quot;, die sich aus dem &amp;quot;CoBuilder&amp;quot; und dem &amp;quot;CoDebugger&amp;quot; zusammensetzt.&lt;br /&gt;
Des Weiteren bietet man dort ein Echtzeit-Multitasking Betriebssystem, sowie SW-Versionen von zwei unterschiedliche Debugging-Adapter und ein Stand-alone Flash-Tool zum freien Download an.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Controller können damit programmiert und debugged werden:&lt;br /&gt;
    LPC1111x101    LPC1111x201   LPC1112x101   LPC1112x201&lt;br /&gt;
    LPC1113x201    LPC1113x301   LPC1114x201   LPC1114x301&lt;br /&gt;
    LPC11C14x301   LPC11C12x301&lt;br /&gt;
    LPC1224x101    LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301  LPC1227x301&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    LPC1311   LPC1313   LPC1342   LPC1343&lt;br /&gt;
    LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759&lt;br /&gt;
    LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769&lt;br /&gt;
&lt;br /&gt;
=== EmBlocks ===&lt;br /&gt;
&#039;&#039;&#039;[https://www.emblocks.com Emblocks]&#039;&#039;&#039; ist eine kostenlose Entwicklungsumgebung. Sie unterstützt neben NXP uC weitere ARM uC (STM32, EFM32) sowie PIC, AVR und MSP430. Die IDE hat einen eingebauten GDB Debugger welcher System view (Peripherie Register anzeigen) beim Debuggen unterstützt. Ausserdem gibt es einen Project Wizzard für NXP uC &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird der JLINK mit folgenden NXP uC:&lt;br /&gt;
LPC11Axx, LPC11Exx, LPC11Uxx, LPC11xxLV, LPC12xx, LPC13Uxx, LPC13xx, LPC17xx, LPC18xx, LPC18xx, LPC177x_8x, LPC407x_8x&lt;br /&gt;
&lt;br /&gt;
=== Codebase ===&lt;br /&gt;
Des Weiteren existiert eine umfangreiche Sammlung von &#039;&#039;&#039;[http://www.coocox.org/NXP-Series.php Code-Beispielen]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Keil ===&lt;br /&gt;
[https://www.keil.com/demo/eval/arm.htm KEIL MDK-ARM] (Windows, Free Version auf 32KB begrenzt, mit vielen Beispielen zu div. Evaluation Boards) &lt;br /&gt;
*[http://www.keil.com/arm/chips.asp unterstützte Mikrocontroller]&lt;br /&gt;
=== WinARM ===&lt;br /&gt;
[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm WinARM] (wird derzeit nicht gepflegt)&lt;br /&gt;
&lt;br /&gt;
=== GNUARM ===&lt;br /&gt;
[http://gnuarm.com/ GNUARM] (Linux, Windows, wird derzeit nicht gepflegt), &lt;br /&gt;
&lt;br /&gt;
=== Yagarto ===&lt;br /&gt;
[http://www.yagarto.de/ Yagarto] (Windows, mit Eclipse-Integration) &lt;br /&gt;
&lt;br /&gt;
=== CodeSourcery ===&lt;br /&gt;
[http://www.codesourcery.com/gnu_toolchains/arm CodeSourcery CodeBench Lite]&lt;br /&gt;
&lt;br /&gt;
== CMSIS  -  Standard für alle Plattformen ==&lt;br /&gt;
Der Cortex Microcontroller Software Interface Standard (CMSIS) stellt einen &amp;quot;abstraction layer&amp;quot; für alle Cortex-Mx Controller zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
CMSIS stellt einen Schnittstellenstandard von ARM dar, der von vielen Tool-Herstellern unterstützt wird und ist (laut verschiedener Berichte)  kompatibel mit den verschiedensten Compilern (incl GCC). Dies wird erreicht durch einheitliche Definitionen für Adressen und Namen die den Zugriff auf die Register des Cores und der Peripherie ermöglichen.&lt;br /&gt;
Auch Standard-Funktionen für den Start und die Interrupts stehen zur Verfügung.&lt;br /&gt;
Natürlich kann auch weiterhin direkt auf die HW zugegriffen werden, es geht nur um eine Vereinheitlichung von identischen Funktionen. &lt;br /&gt;
Da die Peripherie-Teile zumindest innerhalb eines Halbleiterherstellers für die Cortex-Mx Controller sehr ähnlich oder sogar weitgehend identisch sind kann deutlich mehr SW für verschiedene Derivate innerhalb dieser Prozessorfamilien wiederverwendet werden.  (siehe Google: &amp;quot;CMSIS_Doulos_Tutorial.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Ein weiterer, interessanter Punkt ist die CMSIS-DSP Lib mit ihren Vektorfunktionen, Matrix-Berechnung sowie komplexen Algorithmen für Filter, &lt;br /&gt;
Regler und Fourietransformation sowie weiterer DSP Algorithmen (insgesamt 61).&lt;br /&gt;
&lt;br /&gt;
Leider hat diese Kompatibilität auch seine Grenzen, denn Sonderfunktionen bzw. Spezialitäten in der &amp;quot;gleichen&amp;quot; Peripherie zwischen unterschiedlichen Halbleiterherstellern werden nicht abgedeckt. &lt;br /&gt;
Wäre auch zu schön, wenn die Prozesorhersteller dem Entwickler dadurch einen fliegenden HW-Wechsel bzw. eine einfache Vergleichbarkeit ermöglichen würden ;-)&lt;br /&gt;
&lt;br /&gt;
Eine komplette CMSIS-Lib (V2.0) &amp;quot;Cortex Microcontroller Software Interface Standard&amp;quot; ist für das &amp;quot;Code Red&amp;quot; Paket verfügbar, inklusive einer &amp;quot;DSP-Library&amp;quot; &lt;br /&gt;
http://support.code-red-tech.com/CodeRedWiki/NewInVersion4&lt;br /&gt;
bzw. für GNU / Keil / IAR unter&lt;br /&gt;
http://ics.nxp.com/support/documents/microcontrollers/?search=CMSIS&amp;amp;type=software&amp;amp;Search.x=8&amp;amp;Search.y=12&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red Installationsanleitung zur IDE von Code-Red]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
Suche im Forum nach&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC11* LPC11xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC12* LPC12xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC13* LPC13xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC17* LPC17xx]&lt;br /&gt;
* [http://www.mikrocontroller.net/search?query=LPC18* LPC18xx]&lt;br /&gt;
&lt;br /&gt;
Beispielprojekt mit LPC1768 / LPC1769 und FreeRTOS:&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/264089#new]&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
* [http://darisusgmbh.de/shop/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 Darisus]&lt;br /&gt;
* [http://www.hbe-shop.de HBE] &lt;br /&gt;
* [http://www.tme.eu/de/katalog#cleanParameters%3D1%26searchClick%3D1%26search%3DLPC1%26bf_szukaj%3D+ TME]&lt;br /&gt;
* [http://www.tn-electronics.de/advanced_search_result.php?keywords=LPC1&amp;amp;x=0&amp;amp;y=0 TN]&lt;br /&gt;
* [http://de.mouser.com/_/?Keyword=LPC1&amp;amp;Ns=Pricing|0&amp;amp;FS=True Mouser]&lt;br /&gt;
* [http://www.soselectronic.eu/?searchstring=LPC1&amp;amp;str=378 SOS]&lt;br /&gt;
&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.watterott.com/index.php?page=search&amp;amp;page_action=query&amp;amp;desc=off&amp;amp;sdesc=on&amp;amp;keywords=LPCXpresso Watterott (24€ inclusive JTAG-Programmiergerät UND JTAG Debugger für kostenlose &amp;quot;Code-Red&amp;quot; Entwicklungsplattform)], dazu hier die [[LPC1xxx_Entwicklungskit_LPCXpresso|Beschreibung]]&lt;br /&gt;
* [http://www.lpctools.com/evaluationboardskitsforlpc17xx.aspx LPC-Tools]&lt;br /&gt;
* [http://thinkembedded.ch/NXP:::25.html thinkembedded.ch] div. Olimex Boards&lt;br /&gt;
&lt;br /&gt;
== Weblinks, Foren, Communities ==&lt;br /&gt;
&lt;br /&gt;
* http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html&lt;br /&gt;
* http://www.nxp.com/#/page/content=[f=/dynamic/applicationnotes/tid-50809_sid-56890/data.xml]&lt;br /&gt;
* [http://mbed.org/handbook/Homepage MBED]&lt;br /&gt;
* [http://forums.nxp.com/forums/viewforum.php?f=1 NXP-WIKI]&lt;br /&gt;
* [http://knowledgebase.nxp.com/forumdisplay.php?s=389a3610c741bca7b18221d32b9c0ce0&amp;amp;f=4 NXP-Forum]&lt;br /&gt;
* [http://ics.nxp.com/lpcxpresso/ LPCXpresso]&lt;br /&gt;
* [http://code.google.com/p/32bitmicro/ 32BitMicro]&lt;br /&gt;
* [http://www.brc-electronics.nl SimpleCortex]&lt;br /&gt;
* [http://www.lpcware.com/ LPCWare NXP MCU community]&lt;br /&gt;
* [http://nanohome.be/nxp/index.html LPC175/6x und LPC23xx pin Configurator]&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsplattformen ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.lpcware.com/lpcxpresso/home LPDXpresso Download (Kostenlos mit Debugger)]&lt;br /&gt;
* [http://www.lpcware.com LPCXpresso Homepage]&lt;br /&gt;
* [http://support.code-red-tech.com/CodeRedWiki/WikiHome CR-WIKI]&lt;br /&gt;
* [http://www.keil.com/arm/mdk.asp ARM/Keil MDK-ARM]&lt;br /&gt;
* IAR EWARM&lt;br /&gt;
* Rowley Crossworks&lt;br /&gt;
* Green Hills Software &lt;br /&gt;
* [http://www.coocox.org/CooCox_CoIDE.htm CooCox] (Kostenlos)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ARM]]&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red&amp;diff=80525</id>
		<title>Installationsanleitung C-Entwicklungsumgebung für LPC1xxx von Code Red</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installationsanleitung_C-Entwicklungsumgebung_f%C3%BCr_LPC1xxx_von_Code_Red&amp;diff=80525"/>
		<updated>2014-01-02T13:32:00Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier eine kurze Installationsanleitung zur LPC-IDE:&lt;br /&gt;
&lt;br /&gt;
Die IDE basiert auf Eclipse und ist ohne Registrierung bis 8KB freigeschaltet. Nach einer kostenlosen Registrierung erhält man eine &amp;quot;Full&amp;quot; Lizenz bis 512KB.&lt;br /&gt;
&lt;br /&gt;
# Gehe zur LPCXpresso-Website [http://lpcxpresso.code-red-tech.com/LPCXpresso/ Website]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
# Die Software von [http://www.lpcware.com/lpcxpresso/home Downloads] herunterladen. &lt;br /&gt;
# Während der Wartezeit in der CodeRed-FAQ [http://support.code-red-tech.com/CodeRedWiki/CodeRedFAQ CodeRed-FAQ] oder jetzt in der [http://www.lpcware.com LPCWARE-Seite] stöbern.&lt;br /&gt;
# Software installieren. Die Software ist ohne Registrierung automatisch für 8KB freigeschaltet&lt;br /&gt;
# LPCXpresso starten&lt;br /&gt;
# Im Menü &amp;quot;Help&amp;quot; den Punkt &amp;quot;Product activation&amp;quot; und dann &amp;quot;Create Serial Number and activate...&amp;quot; auswählen und die Nummer kopieren.&lt;br /&gt;
# Wie dort beschrieben die Nummer auf der NXP-Seite eingeben, ggf muß man sich dort zuerst kostenfrei registrieren.&lt;br /&gt;
# Ist die Mail von &amp;quot;NXP&amp;quot; angekommen, oder bei der neueren Version sobald der Freischaltcode angezeigt wird, die lange Nummer herauskopieren und im Menü &amp;quot;Help&amp;quot; den Punkt &amp;quot;Product Activation&amp;quot; und dann &amp;quot;Enter Activation Code&amp;quot; auswählen, und diese Nummer einfügen.&lt;br /&gt;
# Fertig! Die IDE ist jetzt registriert. Dies bedeutet, daß eine maximale Codegröße von 512KiB erzeugt oder debugt werden kann. LPC weist explizit darauf hin, daß dies einer &amp;quot;FULL&amp;quot; Lizenz entspricht, mit der auch produktiv – also nicht nur für den Privatgebrauch – gearbeitet werden kann.&lt;br /&gt;
 &lt;br /&gt;
Viel Spaß!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx Beschreibung der LPC1xxx-Familie]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/LPC1xxx_Entwicklungskit_LPCXpresso LPCXpresso-Entwicklungskit]&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Codebase_f%C3%BCr_LPC1xxx LPC1xxx Codebase]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:LPC1x]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Leistungselektronik&amp;diff=80490</id>
		<title>Leistungselektronik</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Leistungselektronik&amp;diff=80490"/>
		<updated>2014-01-02T08:26:39Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel ist der Einstiegspunkt zu einer Reihe von weiteren Beiträgen, die alle das Thema &amp;quot;Leistungselektronische Systeme&amp;quot; als Hintergrund besitzen. Weiterführende Details und Ergänzungen findet man in den verlinkten Artikeln wie [[IGBT]], [[FET]], [[TRIAC]], [[Kühlkörper]], [[Treiber]], [[Zwischenkreiskapazität]], [[Mosfet-Übersicht]].&lt;br /&gt;
In diesem Artikel geht es hauptsächlich darum einen Überblick über das &amp;quot;System&amp;quot; zu schaffen und diverse Grundlagen und Begriffe zu definieren.&lt;br /&gt;
&lt;br /&gt;
== Leistungselektronik ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Was versteht man unter &amp;quot;Leistungselektronik&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
Unter dem Begriff &amp;quot;Leistungselektronik&amp;quot; versteht man alles, was mit Steuerung, Umformung oder dem Schalten von elektrischer Energie mit elektronischen Bauelementen zu tun hat. Dies beginnt bereits bei wenigen 100mA und wenigen Volt, reicht aber bis zu mehreren 100kV und mehreren 1000A. Bei kleineren Spannungen und Strömen besteht die Herausforderung nicht in den absoluten Werten selbst, sondern in der Umformung mit einem besonders hohen Wirkungsgrad und mit möglichst geringen EMV-Abstrahlungen.&lt;br /&gt;
&lt;br /&gt;
Leistungselektronik bzw. leistungselektronische Systeme bestehen immer aus einem Steuerungs- bzw. Regelteil, und dem Leistungsteil selbst. Dieses Leistungsteil - oft auch als &amp;quot;Leistungselektronik&amp;quot; bezeichnet - besteht selbst wieder aus mehreren Komponenten, die aber &#039;&#039;&#039;immer&#039;&#039;&#039; aufeinander abgestimmt sein müssen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sicherheitsvorkehrungen ===&lt;br /&gt;
Jeder der in diesem Bereich arbeitet muss sich über die Gefahren, die von hohen Spannungen (ab 50V_ac und ca. 60V_dc {offiziell 120V_dc}), hohen Strömen oder hohen Energien (z.B. einem Lichtbogen) ausgehen, informieren und entsprechende Sicherheitsvorkehrungen treffen.  Ab ca 12V zündet ein Lichtbogen und verlischt anschließend. Ab ca. 20V bleibt ein Lichtbogen nach der Zündung stehen, bis die Spannung unter die Lichtbogenbrennspannung - die abhängig von der Lichtbogenlänge ist - fällt. Auch bei einer einmaligen Entladung kann so viel Energie in dem Brennmoment enthalten sein, daß flüssiges Metall durch die Gegend geschleudert wird. Die Verwendung eines Trenntrafos und einer Schutzbrille - letzteres speziell für Messungen mit dem Oszi direkt am Testobjekt - sollte auch schon bei geringen Leistungen zur Standardausrüstung gehören, bei größeren Leistung auch ein Gehörschutz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Bestandteile eines leistungselektronischen Systems ===&lt;br /&gt;
Zum Leistungsteil gehören immer:&lt;br /&gt;
# Leistungshalbleiter ([[FET]], [[Mosfet-Übersicht]], [[IGBT]], [[TRIAC]])&lt;br /&gt;
# Kühlung für den Leistungshalbleiter über [[Kühlkörper]]&lt;br /&gt;
# [[Zwischenkreiskapazität]]&lt;br /&gt;
# Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter&lt;br /&gt;
# Ansteuerschaltung = [[Treiber]]&lt;br /&gt;
# Spannungsversorgung für den Treiber&lt;br /&gt;
&lt;br /&gt;
Optional können noch eine separaten HS-Energieversorgung, ein Strom- bzw. Spannungssensor, sowie ggf. eine Potentialtrennung der Ansteuersignale von der Regeleineheit zum Treiber mit dazugehören.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warum sind diese Komponenten immer Bestandteil einer leistungselektronischen Anwendung, und auf was ist zu achten?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Leistungshalbleiter==== &lt;br /&gt;
Der Leistungshalbleiter selbst ist der eigentliche Schalter. Hier gibt es verschiedene Typen/Arten von Halbleitern, die wichtigsten werden in den entsprechenden Kapiteln ([[FET]], [[Mosfet-Übersicht]], [[IGBT]], [[TRIAC]]) genau erläutert. &lt;br /&gt;
Als kleine Zusammenfassung kann gesagt werden, daß sich &#039;&#039;nicht abschaltbare&#039;&#039; Bauteile wie TRIACs normalerweise ausschließlich für das Schalten von Wechselstrom (AC) eignen, und &#039;&#039;abschaltbare&#039;&#039; Bauteile wie [[FET]] und [[IGBT]] ihre Stärken bei Gleichstrom (DC) ausspielen.  FETs werden meist für Spannungen bis zu ca. 200V, und schnelles und häufiges Schalten &amp;gt;30..50kHz eingesetzt. IGBTs hingegen sind für Schaltfrequenzen bis zu typisch 10..12kHz, (selten bis zu 30kHz) und für Spannungen größer ca. 150V optimal eingesetzt. Vom FET existieren im Bereich Leistungselektronik zwei Haupttypen, der N-Kanal- und der P-Kanal FET. Details im entsprechenden Kapitel nur soviel Vorweg: Bei Anwendungen über ca. 30-40V oder mit hohen Strömen ist es sowohl bezüglich Kosten, als auch bezüglich Verluste und Auswahlmöglichkeiten sinnvoll zu prüfen, ob ein N-Kanal Typ mit seiner etwas aufwändigeren Ansteuerung bzw. Energieversorgung nicht doch Sinn macht. In industriellen Anwendungen wird der P-Kanal Typ nur relativ selten verwendet.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
==== Kühlung für den Leistungshalbleiter ==== &lt;br /&gt;
Leider läßt sich Energie nicht zu 100% verlustfrei konvertieren. Diese Verluste werden hauptsächlich in Form von Wärme abgestrahlt. Damit der (teure) Leistungshalbleiter die gewünschte Lebensdauer erreicht bzw. nicht überhitzt und damit zerstört wird, muß die Verlustenergie in irgend einer Art und Weise über einen [[Kühlkörper]] abgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Nur zum Vergleich: Eine 17cm durchmessende Herdplatte mit einer Leistung von 1000W hat eine Leistungsdichte von ca. 4,5W/cm². In unseren PCs - zur Kühlung der CPU - sind 50..70W/cm² übliche Werte. Die meisten Applikationen mit Leistungshalbleitern übersteigen die Leistungsdichte unserer Herdplatten bei weitem.&lt;br /&gt;
&lt;br /&gt;
Diese Kühlung von nennenswerten Leistungen erfolgt fast ausschließlich durch Wärmeleitung und immer auch in Form von Wärmestrahlung. Bei sehr kleinen Verlustleistungen und hohen Temperaturdifferenzen vom Halbleiter zur Umgebungsluft ist die Ableitung durch Abstrahlung in die Luft (natürliche Konvektion) und Ableitung durch Wärmeleitung in die Platine ohne einen zusätzlichen Kühlkörper oft ausreichend. In Datenblättern findet man 50..75 K/W (ja = junction to ambient) vom Halbleiter zur Umgebungsluft, was bedeutet, daß man ca. 1W ohne Kühlkörper abführen könnte. Für höhere Leistungen muß der Halbleiter auf einen Luftkühler z.B. [[Kühlkörper]] bzw. bei höheren Leistungsdichten auf einem Wasserkühler montiert werden. Dies wird genauer im Kapitel &amp;quot;Kühlung von Leistungshalbleitern&amp;quot; beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Zwischenkreiskapazität ====  &lt;br /&gt;
Die [[Zwischenkreiskapazität]] ist der Energiepuffer der Anwendung, und muß mindestens ein Umschalten der Leistungsendstufe puffern können. In 99% aller Fälle befindet sich die Energiequelle technisch gesehen &amp;quot;weit&amp;quot; von der Last entfernt. Da jede Leitung eine Induktivität darstellt, ist die Quelle nicht direkt, sondern über je eine Induktivität in Hin- und Rückleitung verbunden. Die Zwischenkreiskapazität - die stets in geringst möglichen Abstand zum Leistungsschalter positioniert werden muss - dient der Kompensation der Leitungsinduktivitäten. &lt;br /&gt;
&lt;br /&gt;
==== Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter ====&lt;br /&gt;
Da eine zu hohe Leitungsinduktivitäten zwischen Leistungshalbleiter und Zwischenkreiskondensatoren beim Schaltbetrieb zu hohen Spannungsspitzen führt - die gegebenenfalls den Leistungshalbleiter zerstört - muss der Abstand und damit die Induktivität zwischen Zwischenkreiskondensator und Halbleiter so kurz wie möglich gehalten werden. Natürlich ist dies nicht immer optimal möglich, daher sind Möglichkeiten wie verdrillen von + und GND sowie das Parallelschalten von mehreren, gegeneinander isolierten Litzen mit geringerem Durchmesser oft sinnvoll.&lt;br /&gt;
&lt;br /&gt;
====  Ansteuerschaltung = Treiber ====  &lt;br /&gt;
Um den Leistungshalbeiter kontrollieren zu können ist eine Ansteuerschaltung, der [[Treiber]], erforderlich. Der Treiber hat die Aufgabe das Ansteuersignal mit Logikpegel zum Schalten des Leistungshalbleiters umzusetzen. Hierbei sind verschiedene Anforderungen einzuhalten. Das Ansteuersignal besitzt einen fast beliebigen Logikpegel und könnte eine beliebige Flankensteilheit aufweisen. Gängige Treiber-ICs verfügen also über einen weiten Eingansspannungsbereich - z.B. 3-15V - und einer Schmidt-Trigger Funktionalität um das Signal aufzubereiten. Des Weiteren darf ein GND-Versatz von einigen, wenigen Volt zwischen Ansteuer-Controller und Leistungs-Ground - der von hohen Strömen hervorgerufen wird - nicht zu plötzlichen und ungeplanten Umschaltungen - oder zur Verhinderung von Umschaltungen - führen. Dieser Ground-Versatz ist übrigens eine der häufigsten &amp;quot;Herausforderungen&amp;quot; im Schaltungsdesign von Leistungeelektronik. Die wichtigste Aufgabe des Treibers ist jedoch das Ein- und Ausschalten des Leistungshalbleiters innerhalb einer definierten Zeit. Dazu muss der Treiber den zum Schalten erforderlichen Strom liefern können, und dies auch noch auf dem Potential, das der Leistungshalbleiter benötigt.&lt;br /&gt;
Damit der [[Treiber]] diese Aufgabe erfüllen kann, benötigt er die zum Schalten erforderliche Energiemenge. Diese Energie wird normalerweise aus einer anderen Quelle als der Leistungsstromversorgung bezogen und sinnvollerweise in einem Keramikkondensator gespeichert. Ist nur eine Quelle vorhanden ist auf eine gute Entkopplung der Treiberspannungsversorgung von der Leistungsquelle zu sorgen, z.B. durch einen Vorwiderstand von wenige Ohm und einem schnellen Kondensator, gegebenenfalls auch gestaffelt.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Schaltungstopologien: ===&lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel werden die am häuigsten verwendeten Schaltungstopologien in der Leistungselektronik dargestellt, und kurz besprochen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Beispiel_Schaltungstopologien.png|miniatur|left|900px|Darstellung der wichtigsten Schaltungstopologien]]&lt;br /&gt;
 &lt;br /&gt;
;Low-Side–Schalter: Der Halbleiter schaltet eine Last gegen GND – auch als &#039;&#039;LS-Schalter&#039;&#039; bezeichnet. Die Last ist fest mit der Versorgungsspannung verbunden. Der Treiber kann hier zwar direkt an GND geschaltet werden, jedoch ist bis zum Verbindungspunkt auf eine strikte Trennung zwischen Leistungs-GND und Signal-GND, genauso wie an möglichst direkte Anbindung an den Bezugspunkt (direkt an Source bzw. Emitter) zu achten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;High-Side–Schalter: Der Halbleiter schaltet eine Last an die Versorgungsspannung – auch als &#039;&#039;HS-Schalter&#039;&#039; bezeichnet. Die Last ist fest mit GND verbunden. Hier wird der Treiber nicht mit GND verbunden, jedoch trotzdem möglichst direkt mit der Source/Emitter des Bauteiles. Die Energieversorgung für den HS-Treiber erfolgt entweder über Bootstrap, oder über einen isolierten DCDC Wandler. Diese Art eines Schalters findet sehr häufig Anwendung z.B. im Kfz, da dort GND praktisch überall vorhanden ist, und keinen separaten Rückleiter erfordert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Halbbrücke: Eine Kombination aus LS-Schalter und HS-Schalter, die an der Verbindungsstelle zwischen LS- und HS-Schalter einen gemeinsamen Anschluß, den &amp;quot;Mittelpunkt&amp;quot; aufweist. Dadurch ist es möglich die Last entweder mit der Energiequelle, oder mit der Leistungs-GND zu verbinden. Besonders wichtig ist hier, daß zwischen dem Ausschalten des einen Schalters und dem Einschalten des anderen Schaltes eine minimale Zeit vergehen muß. Diese Zeit muss absolut sicherstellen, daß zu keinem Zeitpunkt BEIDE Schalter gleichzeitig leitend sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;H-Brücke: Zwei Halbbrücken mit gleicher Energiequelle. Die Last ist hier zwischen den beiden Mittelpunkten der Halbbrücken geschaltet, und kann dadurch sowohl in der eine, als auch in der andere Richtung durchflossen werden. Diese Anordnung wird oft verwendet um DC-Motoren zu steuern, und die Richtung zu wählen.&lt;br /&gt;
Bezüglich der Treiber ist zu beachten, daß die beiden HS-Treiber jeweils eine getrennte Stromversorgung erfordern, was durch Bootstrap automatisch gegeben wäre. Das Bezugspotential der LS-Schalter ist zwar - wenn beim Design berücksichtigt - halbwegs gleich, der Sourceanschluß des linken HS-FETs liegt jedoch im Wechsel mit dem Sourceanschluß des rechten HS-FETs abwechslend auf GND und der Ausgangsspannung der Energiequelle. Des Weiteren gelten die o.g. genannten Randbedingungen zur Anordnung der Halbbrücke.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Vollbrücke: Drei Halbbrücken mit gemeinsamer Leistungsquelle die eine dreiphasige Last - meist einen Motor - ansteuern. Des Weiteren gelten die o.g. genannten Randbedingungen zur Anordnung der Halbbrücke oder der H-Brücke&lt;br /&gt;
&lt;br /&gt;
Eines haben diese Schaltungsanordnungen gemeinsam: Durch PWM kann die fliesende Leistung (fast) stufenlos zwischen 0% und 100% geregelt werden. Bei einer 8-Bit PWM z.B. in 256 Stufen.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== GND ist nicht gleich GND ===&lt;br /&gt;
So mancher kennt vermutlich das Problem einer Mikrocontrollerschaltung mit einem AD-Wandler. Wenn das Ergebnis der AD-Wandlung noch halbwegs der Realität entsprechen soll, dann müssen einige Vorsichtsmaßnahmen ergriffen werden. Neben der Abschirmungsproblematik ist es auch sinnvoll auf eine sorgfältige Trennung von Analog-GND zu Digital-GND zu achten. (Ja Hubert, aber hier reicht es noch ;-) ) &lt;br /&gt;
Natürlich gibt es vielfältige Maßnahmen dies sicherzustellen, das zu diskutieren bzw. die &amp;quot;Beste Lösung&amp;quot; zu finden ist jedoch nicht Ziel dieses Artikels. &lt;br /&gt;
&lt;br /&gt;
Ein sehr ähnliches Problem gibt es hier im Leistungsteil mit der Signal-GND (Signal vom und zum Treiber) und der Leistungs-GND (Hauptstrompfad).&lt;br /&gt;
Diese zwei GNDs (Signal-GND vom Treiber und Leistungs-GND vom Halbleiter) dürfen nur an einem Punkt miteinander verbunden werden, und zwar direkt am Anschlußpunkt von Source bzw. Emitter des Leistungsbauteiles selbst. In den Stromlaufplänen des Artikels &amp;quot;Treiber&amp;quot; wird auffallen, daß der GND Anschluß des Treibers nicht irgendwo an Leistungs-GND angebunden ist, sondern möglichst direkt am Halbleiter. &lt;br /&gt;
&lt;br /&gt;
Der Grund ist sehr einfach erklärt: &#039;&#039;&#039;GND-Versatz.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hier geht es jetzt nicht um den ohmschen d.h. statisch, dem Strom folgenden, Spannungsabfall zwischen Source bzw. Emitter und dem Verbindungspunkt der beiden GNDs, sondern um den dynamischen durch die Induktivität von ein paar &#039;&#039;&#039;ZENTIMETER&#039;&#039;&#039; Leitung. Dieser Spannungsabfall steht dann nicht mehr zur Verfügung, um den [[FET]] / [[IGBT]] anzusteuern, da er der U_GS entgegen wirkt. {{Absatz}}&lt;br /&gt;
Bezüglich &amp;quot;ohmscher Anteil&amp;quot;: bei 500A und 1mOhm sind das nur 0,5V, eigentlich vernachlässigbar, und ein guter Entwickler läßt sowieso etwas Luft. &lt;br /&gt;
Nehmen wir jetzt aber den induktiven Spannungsabfall, den wir gemäß dU = -L * dI / dt berechnen.&lt;br /&gt;
Drei Zentimeter Leiterbahn haben eine Aufbau abhängige parasitäre Induktivität von ca. 20..30nH. &lt;br /&gt;
Werden 125A in 250ns geschaltet bedeutet dies eine Stromsteilheit von 500A/µs, und da ginge noch mehr. Bei 500/µs entsteht in &#039;&#039;drei Zentimeter&#039;&#039;  Leiterbahn bei &#039;&#039;jedem&#039;&#039; Schalten eine Selbstinduktionsspannung von -20nH·500A/1µs = &#039;&#039;-10V.&#039;&#039;   &lt;br /&gt;
Was das bedeutet, wenn die GS-Ansteuerspannung &#039;&#039;um&#039;&#039; 10V reduziert wird, kann sich sicher jeder denken, der Halbleiter schaltet überhaupt nicht mehr, oder wird ggf. im Linearbetrieb eingesetzt und damit sofort heiß bzw. zerstört. Des Weiteren verkraften die meisten, guten Treiber-ICs am Gateausgang eine Spannung von maximal 5V unter dem Bezugs-GND-Potential. Wird die Spannungsdifferenz etwas größer, tritt &amp;quot;magischer Rauch&amp;quot; aus, und wir brauchen wieder einen &amp;quot;neuen Timmy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Thema der &amp;quot;parasitären Induktivitäten&amp;quot; begegnet uns wieder beim Thema &#039;&#039;&amp;quot;Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter&amp;quot;&#039;&#039;. Dort tritt eine vergleichbare Stromsteilheit auf, die Induktivität der Verbindungen zwischen Kondensator und Leistungsschalter ist jedoch höchsten größer, aber nicht so einfach zu beheben wie bei der [[Treiber]]-GND durch Anschluss an der richtigen Stelle.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Begriffsdefinitionen: ===&lt;br /&gt;
&lt;br /&gt;
;Stromsteilheit:  dI/dt = Änderung des Stromes über der Zeit z.B. 100A in 1µs = 100A/µs&lt;br /&gt;
&lt;br /&gt;
;PWM: [[Pulsweitenmodulation]]: Durch Variation des Verhältnisses der Ein- und Ausschaltzeit entsteht bei gleicher Grundfrequenz ein Rechtecksignal mit variablem Verhältnis der Ein =1 zur Aus = 0 Zeit. Dies nennt man auch das &amp;quot;Tastverhältnis&amp;quot;. Dieses Signal kann auch zur Leistungssteuerung verwendet werden, indem z.B. eine 1000W Heizung die auf 400W laufen soll zu 40% ein-, und zu 60% ausgeschaltet ist. Mit dieser Ansteuerung können beliebige Signalformen realisiert werden, sofern eine für die Schaltfrequenz geeignete Filterung erfolgt. Beim Motor (H-Brücke oder Vollbrücke) wird diese Filterung durch die Induktivität der Motorwicklung erreicht, sodaß der Strom nur mehr einen kleineren Stromrippel in etwa in Form eines Dreiecks aufweist.&lt;br /&gt;
&lt;br /&gt;
;Tastverhältnis: Das Verhältnis t_ein / (t_ein + t_aus) bezeichnet man als Tastverhältnis. (engl. Duty Cycle, daher oft abgekürzt DC, Achtung: bitte nicht mit Direct Current = Gleichstrom verwechseln). Das Tastverhältnis ist eine Zahl zwischen &#039;0&#039; und &#039;1&#039;.  &lt;br /&gt;
&lt;br /&gt;
;Brückenkurzschluss:&lt;br /&gt;
;Querstrom: &lt;br /&gt;
Dies wird meist verursacht durch gleichzeitiges oder überlappendes Schalten von HS- und LS-Schalter (oder einem defekten Schalter auf den &amp;quot;aufgeschaltet&amp;quot; wird). Moderne integrierte Treiber stellen durch eine intern erzeugte &amp;quot;Totzeit&amp;quot; sicher, daß dieser Fall des überlappenden Schaltens im Umschaltmoment nie eintritt. Bei einem selbstbau-Treiber sollte diese Funktionalität eingebaut werden.&lt;br /&gt;
Gibt es diese &amp;quot;Totzeit&amp;quot; nicht, oder liegt in einem der Leistungshalbleiter ein Defekt vor steigt der Strom Aufgrund der geringen Induktivität in einem solchen Lastkreis leicht auf mehrere 1000A, und kommt einem Kurzschluß der Leistungsquelle gleich. Wird ein solcher Kurzschluß wie üblich schnell abgeschaltet, zerstören die dabei entstehenden Überspannungen die Schalter meist sofort.  &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Parallelschalten von Leistungstransistoren===&lt;br /&gt;
&lt;br /&gt;
FETs und IGBTs lassen sich relativ einfach parallelschalten, wenn ein paar wenige Grundsätze beachtet werden:&lt;br /&gt;
# Jeder Transistor bekommt einen eigenen Gate-Vorwiderstand bzw. eine eigene R||RD Beschaltung (Gatebeschaltung).&lt;br /&gt;
# Die Gatebeschaltung wird möglichst nahe am Gate- und Source-Anschluß angebracht und bezüglich Leitungslänge (Induktivität) symmetriert. Die Zuleitung zu den Gatebeschaltungen ist unkritisch&#039;&#039;er&#039;&#039;.&lt;br /&gt;
# Die Leistungsanbindung an Drain und Source – hier zählt &amp;quot;mOhm&amp;quot; und &amp;quot;nH&amp;quot; - wird symmetrisch aufgebaut, ähnlich einem &amp;quot;hydraulischen Abgleich&amp;quot; bei Heizungssystemen.&lt;br /&gt;
# Die Schleife &amp;quot;Kondensator — FET — Kondensator&amp;quot; wird minimiert.&lt;br /&gt;
# Jedes Bauteil wird mit größerer Sicherheitsreserve als sonst üblich dimensioniert, denn trotz der hier genannten Maßnahmen können Asymmetrieen auftreten.&lt;br /&gt;
&lt;br /&gt;
Sollten auf den Gateleitungen Schwingungen zu beobachten sein, kann es helfen, in &#039;&#039;jede&#039;&#039; Verbindung von Gatetreiber-Source zum Sourceanschluß des Schalters je einen Widerstand zu integrieren. Der Wert kann ist stark vom geschalteten Strom abhängig, und kann in erster Näherung so dimensioniert werden, daß an diesem Widerstand eine Spannung von ca. 1V abfällt. Dieser Spannungsabfall wirkt einer steigenden Gatespannung entgegen, und reduziert damit dI/dt am jeweils schnellsten Transistor. Achtung auf die Verlustleistung dieses Widerstandes. &lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Kühlung der Leistungshalbleiter ===&lt;br /&gt;
&lt;br /&gt;
[Anmerkung des Autors: Sollte ein Kenner dieses Thema (Falk?) die Zeit und Muse haben diesen Teil des Artikels &#039;&#039;&#039;sinnvoll&#039;&#039;&#039; in den wirklich schon guten Artikel [[Kühlkörper]] zu integrieren und hier zu verlinken, wäre ich dankbar ;-) die Zeit dafür habe ich im Moment nicht ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Betrieb von Leistungshalbleitern wird Wärme erzeugt. Dies geschieht sowohl im eingeschalteten Zustand, als auch bei jedem Ein- und Ausschalten.&lt;br /&gt;
Um eine Überhitzung und damit eine Zerstörung des Bauteiles zu verhindern muss diese Wärmeenergie entsprechend abgeführt werden. Ab einer Verlustleistung von ca. 1W ist es nicht mehr ausreichend wenn das Bauteil diese Energie nur abstrahlt, bzw. über Leitungen abführt. Am häufigsten werden diese Bauteile auf einen [[Kühlkörper]] geschraubt oder geklemmt, selten geklebt. &lt;br /&gt;
&lt;br /&gt;
Sowohl die Oberfläche des Kühlkörpers als auch des wärmeerzeugende Bauteiles sind nicht eben und weisen eine gewisse Rauhigkeit auf. Dies bedeutet, dass sich die zwei Oberflächen nur punktuell berühren (meist nur mit wenigen Prozent der Gesamtfläche) und nicht auf der gesamten Fläche. &lt;br /&gt;
&lt;br /&gt;
Luft hat eine sehr schlechte Wärmeleitfähigkeit und die Luft, die zwischen den zwei Oberflächen liegt, verhindert eine Wärmeleitung zwischen den zwei Teilen sehr effektiv. Als Daumenwert kann man sagen, dass 1µm Luft in etwa einem absoluten Wärmewiderstand von ca. 1K/W entspricht... jedoch wird es sich nur in den seltensten Fällen nur um einen Mikrometer handeln, sondern meistens deutlich mehr. &lt;br /&gt;
&lt;br /&gt;
====Wärmeleitmaterialien:====&lt;br /&gt;
&lt;br /&gt;
Diese Materialien verbessern die thermische Anbindung zwischen einem Bauteil, das Wärme erzeugt, und dem Bauteil, das diese Wärme durch Wärmeleitung in ein Kühlmittel (Luft oder Wasser) abführt. Diese Materialien werden zwar &amp;quot;wärmeleit&amp;quot; -Folie bzw. -Paste genannt, leiten die Wärme jedoch nicht besonders gut...aber immer noch um mindestens den Faktor 100 besser als Luft... und genau das ist der Grund, warum diese verwendet werden müssen. (Kupfer leitet Wärme um den Faktor 15400 besser als Luft) Die Pasten enthalten meist Öle bzw. Wachse und Fette als Bindemittel und zur besseren Wärmeleitung Metalloxide bzw. Metall- oder Kohlenstoffpartikel als wärmeleitende Füllstoffe. &lt;br /&gt;
Der &amp;quot;vielfach punktuelle&amp;quot; Kontakt von Bauteil und Kühlkörperoberfläche ist für eine optimale Anbindung sehr wichtig, da über diese kleinsten Kontaktpunke sehr viel Energie abgeführt werden kann. Daher ist es bei Verwendung von Paste essentiell, die Paste &amp;quot;möglichst dünn&amp;quot; aufzutragen, und den Überschuß, der den direkten Kontakt von Bauteil und Kühlkörper möglicherweise verhindern könnte, herauszupressen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besondere Beachtung finden die Wärmeleitfolien, die auf beiden Seiten eine thermisch leitfähige, wachsartige Beschichtung aufweisen. Diese Beschichtung schmilzt unter Wärmeeinwirkung auf und füllt die Spalten zwischen den Oberflächen besonders gut. Folien dieser Art werden &#039;&#039;Phase Change Material&#039;&#039; genannt. Dieser erste Schmelzprozess erfordert unter Umständen ein Nachspannen des Bauteiles nach dem ersten Aufheizen, da sich durch den Druck die Schichtdicke verringern kann. Achtung: &#039;&#039;Vor&#039;&#039; dem Aufheizen und Nachspannen hat die Wärmeleitfähigkeit noch nicht die möglichen Minimalwerte erreicht. Zum Teil ist die Wärmeanbindung noch um Faktoren schlechter, daher beim ersten Einschalten noch nicht voll belasten.&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von verschiedenen Materialien:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br/&amp;gt; [W/(m·K)] || Kommentar&lt;br /&gt;
|-&lt;br /&gt;
|Kupfer		|| 370 || schwankt zwischen ca. 350..400&lt;br /&gt;
|-&lt;br /&gt;
|Aluminium		|| 220 || &lt;br /&gt;
|-&lt;br /&gt;
|Stahl		|| 50 || hochlegierte Stähle &amp;lt;20&lt;br /&gt;
|-&lt;br /&gt;
|Eisen          	|| 80||&lt;br /&gt;
|-&lt;br /&gt;
|Silber		|| 430 ||&lt;br /&gt;
|-&lt;br /&gt;
|Zinn		||  67 ||&lt;br /&gt;
|-&lt;br /&gt;
|Blei		|| 35||&lt;br /&gt;
|-&lt;br /&gt;
|Wärmeleitpasten	|| 3..10 ||&lt;br /&gt;
|-&lt;br /&gt;
|Luft		|| 0,024 ||&lt;br /&gt;
|-&lt;br /&gt;
|Wasser		|| 0,6||&lt;br /&gt;
|-&lt;br /&gt;
|Öl		|| 0,15||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von &#039;&#039;ausgewählten&#039;&#039; Isolierfolien. Wenn jemand gute und bezahlbare Folien findet/kennt, bitte hier mit allen Daten angeben, um dem Nutzer die Entscheidung zu erleichtern:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br/&amp;gt;[W/(m·K)] || Größe / Menge ||Bezugsquelle || ungefähre&amp;lt;br/&amp;gt;Kosten&lt;br /&gt;
|-&lt;br /&gt;
|WÄRMELEITFOL.86/82 ROT ||6,5 ||100×;100×0,25mm || C|| 14€&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
;Hinweis: Die Wärmeleitfähigkeit von Folien bezieht sich ausschließlich auf die Folie selbst. Selbst unter besten Bedingungen wird man die genannten Werte nicht erreichen, da durch den Übergang vom Bauteil in die Folie und von dort in den Kühlkörper ein zusätzlicher Wärmewiderstand entsteht. Eine Verschlechterung von ca. 30% oder mindestens 0,5K/W bei einem TO220-Bauteil ist zu erwarten.&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von &#039;&#039;ausgewählten&#039;&#039; Wärmeleitpasten. Wenn jemand gute und bezahlbare Pasten findet/kennt, bitte hier mit allen Daten angeben, um dem Nutzer die Entscheidung zu erleichtern:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br&amp;gt;[W/(m·K)] || Größe / Menge ||Bezugsquelle || ungefähre&amp;lt;br/&amp;gt;Kosten&lt;br /&gt;
|-&lt;br /&gt;
|Artic Silver  	||8,9  ||  3,5g || C || 13,95€ &lt;br /&gt;
|-&lt;br /&gt;
|Standard Pasten auf Silikonbasis ||3,0|| 3g..150g|| C / Rei / ... || wenige €/g &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Montagerichtlinien:&lt;br /&gt;
Die so beliebten Bohrungen in eine blanken Kühlfahne des Transistors wie z.&amp;amp;nbsp;B. beim TO-220 Gehäuse suggerieren eine fantastisch einfache Montierbarkteit. Wird die Schraube aber nur ein klein wenig zu fest angezogen, verformt sich das Kupfer der Kühlfahne und sorgt dafür, dass sich der Kunststoff umpresste Teil des Transistors ein klein wenig abhebt. Dies hat eine deutlich schlechtere Wärmeanbindung zur Folge. Die isolierte Bohrung bei vollständig umspritzten – nicht zu verwechseln mit auch auf der Rückseite isolierten – Bauteilen umgeht dieses Risiko, genauso wie der nachfolgende Montagevorschlag.&lt;br /&gt;
* Bei hohen Verlustleistungen ist zu empfehlen, das Bauteil gegenüber der Stelle aufzupressen, an der die Verlustleistung entsteht, also direkt auf dem Kunststoff des Transistors über dem Chip.&lt;br /&gt;
* Werden mehrere Bauteile parallel auf dem Kühlkörper montiert sollte zwischen den Bauteilen &#039;&#039;mindestend&#039;&#039; soviel Abstand vorgesehen werden, wie die Breite des Bauteiles beträgt. Dies vermindert die gegenseitige, thermische Beeinflussing der Bauteile und ermöglicht eine bessere Wärmeabfuhr&lt;br /&gt;
* Zur Montage mehrerer Bauteile eignet sich eine Metallschiene die direkt auf den Kunststoff drückt sehr gut. Zwischen &#039;&#039;jedem&#039;&#039; Bauteil ist ein Verschraubungspunkt vorzusehen, damit jedes Bauteil gleichmäßig aufgedrückt wird.&lt;br /&gt;
* Vor dem Aufbringen der Paste/Folie sowohl Bauteil als auch Kühlkörper mit Alkohol reinigen.&lt;br /&gt;
* Die Wärmeleitwerte für eine Paste beziehen sich auf eine meist nicht genannte  aber trotzdem &#039;&#039;minimale&#039;&#039; Schichtdicke. Diese gelingt relativ reproduzierbar, wenn die Paste mit einem flachen Gegenstand (Rasierklinge, Lineal, ...) aufgebracht, verteilt und vorsichtig abgezogen wird, sodass nur eine &#039;&#039;dünne&#039;&#039; Schicht auf dem [[Kühlkörper]] verbleibt. Dies erfordert einige Übung. Paste aufhäufeln, Bauteil eindrücken und befestigen erzielt bei weitem nicht die optimale Kühlleistung.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Zusätzliche Hinweise ==&lt;br /&gt;
&lt;br /&gt;
Anregungen oder Fragen auch gerne per Email an [http://www.mikrocontroller.net/user/show/powerfreak Powerfreak]. Dieser Artikel kann dadurch regelmäßig erweitert und ggf. durch ein FAQ ergänzt werden.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Mosfet-Übersicht]]&lt;br /&gt;
* [[IGBT]]&lt;br /&gt;
* [[FET]]&lt;br /&gt;
* [[TRIAC]]&lt;br /&gt;
* [[Kühlkörper]] &lt;br /&gt;
* [[Zwischenkreiskapazität]]&lt;br /&gt;
* [[Treiber]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:!Hauptkategorie]]&lt;br /&gt;
[[Kategorie:Leistungselektronik]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Leistungselektronik&amp;diff=80489</id>
		<title>Leistungselektronik</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Leistungselektronik&amp;diff=80489"/>
		<updated>2014-01-02T08:22:38Z</updated>

		<summary type="html">&lt;p&gt;84.187.122.42: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel ist der Einstiegspunkt zu einer Reihe von weiteren Beiträgen, die alle das Thema &amp;quot;Leistungselektronische Systeme&amp;quot; als Hintergrund besitzen. Weiterführende Details und Ergänzungen findet man in den verlinkten Artikeln wie [[IGBT]], [[FET]], [[TRIAC]], [[Kühlkörper]], [[Treiber]], [[Zwischenkreiskapazität]], [[Mosfet-Übersicht]].&lt;br /&gt;
In diesem Artikel geht es hauptsächlich darum einen Überblick über das &amp;quot;System&amp;quot; zu schaffen und diverse Grundlagen und Begriffe zu definieren.&lt;br /&gt;
&lt;br /&gt;
== Leistungselektronik ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Was versteht man unter &amp;quot;Leistungselektronik&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
Unter dem Begriff &amp;quot;Leistungselektronik&amp;quot; versteht man alles, was mit Steuerung, Umformung oder dem Schalten von elektrischer Energie mit elektronischen Bauelementen zu tun hat. Dies beginnt bereits bei wenigen 100mA und wenigen Volt, reicht aber bis zu mehreren 100kV und mehreren 1000A. Bei kleineren Spannungen und Strömen besteht die Herausforderung nicht in den absoluten Werten selbst, sondern in der Umformung mit einem besonders hohen Wirkungsgrad und mit möglichst geringen EMV-Abstrahlungen.&lt;br /&gt;
&lt;br /&gt;
Leistungselektronik bzw. leistungselektronische Systeme bestehen immer aus einem Steuerungs- bzw. Regelteil, und dem Leistungsteil selbst. Dieses Leistungsteil - oft auch als &amp;quot;Leistungselektronik&amp;quot; bezeichnet - besteht selbst wieder aus mehreren Komponenten, die aber &#039;&#039;&#039;immer&#039;&#039;&#039; aufeinander abgestimmt sein müssen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sicherheitsvorkehrungen ===&lt;br /&gt;
Jeder der in diesem Bereich arbeitet muss sich über die Gefahren, die von hohen Spannungen (ab 50V_ac und ca. 60V_dc {offiziell 120V_dc}), hohen Strömen oder hohen Energien (z.B. einem Lichtbogen) ausgehen, informieren und entsprechende Sicherheitsvorkehrungen treffen.  Ab ca 12V zündet ein Lichtbogen und verlischt anschließend. Ab ca. 20V bleibt ein Lichtbogen nach der Zündung stehen, bis die Spannung unter die Lichtbogenbrennspannung - die abhängig von der Lichtbogenlänge ist - fällt. Auch bei einer einmaligen Entladung kann so viel Energie in dem Brennmoment enthalten sein, daß flüssiges Metall durch die Gegend geschleudert wird. Die Verwendung eines Trenntrafos und einer Schutzbrille - letzteres speziell für Messungen mit dem Oszi direkt am Testobjekt - sollte auch schon bei geringen Leistungen zur Standardausrüstung gehören, bei größeren Leistung auch ein Gehörschutz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Bestandteile eines leistungselektronischen Systems ===&lt;br /&gt;
Zum Leistungsteil gehören immer:&lt;br /&gt;
# Leistungshalbleiter ([[FET]], [[Mosfet-Übersicht]], [[IGBT]], [[TRIAC]])&lt;br /&gt;
# Kühlung für den Leistungshalbleiter über [[Kühlkörper]]&lt;br /&gt;
# [[Zwischenkreiskapazität]]&lt;br /&gt;
# Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter&lt;br /&gt;
# Ansteuerschaltung = [[Treiber]]&lt;br /&gt;
# Spannungsversorgung für den Treiber&lt;br /&gt;
&lt;br /&gt;
Optional können noch eine separaten HS-Energieversorgung, ein Strom- bzw. Spannungssensor, sowie ggf. eine Potentialtrennung der Ansteuersignale von der Regeleineheit zum Treiber mit dazugehören.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warum sind diese Komponenten immer Bestandteil einer leistungselektronischen Anwendung, und auf was ist zu achten?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Leistungshalbleiter==== &lt;br /&gt;
Der Leistungshalbleiter selbst ist der eigentliche Schalter. Hier gibt es verschiedene Typen/Arten von Halbleitern, die wichtigsten werden in den entsprechenden Kapiteln ([[FET]], [[Mosfet-Übersicht]], [[IGBT]], [[TRIAC]]) genau erläutert. &lt;br /&gt;
Als kleine Zusammenfassung kann gesagt werden, daß sich &#039;&#039;nicht abschaltbare&#039;&#039; Bauteile wie TRIACs normalerweise ausschließlich für das Schalten von Wechselstrom (AC) eignen, und &#039;&#039;abschaltbare&#039;&#039; Bauteile wie [[FET]] und [[IGBT]] ihre Stärken bei Gleichstrom (DC) ausspielen.  FETs werden meist für Spannungen bis zu ca. 200V, und schnelles und häufiges Schalten &amp;gt;30..50kHz eingesetzt. IGBTs hingegen sind für Schaltfrequenzen bis zu typisch 10..12kHz, (selten bis zu 30kHz) und für Spannungen größer ca. 150V optimal eingesetzt. Vom FET existieren im Bereich Leistungselektronik zwei Haupttypen, der N-Kanal- und der P-Kanal FET. Details im entsprechenden Kapitel nur soviel Vorweg: Bei Anwendungen über ca. 30-40V oder mit hohen Strömen ist es sowohl bezüglich Kosten, als auch bezüglich Verluste und Auswahlmöglichkeiten sinnvoll zu prüfen, ob ein N-Kanal Typ mit seiner etwas aufwändigeren Ansteuerung bzw. Energieversorgung nicht doch Sinn macht. In industriellen Anwendungen wird der P-Kanal Typ nur relativ selten verwendet.&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
==== Kühlung für den Leistungshalbleiter ==== &lt;br /&gt;
Leider läßt sich Energie nicht zu 100% verlustfrei konvertieren. Diese Verluste werden hauptsächlich in Form von Wärme abgestrahlt. Damit der (teure) Leistungshalbleiter die gewünschte Lebensdauer erreicht bzw. nicht überhitzt und damit zerstört wird, muß die Verlustenergie in irgend einer Art und Weise über einen [[Kühlkörper]] abgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Nur zum Vergleich: Eine 17cm durchmessende Herdplatte mit einer Leistung von 1000W hat eine Leistungsdichte von ca. 4,5W/cm². In unseren PCs - zur Kühlung der CPU - sind 50..70W/cm² übliche Werte. Die meisten Applikationen mit Leistungshalbleitern übersteigen die Leistungsdichte unserer Herdplatten bei weitem.&lt;br /&gt;
&lt;br /&gt;
Diese Kühlung von nennenswerten Leistungen erfolgt fast ausschließlich durch Wärmeleitung und immer auch in Form von Wärmestrahlung. Bei sehr kleinen Verlustleistungen und hohen Temperaturdifferenzen vom Halbleiter zur Umgebungsluft ist die Ableitung durch Abstrahlung in die Luft (natürliche Konvektion) und Ableitung durch Wärmeleitung in die Platine ohne einen zusätzlichen Kühlkörper oft ausreichend. In Datenblättern findet man 50..75 K/W (ja = junction to ambient) vom Halbleiter zur Umgebungsluft, was bedeutet, daß man ca. 1W ohne Kühlkörper abführen könnte. Für höhere Leistungen muß der Halbleiter auf einen Luftkühler z.B. [[Kühlkörper]] bzw. bei höheren Leistungsdichten auf einem Wasserkühler montiert werden. Dies wird genauer im Kapitel &amp;quot;Kühlung von Leistungshalbleitern&amp;quot; beschrieben.&lt;br /&gt;
&lt;br /&gt;
==== Zwischenkreiskapazität ====  &lt;br /&gt;
Die [[Zwischenkreiskapazität]] ist der Energiepuffer der Anwendung, und muß mindestens ein Umschalten der Leistungsendstufe puffern können. In 99% aller Fälle befindet sich die Energiequelle technisch gesehen &amp;quot;weit&amp;quot; von der Last entfernt. Da jede Leitung eine Induktivität darstellt, ist die Quelle nicht direkt, sondern über je eine Induktivität in Hin- und Rückleitung verbunden. Die Zwischenkreiskapazität - die stets in geringst möglichen Abstand zum Leistungsschalter positioniert werden muss - dient der Kompensation der Leitungsinduktivitäten. &lt;br /&gt;
&lt;br /&gt;
==== Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter ====&lt;br /&gt;
Da eine zu hohe Leitungsinduktivitäten zwischen Leistungshalbleiter und Zwischenkreiskondensatoren beim Schaltbetrieb zu hohen Spannungsspitzen führt - die gegebenenfalls den Leistungshalbleiter zerstört - muss der Abstand und damit die Induktivität zwischen Zwischenkreiskondensator und Halbleiter so kurz wie möglich gehalten werden. Natürlich ist dies nicht immer optimal möglich, daher sind Möglichkeiten wie verdrillen von + und GND sowie das Parallelschalten von mehreren, gegeneinander isolierten Litzen mit geringerem Durchmesser oft sinnvoll.&lt;br /&gt;
&lt;br /&gt;
====  Ansteuerschaltung = Treiber ====  &lt;br /&gt;
Um den Leistungshalbeiter kontrollieren zu können ist eine Ansteuerschaltung, der [[Treiber]], erforderlich. Der Treiber hat die Aufgabe das Ansteuersignal mit Logikpegel zum Schalten des Leistungshalbleiters umzusetzen. Hierbei sind verschiedene Anforderungen einzuhalten. Das Ansteuersignal besitzt einen fast beliebigen Logikpegel und könnte eine beliebige Flankensteilheit aufweisen. Gängige Treiber-ICs verfügen also über einen weiten Eingansspannungsbereich - z.B. 3-15V - und einer Schmidt-Trigger Funktionalität um das Signal aufzubereiten. Des Weiteren darf ein GND-Versatz von einigen, wenigen Volt zwischen Ansteuer-Controller und Leistungs-Ground - der von hohen Strömen hervorgerufen wird - nicht zu plötzlichen und ungeplanten Umschaltungen - oder zur Verhinderung von Umschaltungen - führen. Dieser Ground-Versatz ist übrigens eine der häufigsten &amp;quot;Herausforderungen&amp;quot; im Schaltungsdesign von Leistungeelektronik. Die wichtigste Aufgabe des Treibers ist jedoch das Ein- und Ausschalten des Leistungshalbleiters innerhalb einer definierten Zeit. Dazu muss der Treiber den zum Schalten erforderlichen Strom liefern können, und dies auch noch auf dem Potential, das der Leistungshalbleiter benötigt.&lt;br /&gt;
Damit der [[Treiber]] diese Aufgabe erfüllen kann, benötigt er die zum Schalten erforderliche Energiemenge. Diese Energie wird normalerweise aus einer anderen Quelle als der Leistungsstromversorgung bezogen und sinnvollerweise in einem Keramikkondensator gespeichert. Ist nur eine Quelle vorhanden ist auf eine gute Entkopplung der Treiberspannungsversorgung von der Leistungsquelle zu sorgen, z.B. durch einen Vorwiderstand von wenige Ohm und einem schnellen Kondensator, gegebenenfalls auch gestaffelt.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Schaltungstopologien: ===&lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel werden die am häuigsten verwendeten Schaltungstopologien in der Leistungselektronik dargestellt, und kurz besprochen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Beispiel_Schaltungstopologien.png|miniatur|left|900px|Darstellung der wichtigsten Schaltungstopologien]]&lt;br /&gt;
 &lt;br /&gt;
;Low-Side–Schalter: Der Halbleiter schaltet eine Last gegen GND – auch als &#039;&#039;LS-Schalter&#039;&#039; bezeichnet. Die Last ist fest mit der Versorgungsspannung verbunden. Der Treiber kann hier zwar direkt an GND geschaltet werden, jedoch ist bis zum Verbindungspunkt auf eine strikte Trennung zwischen Leistungs-GND und Signal-GND, genauso wie an möglichst direkte Anbindung an den Bezugspunkt (direkt an Source bzw. Emitter) zu achten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;High-Side–Schalter: Der Halbleiter schaltet eine Last an die Versorgungsspannung – auch als &#039;&#039;HS-Schalter&#039;&#039; bezeichnet. Die Last ist fest mit GND verbunden. Hier wird der Treiber nicht mit GND verbunden, jedoch trotzdem möglichst direkt mit der Source/Emitter des Bauteiles. Die Energieversorgung für den HS-Treiber erfolgt entweder über Bootstrap, oder über einen isolierten DCDC Wandler. Diese Art eines Schalters findet sehr häufig Anwendung z.B. im Kfz, da dort GND praktisch überall vorhanden ist, und keinen separaten Rückleiter erfordert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Halbbrücke: Eine Kombination aus LS-Schalter und HS-Schalter, die an der Verbindungsstelle zwischen LS- und HS-Schalter einen gemeinsamen Anschluß, den &amp;quot;Mittelpunkt&amp;quot; aufweist. Dadurch ist es möglich die Last entweder mit der Energiequelle, oder mit der Leistungs-GND zu verbinden. Besonders wichtig ist hier, daß zwischen dem Ausschalten des einen Schalters und dem Einschalten des anderen Schaltes eine minimale Zeit vergehen muß. Diese Zeit muss absolut sicherstellen, daß zu keinem Zeitpunkt BEIDE Schalter gleichzeitig leitend sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;H-Brücke: Zwei Halbbrücken mit gleicher Energiequelle. Die Last ist hier zwischen den beiden Mittelpunkten der Halbbrücken geschaltet, und kann dadurch sowohl in der eine, als auch in der andere Richtung durchflossen werden. Diese Anordnung wird oft verwendet um DC-Motoren zu steuern, und die Richtung zu wählen.&lt;br /&gt;
Bezüglich der Treiber ist zu beachten, daß die beiden HS-Treiber jeweils eine getrennte Stromversorgung erfordern, was durch Bootstrap automatisch gegeben wäre. Das Bezugspotential der LS-Schalter ist zwar - wenn beim Design berücksichtigt - halbwegs gleich, der Sourceanschluß des linken HS-FETs liegt jedoch im Wechsel mit dem Sourceanschluß des rechten HS-FETs abwechslend auf GND und der Ausgangsspannung der Energiequelle. Des Weiteren gelten die o.g. genannten Randbedingungen zur Anordnung der Halbbrücke.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Vollbrücke: Drei Halbbrücken mit gemeinsamer Leistungsquelle die eine dreiphasige Last - meist einen Motor - ansteuern. Des Weiteren gelten die o.g. genannten Randbedingungen zur Anordnung der Halbbrücke oder der H-Brücke&lt;br /&gt;
&lt;br /&gt;
Eines haben diese Schaltungsanordnungen gemeinsam: Durch PWM kann die fliesende Leistung (fast) stufenlos zwischen 0% und 100% geregelt werden. Bei einer 8-Bit PWM z.B. in 256 Stufen.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== GND ist nicht gleich GND ===&lt;br /&gt;
So mancher kennt vermutlich das Problem einer Mikrocontrollerschaltung mit einem AD-Wandler. Wenn das Ergebnis der AD-Wandlung noch halbwegs der Realität entsprechen soll, dann müssen einige Vorsichtsmaßnahmen ergriffen werden. Neben der Abschirmungsproblematik ist es auch sinnvoll auf eine sorgfältige Trennung von Analog-GND zu Digital-GND zu achten. (Ja Hubert, aber hier reicht es noch ;-) ) &lt;br /&gt;
Natürlich gibt es vielfältige Maßnahmen dies sicherzustellen, das zu diskutieren bzw. die &amp;quot;Beste Lösung&amp;quot; zu finden ist jedoch nicht Ziel dieses Artikels. &lt;br /&gt;
&lt;br /&gt;
Ein sehr ähnliches Problem gibt es hier im Leistungsteil mit der Signal-GND (Signal vom und zum Treiber) und der Leistungs-GND (Hauptstrompfad).&lt;br /&gt;
Diese zwei GNDs (Signal-GND vom Treiber und Leistungs-GND vom Halbleiter) dürfen nur an einem Punkt miteinander verbunden werden, und zwar direkt am Anschlußpunkt von Source bzw. Emitter des Leistungsbauteiles selbst. In den Stromlaufplänen des Artikels &amp;quot;Treiber&amp;quot; wird auffallen, daß der GND Anschluß des Treibers nicht irgendwo an Leistungs-GND angebunden ist, sondern möglichst direkt am Halbleiter. &lt;br /&gt;
&lt;br /&gt;
Der Grund ist sehr einfach erklärt: &#039;&#039;&#039;GND-Versatz.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hier geht es jetzt nicht um den ohmschen d.h. statisch, dem Strom folgenden, Spannungsabfall zwischen Source bzw. Emitter und dem Verbindungspunkt der beiden GNDs, sondern um den dynamischen durch die Induktivität von ein paar &#039;&#039;&#039;ZENTIMETER&#039;&#039;&#039; Leitung. Dieser Spannungsabfall steht dann nicht mehr zur Verfügung, um den [[FET]] / [[IGBT]] anzusteuern, da er der U_GS entgegen wirkt. {{Absatz}}&lt;br /&gt;
Bezüglich &amp;quot;ohmscher Anteil&amp;quot;: bei 500A und 1mOhm sind das nur 0,5V, eigentlich vernachlässigbar, und ein guter Entwickler läßt sowieso etwas Luft. &lt;br /&gt;
Nehmen wir jetzt aber den induktiven Spannungsabfall, den wir gemäß dU = -L * dI / dt berechnen.&lt;br /&gt;
Drei Zentimeter Leiterbahn haben eine Aufbau abhängige parasitäre Induktivität von ca. 20..30nH. &lt;br /&gt;
Werden 125A in 250ns geschaltet bedeutet dies eine Stromsteilheit von 500A/µs, und da ginge noch mehr. Bei 500/µs entsteht in &#039;&#039;drei Zentimeter&#039;&#039;  Leiterbahn bei &#039;&#039;jedem&#039;&#039; Schalten eine Selbstinduktionsspannung von -20nH·500A/1µs = &#039;&#039;-10V.&#039;&#039;   &lt;br /&gt;
Was das bedeutet, wenn die GS-Ansteuerspannung &#039;&#039;um&#039;&#039; 10V reduziert wird, kann sich sicher jeder denken, der Halbleiter schaltet überhaupt nicht mehr, oder wird ggf. im Linearbetrieb eingesetzt und damit sofort heiß bzw. zerstört. Des Weiteren verkraften die meisten, guten Treiber-ICs am Gateausgang eine Spannung von maximal 5V unter dem Bezugs-GND-Potential. Wird die Spannungsdifferenz etwas größer, tritt &amp;quot;magischer Rauch&amp;quot; aus, und wir brauchen wieder einen &amp;quot;neuen Timmy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Das Thema der &amp;quot;parasitären Induktivitäten&amp;quot; begegnet uns wieder beim Thema &#039;&#039;&amp;quot;Niederinduktiver Aufbau zwischen Zwischenkreiskondensator und Leistungshalbleiter&amp;quot;&#039;&#039;. Dort tritt eine vergleichbare Stromsteilheit auf, die Induktivität der Verbindungen zwischen Kondensator und Leistungsschalter ist jedoch höchsten größer, aber nicht so einfach zu beheben wie bei der [[Treiber]]-GND durch Anschluss an der richtigen Stelle.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Begriffsdefinitionen: ===&lt;br /&gt;
&lt;br /&gt;
;Stromsteilheit:  dI/dt = Änderung des Stromes über der Zeit z.B. 100A in 1µs = 100A/µs&lt;br /&gt;
&lt;br /&gt;
;PWM: [[Pulsweitenmodulation]]: Durch Variation des Verhältnisses der Ein- und Ausschaltzeit entsteht bei gleicher Grundfrequenz ein Rechtecksignal mit variablem Verhältnis der Ein =1 zur Aus = 0 Zeit. Dies nennt man auch das &amp;quot;Tastverhältnis&amp;quot;. Dieses Signal kann auch zur Leistungssteuerung verwendet werden, indem z.B. eine 1000W Heizung die auf 400W laufen soll zu 40% ein-, und zu 60% ausgeschaltet ist. Mit dieser Ansteuerung können beliebige Signalformen realisiert werden, sofern eine für die Schaltfrequenz geeignete Filterung erfolgt. Beim Motor (H-Brücke oder Vollbrücke) wird diese Filterung durch die Induktivität der Motorwicklung erreicht, sodaß der Strom nur mehr einen kleineren Stromrippel in etwa in Form eines Dreiecks aufweist.&lt;br /&gt;
&lt;br /&gt;
;Tastverhältnis: Das Verhältnis t_ein / (t_ein + t_aus) bezeichnet man als Tastverhältnis. (engl. Duty Cycle, daher oft abgekürzt DC, Achtung: bitte nicht mit Direct Current = Gleichstrom verwechseln). Das Tastverhältnis ist eine Zahl zwischen &#039;0&#039; und &#039;1&#039;.  &lt;br /&gt;
&lt;br /&gt;
;Brückenkurzschluss:&lt;br /&gt;
;Querstrom: &lt;br /&gt;
Dies wird meist verursacht durch gleichzeitiges oder überlappendes Schalten von HS- und LS-Schalter (oder einem defekten Schalter auf den &amp;quot;aufgeschaltet&amp;quot; wird). Moderne integrierte Treiber stellen durch eine intern erzeugte &amp;quot;Totzeit&amp;quot; sicher, daß dieser Fall des überlappenden Schaltens im Umschaltmoment nie eintritt. Bei einem selbstbau-Treiber sollte diese Funktionalität eingebaut werden.&lt;br /&gt;
Gibt es diese &amp;quot;Totzeit&amp;quot; nicht, oder liegt in einem der Leistungshalbleiter ein Defekt vor steigt der Strom Aufgrund der geringen Induktivität in einem solchen Lastkreis leicht auf mehrere 1000A, und kommt einem Kurzschluß der Leistungsquelle gleich. Wird ein solcher Kurzschluß wie üblich schnell abgeschaltet, zerstören die dabei entstehenden Überspannungen die Schalter meist sofort.  &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Parallelschalten von Leistungstransistoren===&lt;br /&gt;
&lt;br /&gt;
FETs und IGBTs lassen sich relativ einfach parallelschalten, wenn ein paar wenige Grundsätze beachtet werden:&lt;br /&gt;
# Jeder Transistor bekommt einen eigenen Gate-Vorwiderstand bzw. eine eigene R||RD Beschaltung (Gatebeschaltung).&lt;br /&gt;
# Die Gatebeschaltung wird möglichst nahe am Gate- und Source-Anschluß angebracht und bezüglich Leitungslänge (Induktivität) symmetriert. Die Zuleitung zu den Gatebeschaltungen ist unkritisch&#039;&#039;er&#039;&#039;.&lt;br /&gt;
# Die Leistungsanbindung an Drain und Source – hier zählt &amp;quot;mOhm&amp;quot; und &amp;quot;nH&amp;quot; - wird symmetrisch aufgebaut, ähnlich einem &amp;quot;hydraulischen Abgleich&amp;quot; bei Heizungssystemen.&lt;br /&gt;
# Die Schleife &amp;quot;Kondensator — FET — Kondensator&amp;quot; wird minimiert.&lt;br /&gt;
# Jedes Bauteil wird mit größerer Sicherheitsreserve als sonst üblich dimensioniert, denn trotz der hier genannten Maßnahmen können Asymmetrieen auftreten.&lt;br /&gt;
&lt;br /&gt;
Sollten auf den Gateleitungen Schwingungen zu beobachten sein, kann es helfen, in &#039;&#039;jede&#039;&#039; Verbindung von Gatetreiber-Source zum Sourceanschluß des Schalters je einen Widerstand zu integrieren. Der Wert kann ist stark vom geschalteten Strom abhängig, und kann in erster Näherung so dimensioniert werden, daß an diesem Widerstand eine Spannung von ca. 1V abfällt. Dieser Spannungsabfall wirkt einer steigenden Gatespannung entgegen, und reduziert damit dI/dt am jeweils schnellsten Transistor. Achtung auf die Verlustleistung dieses Widerstandes. &lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
=== Kühlung der Leistungshalbleiter ===&lt;br /&gt;
&lt;br /&gt;
[Anmerkung des Autors: Sollte ein Kenner dieses Thema (Falk?) die Zeit und Muse haben diesen Teil des Artikels &#039;&#039;&#039;sinnvoll&#039;&#039;&#039; in den wirklich schon guten Artikel [[Kühlkörper]] zu integrieren und hier zu verlinken, wäre ich dankbar ;-) die Zeit dafür habe ich im Moment nicht ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Betrieb von Leistungshalbleitern wird Wärme erzeugt. Dies geschieht sowohl im eingeschalteten Zustand, als auch bei jedem Ein- und Ausschalten.&lt;br /&gt;
Um eine Überhitzung und damit eine Zerstörung des Bauteiles zu verhindern muss diese Wärmeenergie entsprechend abgeführt werden. Ab einer Verlustleistung von ca. 1W ist es nicht mehr ausreichend wenn das Bauteil diese Energie nur abstrahlt, bzw. über Leitungen abführt. Am häufigsten werden diese Bauteile auf einen [[Kühlkörper]] geschraubt oder geklemmt, selten geklebt. &lt;br /&gt;
&lt;br /&gt;
Sowohl die Oberfläche des Kühlkörpers als auch des wärmeerzeugende Bauteiles sind nicht eben und weisen eine gewisse Rauhigkeit auf. Dies bedeutet, dass sich die zwei Oberflächen nur punktuell berühren (meist nur mit wenigen Prozent der Gesamtfläche) und nicht auf der gesamten Fläche. &lt;br /&gt;
&lt;br /&gt;
Luft hat eine sehr schlechte Wärmeleitfähigkeit und die Luft, die zwischen den zwei Oberflächen liegt, verhindert eine Wärmeleitung zwischen den zwei Teilen sehr effektiv. Als Daumenwert kann man sagen, dass 1µm Luft in etwa einem absoluten Wärmewiderstand von ca. 1K/W entspricht... jedoch wird es sich nur in den seltensten Fällen nur um einen Mikrometer handeln, sondern meistens deutlich mehr. &lt;br /&gt;
&lt;br /&gt;
====Wärmeleitmaterialien:====&lt;br /&gt;
&lt;br /&gt;
Diese Materialien verbessern die thermische Anbindung zwischen einem Bauteil, das Wärme erzeugt, und dem Bauteil, das diese Wärme durch Wärmeleitung in ein Kühlmittel (Luft oder Wasser) abführt. Diese Materialien werden zwar &amp;quot;wärmeleit&amp;quot; -Folie bzw. -Paste genannt, leiten die Wärme jedoch nicht besonders gut...aber immer noch um mindestens den Faktor 100 besser als Luft... und genau das ist der Grund, warum diese verwendet werden müssen. (Kupfer leitet Wärme um den Faktor 15400 besser als Luft) Die Pasten enthalten meist Öle bzw. Wachse und Fette als Bindemittel und zur besseren Wärmeleitung Metalloxide bzw. Metall- oder Kohlenstoffpartikel als wärmeleitende Füllstoffe. &lt;br /&gt;
Der &amp;quot;vielfach punktuelle&amp;quot; Kontakt von Bauteil und Kühlkörperoberfläche ist für eine optimale Anbindung sehr wichtig, da über diese kleinsten Kontaktpunke sehr viel Energie abgeführt werden kann. Daher ist es bei Verwendung von Paste essentiell, die Paste &amp;quot;möglichst dünn&amp;quot; aufzutragen, und den Überschuß, der den direkten Kontakt von Bauteil und Kühlkörper möglicherweise verhindern könnte, herauszupressen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besondere Beachtung finden die Wärmeleitfolien, die auf beiden Seiten eine thermisch leitfähige, wachsartige Beschichtung aufweisen. Diese Beschichtung schmilzt unter Wärmeeinwirkung auf und füllt die Spalten zwischen den Oberflächen besonders gut. Folien dieser Art werden &#039;&#039;Phase Change Material&#039;&#039; genannt. Dieser erste Schmelzprozess erfordert unter Umständen ein Nachspannen des Bauteiles nach dem ersten Aufheizen, da sich durch den Druck die Schichtdicke verringern kann. Achtung: &#039;&#039;Vor&#039;&#039; dem Aufheizen und Nachspannen hat die Wärmeleitfähigkeit noch nicht die möglichen Minimalwerte erreicht. Zum Teil ist die Wärmeanbindung noch um Faktoren schlechter, daher beim ersten Einschalten noch nicht voll belasten.&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von verschiedenen Materialien:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br/&amp;gt; [W/(m·K)] || Kommentar&lt;br /&gt;
|-&lt;br /&gt;
|Kupfer		|| 370 || schwankt zwischen ca. 350..400&lt;br /&gt;
|-&lt;br /&gt;
|Aluminium		|| 220 || &lt;br /&gt;
|-&lt;br /&gt;
|Stahl		|| 50 || hochlegierte Stähle &amp;lt;20&lt;br /&gt;
|-&lt;br /&gt;
|Eisen          	|| 80||&lt;br /&gt;
|-&lt;br /&gt;
|Silber		|| 430 ||&lt;br /&gt;
|-&lt;br /&gt;
|Zinn		||  67 ||&lt;br /&gt;
|-&lt;br /&gt;
|Blei		|| 35||&lt;br /&gt;
|-&lt;br /&gt;
|Wärmeleitpasten	|| 3..10 ||&lt;br /&gt;
|-&lt;br /&gt;
|Luft		|| 0,024 ||&lt;br /&gt;
|-&lt;br /&gt;
|Wasser		|| 0,6||&lt;br /&gt;
|-&lt;br /&gt;
|Öl		|| 0,15||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von &#039;&#039;ausgewählten&#039;&#039; Isolierfolien&amp;lt;ref&amp;gt;Wenn jemand gute und bezahlbare Folien findet/kennt, bitte hier mit allen Daten angeben.&amp;lt;/ref&amp;gt; um dem Nutzer die Entscheidung zu erleichtern:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br/&amp;gt;[W/(m·K)] || Größe / Menge ||Bezugsquelle || ungefähre&amp;lt;br/&amp;gt;Kosten&lt;br /&gt;
|-&lt;br /&gt;
|WÄRMELEITFOL.86/82 ROT ||6,5 ||100×;100×0,25mm || C|| 14€&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
;Hinweis: Die Wärmeleitfähigkeit von Folien bezieht sich ausschließlich auf die Folie selbst. Selbst unter besten Bedingungen wird man die genannten Werte nicht erreichen, da durch den Übergang vom Bauteil in die Folie und von dort in den Kühlkörper ein zusätzlicher Wärmewiderstand entsteht. Eine Verschlechterung von ca. 30% oder mindestens 0,5K/W bei einem TO220-Bauteil ist zu erwarten.&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht über die Wärmeleitfähigkeit von &#039;&#039;ausgewählten&#039;&#039; Wärmeleitpasten&amp;lt;ref&amp;gt;Wenn jemand gute und bezahlbare Pasten findet/kennt, bitte hier mit allen Daten angeben.&amp;lt;/ref&amp;gt; um dem Nutzer die Entscheidung zu erleichtern:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Material || Wärmeleitfähigkeit&amp;lt;br&amp;gt;[W/(m·K)] || Größe / Menge ||Bezugsquelle || ungefähre&amp;lt;br/&amp;gt;Kosten&lt;br /&gt;
|-&lt;br /&gt;
|Artic Silver  	||8,9  ||  3,5g || C || 13,95€ &lt;br /&gt;
|-&lt;br /&gt;
|Standard Pasten auf Silikonbasis ||3,0|| 3g..150g|| C / Rei / ... || wenige €/g &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Montagerichtlinien:&lt;br /&gt;
Die so beliebten Bohrungen in eine blanken Kühlfahne des Transistors wie z.&amp;amp;nbsp;B. beim TO-220 Gehäuse suggerieren eine fantastisch einfache Montierbarkteit. Wird die Schraube aber nur ein klein wenig zu fest angezogen, verformt sich das Kupfer der Kühlfahne und sorgt dafür, dass sich der Kunststoff umpresste Teil des Transistors ein klein wenig abhebt. Dies hat eine deutlich schlechtere Wärmeanbindung zur Folge. Die isolierte Bohrung bei vollständig umspritzten – nicht zu verwechseln mit auch auf der Rückseite isolierten – Bauteilen umgeht dieses Risiko, genauso wie der nachfolgende Montagevorschlag.&lt;br /&gt;
* Bei hohen Verlustleistungen ist zu empfehlen, das Bauteil gegenüber der Stelle aufzupressen, an der die Verlustleistung entsteht, also direkt auf dem Kunststoff des Transistors über dem Chip.&lt;br /&gt;
* Werden mehrere Bauteile parallel auf dem Kühlkörper montiert sollte zwischen den Bauteilen &#039;&#039;mindestend&#039;&#039; soviel Abstand vorgesehen werden, wie die Breite des Bauteiles beträgt. Dies vermindert die gegenseitige, thermische Beeinflussing der Bauteile und ermöglicht eine bessere Wärmeabfuhr&lt;br /&gt;
* Zur Montage mehrerer Bauteile eignet sich eine Metallschiene die direkt auf den Kunststoff drückt sehr gut. Zwischen &#039;&#039;jedem&#039;&#039; Bauteil ist ein Verschraubungspunkt vorzusehen, damit jedes Bauteil gleichmäßig aufgedrückt wird.&lt;br /&gt;
* Vor dem Aufbringen der Paste/Folie sowohl Bauteil als auch Kühlkörper mit Alkohol reinigen.&lt;br /&gt;
* Die Wärmeleitwerte für eine Paste beziehen sich auf eine meist nicht genannte  aber trotzdem &#039;&#039;minimale&#039;&#039; Schichtdicke. Diese gelingt relativ reproduzierbar, wenn die Paste mit einem flachen Gegenstand (Rasierklinge, Lineal, ...) aufgebracht, verteilt und vorsichtig abgezogen wird, sodass nur eine &#039;&#039;dünne&#039;&#039; Schicht auf dem [[Kühlkörper]] verbleibt. Dies erfordert einige Übung. Paste aufhäufeln, Bauteil eindrücken und befestigen erzielt bei weitem nicht die optimale Kühlleistung.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Zusätzliche Hinweise ==&lt;br /&gt;
&lt;br /&gt;
Anregungen oder Fragen auch gerne per Email an [http://www.mikrocontroller.net/user/show/powerfreak Powerfreak]. Dieser Artikel kann dadurch regelmäßig erweitert und ggf. durch ein FAQ ergänzt werden.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Mosfet-Übersicht]]&lt;br /&gt;
* [[IGBT]]&lt;br /&gt;
* [[FET]]&lt;br /&gt;
* [[TRIAC]]&lt;br /&gt;
* [[Kühlkörper]] &lt;br /&gt;
* [[Zwischenkreiskapazität]]&lt;br /&gt;
* [[Treiber]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bauteile]]&lt;br /&gt;
[[Kategorie:!Hauptkategorie]]&lt;br /&gt;
[[Kategorie:Leistungselektronik]]&lt;/div&gt;</summary>
		<author><name>84.187.122.42</name></author>
	</entry>
</feed>