LPC1768/66/65/64 32-bit ARM Cortex-M3 microcontroller; up to 512 kB flash and 64 kB SRAM with Ethernet, USB 2.0 Host/Device/OTG, CAN Rev. 02 — 11 February 2009 Objective data sheet 1. General description The LPC1768/66/65/64 are ARM Cortex-M3 based microcontrollers for embedded applications featuring a high level of integration and low power consumption. The ARM Cortex-M3 is a next generation core that offers system enhancements such as enhanced debug features and a higher level of support block integration. The LPC1768/66/65/64 operate at CPU frequencies of up to 100 MHz. The ARM Cortex-M3 CPU incorporates a 3-stage pipeline and uses a Harvard architecture with separate local instruction and data buses as well as a third bus for peripherals. The ARM Cortex-M3 CPU also includes an internal prefetch unit that supports speculative branching. The peripheral complement of the LPC1768/66/65/64 includes up to 512 kB of flash memory, up to 64 kB of data memory, Ethernet MAC, USB Device/Host/OTG interface, 8-channel general purpose DMA controller, 4 UARTs, 2 CAN channels, 2 SSP controllers, SPI interface, 3 I2C-bus interfaces, 2-input plus 2-output I2S-bus interface, 8-channel 12-bit ADC, 10-bit DAC, motor control PWM, Quadrature Encoder interface, 4 general purpose timers, 6-output general purpose PWM, ultra-low power Real-Time Clock (RTC) with separate battery supply, and up to 70 general purpose I/O pins. The LPC1768/66/65/64 are pin-compatible to the 100-pin LPC236x ARM7-based microcontroller series. 2. Features n ARM Cortex-M3 processor, running at frequencies of up to 100 MHz. A Memory Protection Unit (MPU) supporting eight regions is included. n ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC). n Up to 512 kB on-chip flash programming memory. Enhanced flash memory accelerator enables high-speed 100 MHz operation with zero wait states. n In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software. n On-chip SRAM includes: u 32/16 kB of SRAM on the CPU with local code/data bus for high-performance CPU access. u Two/one 16 kB SRAM blocks with separate access paths for higher throughput. These SRAM blocks may be used for Ethernet (LPC1768/66/64 only), USB, and DMA memory, as well as for general purpose CPU instruction and data storage. LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller n Eight channel General Purpose DMA controller (GPDMA) on the AHB multilayer matrix that can be used with the SSP, I2S-bus, UART, the Analog-to-Digital and Digital-to-Analog converter peripherals, timer match signals, and for memory-to-memory transfers. n Multilayer AHB matrix interconnect provides a separate bus for each AHB master. AHB masters include the CPU, General Purpose DMA controller, Ethernet MAC (LPC1768/66/64 only), and the USB interface. This interconnect provides communication with no arbitration delays. n Split APB bus allows high throughput with few stalls between the CPU and DMA. n Serial interfaces: u Ethernet MAC with RMII interface and dedicated DMA controller (LPC1768/66/64 only). u USB 2.0 full-speed device/Host/OTG controller with dedicated DMA controller and on-chip PHY for device, Host, and OTG functions. The LPC1764 includes a device controller only. u Four UARTs with fractional baud rate generation, internal FIFO, DMA support, and RS-485 support. One UART has modem control I/O, and one UART has IrDA support. u CAN 2.0B controller with two channels. u SPI controller with synchronous, serial, full duplex communication and programmable data length. u Two SSP controllers with FIFO and multi-protocol capabilities. The SSP interfaces can be used with the GPDMA controller. u Two I2C-bus interfaces supporting fast mode with a data rate of 400 kbits/s with multiple address recognition and monitor mode. u One 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. u On the LPC1768/66/65 only, I2S (Inter-IC Sound) interface for digital audio input or output, with fractional rate control. The I2S-bus interface can be used with the GPDMA. The I2S-bus interface supports 3-wire and 4-wire data transmit and receive as well as master clock input/output. n Other peripherals: u 70 General Purpose I/O (GPIO) pins with configurable pull-up/down resistors and a new, configurable open-drain operating mode. u 12-bit Analog-to-Digital Converter (ADC) with input multiplexing among eight pins, conversion rates up to 1 MHz, and multiple result registers. The 12-bit ADC can be used with the GPDMA controller. u 10-bit Digital-to-Analog Converter (DAC) with dedicated conversion timer and DMA support (LPC1768/66/65 only). u Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. Each timer block has an external count input and DMA support. u One motor control PWM with support for three-phase motor control. u Quadrature encoder interface that can monitor one external quadrature encoder. u One standard PWM/timer block with external count input. u RTC with a separate power domain and dedicated RTC oscillator. The RTC block includes 64 bytes of battery-powered backup registers. u Watchdog Timer (WDT) resets the microcontroller within a reasonable amount of time if it enters an erroneous state. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 2 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller n n n n n n n n n n n n n n n n n n u System tick timer, including an external clock input option. u Repetitive interrupt timer provides programmable and repeating timed interrupts. u Each peripheral has its own clock divider for further power savings. Standard JTAG test/debug interface for compatibility with existing tools. Serial Wire Debug and Serial Wire Trace Port options. Emulation trace module enables non-intrusive, high-speed real-time tracing of instruction execution. Integrated PMU (Power Management Unit) automatically adjusts internal regulators to minimize power consumption during Sleep, Deep sleep, Power-down, and Deep power-down modes. Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down. Single 3.3 V power supply (2.4 V to 3.6 V). Four external interrupt inputs configurable as edge/level sensitive. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources. Non-maskable Interrupt (NMI) input. Clock output function that can reflect the main oscillator clock, IRC clock, RTC clock, CPU clock, and the USB clock. The Wakeup Interrupt Controller (WIC) allows the CPU to automatically wake up from any priority interrupt that can occur while the clocks are stopped in deep sleep, Power-down, and Deep power-down modes. Processor wake-up from Power-down mode via interrupts from various peripherals. Brownout detect with separate threshold for interrupt and forced reset. Power-On Reset (POR). Crystal oscillator with an operating range of 1 MHz to 25 MHz. 4 MHz internal RC oscillator trimmed to 1 % accuracy that can optionally be used as a system clock. 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. USB PLL for added flexibility. Code Read Protection (CRP) with different security levels. Available as 100-pin LQFP package (14 × 14 × 1.4 mm). 3. Applications n n n n n n eMetering Lighting Industrial networking Alarm systems White goods Motor control LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 3 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 4. Ordering information Table 1. Ordering information Type number Package Name Description Version LPC1768FBD100 LQFP100 plastic low profile quad flat package; 100 leads; body 14 × 14 × 1.4 mm SOT407-1 LPC1766FBD100 LQFP100 plastic low profile quad flat package; 100 leads; body 14 × 14 × 1.4 mm SOT407-1 LPC1765FBD100 LQFP100 plastic low profile quad flat package; 100 leads; body 14 × 14 × 1.4 mm SOT407-1 LPC1764FBD100 LQFP100 plastic low profile quad flat package; 100 leads; body 14 × 14 × 1.4 mm SOT407-1 4.1 Ordering options Table 2. Ordering options Type number Flash Total SRAM Ethernet USB CAN I2S DAC Package Sampling LPC1768FBD100 512 kB 64 kB yes Device/ Host/OTG 2 yes yes 100 pins Q2 2009 LPC1766FBD100 256 kB 64 kB yes Device/ Host/OTG 2 yes yes 100 pins Q1 2009 LPC1765FBD100 256 kB 64 kB no Device/ Host/OTG 2 yes yes 100 pins Q1 2009 LPC1764FBD100 128 kB 32 kB yes Device only 2 no no 100 pins Q1 2009 LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 4 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 5. Block diagram JTAG interface EMULATION TRACE MODULE debug port RMII pins LPC1768/66/65/64 TEST/DEBUG INTERFACE I-code bus MPU ARM CORTEX-M3 D-code bus DMA CONTROLLER system bus USB PHY CLOCK GENERATION, POWER CONTROL, SYSTEM FUNCTIONS USB HOST/ DEVICE/OTG CONTROLLER WITH DMA(3) ETHERNET CONTROLLER WITH DMA(2) master XTAL1 XTAL2 RESET USB pins master CLKOUT clocks and controls master slave ROM slave MULTILAYER AHB MATRIX SRAM 32/64 kB P0 to P4 slave HIGH-SPEED GPIO APB slave group 0 SCK1 SSEL1 MISO1 MOSI1 RXD0/TXD0 8 × UART1 slave FLASH ACCELERATOR FLASH 512/256/128 kB APB slave group 1 SCK0 SSEL0 MISO0 MOSI0 SSP0 RXD2/3 TXD2/3 UART2/3 I2S(1) 3 × I2SRX 3 × I2STX TX_MCLK RX_MCLK SPI0 I2C2 SCL2 SDA2 TIMER 0/1 RI TIMER WDT TIMER2/3 PWM1 EXTERNAL INTERRUPTS 12-bit ADC SYSTEM CONTROL PIN CONNECT MOTOR CONTROL PWM CAN1/2 I2C0/1 2 × CAP0/1 PWM1[7:0] PCAP1[1:0] AD0[7:0] RTCX2 AHB TO APB BRIDGE 1 UART0/1 SCK/SSEL MOSI/MISO 2 × MAT0/1 RTCX1 AHB TO APB BRIDGE 0 slave SSP1 RD1/2 TD1/2 SCL0/1 SDA0/1 P0, P2 slave 4 × MAT2 2 × MAT3 2 × CAP2 2 × CAP3 EINT[3:0] MC0A/B MC1A/B MC2A/B MCFB1/2 MCABORT GPIO INTERRUPT CONTROL DAC(1) 32 kHz OSCILLATOR VBAT AOUT RTC PHA, PHB INDEX QUADRATURE ENCODER BACKUP REGISTERS (1)LPC1768/66/65 only (2)LPC1768/66/64 only (3)LPC1764 USB device only RTC POWER DOMAIN 002aad944 Grey-shaded blocks represent peripherals with connection to the GPDMA. Fig 1. Block diagram LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 5 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 6. Pinning information 76 100 6.1 Pinning 1 75 LPC176xFBD100 Fig 2. 50 51 26 25 002aad945 Pin configuration LQFP100 package 6.2 Pin description Table 3. Pin description Symbol Pin P0[0] to P0[31] P0[0]/RD1/TXD3/ SDA1 P0[1]/TD1/RXD3/ SCL1 46[1] 47[1] P0[2]/TXD0/AD0[7] 98[2] P0[3]/RXD0/AD0[6] 99[2] P0[4]/ I2SRX_CLK/ RD2/CAP2[0] 81[1] Type Description I/O Port 0: Port 0 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 0 pins depends upon the pin function selected via the pin connect block. Pins 12, 13, 14, and 31 of this port are not available. I/O P0[0] — General purpose digital input/output pin. I RD1 — CAN1 receiver input. O TXD3 — Transmitter output for UART3. I/O SDA1 — I2C1 data input/output (this is not an I2C-bus compliant open-drain pin). I/O P0[1] — General purpose digital input/output pin. O TD1 — CAN1 transmitter output. I RXD3 — Receiver input for UART3. I/O SCL1 — I2C1 clock input/output (this is not an I2C-bus compliant open-drain pin). I/O P0[2] — General purpose digital input/output pin. O TXD0 — Transmitter output for UART0. I AD0[7] — A/D converter 0, input 7. I/O P0[3] — General purpose digital input/output pin. I RXD0 — Receiver input for UART0. I AD0[6] — A/D converter 0, input 6. I/O P0[4] — General purpose digital input/output pin. I/O I2SRX_CLK — Receive Clock. It is driven by the master and received by the slave. Corresponds to the signal SCK in the I2S-bus specification. (LPC1768/66/65 only). I RD2 — CAN2 receiver input. I CAP2[0] — Capture input for Timer 2, channel 0. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 6 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[5]/ I2SRX_WS/ TD2/CAP2[1] 80[1] I/O P0[5] — General purpose digital input/output pin. I/O I2SRX_WS — Receive Word Select. It is driven by the master and received by the slave. Corresponds to the signal WS in the I2S-bus specification. (LPC1768/66/65 only). O TD2 — CAN2 transmitter output. I CAP2[1] — Capture input for Timer 2, channel 1. I/O P0[6] — General purpose digital input/output pin. I/O I2SRX_SDA — Receive data. It is driven by the transmitter and read by the receiver. Corresponds to the signal SD in the I2S-bus specification. (LPC1768/66/65 only). I/O SSEL1 — Slave Select for SSP1. O MAT2[0] — Match output for Timer 2, channel 0. I/O P0[7] — General purpose digital input/output pin. I/O I2STX_CLK — Transmit Clock. It is driven by the master and received by the slave. Corresponds to the signal SCK in the I2S-bus specification. (LPC1768/66/65 only) I/O SCK1 — Serial Clock for SSP1. O MAT2[1] — Match output for Timer 2, channel 1. I/O P0[8] — General purpose digital input/output pin. I/O I2STX_WS — Transmit Word Select. It is driven by the master and received by the slave. Corresponds to the signal WS in the I2S-bus specification. (LPC1768/66/65 only). I/O MISO1 — Master In Slave Out for SSP1. P0[6]/ I2SRX_SDA/ SSEL1/MAT2[0] P0[7]/ I2STX_CLK/ SCK1/MAT2[1] P0[8]/ I2STX_WS/ MISO1/MAT2[2] P0[9]/ I2STX_SDA/ MOSI1/MAT2[3] P0[10]/TXD2/ SDA2/MAT3[0] P0[11]/RXD2/ SCL2/MAT3[1] P0[15]/TXD1/ SCK0/SCK 79[1] 78[1] 77[1] 76[1] 48[1] 49[1] 62[1] O MAT2[2] — Match output for Timer 2, channel 2. I/O P0[9] — General purpose digital input/output pin. I/O I2STX_SDA — Transmit data. It is driven by the transmitter and read by the receiver. Corresponds to the signal SD in the I2S-bus specification. (LPC1768/66/65 only). I/O MOSI1 — Master Out Slave In for SSP1. O MAT2[3] — Match output for Timer 2, channel 3. I/O P0[10] — General purpose digital input/output pin. O TXD2 — Transmitter output for UART2. I/O SDA2 — I2C2 data input/output (this is not an open-drain pin). O MAT3[0] — Match output for Timer 3, channel 0. I/O P0[11] — General purpose digital input/output pin. I RXD2 — Receiver input for UART2. I/O SCL2 — I2C2 clock input/output (this is not an open-drain pin). O MAT3[1] — Match output for Timer 3, channel 1. I/O P0[15] — General purpose digital input/output pin. O TXD1 — Transmitter output for UART1. I/O SCK0 — Serial clock for SSP0. I/O SCK — Serial clock for SPI. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 7 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[16]/RXD1/ SSEL0/SSEL 63[1] I/O P0[16] — General purpose digital input/output pin. I RXD1 — Receiver input for UART1. I/O SSEL0 — Slave Select for SSP0. I/O SSEL — Slave Select for SPI. I/O P0[17] — General purpose digital input/output pin. I CTS1 — Clear to Send input for UART1. I/O MISO0 — Master In Slave Out for SSP0. I/O MISO — Master In Slave Out for SPI. I/O P0[18] — General purpose digital input/output pin. I DCD1 — Data Carrier Detect input for UART1. I/O MOSI0 — Master Out Slave In for SSP0. I/O MOSI — Master Out Slave In for SPI. I/O P0[19] — General purpose digital input/output pin. I DSR1 — Data Set Ready input for UART1. I/O SDA1 — I2C1 data input/output (this is not an I2C-bus compliant open-drain pin). P0[17]/CTS1/ MISO0/MISO P0[18]/DCD1/ MOSI0/MOSI P0[19]/DSR1/ SDA1 61[1] 60[1] 59[1] P0[20]/DTR1/SCL1 58[1] P0[21]/RI1/RD1 P0[22]/RTS1/TD1 57[1] 56[1] P0[23]/AD0[0]/ I2SRX_CLK/ CAP3[0] 9[2] P0[24]/AD0[1]/ I2SRX_WS/ CAP3[1] 8[2] P0[25]/AD0[2]/ I2SRX_SDA/ TXD3 7[2] I/O P0[20] — General purpose digital input/output pin. O DTR1 — Data Terminal Ready output for UART1. I/O SCL1 — I2C1 clock input/output (this is not an I2C-bus compliant open-drain pin). I/O P0[21] — General purpose digital input/output pin. I RI1 — Ring Indicator input for UART1. I RD1 — CAN1 receiver input. I/O P0[22] — General purpose digital input/output pin. O RTS1 — Request to Send output for UART1. O TD1 — CAN1 transmitter output. I/O P0[23] — General purpose digital input/output pin. I AD0[0] — A/D converter 0, input 0. I/O I2SRX_CLK — Receive Clock. It is driven by the master and received by the slave. Corresponds to the signal SCK in the I2S-bus specification. (LPC1768/66/65 only). I CAP3[0] — Capture input for Timer 3, channel 0. I/O P0[24] — General purpose digital input/output pin. I AD0[1] — A/D converter 0, input 1. I/O I2SRX_WS — Receive Word Select. It is driven by the master and received by the slave. Corresponds to the signal WS in the I2S-bus specification. (LPC1768/66/65 only). I CAP3[1] — Capture input for Timer 3, channel 1. I/O P0[25] — General purpose digital input/output pin. I AD0[2] — A/D converter 0, input 2. I/O I2SRX_SDA — Receive data. It is driven by the transmitter and read by the receiver. Corresponds to the signal SD in the I2S-bus specification. (LPC1768/66/65 only). O TXD3 — Transmitter output for UART3. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 8 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[26]/AD0[3]/ AOUT/RXD3 6[3] I/O P0[26] — General purpose digital input/output pin. I AD0[3] — A/D converter 0, input 3. O AOUT — DAC output (LPC1768/66/65 only). I RXD3 — Receiver input for UART3. I/O P0[27] — General purpose digital input/output pin. Output is open-drain. I/O SDA0 — I2C0 data input/output. Open-drain output (for I2C-bus compliance). I/O USB_SDA — USB port I2C serial data (OTG transceiver, LPC1768/66/65 only). (LPC1768/66/65 only). I/O P0[28] — General purpose digital input/output pin. Output is open-drain. I/O SCL0 — I2C0 clock input/output. Open-drain output (for I2C-bus compliance). I/O USB_SCL — USB port I2C serial clock (OTG transceiver, LPC1768/66/65 only). P0[27]/SDA0/ USB_SDA P0[28]/SCL0/ USB_SCL P0[29]/USB_D+ P0[30]/USB_D− 25[4] 24[4] 29[5] 30[5] P1[0] to P1[31] P1[0]/ ENET_TXD0 95[1] P1[1]/ ENET_TXD1 94[1] P1[4]/ ENET_TX_EN 93[1] P1[8]/ ENET_CRS 92[1] P1[9]/ ENET_RXD0 91[1] P1[10]/ ENET_RXD1 90[1] P1[14]/ ENET_RX_ER 89[1] P1[15]/ ENET_REF_CLK 88[1] P1[16]/ ENET_MDC 87[1] P1[17]/ ENET_MDIO 86[1] I/O P0[29] — General purpose digital input/output pin. I/O USB_D+ — USB bidirectional D+ line. I/O P0[30] — General purpose digital input/output pin. I/O USB_D− — USB bidirectional D− line. I/O Port 1: Port 1 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 1 pins depends upon the pin function selected via the pin connect block. Pins 2, 3, 5, 6, 7, 11, 12, and 13 of this port are not available. I/O P1[0] — General purpose digital input/output pin. O ENET_TXD0 — Ethernet transmit data 0. (LPC1768/66/64 only). I/O P1[1] — General purpose digital input/output pin. O ENET_TXD1 — Ethernet transmit data 1. (LPC1768/66/64 only). I/O P1[4] — General purpose digital input/output pin. O ENET_TX_EN — Ethernet transmit data enable. (LPC1768/66/64 only). I/O P1[8] — General purpose digital input/output pin. I ENET_CRS — Ethernet carrier sense. (LPC1768/66/64 only). I/O P1[9] — General purpose digital input/output pin. I ENET_RXD0 — Ethernet receive data. (LPC1768/66/64 only). I/O P1[10] — General purpose digital input/output pin. I ENET_RXD1 — Ethernet receive data. (LPC1768/66/64 only). I/O P1[14] — General purpose digital input/output pin. I ENET_RX_ER — Ethernet receive error. (LPC1768/66/64 only). I/O P1[15] — General purpose digital input/output pin. I ENET_REF_CLK — Ethernet reference clock. (LPC1768/66/64 only). I/O P1[16] — General purpose digital input/output pin. O ENET_MDC — Ethernet MIIM clock (LPC1768/66/64 only). I/O P1[17] — General purpose digital input/output pin. I/O ENET_MDIO — Ethernet MIIM data input and output. (LPC1768/66/64 only). LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 9 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P1[18]/ USB_UP_LED/ PWM1[1]/ CAP1[0] 32[1] I/O P1[18] — General purpose digital input/output pin. O USB_UP_LED — USB GoodLink LED indicator. It is LOW when device is configured (non-control endpoints enabled). It is HIGH when the device is not configured or during global suspend. O PWM1[1] — Pulse Width Modulator 1, channel 1 output. I CAP1[0] — Capture input for Timer 1, channel 0. I/O P1[19] — General purpose digital input/output pin. O MC0A — Motor control PWM channel 0, output A. O USB_PPWR — Port Power enable signal for USB port (LPC1768/66/65 only). I CAP1[1] — Capture input for Timer 1, channel 1. I/O P1[20] — General purpose digital input/output pin. I MCFB0 — Motor control PWM channel 0, feedback input. Also Quadrature Encoder Interface PHA input. O PWM1[2] — Pulse Width Modulator 1, channel 2 output. I/O SCK0 — Serial clock for SSP0. P1[19]/MC0A/ USB_PPWR CAP1[1] 33[1] P1[20]/MCFB0/ PWM1[2]/SCK0 34[1] P1[21]/MCABORT/ PWM1[3]/ SSEL0 35[1] P1[22]/MC0B/ USB_PWRD/ MAT1[0] 36[1] P1[23]/MCFB1/ PWM1[4]/MISO0 37[1] P1[24]/MCFB2/ PWM1[5]/MOSI0 P1[25]/MC1A/ MAT1[1] P1[26]/MC1B/ PWM1[6]/CAP0[0] 38[1] 39[1] 40[1] I/O P1[21] — General purpose digital input/output pin. O MCABORT — Motor control PWM, emergency abort. O PWM1[3] — Pulse Width Modulator 1, channel 3 output. I/O SSEL0 — Slave Select for SSP0. I/O P1[22] — General purpose digital input/output pin. O MC0B — Motor control PWM channel 0, output B. I USB_PWRD — Power Status for USB port (host power switch, LPC1768/66/65 only). O MAT1[0] — Match output for Timer 1, channel 0. I/O P1[23] — General purpose digital input/output pin. I MCFB1 — Motor control PWM channel 1, feedback input. Also Quadrature Encoder Interface PHB input. O PWM1[4] — Pulse Width Modulator 1, channel 4 output. I/O MISO0 — Master In Slave Out for SSP0. I/O P1[24] — General purpose digital input/output pin. I MCFB2 — Motor control PWM channel 2, feedback input. Also Quadrature Encoder Interface INDEX input. O PWM1[5] — Pulse Width Modulator 1, channel 5 output. I/O MOSI0 — Master Out Slave in for SSP0. I/O P1[25] — General purpose digital input/output pin. O MC1A — Motor control PWM channel 1, output A. O MAT1[1] — Match output for Timer 1, channel 1. I/O P1[26] — General purpose digital input/output pin. O MC1B — Motor control PWM channel 1, output B. O PWM1[6] — Pulse Width Modulator 1, channel 6 output. I CAP0[0] — Capture input for Timer 0, channel 0. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 10 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P1[27]/CLKOUT /USB_OVRCR/ CAP0[1] 43[1] I/O P1[27] — General purpose digital input/output pin. O CLKOUT — Clock output pin. I USB_OVRCR — USB port Over-Current status. (LPC1768/66/65 only). P1[28]/MC2A 1[0]/ MAT0[0] 44[1] P1[29]/MC2B/ PCAP1[1]/ MAT0[1] 45[1] P1[30]/VBUS/ AD0[4] 21[2] I CAP0[1] — Capture input for Timer 0, channel 1. I/O P1[28] — General purpose digital input/output pin. O MC2A — Motor control PWM channel 2, output A. I PCAP1[0] — Capture input for PWM1, channel 0. O MAT0[0] — Match output for Timer 0, channel 0. I/O P1[29] — General purpose digital input/output pin. O MC2B — Motor control PWM channel 2, output B. I PCAP1[1] — Capture input for PWM1, channel 1. O MAT0[1] — Match output for Timer 0, channel 0. I/O P1[30] — General purpose digital input/output pin. I VBUS — Monitors the presence of USB bus power. Note: This signal must be HIGH for USB reset to occur. P1[31]/SCK1/ AD0[5] 20[2] P2[0] to P2[31] P2[0]/PWM1[1]/ TXD1 75[1] P2[1]/PWM1[2]/ RXD1 74[1] P2[2]/PWM1[3]/ CTS1/ TRACEDATA[3] P2[3]/PWM1[4]/ DCD1/ TRACEDATA[2] P2[4]/PWM1[5]/ DSR1/ TRACEDATA[1] 73[1] 70[1] 69[1] I AD0[4] — A/D converter 0, input 4. I/O P1[31] — General purpose digital input/output pin. I/O SCK1 — Serial Clock for SSP1. I AD0[5] — A/D converter 0, input 5. I/O Port 2: Port 2 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 2 pins depends upon the pin function selected via the pin connect block. Pins 14 through 31 of this port are not available. I/O P2[0] — General purpose digital input/output pin. O PWM1[1] — Pulse Width Modulator 1, channel 1 output. O TXD1 — Transmitter output for UART1. I/O P2[1] — General purpose digital input/output pin. O PWM1[2] — Pulse Width Modulator 1, channel 2 output. I RXD1 — Receiver input for UART1. I/O P2[2] — General purpose digital input/output pin. O PWM1[3] — Pulse Width Modulator 1, channel 3 output. I CTS1 — Clear to Send input for UART1. O TRACEDATA[3] — Trace data, bit 3. I/O P2[3] — General purpose digital input/output pin. O PWM1[4] — Pulse Width Modulator 1, channel 4 output. I DCD1 — Data Carrier Detect input for UART1. O TRACEDATA[2] — Trace data, bit 2. I/O P2[4] — General purpose digital input/output pin. O PWM1[5] — Pulse Width Modulator 1, channel 5 output. I DSR1 — Data Set Ready input for UART1. O TRACEDATA[1] — Trace data, bit 1. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 11 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P2[5]/PWM1[6]/ DTR1/ TRACEDATA[0] 68[1] I/O P2[5] — General purpose digital input/output pin. O PWM1[6] — Pulse Width Modulator 1, channel 6 output. O DTR1 — Data Terminal Ready output for UART1. O TRACEDATA[0] — Trace data, bit 0. P2[6]/PCAP1[0]/ RI1/TRACECLK 67[1] I/O P2[6] — General purpose digital input/output pin. I PCAP1[0] — Capture input for PWM1, channel 0. I RI1 — Ring Indicator input for UART1. O TRACECLK — Trace Clock. I/O P2[7] — General purpose digital input/output pin. I RD2 — CAN2 receiver input. O RTS1 — Request to Send output for UART1. P2[7]/RD2/ RTS1 66[1] P2[8]/TD2/ TXD2 65[1] P2[9]/ USB_CONNECT/ RXD2 64[1] P2[10]/EINT0/NMI 53[6] I/O P2[8] — General purpose digital input/output pin. O TD2 — CAN2 transmitter output. O TXD2 — Transmitter output for UART2. I/O P2[9] — General purpose digital input/output pin. O USB_CONNECT — Signal used to switch an external 1.5 kΩ resistor under software control. Used with the SoftConnect USB feature. I RXD2 — Receiver input for UART2. I/O P2[10] — General purpose digital input/output pin. Note: LOW on this pin while RESET is LOW forces on-chip bootloader to take over control of the part after a reset. I P2[11]/EINT1/ I2STX_CLK P2[12]/EINT2/ I2STX_WS P2[13]/EINT3/ I2STX_SDA 52[6] 51[6] 50[6] P3[0] to P3[31] P3[25]/MAT0[0]/ PWM1[2] 27[1] EINT0 — External interrupt 0 input. I NMI — Non-maskable interrupt input. I/O P2[11] — General purpose digital input/output pin. I EINT1 — External interrupt 1 input. I/O I2STX_CLK — Transmit Clock. It is driven by the master and received by the slave. Corresponds to the signal SCK in the I2S-bus specification. (LPC1768/66/65 only). I/O P2[12] — General purpose digital input/output pin. I EINT2 — External interrupt 2 input. I/O I2STX_WS — Transmit Word Select. It is driven by the master and received by the slave. Corresponds to the signal WS in the I2S-bus specification. (LPC1768/66/65 only). I/O P2[13] — General purpose digital input/output pin. I EINT3 — External interrupt 3 input. I/O I2STX_SDA — Transmit data. It is driven by the transmitter and read by the receiver. Corresponds to the signal SD in the I2S-bus specification. (LPC1768/66/65 only). I/O Port 3: Port 3 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 3 pins depends upon the pin function selected via the pin connect block. Pins 0 through 24, and 27 through 31 of this port are not available. I/O P3[25] — General purpose digital input/output pin. O MAT0[0] — Match output for Timer 0, channel 0. O PWM1[2] — Pulse Width Modulator 1, output 2. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 12 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description P3[26]/STCLK/ MAT0[1]/PWM1[3] 26[1] I/O P3[26] — General purpose digital input/output pin. I STCLK — System tick timer clock input. O MAT0[1] — Match output for Timer 0, channel 1. O PWM1[3] — Pulse Width Modulator 1, output 3. I/O Port 4: Port 4 is a 32-bit I/O port with individual direction controls for each bit. The operation of port 4 pins depends upon the pin function selected via the pin connect block. Pins 0 through 27, 30, and 31 of this port are not available. P4[0] to P4[31] P4[28]/RX_MCLK/ MAT2[0]/TXD3 P4[29]/TX_MCLK/ MAT2[1]/RXD3 TDO/SWO 82[1] 85[1] 1[1] I/O P4[28] — General purpose digital input/output pin. I RX_MCLK — I2S receive master clock. (LPC1768/66/65 only). O MAT2[0] — Match output for Timer 2, channel 0. O TXD3 — Transmitter output for UART3. I/O P4[29] — General purpose digital input/output pin. I TX_MCLK — I2S transmit master clock. (LPC1768/66/65 only). O MAT2[1] — Match output for Timer 2, channel 1. I RXD3 — Receiver input for UART3. O TDO — Test Data out for JTAG interface. O SWO — Serial wire trace output. TDI 2[1] I TDI — Test Data in for JTAG interface. TMS/SWDIO 3[1] I TMS — Test Mode Select for JTAG interface. I/O SWDIO — Serial wire debug data input/output. TRST 4[1] I TRST — Test Reset for JTAG interface. TCK/SWDCLK 5[1] I TCK — Test Clock for JTAG interface. I SWDCLK — Serial wire clock. RTCK 100[1] I/O RTCK — JTAG interface control signal. RSTOUT 14 O RSTOUT — This is a 3.3 V pin. LOW on this pin indicates LPC1768/66/65/64 being in Reset state. RESET 17[7] I External reset input: A LOW on this pin resets the device, causing I/O ports and peripherals to take on their default states, and processor execution to begin at address 0. TTL with hysteresis, 5 V tolerant. XTAL1 22[8] I Input to the oscillator circuit and internal clock generator circuits. XTAL2 23[8] O Output from the oscillator amplifier. RTCX1 16[8] I Input to the RTC oscillator circuit. RTCX2 18[8] O Output from the RTC oscillator circuit. VSS 31, 41, 55, 72, 97, 83[8] I ground: 0 V reference. VSSA 11[8] I analog ground: 0 V reference. This should nominally be the same voltage as VSS, but should be isolated to minimize noise and error. VDD(3V3) 28, 54, 71, 96[8] I 3.3 V supply voltage: This is the power supply voltage for the I/O ports. VDD(REG)(3V3) 42, 84[8] I 3.3 V voltage regulator supply voltage: This is the supply voltage for the on-chip voltage regulator only. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 13 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 3. Pin description …continued Symbol Pin Type Description VDDA 10[8] I analog 3.3 V pad supply voltage: This should be nominally the same voltage as VDD(3V3) but should be isolated to minimize noise and error. This voltage is used to power the ADC and DAC. VREFP 12[8] I ADC positive reference voltage: This should be nominally the same voltage as VDDA but should be isolated to minimize noise and error. Level on this pin is used as a reference for ADC and DAC. VREFN 15 I ADC negative reference voltage: This should be nominally the same voltage as VSS but should be isolated to minimize noise and error. Level on this pin is used as a reference for ADC and DAC. VBAT 19[8] I RTC pin power supply: 3.3 V on this pin supplies the power to the RTC peripheral. n.c. 13 - not connected [1] 5 V tolerant pad providing digital I/O functions with TTL levels and hysteresis. [2] 5 V tolerant pad providing digital I/O functions (with TTL levels and hysteresis) and analog input. When configured as a ADC input, digital section of the pad is disabled. [3] 5 V tolerant pad providing digital I/O with TTL levels and hysteresis and analog output function. When configured as the DAC output, digital section of the pad is disabled. [4] Open-drain 5 V tolerant digital I/O pad, compatible with I2C-bus 400 kHz specification. This pad requires an external pull-up to provide output functionality. When power is switched off, this pin connected to the I2C-bus is floating and does not disturb the I2C lines. Open-drain configuration applies to all functions on this pin. [5] Pad provides digital I/O and USB functions. It is designed in accordance with the USB specification, revision 2.0 (Full-speed and Low-speed mode only). [6] 5 V tolerant pad with 5 ns glitch filter providing digital I/O functions with TTL levels and hysteresis. [7] 5 V tolerant pad with 20 ns glitch filter providing digital I/O function with TTL levels and hysteresis. [8] Pad provides special analog functionality. 7. Functional description 7.1 Architectural overview The ARM Cortex-M3 includes three AHB-Lite buses: the system bus, the I-code bus, and the D-code bus (see Figure 1). The I-code and D-code core buses are faster than the system bus and are used similarly to TCM interfaces: one bus dedicated for instruction fetch (I-code) and one bus for data access (D-code). The use of two core buses allows for simultaneous operations if concurrent operations target different devices. The LPC1768/66/65/64 use a multi-layer AHB matrix to connect the ARM Cortex-M3 buses and other bus masters to peripherals in a flexible manner that optimizes performance by allowing peripherals that are on different slaves ports of the matrix to be accessed simultaneously by different bus masters. 7.2 ARM Cortex-M3 processor The ARM Cortex-M3 is a general purpose, 32-bit microprocessor, which offers high performance and very low power consumption. The ARM Cortex-M3 offers many new features, including a Thumb-2 instruction set, low interrupt latency, hardware divide, interruptable/continuable multiple load and store instructions, automatic state save and restore for interrupts, tightly integrated interrupt controller with wakeup interrupt controller, and multiple core buses capable of simultaneous accesses. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 14 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Pipeline techniques are employed so that all parts of the processing and memory systems can operate continuously. Typically, while one instruction is being executed, its successor is being decoded, and a third instruction is being fetched from memory. The ARM Cortex-M3 processor is described in detail in the Cortex-M3 Technical Reference Manual that can be found on official ARM website. 7.3 On-chip flash program memory The LPC1768/66/65/64 contain up to 512 kB of on-chip flash memory. A new two-port flash accelerator maximizes performance for use with the two fast AHB-Lite buses. 7.4 On-chip SRAM The LPC1768/66/65/64 contain a total of 64 kB on-chip static RAM memory. This includes the main 32 kB SRAM, accessible by the CPU and DMA controller on a higher-speed bus, and two additional 16 kB each SRAM blocks situated on a separate slave port on the AHB multilayer matrix. This architecture allows CPU and DMA accesses to be spread over three separate RAMs that can be accessed simultaneously. 7.5 Memory Protection Unit (MPU) The LPC1768/66/65/64 have a Memory Protection Unit (MPU) which can be used to improve the reliability of an embedded system by protecting critical data within the user application. The MPU allows separating processing tasks by disallowing access to each other's data, disabling access to memory regions, allowing memory regions to be defined as read-only and detecting unexpected memory accesses that could potentially break the system. The MPU separates the memory into distinct regions and implements protection by preventing disallowed accesses. The MPU supports up to 8 regions each of which can be divided into 8 subregions. Accesses to memory locations that are not defined in the MPU regions, or not permitted by the region setting, will cause the Memory Management Fault exception to take place. 7.6 Memory map The LPC17xx incorporates several distinct memory regions, shown in the following figures. Figure 3 shows the overall map of the entire address space from the user program viewpoint following reset. The interrupt vector area supports address remapping. The AHB peripheral area is 2 MB in size, and is divided to allow for up to 128 peripherals. The APB peripheral area is 1 MB in size and is divided to allow for up to 64 peripherals. Each peripheral of either type is allocated 16 kB of space. This allows simplifying the address decoding for each peripheral. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 15 of 72 xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx 0x400F C000 31 4 GB LPC1768/66/65/64 memory space 0xFFFF FFFF system control reserved 30 - 16 not used 0x400C 0000 Rev. 02 — 11 February 2009 15 QEI 0x400B 8000 14 motor control PWM 0x400B 4000 13 not used 0x400B 0000 12 repetitive interrupt timer 0x400A C000 11 not used AHB peripherals 0x400A 8000 10 I2S(1) reserved 0x400A 4000 9 not used 0x400A 0000 8 I2C2 0x4009 C000 7 UART3 0x4009 8000 6 UART2 0x4009 4000 5 Timer 3 0x4009 0000 4 Timer 2 0x4008 C000 3 DAC(1) 0x4008 8000 2 SSP0 private peripheral bus 127- 4 not used 0xE000 0000 reserved 0x5020 0000 0x5000 0000 reserved APB1 peripherals APB0 peripherals 0x4008 0000 reserved 1 GPDMA controller 0 Ethernet controller(2) I-code/D-code memory space 16 kB local static RAM (LPC1764) 16 of 72 © NXP B.V. 2009. All rights reserved. + 256 bytes 256 kB on-chip flash (LPC1766/65) 0 GB LPC1768/66/65/64 memory map 128 kB on-chip flash (LPC1764) 0x4006 0000 0x4005 C000 0x4004 C000 0x4004 4000 16 CAN common 0x4004 0000 0x200A 0000 15 CAN AF registers 0x4003 C000 0x2009 C000 14 CAN AF RAM 0x4003 8000 0x2008 4000 13 ADC 0x4003 4000 0x2000 4000 12 SSP1 0x4003 0000 0x2007 C000 11 pin connect 0x4002 C000 10 GPIO interrupts 0x4002 8000 9 RTC + backup registers 0x4002 4000 0x1FFF 2000 8 SPI 0x4002 0000 0x1FFF 0000 7 not used 0x4001 C000 0x1000 8000 6 PWM1 0x4001 8000 0x1000 4000 5 not used 0x4001 4000 4 UART1 0x4001 0000 3 UART0 0x4000 C000 2 TIMER1 0x4000 8000 1 0 TIMER0 0x4000 4000 WDT 0x4000 0000 0x1000 0000 0x0008 0000 active interrupt vectors 0x4008 0000 0x4004 8000 reserved 512 kB on-chip flash (LPC1768) 0x5000 0000 0x0004 0000 0x0002 0000 0x0000 0000 002aad946 LPC1768/66/65/64 32 kB local static RAM (LPC1768/6/5) 0x5000 4000 32-bit ARM Cortex-M3 microcontroller reserved 22 - 19 not used 0x5000 8000 CAN1 reserved 8 kB boot ROM I2C1 0x5000 C000 17 0x2200 0000 16 kB AHB SRAM 23 0x5001 0000 CAN2 reserved 16 kB AHB SRAM1 (LPC1768/6/5) 31 - 24 not used 0x5020 0000 18 AHB SRAM bit band alias addressing reserved APB0 peripherals 0x4000 0000 0x2400 0000 0.5 GB Fig 3. 2 0x4010 0000 reserved (1)LPC1768/66/65 only (2)LPC1768/66/64 only 0x0000 0000 USB controller 0x4200 0000 GPIO 0x0000 0100 3 0x4400 0000 peripheral bit band alias addressing 1 - 0 reserved 0x4008 0000 AHB peripherals 0xE010 0000 0x400B C000 1 GB NXP Semiconductors LPC1768_66_65_64_2 Objective data sheet APB1 peripherals 0x4010 0000 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.7 Nested Vectored Interrupt Controller (NVIC) The NVIC is an integral part of the Cortex-M3. The tight coupling to the CPU allows for low interrupt latency and efficient processing of late arriving interrupts. 7.7.1 Features • • • • • • Controls system exceptions and peripheral interrupts In the LPC1768/66/65/64, the NVIC supports 33 vectored interrupts 32 programmable interrupt priority levels, with hardware priority level masking Relocatable vector table Non-Maskable Interrupt (NMI) Software interrupt generation 7.7.2 Interrupt sources Each peripheral device has one interrupt line connected to the NVIC but may have several interrupt flags. Individual interrupt flags may also represent more than one interrupt source. Any pin on PORT0 and PORT2 (total of 42 pins) regardless of the selected function, can be programmed to generate an interrupt on a rising edge, a falling edge, or both. 7.8 Pin connect block The pin connect block allows selected pins of the microcontroller to have more than one function. Configuration registers control the multiplexers to allow connection between the pin and the on-chip peripherals. Peripherals should be connected to the appropriate pins prior to being activated and prior to any related interrupt(s) being enabled. Activity of any enabled peripheral function that is not mapped to a related pin should be considered undefined. Most pins can also be configured as open-drain outputs or to have a pull-up, pull-down, or no resistor enabled. 7.9 General purpose DMA controller The GPDMA is an AMBA AHB compliant peripheral allowing selected LPC1768/66/65/64 peripherals to have DMA support. The GPDMA enables peripheral-to-memory, memory-to-peripheral, peripheral-to-peripheral, and memory-to-memory transactions. The source and destination areas can each be either a memory region or a peripheral, and can be accessed through the AHB master. The GPDMA controller allows data transfers between the USB (LPC1768/66/65 only) and Ethernet controllers (LPC1768/66/64 only) and the various on-chip SRAM areas. The supported APB peripherals are SSP0/1, all UARTs, the I2S-bus interface, the ADC, and the DAC. Two match signals for each timer can be used to trigger DMA transfers. Note that the I2S-bus interface and the DAC are not available on the LPC1764. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 17 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.9.1 Features • Eight DMA channels. Each channel can support an unidirectional transfer. • 16 DMA request lines. • Single DMA and burst DMA request signals. Each peripheral connected to the DMA Controller can assert either a burst DMA request or a single DMA request. The DMA burst size is set by programming the DMA Controller. • Memory-to-memory, memory-to-peripheral, peripheral-to-memory, and peripheral-to-peripheral transfers are supported. • Scatter or gather DMA is supported through the use of linked lists. This means that the source and destination areas do not have to occupy contiguous areas of memory. • Hardware DMA channel priority. • AHB slave DMA programming interface. The DMA Controller is programmed by writing to the DMA control registers over the AHB slave interface. • One AHB bus master for transferring data. The interface transfers data when a DMA request goes active. • 32-bit AHB master bus width. • Incrementing or non-incrementing addressing for source and destination. • Programmable DMA burst size. The DMA burst size can be programmed to more efficiently transfer data. • Internal four-word FIFO per channel. • Supports 8, 16, and 32-bit wide transactions. • Big-endian and little-endian support. The DMA Controller defaults to little-endian mode on reset. • An interrupt to the processor can be generated on a DMA completion or when a DMA error has occurred. • Raw interrupt status. The DMA error and DMA count raw interrupt status can be read prior to masking. 7.10 Fast general purpose parallel I/O Device pins that are not connected to a specific peripheral function are controlled by the GPIO registers. Pins may be dynamically configured as inputs or outputs. Separate registers allow setting or clearing any number of outputs simultaneously. The value of the output register may be read back as well as the current state of the port pins. LPC1768/66/65/64 use accelerated GPIO functions: • GPIO registers are a dedicated AHB peripheral and are accessed through the AHB multilayer bus so that the fastest possible I/O timing can be achieved. • Mask registers allow treating sets of port bits as a group, leaving other bits unchanged. • All GPIO registers are byte and half-word addressable. • Entire port value can be written in one instruction. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 18 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Additionally, any pin on PORT0 and PORT2 (total of 42 pins) providing a digital function can be programmed to generate an interrupt on a rising edge, a falling edge, or both. The edge detection is asynchronous, so it may operate when clocks are not present such as during Power-down mode. Each enabled interrupt can be used to wake up the chip from Power-down mode. 7.10.1 Features • Bit level set and clear registers allow a single instruction to set or clear any number of bits in one port. • Direction control of individual bits. • All I/O default to inputs after reset. • Pull-up/pull-down resistor configuration and open-drain configuration can be programmed through the pin connect block for each GPIO pin. 7.11 Ethernet (LPC1768/66/64 only) Remark: The Ethernet controller is not available for part LPC1765. The Ethernet block contains a full featured 10 Mbit/s or 100 Mbit/s Ethernet MAC designed to provide optimized performance through the use of DMA hardware acceleration. Features include a generous suite of control registers, half or full duplex operation, flow control, control frames, hardware acceleration for transmit retry, receive packet filtering and wake-up on LAN activity. Automatic frame transmission and reception with scatter-gather DMA off-loads many operations from the CPU. The Ethernet block and the CPU share the ARM Cortex-M3 D-code and system bus through the AHB-multilayer matrix to access the various on-chip SRAM blocks for Ethernet data, control, and status information. The Ethernet block interfaces between an off-chip Ethernet PHY using the Reduced MII (RMII) protocol and the on-chip Media Independent Interface Management (MIIM) serial bus. The Ethernet block supports bus clock rates of up to 100 MHz. 7.11.1 Features • Ethernet standards support: – Supports 10 Mbit/s or 100 Mbit/s PHY devices including 10 Base-T, 100 Base-TX, 100 Base-FX, and 100 Base-T4. – Fully compliant with IEEE standard 802.3. – Fully compliant with 802.3x full duplex flow control and half duplex back pressure. – Flexible transmit and receive frame options. – Virtual Local Area Network (VLAN) frame support. • Memory management: – Independent transmit and receive buffers memory mapped to shared SRAM. – DMA managers with scatter/gather DMA and arrays of frame descriptors. – Memory traffic optimized by buffering and pre-fetching. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 19 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller • Enhanced Ethernet features: – Receive filtering. – Multicast and broadcast frame support for both transmit and receive. – Optional automatic Frame Check Sequence (FCS) insertion with Cyclic Redundancy Check (CRC) for transmit. – Selectable automatic transmit frame padding. – Over-length frame support for both transmit and receive allows any length frames. – Promiscuous receive mode. – Automatic collision back-off and frame retransmission. – Includes power management by clock switching. – Wake-on-LAN power management support allows system wake-up: using the receive filters or a magic frame detection filter. • Physical interface: – Attachment of external PHY chip through standard RMII interface. – PHY register access is available via the MIIM interface. 7.12 USB interface The Universal Serial Bus (USB) is a 4-wire bus that supports communication between a host and one or more (up to 127) peripherals. The host controller allocates the USB bandwidth to attached devices through a token-based protocol. The bus supports hot plugging and dynamic configuration of the devices. All transactions are initiated by the host controller. The LPC1768/66/65/64 USB interface includes a device, Host, and OTG controller with on-chip PHY for device and Host functions. The OTG switching protocol is supported through the use of an external controller. Details on typical USB interfacing solutions can be found in Section 14.1. Remark: The LPC1764 includes a device controller only. 7.12.1 USB device controller The device controller enables 12 Mbit/s data exchange with a USB Host controller. It consists of a register interface, serial interface engine, endpoint buffer memory, and a DMA controller. The serial interface engine decodes the USB data stream and writes data to the appropriate endpoint buffer. The status of a completed USB transfer or error condition is indicated via status registers. An interrupt is also generated if enabled. When enabled, the DMA controller transfers data between the endpoint buffer and the on-chip SRAM. 7.12.1.1 Features • • • • Fully compliant with USB 2.0 specification (full speed). Supports 32 physical (16 logical) endpoints with a 4 kB endpoint buffer RAM. Supports Control, Bulk, Interrupt and Isochronous endpoints. Scalable realization of endpoints at run time. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 20 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller • Endpoint Maximum packet size selection (up to USB maximum specification) by software at run time. • Supports SoftConnect and GoodLink features. • While USB is in the Suspend mode, the LPC1768/66/65/64 can enter one of the reduced power modes and wake up on USB activity. • Supports DMA transfers with all on-chip SRAM blocks on all non-control endpoints. • Allows dynamic switching between CPU-controlled slave and DMA modes. • Double buffer implementation for Bulk and Isochronous endpoints. 7.12.2 USB host controller (LPC1768/66/65 only) The host controller enables full- and low-speed data exchange with USB devices attached to the bus. It consists of a register interface, a serial interface engine, and a DMA controller. The register interface complies with the OHCI specification. 7.12.2.1 Features • OHCI compliant. • One downstream port. • Supports port power switching. 7.12.3 USB OTG controller (LPC1768/66/65 only) USB OTG is a supplement to the USB 2.0 specification that augments the capability of existing mobile devices and USB peripherals by adding host functionality for connection to USB peripherals. The OTG Controller integrates the host controller, device controller, and a master-only I2C-bus interface to implement OTG dual-role device functionality. The dedicated I2C-bus interface controls an external OTG transceiver. 7.12.3.1 Features • Fully compliant with On-The-Go supplement to the USB 2.0 Specification, Revision 1.0a. • Hardware support for Host Negotiation Protocol (HNP). • Includes a programmable timer required for HNP and Session Request Protocol (SRP). • Supports any OTG transceiver compliant with the OTG Transceiver Specification (CEA-2011), Rev. 1.0. 7.13 CAN controller and acceptance filters The Controller Area Network (CAN) is a serial communications protocol which efficiently supports distributed real-time control with a very high level of security. Its domain of application ranges from high-speed networks to low cost multiplex wiring. The CAN block is intended to support multiple CAN buses simultaneously, allowing the device to be used as a gateway, switch, or router among a number of CAN buses in industrial or automotive applications. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 21 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.13.1 Features • • • • • Two CAN controllers and buses. Data rates to 1 Mbit/s on each bus. 32-bit register and RAM access. Compatible with CAN specification 2.0B, ISO 11898-1. Global Acceptance Filter recognizes standard (11-bit) and extended-frame (29-bit) receive identifiers for all CAN buses. • Acceptance Filter can provide FullCAN-style automatic reception for selected Standard Identifiers. • FullCAN messages can generate interrupts. 7.14 12-bit ADC The LPC1768/66/65/64 contain one ADC. It is a single 12-bit successive approximation ADC with eight channels and DMA support. 7.14.1 Features • • • • • • • • • • 12-bit successive approximation ADC. Input multiplexing among 8 pins. Power-down mode. Measurement range VREFN to Vi(VREFP). 12-bit conversion rate: 1 MHz. Individual channels can be selected for conversion. Burst conversion mode for single or multiple inputs. Optional conversion on transition of input pin or Timer Match signal. Individual result registers for each ADC channel to reduce interrupt overhead. DMA support. 7.15 10-bit DAC (LPC1768/66/65 only) The DAC allows to generate a variable analog output. The maximum output value of the DAC is Vi(VREFP). 7.15.1 Features • • • • • • • 10-bit DAC Resistor string architecture Buffered output Power-down mode Selectable output drive Dedicated conversion timer DMA support LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 22 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.16 UARTs The LPC1768/66/65/64 each contain four UARTs. In addition to standard transmit and receive data lines, UART1 also provides a full modem control handshake interface. Support for RS-485/9-bit mode allows both software address detection and automatic address detection using 9-bit mode. The UARTs include a fractional baud rate generator. Standard baud rates such as 115200 Bd can be achieved with any crystal frequency above 2 MHz. 7.16.1 Features • • • • 16 B Receive and Transmit FIFOs. Register locations conform to 16C550 industry standard. Receiver FIFO trigger points at 1 B, 4 B, 8 B, and 14 B. Built-in fractional baud rate generator covering wide range of baud rates without a need for external crystals of particular values. • Fractional divider for baud rate control, auto baud capabilities and FIFO control mechanism that enables software flow control implementation. • UART1 equipped with standard modem interface signals. This module also provides full support for hardware flow control (auto-CTS/RTS). • Support for RS-485/9-bit mode. • UART3 includes an IrDA mode to support infrared communication. • All UARTs have DMA support. 7.17 SPI serial I/O controller The LPC1768/66/65/64 contain one SPI controller. SPI is a full duplex serial interface designed to handle multiple masters and slaves connected to a given bus. Only a single master and a single slave can communicate on the interface during a given data transfer. During a data transfer the master always sends 8 bits to 16 bits of data to the slave, and the slave always sends 8 bits to 16 bits of data to the master. 7.17.1 Features • • • • • Compliant with SPI specification Synchronous, serial, full duplex communication Combined SPI master and slave Maximum data bit rate of one eighth of the input clock rate 8 bits to 16 bits per transfer 7.18 SSP serial I/O controller The LPC1768/66/65/64 contain two SSP controllers. The SSP controller is capable of operation on a SPI, 4-wire SSI, or Microwire bus. It can interact with multiple masters and slaves on the bus. Only a single master and a single slave can communicate on the bus during a given data transfer. The SSP supports full duplex transfers, with frames of 4 bits to 16 bits of data flowing from the master to the slave and from the slave to the master. In practice, often only one of these data flows carries meaningful data. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 23 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.18.1 Features • Compatible with Motorola SPI, 4-wire Texas Instruments SSI, and National Semiconductor Microwire buses • • • • • Synchronous serial communication Master or slave operation 8-frame FIFOs for both transmit and receive 4-bit to 16-bit frame DMA transfers supported by GPDMA 7.19 I2C-bus serial I/O controllers The LPC1768/66/65/64 each contain three I2C-bus controllers. The I2C-bus is bidirectional for inter-IC control using only two wires: a Serial Clock line (SCL) and a Serial Data Line (SDA). Each device is recognized by a unique address and can operate as either a receiver-only device (e.g., an LCD driver) or a transmitter with the capability to both receive and send information (such as memory). Transmitters and/or receivers can operate in either master or slave mode, depending on whether the chip has to initiate a data transfer or is only addressed. The I2C is a multi-master bus and can be controlled by more than one bus master connected to it. 7.19.1 Features • I2C0 is a standard I2C compliant bus interface with open-drain pins. I2C0 also supports Fast mode plus with bit rates up to 1 Mbit/s. • • • • • • I2C1 and I2C2 use standard I/O pins with bit rates of up to 400 kbit/s (Fast I2C-bus). Easy to configure as master, slave, or master/slave. Programmable clocks allow versatile rate control. Bidirectional data transfer between masters and slaves. Multi-master bus (no central master). Arbitration between simultaneously transmitting masters without corruption of serial data on the bus. • Serial clock synchronization allows devices with different bit rates to communicate via one serial bus. • Serial clock synchronization can be used as a handshake mechanism to suspend and resume serial transfer. • The I2C-bus can be used for test and diagnostic purposes. • All I2C-bus controllers support multiple address recognition and a bus monitor mode. 7.20 I2S-bus serial I/O controllers Remark: The I2S-bus is not available on the LPC1764. The I2S-bus provides a standard communication interface for digital audio applications. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 24 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller The I2S-bus specification defines a 3-wire serial bus using one data line, one clock line, and one word select signal. The basic I2S-bus connection has one master, which is always the master, and one slave. The I2S-bus interface on the LPC1768/66/65 provides a separate transmit and receive channel, each of which can operate as either a master or a slave. 7.20.1 Features • The interface has separate input/output channels each of which can operate in master or slave mode. • Capable of handling 8-bit, 16-bit, and 32-bit word sizes. • Mono and stereo audio data supported. • The sampling frequency can range from 16 kHz to 96 kHz (16, 22.05, 32, 44.1, 48, 96) kHz. • Support for an audio master clock. • Configurable word select period in master mode (separately for I2S-bus input and output). • Two 8-word FIFO data buffers are provided, one for transmit and one for receive. • Generates interrupt requests when buffer levels cross a programmable boundary. • Two DMA requests, controlled by programmable buffer levels. These are connected to the GPDMA block. • Controls include reset, stop and mute options separately for I2S-bus input and I2S-bus output. 7.21 General purpose 32-bit timers/external event counters The LPC1768/66/65/64 include four 32-bit timer/counters. The timer/counter is designed to count cycles of the system derived clock or an externally-supplied clock. It can optionally generate interrupts, generate timed DMA requests, or perform other actions at specified timer values, based on four match registers. Each timer/counter also includes two capture inputs to trap the timer value when an input signal transitions, optionally generating an interrupt. 7.21.1 Features • A 32-bit timer/counter with a programmable 32-bit prescaler. • Counter or timer operation. • Two 32-bit capture channels per timer, that can take a snapshot of the timer value when an input signal transitions. A capture event may also generate an interrupt. • Four 32-bit match registers that allow: – Continuous operation with optional interrupt generation on match. – Stop timer on match with optional interrupt generation. – Reset timer on match with optional interrupt generation. • Up to four external outputs corresponding to match registers, with the following capabilities: – Set LOW on match. – Set HIGH on match. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 25 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller – Toggle on match. – Do nothing on match. • Up to two match registers can be used to generate timed DMA requests. 7.22 Pulse width modulator The PWM is based on the standard Timer block and inherits all of its features, although only the PWM function is pinned out on the LPC1768/66/65/64. The Timer is designed to count cycles of the system derived clock and optionally switch pins, generate interrupts or perform other actions when specified timer values occur, based on seven match registers. The PWM function is in addition to these features, and is based on match register events. The ability to separately control rising and falling edge locations allows the PWM to be used for more applications. For instance, multi-phase motor control typically requires three non-overlapping PWM outputs with individual control of all three pulse widths and positions. Two match registers can be used to provide a single edge controlled PWM output. One match register (PWMMR0) controls the PWM cycle rate, by resetting the count upon match. The other match register controls the PWM edge position. Additional single edge controlled PWM outputs require only one match register each, since the repetition rate is the same for all PWM outputs. Multiple single edge controlled PWM outputs will all have a rising edge at the beginning of each PWM cycle, when an PWMMR0 match occurs. Three match registers can be used to provide a PWM output with both edges controlled. Again, the PWMMR0 match register controls the PWM cycle rate. The other match registers control the two PWM edge positions. Additional double edge controlled PWM outputs require only two match registers each, since the repetition rate is the same for all PWM outputs. With double edge controlled PWM outputs, specific match registers control the rising and falling edge of the output. This allows both positive going PWM pulses (when the rising edge occurs prior to the falling edge), and negative going PWM pulses (when the falling edge occurs prior to the rising edge). 7.22.1 Features • One PWM block with Counter or Timer operation (may use the peripheral clock or one of the capture inputs as the clock source). • Seven match registers allow up to 6 single edge controlled or 3 double edge controlled PWM outputs, or a mix of both types. The match registers also allow: – Continuous operation with optional interrupt generation on match. – Stop timer on match with optional interrupt generation. – Reset timer on match with optional interrupt generation. • Supports single edge controlled and/or double edge controlled PWM outputs. Single edge controlled PWM outputs all go high at the beginning of each cycle unless the output is a constant low. Double edge controlled PWM outputs can have either edge occur at any position within a cycle. This allows for both positive going and negative going pulses. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 26 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller • Pulse period and width can be any number of timer counts. This allows complete flexibility in the trade-off between resolution and repetition rate. All PWM outputs will occur at the same repetition rate. • Double edge controlled PWM outputs can be programmed to be either positive going or negative going pulses. • Match register updates are synchronized with pulse outputs to prevent generation of erroneous pulses. Software must ‘release’ new match values before they can become effective. • May be used as a standard 32-bit timer/counter with a programmable 32-bit prescaler if the PWM mode is not enabled. 7.23 Motor control PWM The motor control PWM is a specialized PWM supporting 3-phase motors and other combinations. Feedback inputs are provided to automatically sense rotor position and use that information to ramp speed up or down. An abort input is also provided that causes the PWM to immediately release all motor drive outputs. At the same time, the motor control PWM is highly configurable for other generalized timing, counting, capture, and compare applications. 7.24 Quadrature Encoder Interface (QEI) A quadrature encoder, also known as a 2-channel incremental encoder, converts angular displacement into two pulse signals. By monitoring both the number of pulses and the relative phase of the two signals, the user can track the position, direction of rotation, and velocity. In addition, a third channel, or index signal, can be used to reset the position counter. The quadrature encoder interface decodes the digital pulses from a quadrature encoder wheel to integrate position over time and determine direction of rotation. In addition, the QEI can capture the velocity of the encoder wheel. 7.24.1 Features • • • • • • • • • • Tracks encoder position. Increments/decrements depending on direction. Programmable for 2x or 4x position counting. Velocity capture using built-in timer. Velocity compare function with “less than” interrupt. Uses 32-bit registers for position and velocity. Three position compare registers with interrupts. Index counter for revolution counting. Index compare register with interrupts. Can combine index and position interrupts to produce an interrupt for whole and partial revolution displacement. • Digital filter with programmable delays for encoder input signals. • Can accept decoded signal inputs (clk and direction). • Connected to APB. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 27 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.25 Repetitive Interrupt (RI) timer The repetitive interrupt timer provides a free-running 32-bit counter which is compared to a selectable value, generating an interrupt when a match occurs. Any bits of the timer/compare can be masked such that they do not contribute to the match detection. The repetitive interrupt timer can be used to create an interrupt that repeats at predetermined intervals. 7.25.1 Features • 32-bit counter running from PCLK. Counter can be free-running or be reset by a generated interrupt. • 32-bit compare value. • 32-bit compare mask. An interrupt is generated when the counter value equals the compare value, after masking. This allows for combinations not possible with a simple compare. 7.26 System tick timer The ARM Cortex-M3 includes a system tick timer (SYSTICK) that is intended to generate a dedicated SYSTICK exception at a 10 ms interval. In the LPC1768/66/65/64, this timer can be clocked from the internal AHB clock or from a device pin. 7.27 Watchdog timer The purpose of the watchdog is to reset the microcontroller within a reasonable amount of time if it enters an erroneous state. When enabled, the watchdog will generate a system reset if the user program fails to ‘feed’ (or reload) the watchdog within a predetermined amount of time. 7.27.1 Features • Internally resets chip if not periodically reloaded. • Debug mode. • Enabled by software but requires a hardware reset or a watchdog reset/interrupt to be disabled. • • • • Incorrect/Incomplete feed sequence causes reset/interrupt if enabled. Flag to indicate watchdog reset. Programmable 32-bit timer with internal prescaler. Selectable time period from (Tcy(WDCLK) × 256 × 4) to (Tcy(WDCLK) × 232 × 4) in multiples of Tcy(WDCLK) × 4. • The Watchdog Clock (WDCLK) source can be selected from the Internal RC (IRC) oscillator or the APB peripheral clock. This gives a wide range of potential timing choices of Watchdog operation under different power reduction conditions. It also provides the ability to run the WDT from an entirely internal source that is not dependent on an external crystal and its associated components and wiring for increased reliability. • Includes lock/safe feature. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 28 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.28 RTC and backup registers The RTC is a set of counters for measuring time when system power is on, and optionally when it is off. The RTC on the LPC1768/66/65/64 is designed to have extremely low power consumption, i.e. less than 1 µA. The RTC will typically run from the main chip power supply, conserving battery power while the rest of the device is powered up. When operating from a battery, the RTC will continue working down to 2.1 V. Battery power can be provided from a standard 3 V Lithium button cell. An ultra-low power 32 kHz oscillator will provide a 1 Hz clock to the time counting portion of the RTC, moving most of the power consumption out of the time counting function. The RTC includes a calibration mechanism to allow fine-tuning the count rate in a way that will provide less than 1 second per day error when operated at a constant voltage and temperature. A clock output function (see Section 7.29.4) makes measuring the oscillator rate easy and accurate. The RTC contains a small set of backup registers (64 bytes) for holding data while the main part of the LPC1768/66/65/64 is powered off. The RTC includes an alarm function that can wake up the LPC1768/66/65/64 from all reduced power modes with a time resolution of 1 s. 7.28.1 Features • Measures the passage of time to maintain a calendar and clock. • Ultra low power design to support battery powered systems. • Provides Seconds, Minutes, Hours, Day of Month, Month, Year, Day of Week, and Day of Year. • • • • Dedicated power supply pin can be connected to a battery or to the main 3.3 V. Periodic interrupts can be generated from increments of any field of the time registers. Backup registers (64 bytes) powered by VBAT. RTC power supply is isolated from the rest of the chip. 7.29 Clocking and power control 7.29.1 Crystal oscillators The LPC1768/66/65/64 include three independent oscillators. These are the main oscillator, the IRC oscillator, and the RTC oscillator. Each oscillator can be used for more than one purpose as required in a particular application. Any of the three clock sources can be chosen by software to drive the main PLL and ultimately the CPU. Following reset, the LPC1768/66/65/64 will operate from the Internal RC oscillator until switched by software. This allows systems to operate without any external crystal and the bootloader code to operate at a known frequency. See Figure 4 for an overview of the LPC1768/66/65/64 clock generation. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 29 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller LPC17xx usbclk (48 MHz) USB PLL MAIN OSCILLATOR USB CLOCK DIVIDER MAIN PLL pllclk system clock select (CLKSRCSEL) INTERNAL RC OSCILLATOR USB BLOCK USB clock config USB PLL enable (USBCLKCFG) cclk CPU CLOCK DIVIDER main PLL enable CPU clock config (CCLKCFG) ARM CORTEX-M3 ETHERNET BLOCK DMA GPIO NVIC WATCHDOG TIMER CCLK/8 32 kHz RTC OSCILLATOR PERIPHERAL CLOCK GENERATOR pclkWDT rtclk = 1Hz REAL-TIME CLOCK CCLK/6 CCLK/4 CCLK/2 APB peripherals CCLK 002aad947 Fig 4. LPC1768/66/65/64 clocking generation block diagram 7.29.1.1 Internal RC oscillator The IRC may be used as the clock source for the WDT, and/or as the clock that drives the PLL and subsequently the CPU. The nominal IRC frequency is 4 MHz. The IRC is trimmed to 1 % accuracy over the entire voltage and temperature range. Upon power-up or any chip reset, the LPC1768/66/65/64 use the IRC as the clock source. Software may later switch to one of the other available clock sources. 7.29.1.2 Main oscillator The main oscillator can be used as the clock source for the CPU, with or without using the PLL. The main oscillator also provides the clock source for the dedicated USB PLL. The main oscillator operates at frequencies of 1 MHz to 25 MHz. This frequency can be boosted to a higher frequency, up to the maximum CPU operating frequency, by the main PLL. The clock selected as the PLL input is PLLCLKIN. The ARM processor clock frequency is referred to as CCLK elsewhere in this document. The frequencies of PLLCLKIN and CCLK are the same value unless the PLL is active and connected. The clock frequency for each peripheral can be selected individually and is referred to as PCLK. Refer to Section 7.29.2 for additional information. 7.29.1.3 RTC oscillator The RTC oscillator can be used as the clock source for the RTC block, the main PLL, and/or the CPU. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 30 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.29.2 Main PLL (PLL0) The PLL0 accepts an input clock frequency in the range of 32 kHz to 25 MHz. The input frequency is multiplied up to a high frequency, then divided down to provide the actual clock used by the CPU and/or the USB block. The PLL0 input, in the range of 32 kHz to 25 MHz, may initially be divided down by a value ‘N’, which may be in the range of 1 to 256. This input division provides a wide range of output frequencies from the same input frequency. Following the PLL0 input divider is the PLL0 multiplier. This can multiply the input divider output through the use of a Current Controlled Oscillator (CCO) by a value ‘M’, in the range of 1 through 32768. The resulting frequency must be in the range of 275 MHz to 550 MHz. The multiplier works by dividing the CCO output by the value of M, then using a phase-frequency detector to compare the divided CCO output to the multiplier input. The error value is used to adjust the CCO frequency. The PLL0 is turned off and bypassed following a chip Reset and by entering Power-down mode. PLL0 is enabled by software only. The program must configure and activate the PLL0, wait for the PLL0 to lock, and then connect to the PLL0 as a clock source. 7.29.3 USB PLL (PLL1) The LPC1768/66/65/64 contain a second, dedicated USB PLL1 to provide clocking for the USB interface. The PLL1 receives its clock input from the main oscillator only and provides a fixed 48 MHz clock to the USB block only. The PLL1 is disabled and powered off on reset. If the PLL1 is left disabled, the USB clock will be supplied by the 48 MHz clock from the main PLL0. The PLL1 accepts an input clock frequency in the range of 10 MHz to 25 MHz only. The input frequency is multiplied up the range of 48 MHz for the USB clock using a Current Controlled Oscillators (CCO). It is insured that the PLL1 output has a 50% duty cycle. 7.29.4 RTC clock output The LPC1768/66/65/64 feature a clock output function intended for synchronizing with external devices and for use during system development to allow checking the internal clocks CCLK, IRC clock, main crystal, RTC clock, and USB clock in the outside world. The RTC clock output allows tuning the RTC frequency without probing the pin, which would distort the results. 7.29.5 Wake-up timer The LPC1768/66/65/64 begin operation at power-up and when awakened from Power-down mode by using the 4 MHz IRC oscillator as the clock source. This allows chip operation to resume quickly. If the main oscillator or the PLL is needed by the application, software will need to enable these features and wait for them to stabilize before they are used as a clock source. When the main oscillator is initially activated, the wake-up timer allows software to ensure that the main oscillator is fully functional before the processor uses it as a clock source and starts to execute instructions. This is important at power on, all types of Reset, and LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 31 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller whenever any of the aforementioned functions are turned off for any reason. Since the oscillator and other functions are turned off during Power-down mode, any wake-up of the processor from Power-down mode makes use of the wake-up Timer. The Wake-up Timer monitors the crystal oscillator to check whether it is safe to begin code execution. When power is applied to the chip, or when some event caused the chip to exit Power-down mode, some time is required for the oscillator to produce a signal of sufficient amplitude to drive the clock logic. The amount of time depends on many factors, including the rate of VDD(3V3) ramp (in the case of power on), the type of crystal and its electrical characteristics (if a quartz crystal is used), as well as any other external circuitry (e.g., capacitors), and the characteristics of the oscillator itself under the existing ambient conditions. 7.29.6 Power control The LPC1768/66/65/64 support a variety of power control features. There are four special modes of processor power reduction: Sleep mode, Deep-sleep mode, Power-down mode, and Deep power-down mode. The CPU clock rate may also be controlled as needed by changing clock sources, reconfiguring PLL values, and/or altering the CPU clock divider value. This allows a trade-off of power versus processing speed based on application requirements. In addition, Peripheral Power Control allows shutting down the clocks to individual on-chip peripherals, allowing fine tuning of power consumption by eliminating all dynamic power use in any peripherals that are not required for the application. Each of the peripherals has its own clock divider which provides even better power control. Integrated PMU (Power Management Unit) automatically adjust internal regulators to minimize power consumption during Sleep, Deep sleep, Power-down, and Deep power-down modes. The LPC1768/66/65/64 also implement a separate power domain to allow turning off power to the bulk of the device while maintaining operation of the RTC and a small set of registers for storing data during any of the power-down modes. 7.29.6.1 Sleep mode When Sleep mode is entered, the clock to the core is stopped. Resumption from the Sleep mode does not need any special sequence but re-enabling the clock to the ARM core. In Sleep mode, execution of instructions is suspended until either a Reset or interrupt occurs. Peripheral functions continue operation during Sleep mode and may generate interrupts to cause the processor to resume execution. Sleep mode eliminates dynamic power used by the processor itself, memory systems and related controllers, and internal buses. 7.29.6.2 Deep-sleep mode In Deep-sleep mode, the oscillator is shut down and the chip receives no internal clocks. The processor state and registers, peripheral registers, and internal SRAM values are preserved throughout Deep-sleep mode and the logic levels of chip pins remain static. The output of the IRC is disabled but the IRC is not powered down for a fast wake-up later. The RTC oscillator is not stopped because the RTC interrupts may be used as the wake-up source. The PLL is automatically turned off and disconnected. The CCLK and USB clock dividers automatically get reset to zero. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 32 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller The Deep-sleep mode can be terminated and normal operation resumed by either a Reset or certain specific interrupts that are able to function without clocks. Since all dynamic operation of the chip is suspended, Deep-sleep mode reduces chip power consumption to a very low value. Power to the flash memory is left on in Deep-sleep mode, allowing a very quick wake-up. On wake-up from Deep-sleep mode, the code execution and peripherals activities will resume after 4 cycles expire if the IRC was used before entering Deep-sleep mode. If the main external oscillator was used, the code execution will resume when 4096 cycles expire. PLL and clock dividers need to be reconfigured accordingly. 7.29.6.3 Power-down mode Power-down mode does everything that Deep-sleep mode does, but also turns off the power to the IRC oscillator and the flash memory. This saves more power but requires waiting for resumption of flash operation before execution of code or data access in the flash memory can be accomplished. On the wake-up of Power-down mode, if the IRC was used before entering Power-down mode, it will take IRC 60 µs to start-up. After this 4 IRC cycles will expire before the code execution can then be resumed if the code was running from SRAM. In the meantime, the flash wake-up timer then counts 4 MHz IRC clock cycles to make the 100 µs flash start-up time. When it times out, access to the flash will be allowed. Users need to reconfigure the PLL and clock dividers accordingly. 7.29.6.4 Deep power-down mode The Deep power-down mode can only be entered from the RTC block. In Deep power-down mode, power is shut off to the entire chip with the exception of the RTC module and the RESET pin. The LPC1768/66/65/64 can wake up from Deep power-down mode via the RESET pin or an alarm match event of the RTC. 7.29.6.5 Wakeup interrupt controller The Wakeup Interrupt Controller (WIC) allows the CPU to automatically wake up from any enabled priority interrupt that can occur while the clocks are stopped in Deep sleep, Power-down, and Deep power-down modes. The WIC works in connection with the Nested Vectored Interrupt Controller (NVIC). When the CPU enters Deep sleep, Power-down, or Deep power-down mode, the NVIC sends a mask of the current interrupt situation to the WIC.This mask includes all of the interrupts that are both enabled and of sufficient priority to be serviced immediately. With this information, the WIC simply notices when one of the interrupts has occurred and then it wakes up the CPU. The WIC eliminates the need to periodically wake up the CPU and poll the interrupts resulting in additional power savings. 7.29.7 Peripheral power control A Power Control for Peripherals feature allows individual peripherals to be turned off if they are not needed in the application, resulting in additional power savings. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 33 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.29.8 Power domains The LPC1768/66/65/64 provide two independent power domains that allow the bulk of the device to have power removed while maintaining operation of the RTC and the backup Registers. On the LPC1768/66/65/64, I/O pads are powered by the 3.3 V (VDD(3V3)) pins, while the VDD(REG)(3V3) pin powers the on-chip voltage regulator which in turn provides power to the CPU and most of the peripherals. Depending on the LPC1768/66/65/64 application, a design can use two power options to manage power consumption. The first option assumes that power consumption is not a concern and the design ties the VDD(3V3) and VDD(REG)(3V3) pins together. This approach requires only one 3.3 V power supply for both pads, the CPU, and peripherals. While this solution is simple, it does not support powering down the I/O pad ring “on the fly” while keeping the CPU and peripherals alive. The second option uses two power supplies; a 3.3 V supply for the I/O pads (VDD(3V3)) and a dedicated 3.3 V supply for the CPU (VDD(REG)(3V3)). Having the on-chip voltage regulator powered independently from the I/O pad ring enables shutting down of the I/O pad power supply “on the fly”, while the CPU and peripherals stay active. The VBAT pin supplies power only to the RTC domain. The RTC requires a minimum of power to operate, which can be supplied by an external battery. The device core power (VDD(REG)(3V3)) is used to operate the RTC whenever VDD(REG)(3V3) is present. Therefore, there is no power drain from the RTC battery when VDD(REG)(3V3) is available. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 34 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller LPC17xx VDD(3V3) to I/O pads to core VSS 3.3 V REGULATOR to memories, peripherals, oscillators, PLLs VDD(REG)(3V3) MAIN POWER DOMAIN VBAT POWER SELECTOR ULTRA-LOW POWER REGULATOR BACKUP REGISTERS RTCX1 RTCX2 32 kHz OSCILLATOR REAL-TIME CLOCK RTC POWER DOMAIN DAC VDDA VREFP ADC VREFN VSSA ADC POWER DOMAIN 002aad978 Fig 5. Power distribution 7.30 System control 7.30.1 Reset Reset has four sources on the LPC1768/66/65/64: the RESET pin, the Watchdog reset, power-on reset (POR), and the BrownOut Detection (BOD) circuit. The RESET pin is a Schmitt trigger input pin. Assertion of chip Reset by any source, once the operating voltage attains a usable level, starts the Wake-up timer (see description in Section 7.29.5), causing reset to remain asserted until the external Reset is de-asserted, the oscillator is running, a fixed number of clocks have passed, and the flash controller has completed its initialization. When the internal Reset is removed, the processor begins executing at address 0, which is initially the Reset vector mapped from the Boot Block. At that point, all of the processor and peripheral registers have been initialized to predetermined values. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 35 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.30.2 Brownout detection The LPC1768/66/65/64 include 2-stage monitoring of the voltage on the VDD(REG)(3V3) pins. If this voltage falls below 2.95 V, the BOD asserts an interrupt signal to the Vectored Interrupt Controller. This signal can be enabled for interrupt in the Interrupt Enable Register in the NVIC in order to cause a CPU interrupt; if not, software can monitor the signal by reading a dedicated status register. The second stage of low-voltage detection asserts reset to inactivate the LPC1768/66/65/64 when the voltage on the VDD(REG)(3V3) pins falls below 2.65 V. This reset prevents alteration of the flash as operation of the various elements of the chip would otherwise become unreliable due to low voltage. The BOD circuit maintains this reset down below 1 V, at which point the power-on reset circuitry maintains the overall reset. Both the 2.95 V and 2.65 V thresholds include some hysteresis. In normal operation, this hysteresis allows the 2.95 V detection to reliably interrupt, or a regularly executed event loop to sense the condition. 7.30.3 Code security (Code Read Protection - CRP) This feature of the LPC1768/66/65/64 allows user to enable different levels of security in the system so that access to the on-chip flash and use of the JTAG and ISP can be restricted. When needed, CRP is invoked by programming a specific pattern into a dedicated flash location. IAP commands are not affected by the CRP. There are three levels of the Code Read Protection. CRP1 disables access to chip via the JTAG and allows partial flash update (excluding flash sector 0) using a limited set of the ISP commands. This mode is useful when CRP is required and flash field updates are needed but all sectors can not be erased. CRP2 disables access to chip via the JTAG and only allows full flash erase and update using a reduced set of the ISP commands. Running an application with level CRP3 selected fully disables any access to chip via the JTAG pins and the ISP. This mode effectively disables ISP override using P2[10] pin, too. It is up to the user’s application to provide (if needed) flash update mechanism using IAP calls or call reinvoke ISP command to enable flash update via UART0. CAUTION If level three Code Read Protection (CRP3) is selected, no future factory testing can be performed on the device. 7.30.4 APB interface The APB peripherals are split into two separate APB buses in order to distribute the bus bandwidth and thereby reducing stalls caused by contention between the CPU and the GPDMA controller. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 36 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 7.30.5 AHB multilayer matrix The LPC1768/66/65/64 use an AHB multilayer matrix. This matrix connects the instruction (I-code) and data (D-code) CPU buses of the ARM Cortex-M3 to the flash memory, the main (32KB) static RAM, and the Boot ROM. The GPDMA can also access all of these memories. The peripheral DMA controllers, Ethernet (LPC1768/66/64 only) and USB, can access all SRAM blocks. Additionally, the matrix connects the CPU system bus and all of the DMA controllers to the various peripheral functions. 7.30.6 External interrupt inputs The LPC1768/66/65/64 include up to 46 edge sensitive interrupt inputs combined with up to four level sensitive external interrupt inputs as selectable pin functions. The external interrupt inputs can optionally be used to wake up the processor from Power-down mode. 7.30.7 Memory mapping control The Cortex-M3 incorporates a mechanism that allows remapping the interrupt vector table to alternate locations in the memory map. This is controlled via the Vector Table Offset Register contained in the NVIC. The vector table may be located anywhere within the bottom 1 GB of Cortex-M3 address space. The vector table must be located on a 128 word (512 byte) boundary because the NVIC on the LPC1768/66/65/64 is configured for 128 total interrupts. 7.31 Emulation and debugging Debug and trace functions are integrated into the ARM Cortex-M3. Serial wire debug and trace functions are supported in addition to a standard JTAG debug and parallel trace functions. The ARM Cortex-M3 is configured to support up to eight breakpoints and four watch points. 8. Limiting values Table 4. Limiting values In accordance with the Absolute Maximum Rating System (IEC 60134).[1] Symbol Parameter Conditions Min Max Unit VDD(3V3) supply voltage (3.3 V) core and external rail 2.4 3.6 V VDD(REG)(3V3) regulator supply voltage (3.3 V) 2.4 3.6 V VDDA analog 3.3 V pad supply voltage −0.5 +4.6 V Vi(VBAT) input voltage on pin VBAT for the RTC −0.5 +4.6 V Vi(VREFP) input voltage on pin VREFP −0.5 +4.6 V VIA analog input voltage on ADC related pins −0.5 +5.1 V VI input voltage 5 V tolerant I/O pins; only valid when the VDD(3V3) supply voltage is present [2] −0.5 +6.0 V [2][3] −0.5 VDD(3V3) + 0.5 V other I/O pins LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 37 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 4. Limiting values …continued In accordance with the Absolute Maximum Rating System (IEC 60134).[1] Symbol IDD Parameter Conditions supply current Min Max Unit per supply pin [4] - 100 mA [4] - 100 mA - 100 mA ISS ground current per ground pin Ilatch I/O latch-up current −(0.5VDD(3V3)) < VI < (1.5VDD(3V3)); Tj < 125 °C [5] Tstg storage temperature Ptot(pack) total power dissipation (per package) based on package heat transfer, not device power consumption Vesd electrostatic discharge voltage human body model; all pins [6] −65 +150 °C - 1.5 W −2000 +2000 V [1] The following applies to the limiting values: a) This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive static charge. Nonetheless, it is suggested that conventional precautions be taken to avoid applying greater than the rated maximum. b) Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to VSS unless otherwise noted. [2] Including voltage on outputs in 3-state mode. [3] Not to exceed 4.6 V. [4] The peak current is limited to 25 times the corresponding maximum current. [5] Dependent on package type. [6] Human body model: equivalent to discharging a 100 pF capacitor through a 1.5 kΩ series resistor. 9. Thermal characteristics 9.1 Thermal characteristics The average chip junction temperature, Tj (°C), can be calculated using the following equation: T j = T amb + ( P D × R th ( j – a ) ) (1) • Tamb = ambient temperature (°C), • Rth(j-a) = the package junction-to-ambient thermal resistance (°C/W) • PD = sum of internal and I/O power dissipation The internal power dissipation is the product of IDD and VDD. The I/O power dissipation of the I/O pins is often small and many times can be negligible. However it can be significant in some applications. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 38 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 5. Thermal characteristics VDD = 2.4 V to 3.6 V; Tamb = −40 °C to +85 °C; unless otherwise specified. Symbol Parameter Conditions Min Typ Max Unit Rth(j-a) thermal resistance from junction to ambient LQFP100 package - <tbd> - °C/W Tj(max) maximum junction temperature - - 150 °C LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 39 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 10. Static characteristics Table 6. Static characteristics Tamb = −40 °C to +85 °C unless otherwise specified. Symbol Parameter Conditions Min Typ[1] Max Unit VDD(3V3) supply voltage (3.3 V) core and external rail 2.4 3.3 3.6 V VDD(REG)(3V3) regulator supply voltage (3.3 V) 2.4 3.3 3.6 V VDDA analog 3.3 V pad supply voltage 2.7 3.3 3.6 V Vi(VBAT) input voltage on pin VBAT 2.1 3.3 3.6 V Vi(VREFP) input voltage on pin VREFP 2.7 3.3 VDDA V [2] Standard port pins, RESET, RTCK IIL LOW-level input current VI = 0 V; on-chip pull-up resistor disabled - - 3 µA IIH HIGH-level input current VI = VDD(3V3); on-chip pull-down resistor disabled - - 3 µA IOZ OFF-state output current VO = 0 V; VO = VDD(3V3); on-chip pull-up/down resistors disabled - - 3 µA VI input voltage pin configured to provide a digital function 0 - 5.5 V VO output voltage output active 0 - VDD(3V3) V VIH HIGH-level input voltage 2.0 - - V VIL LOW-level input voltage - - 0.8 V Vhys hysteresis voltage [3][4][5] - 0.4 - V VDD(3V3) − 0.4 - - V VOH HIGH-level output voltage IOH = −4 mA [6] VOL LOW-level output voltage IOL = 4 mA [6] - - 0.4 V IOH HIGH-level output current VOH = VDD(3V3) − 0.4 V [6] −4 - - mA IOL LOW-level output current VOL = 0.4 V [6] 4 - - mA IOHS HIGH-level short-circuit VOH = 0 V output current [7] - - −45 mA IOLS LOW-level short-circuit output current VOL = VDDA [7] - - 50 mA Ipd pull-down current VI = 5 V 10 50 150 µA Ipu pull-up current VI = 0 V −15 −50 −85 µA VDD(3V3) < VI < 5 V 0 0 0 µA LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 40 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 6. Static characteristics …continued Tamb = −40 °C to +85 °C unless otherwise specified. Min Typ[1] Max Unit CCLK = 10 MHz - <tbd> - mA CCLK = 100 MHz - <tbd> - mA sleep mode; VDD(REG)(3V3) = 3.3 V; Tamb = 25 °C - <tbd> - µA deep sleep mode; VDD(REG)(3V3) = 3.3 V; Tamb = 25 °C - <tbd> - µA power-down mode; VDD(REG)(3V3) = 3.3 V; Tamb = 25 °C - <tbd> - µA deep power-down mode; VDD(REG)(3V3) = 3.3 V; Tamb = 25 °C - <tbd> - µA 0.8 - µA < 0.8 - µA V Symbol Parameter Conditions IDD(REG)(3V3) regulator supply current active mode; (3.3 V) VDD(REG)(3V3) = 3.3 V; Tamb = 25 °C; code while(1){} executed from flash; all peripherals enabled active mode battery supply current IBATact I2C-bus RTC running; VDD(REG)(3V3) present [8] - RTC running; VDD(REG)(3V3) not present [8] - pins (P0[27] and P0[28]) VIH HIGH-level input voltage 0.7VDD(3V3) - - VIL LOW-level input voltage - - 0.3VDD(3V3) V Vhys hysteresis voltage VOL LOW-level output voltage IOLS = 3 mA [6] ILI input leakage current VI = VDD(3V3) [9] VI = 5 V - 0.5VDD(3V3) - V - - 0.4 V - 2 4 µA - 10 22 µA Oscillator pins Vi(XTAL1) input voltage on pin XTAL1 0 - 1.8 V Vo(XTAL2) output voltage on pin XTAL2 0 - 1.8 V Vi(RTCX1) input voltage on pin RTCX1 0 - 1.8 V Vo(RTCX2) output voltage on pin RTCX2 0 - 1.8 V LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 41 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 6. Static characteristics …continued Tamb = −40 °C to +85 °C unless otherwise specified. Parameter Conditions Min Typ[1] Max Unit IOZ OFF-state output current 0 V < VI < 3.3 V - - ±10 µA VBUS bus supply voltage - - 5.25 V VDI differential input sensitivity voltage |(D+) − (D−)| 0.2 - - V VCM differential common mode voltage range includes VDI range 0.8 - 2.5 V Vth(rs)se single-ended receiver switching threshold voltage 0.8 - 2.0 V VOL LOW-level output voltage for low-/full-speed RL of 1.5 kΩ to 3.6 V - - 0.18 V VOH HIGH-level output voltage (driven) for low-/full-speed RL of 15 kΩ to GND 2.8 - 3.5 V Ctrans transceiver capacitance pin to GND - - 20 pF ZDRV with 33 Ω series resistor; driver output steady state drive impedance for driver which is not high-speed capable 36 - 44.1 Ω Rpu pull-up resistance 1.1 - 1.9 kΩ Symbol USB pins [10] SoftConnect = ON [1] Typical ratings are not guaranteed. The values listed are at room temperature (25 °C), nominal supply voltages. [2] The RTC typically fails when Vi(VBAT) drops below 1.6 V. [3] Including voltage on outputs in 3-state mode. [4] VDD(3V3) supply voltages must be present. [5] 3-state outputs go into 3-state mode when VDD(3V3) is grounded. [6] Accounts for 100 mV voltage drop in all supply lines. [7] Allowed as long as the current limit does not exceed the maximum current allowed by the device. [8] On pin VBAT. [9] To VSS. [10] Includes external resistors of 18 Ω ± 1 % on D+ and D−. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 42 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 10.1 Power consumption 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: Tamb = 25 °C; active mode entered executing code from flash; core voltage 2.7 V; all peripherals enabled but not configured to run. Fig 6. Regulator supply current at different core frequencies in active mode 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: Tamb = 25 °C; active mode entered executing code from flash; all peripherals enabled but not configured to run. Fig 7. Regulator supply current at different core voltages in active mode LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 43 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: active mode entered executing code from flash; core voltage 2.7 V; all peripherals enabled but not configured to run. Fig 8. Regulator supply current at different temperatures in active mode 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: active mode entered executing code from flash; Tamb = 25 °C; RTC running; Fig 9. Battery supply current for different core voltages in active mode Table 7. Typical peripheral current consumption Core voltage 3.3 V; Tamb = 25 °C; all measurements in µA; PCLK = CCLK⁄8; all peripherals enabled. Peripheral CCLK = 10 MHz CCLK = 100 MHz active mode sleep mode active mode sleep mode Timer0 <tbd> <tbd> <tbd> <tbd> Timer1 <tbd> <tbd> <tbd> <tbd> Timer2 <tbd> <tbd> <tbd> <tbd> Timer3 <tbd> <tbd> <tbd> <tbd> LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 44 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Table 7. Typical peripheral current consumption …continued Core voltage 3.3 V; Tamb = 25 °C; all measurements in µA; PCLK = CCLK⁄8; all peripherals enabled. Peripheral CCLK = 10 MHz CCLK = 100 MHz active mode sleep mode active mode sleep mode RIT <tbd> <tbd> <tbd> <tbd> UART0 <tbd> <tbd> <tbd> <tbd> UART1 <tbd> <tbd> <tbd> <tbd> UART2 <tbd> <tbd> <tbd> <tbd> UART3 <tbd> <tbd> <tbd> <tbd> PWM1 <tbd> <tbd> <tbd> <tbd> Motor control PWM <tbd> <tbd> <tbd> <tbd> Quadrature encoder <tbd> <tbd> <tbd> <tbd> I2C0-bus <tbd> <tbd> <tbd> <tbd> I2C1-bus <tbd> <tbd> <tbd> <tbd> I2C2-bus <tbd> <tbd> <tbd> <tbd> (LPC1768/66/65 only) <tbd> <tbd> <tbd> <tbd> SPI <tbd> <tbd> <tbd> <tbd> SSP0 <tbd> <tbd> <tbd> <tbd> SSP1 <tbd> <tbd> <tbd> <tbd> CAN1 <tbd> <tbd> <tbd> <tbd> CAN2 <tbd> <tbd> <tbd> <tbd> ADC <tbd> <tbd> <tbd> <tbd> DAC (LPC1768/66/65 only) <tbd> <tbd> <tbd> <tbd> USB <tbd> <tbd> <tbd> <tbd> Ethernet (LPC1768/66/64 only) <tbd> <tbd> <tbd> <tbd> GPDMA controller <tbd> <tbd> <tbd> <tbd> I2S-interface Table 8. Typical RTC power consumption Vi(VBAT) = 3.3 V; Tamb = 25 °C; all measurements in µA; RTC clock = 1 Hz; VDD(REG)(3V3) not present. Power modes IBAT in µA active sleep deep-sleep power-down deep power-down <tbd> <tbd> <tbd> <tbd> <tbd> LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 45 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 10.2 Electrical pin characteristics 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Measured on pins Pn.m; VDD(3V3) = x.x V. Fig 10. Typical LOW-level output IOL current versus LOW-level output VOL 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Measured on pins Pn.m; VDD(3V3) = x.x V. Fig 11. Typical HIGH-level output IOH current versus HIGH-level output voltage VOH LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 46 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Measured on pins Pn.m; VDD(3V3) = x.x V. Fig 12. Typical pull-up current Ipu versus input voltage Vi 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Measured on pins Pn.m; VDD(3V3) = x.x V. Fig 13. Typical pull-down current Ipd versus input voltage Vi LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 47 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11. Dynamic characteristics 11.1 Flash memory Table 9. Flash characteristics Tamb = −40 °C to +85 °C unless otherwise specified. Symbol Parameter Conditions Min Typ Nendu endurance −40 °C to +85 °C 10000 100000 - cycles −25 °C to +85 °C 100000 - - cycles powered; <100 cycles; −40 °C to +85 °C 10 - - years retention time tret Max Unit 11.2 External clock Table 10. Dynamic characteristic: external clock Tamb = −40 °C to +85 °C; VDD(3V3) over specified ranges.[1] Min Typ[2] Max Unit oscillator frequency 1 - 25 MHz Tcy(clk) clock cycle time 42 - 1000 ns tCHCX clock HIGH time Tcy(clk) × 0.4 - - ns tCLCX clock LOW time Tcy(clk) × 0.4 - - ns tCLCH clock rise time - - 5 ns tCHCL clock fall time - - 5 ns Symbol Parameter fosc Conditions [1] Parameters are valid over operating temperature range unless otherwise specified. [2] Typical ratings are not guaranteed. The values listed are at room temperature (25 °C), nominal supply voltages. tCHCL tCHCX tCLCH tCLCX Tcy(clk) 002aaa907 Fig 14. External clock timing (with an amplitude of at least Vi(RMS) = 200 mV) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 48 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.3 Internal oscillators Table 11. Dynamic characteristic: internal oscillators Tamb = −40 °C to +85 °C; VDD(3V3) over specified ranges.[1] Symbol Parameter Conditions Min Typ[2] Max Unit fosc(RC) internal RC oscillator frequency - <tbd> <tbd> <tbd> MHz fi(RTC) RTC input frequency - <tbd> <tbd> <tbd> MHz [1] Parameters are valid over operating temperature range unless otherwise specified. [2] Typical ratings are not guaranteed. The values listed are at room temperature (25 °C), nominal supply voltages. 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: <tbd>. Fig 15. Internal RC oscillator frequency vs. temperature 001aac984 X X (X) X X <tbd> X X X X X X X X X (X) Conditions: <tbd>. Fig 16. Internal RC oscillator frequency vs. core voltage LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 49 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.4 I2C-bus Table 12. Dynamic characteristic: I2C-bus pins Tamb = −40 °C to +85 °C; VDD(3V3) over specified ranges.[1] Symbol I2C-bus Parameter Conditions Min Typ[2] VIH to VIL 20 + 0.1 × Cb[3] Max Unit pins (P0[27] and P0[28]) tf(o) output fall time - - ns tr rise time <tbd> <tbd> <tbd> ns tf fall time <tbd> <tbd> <tbd> ns tBUF bus free time between a STOP and START condition <tbd> <tbd> <tbd> ns tLOW LOW period of the SCL clock <tbd> <tbd> <tbd> ns tHD;STA hold time (repeated) START condition <tbd> <tbd> <tbd> ns tHIGH HIGH period of the SCL clock <tbd> <tbd> <tbd> ns tSU;DAT data set-up time <tbd> <tbd> <tbd> ns tSU;STA set-up time for a repeated START condition <tbd> <tbd> <tbd> ns tSU;STO set-up time for STOP condition <tbd> <tbd> <tbd> ns [1] Parameters are valid over operating temperature range unless otherwise specified. [2] Typical ratings are not guaranteed. The values listed are at room temperature (25 °C), nominal supply voltages. [3] Bus capacitance Cb in pF, from 10 pF to 400 pF. SDA tBUF tLOW tr tf tHD;STA SCL P S tHD;STA P S tHD;STA tHIGH tSU;DAT tSU;STA tSU;STO 002aad985 Fig 17. I2C-bus pins clock timing LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 50 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.5 SSP interface Table 13. Dynamic characteristic: SSP interface Tamb = −40 °C to +85 °C; VDD(3V3) over specified ranges.[1] Symbol Parameter Conditions Min Typ[2] Max Unit SPI_MISO set-up time Tamb = 25 °C; measured in SPI Master mode; see Figure 18 - 11 - ns SSP interface tsu(SPI_MISO) [1] Parameters are valid over operating temperature range unless otherwise specified. [2] Typical ratings are not guaranteed. The values listed are at room temperature (25 °C), nominal supply voltages. shifting edges SCK sampling edges MOSI MISO tsu(SPI_MISO) 002aad326 Fig 18. MISO line set-up time in SSP Master mode LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 51 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.6 USB interface Table 14. Dynamic characteristics: USB pins (full-speed) CL = 50 pF; Rpu = 1.5 kΩ on D+ to VDD(3V3); unless otherwise specified. Symbol Parameter Conditions Min Typ Max Unit tr rise time 10 % to 90 % 8.5 - 13.8 ns tf fall time 10 % to 90 % 7.7 - 13.7 ns tFRFM differential rise and fall time matching tr / tf - - 109 % VCRS output signal crossover voltage 1.3 - 2.0 V tFEOPT source SE0 interval of EOP 160 - 175 ns tFDEOP source jitter for differential transition to SE0 see Figure 19 transition −2 - +5 ns tJR1 receiver jitter to next transition −18.5 - +18.5 ns tJR2 receiver jitter for paired transitions see Figure 19 10 % to 90 % tEOPR1 EOP width at receiver must reject as EOP; see Figure 19 [1] tEOPR2 EOP width at receiver must accept as EOP; see Figure 19 [1] [1] −9 - +9 ns 40 - - ns 82 - - ns Characterized but not implemented as production test. Guaranteed by design. TPERIOD crossover point extended crossover point differential data lines source EOP width: tFEOPT differential data to SE0/EOP skew n × TPERIOD + tFDEOP receiver EOP width: tEOPR1, tEOPR2 002aab561 Fig 19. Differential data-to-EOP transition skew and EOP width LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 52 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.7 SPI Table 15. Dynamic characteristics of SPI pins Tamb = −40 °C to +85 °C. Symbol Parameter Min Typ Max Unit SPI master TSPICYC SPI cycle time <tbd> <tbd> <tbd> ns tSPICLKH SPICLK HIGH time <tbd> <tbd> <tbd> ns tSPICLKL SPICLK LOW time <tbd> <tbd> <tbd> ns tSPIDSU SPI data set-up time <tbd> <tbd> <tbd> ns tSPIDH SPI data hold time <tbd> <tbd> <tbd> ns tSPIQV SPI data output valid time <tbd> <tbd> <tbd> ns tSPIOH SPI output data hold time <tbd> <tbd> <tbd> ns TSPICYC SPI cycle time <tbd> <tbd> <tbd> ns tSPICLKH SPICLK HIGH time <tbd> <tbd> <tbd> ns tSPICLKL SPICLK LOW time <tbd> <tbd> <tbd> ns tSPIDSU SPI data set-up time <tbd> <tbd> <tbd> ns tSPIDH SPI data hold time <tbd> <tbd> <tbd> ns tSPIQV SPI data output valid time <tbd> <tbd> <tbd> ns tSPIOH SPI output data hold time <tbd> <tbd> <tbd> ns SPI slave TSPICYC tSPICLKH tSPICLKL SCK (CPOL = 0) SCK (CPOL = 1) tSPIOH tSPIQV MOSI DATA VALID DATA VALID tSPIDSU MISO DATA VALID tSPIDH DATA VALID 002aad986 Fig 20. SPI master timing (CPHA = 1) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 53 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller TSPICYC tSPICLKH tSPICLKL SCK (CPOL = 0) SCK (CPOL = 1) tSPIOH tSPIQV MOSI DATA VALID DATA VALID tSPIDSU MISO DATA VALID tSPIDH DATA VALID 002aad987 Fig 21. SPI master timing (CPHA = 0) TSPICYC tSPICLKH tSPICLKL tSPIDSU tSPIDH SCK (CPOL = 0) SCK (CPOL = 1) MOSI DATA VALID DATA VALID tSPIOH tSPIQV MISO DATA VALID DATA VALID 002aad988 Fig 22. SPI slave timing (CPHA = 1) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 54 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller TSPICYC tSPICLKH tSPICLKL SCK (CPOL = 0) SCK (CPOL = 1) tSPIDSU MOSI DATA VALID tSPIDH DATA VALID tSPIQV MISO DATA VALID tSPIOH DATA VALID 002aad989 Fig 23. SPI slave timing (CPHA = 0) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 55 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.8 Ethernet (LPC1768/66/64 only) Table 16. Dynamic characteristics: Ethernet MAC pins Symbol Parameter Conditions Min Typ Max Unit Ethernet MAC signals for MIIM Tcy(clk) clock cycle time on pin ENET_MDC <tbd> <tbd> <tbd> ns tv(Q) data output valid time on pin ENET_MDIO; MDIO <tbd> write <tbd> <tbd> ns tQZ data output high-impedance time <tbd> <tbd> <tbd> ns tsu(D) data input set-up time on pin ENET_MDIO; MDIO <tbd> read <tbd> <tbd> ns th(D) data input hold time on pin ENET_MDIO; MDIO <tbd> read <tbd> <tbd> ns on pin ENET_RXD; RMII receive input <tbd> <tbd> <tbd> ns on pin ENET_CRS; RMII carrier sense input <tbd> <tbd> <tbd> ns on pin ENET_RXER; RMII receive error input <tbd> <tbd> <tbd> ns on pin ENET_RXD; RMII receive input <tbd> <tbd> <tbd> ns on pin ENET_CRS; RMII carrier sense input <tbd> <tbd> <tbd> ns on pin ENET_RXER; RMII receive error input <tbd> <tbd> <tbd> ns on pin ENET_TXD; RMII transmit output <tbd> <tbd> <tbd> ns on pin ENET_TXEN; RMII transmit enable <tbd> <tbd> <tbd> ns on pin ENET_TXD; RMII transmit output <tbd> <tbd> <tbd> ns on pin ENET_TXEN; RMII transmit enable <tbd> <tbd> <tbd> ns Ethernet MAC signals for RMII tsu(D) th(D) td(QV) th(Q) data input set-up time data input hold time data output valid delay time data output hold time LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 56 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Tcy(clk) ENET_MDC tv(Q) ENET_MDIO(O) tQZ tsu(D) th(D) ENET_MDIO(I) 002aad990 Fig 24. Ethernet MAC MIIM timing ENET_REF_CLK td(QV) th(Q) ENET_TX_EN ENET_TXD[1:0] tsu(D) th(D) ENET_CRS ENET_RXD[1:0] ENET_RX_ER 002aad991 Fig 25. Ethernet RMII timing LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 57 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 11.9 I2S-bus interface (LPC1768/66/65 only) Table 17. Dynamic characteristics: I2S-bus interface pins Tamb = −40 °C to +85 °C. Symbol Parameter Conditions Min Typ Max Unit Common to input and output Tcy(clk) clock cycle time <tbd> <tbd> <tbd> <tbd> tf fall time <tbd> <tbd> <tbd> <tbd> tr rise time <tbd> <tbd> <tbd> <tbd> tWH pulse width HIGH <tbd> <tbd> <tbd> <tbd> tWL pulse width LOW <tbd> <tbd> <tbd> <tbd> tv(Q) data output valid time on pin I2STX_SDA <tbd> <tbd> <tbd> <tbd> on pin I2STX_WS <tbd> <tbd> <tbd> <tbd> on pin I2SRX_SDA <tbd> <tbd> <tbd> <tbd> on pin I2SRX_WS <tbd> <tbd> <tbd> <tbd> on pin I2SRX_SDA <tbd> <tbd> <tbd> <tbd> on pin I2SRX_WS <tbd> <tbd> <tbd> <tbd> Output Input tsu(D) th(D) data input set-up time data output hold time Tcy(clk) tf tr I2STX_CLK tWH tWL I2STX_SDA tv(Q) I2STX_WS tv(Q) 002aad992 Fig 26. I2S-bus timing (output) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 58 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller Tcy(clk) tf tr I2SRX_CLK tWH tWL I2SRX_SDA tsu(D) th(D) I2SRX_WS tsu(D) tsu(D) 002aae159 Fig 27. I2S-bus timing (input) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 59 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 12. ADC electrical characteristics Table 18. ADC characteristics VDDA = 2.7 V to 3.6 V; Tamb = −40 °C to +85 °C; unless otherwise specified; ADC frequency <tbd>. Symbol Parameter VIA analog input voltage Cia analog input capacitance ED differential linearity error EL(adj) Conditions Min Typ Max Unit 0 - VDDA V - - <tbd> pF [1][2][3] - 2 <tbd> LSB integral non-linearity [1][4] - 1 <tbd> LSB offset error [1][5] - - <tbd> LSB EG gain error [1][6] - - <tbd> % ET absolute error [1][7] - - <tbd> LSB [8] - - <tbd> kΩ EO Rvsi voltage source interface resistance SRin input slew rate <tbd> <tbd> <tbd> V/ms Tcy(ADC) ADC clock cycle time <tbd> <tbd> <tbd> ns tADC ADC conversion time <tbd> <tbd> <tbd> ns [1] Conditions: VSSA = 0 V, VDDA = 3.3 V. [2] The ADC is monotonic, there are no missing codes. [3] The differential linearity error (ED) is the difference between the actual step width and the ideal step width. See Figure 28. [4] The integral non-linearity (EL(adj)) is the peak difference between the center of the steps of the actual and the ideal transfer curve after appropriate adjustment of gain and offset errors. See Figure 28. [5] The offset error (EO) is the absolute difference between the straight line which fits the actual curve and the straight line which fits the ideal curve. See Figure 28. [6] The gain error (EG) is the relative difference in percent between the straight line fitting the actual transfer curve after removing offset error, and the straight line which fits the ideal transfer curve. See Figure 28. [7] The absolute error (ET) is the maximum difference between the center of the steps of the actual transfer curve of the non-calibrated ADC and the ideal transfer curve. See Figure 28. [8] See Figure 29. LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 60 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller offset error EO gain error EG 4095 4094 4093 4092 4091 4090 (2) 7 code out (1) 6 5 (5) 4 (4) 3 (3) 2 1 LSB (ideal) 1 0 1 2 3 4 5 6 7 4090 4091 4092 4093 4094 4095 4096 VIA (LSBideal) offset error EO 1 LSB = VDDA − VSSA 4096 002aad948 (1) Example of an actual transfer curve. (2) The ideal transfer curve. (3) Differential linearity error (ED). (4) Integral non-linearity (EL(adj)). (5) Center of a step of the actual transfer curve. Fig 28. 12-bit ADC characteristics LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 61 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller LPC17XX x kΩ AD0[y] AD0[y]SAMPLE x pF Rvsi x pF VEXT VSS 002aad949 Fig 29. Suggested ADC interface - LPC1768/66/65/64 AD0[y] pin LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 62 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 13. DAC electrical characteristics (LPC1768/66/65 only) Table 19. DAC electrical characteristics VDDA = 2.7 V to 3.6 V; Tamb = −40 °C to +85 °C; unless otherwise specified; DAC frequency <tbd> MHz. Symbol Parameter Conditions Min Typ Max Unit PSRR power supply rejection ratio ∆VDDA = 100 mV <tbd> <tbd> <tbd> dB VO output voltage count = maximum VDDA − k - - V count = minimum - - VSSA + k V ED differential linearity error - - ±1 LSB EL(adj) integral non-linearity - - ±2 LSB EO offset error - - ±3 LSB EG gain error - - ±0.5 % ET absolute error - - ±4 LSB CL load capacitance - - 100 pF RO output resistance 1 - 4 Ω ton turn-on time <tbd> <tbd> <tbd> ns ts settling time <tbd> <tbd> <tbd> ns <tbd> <tbd> <tbd> ns SR slew rate <tbd> <tbd> <tbd> V/ms glitch energy, full scale <tbd> <tbd> <tbd> nV.s 3 dB bandwidth <tbd> <tbd> <tbd> kHz full scale small change B3dB LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 63 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 14. Application information 14.1 Suggested USB interface solutions VDD(3V3) USB_UP_LED USB_CONNECT LPC17xx SoftConnect switch R1 1.5 kΩ VBUS USB_D+ RS = 33 Ω USB_D− USB-B connector RS = 33 Ω VSS 002aad939 Fig 30. LPC1768/66/65/64 USB interface on a self-powered device VDD(3V3) R2 LPC17xx USB_UP_LED R1 1.5 kΩ VBUS USB_D+ RS = 33 Ω USB-B connector USB_D− RS = 33 Ω VSS 002aad940 Fig 31. LPC1768/66/65/64 USB interface on a bus-powered device LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 64 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller VDD R1 R2 R3 RSTOUT R4 RESET_N VBUS ADR/PSW ID OE_N/INT_N VDD SPEED SUSPEND LPC17xx R4 R5 DP 33 Ω DM 33 Ω Mini-AB connector ISP1302 R6 VSS SCL USB_SCL SDA USB_SDA INT_N EINTn USB_D+ USB_D− 002aad941 Fig 32. LPC1768/66/65 USB OTG port configuration VDD USB_UP_LED VSS USB_D+ 33 Ω D+ USB_D− 33 Ω D− LPC17xx 15 kΩ USB-A connector 15 kΩ VDD VBUS USB_PWRD USB_OVRCR USB_PPWR FLAGA ENA 5V IN LM3526-L OUTA 002aad942 Fig 33. LPC1768/66/65 USB host port configuration LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 65 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller VDD USB_UP_LED VDD USB_CONNECT LPC17xx VSS USB_D+ 33 Ω D+ USB_D− 33 Ω D− VBUS USB-B connector VBUS 002aad943 Fig 34. LPC1768/66/65/64 USB device port configuration LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 66 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 15. Package outline LQFP100: plastic low profile quad flat package; 100 leads; body 14 x 14 x 1.4 mm SOT407-1 c y X A 51 75 50 76 ZE e E HE A A2 (A 3) A1 w M θ bp Lp pin 1 index L 100 detail X 26 1 25 ZD e v M A w M bp D B HD v M B 0 5 10 mm scale DIMENSIONS (mm are the original dimensions) UNIT A max. A1 A2 A3 bp c D (1) E (1) e mm 1.6 0.15 0.05 1.45 1.35 0.25 0.27 0.17 0.20 0.09 14.1 13.9 14.1 13.9 0.5 HD HE 16.25 16.25 15.75 15.75 L Lp v w y 1 0.75 0.45 0.2 0.08 0.08 Z D (1) Z E (1) 1.15 0.85 1.15 0.85 θ 7o o 0 Note 1. Plastic or metal protrusions of 0.25 mm maximum per side are not included. REFERENCES OUTLINE VERSION IEC JEDEC SOT407-1 136E20 MS-026 JEITA EUROPEAN PROJECTION ISSUE DATE 00-02-01 03-02-20 Fig 35. Package outline SOT407-1 (LQFP100) LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 67 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 16. Abbreviations Table 20. Abbreviations Acronym Description ADC Analog-to-Digital Converter AHB Advanced High-performance Bus AMBA Advanced Microcontroller Bus Architecture APB Advanced Peripheral Bus BOD BrownOut Detection CAN Controller Area Network DAC Digital-to-Analog Converter DCC Debug Communication Channel DMA Direct Memory Access DSP Digital Signal Processing EOP End Of Packet ETM Embedded Trace Macrocell GPIO General Purpose Input/Output IRC Internal RC IrDA Infrared Data Association JTAG Joint Test Action Group MAC Media Access Control MIIM Media Independent Interface Management OHCI Open Host Controller Interface OTG On-The-Go PHY Physical Layer PLL Phase-Locked Loop PWM Pulse Width Modulator RIT Repetitive Interrupt Timer RMII Reduced Media Independent Interface SE0 Single Ended Zero SPI Serial Peripheral Interface SSI Serial Synchronous Interface SSP Synchronous Serial Port TCM Tightly Coupled Memory TTL Transistor-Transistor Logic UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 68 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 17. Revision history Table 21. Revision history Document ID Release date Data sheet status Change notice Supersedes LPC1768_66_65_64_2 20090211 Objective data sheet - LPC1768_66_65_64_1 Modifications: LPC1768_66_65_64_1 • • • Data sheet descriptive title: added ‘up to 512 kB flash’ Figure 3 “LPC1768/66/65/64 memory map” on page 16: updated Table 9 “Flash characteristics” on page 48: replaced 20090115 Objective data sheet - LPC1768_66_65_64_2 Objective data sheet - © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 69 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 18. Legal information 19. Data sheet status Document status[1][2] Product status[3] Definition Objective [short] data sheet Development This document contains data from the objective specification for product development. Preliminary [short] data sheet Qualification This document contains data from the preliminary specification. Product [short] data sheet Production This document contains the product specification. [1] Please consult the most recently issued document before initiating or completing a design. [2] The term ‘short data sheet’ is explained in section “Definitions”. [3] The product status of device(s) described in this document may have changed since this document was published and may differ in case of multiple devices. The latest product status information is available on the Internet at URL http://www.nxp.com. 19.1 Definitions Draft — The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information. Short data sheet — A short data sheet is an extract from a full data sheet with the same product type number(s) and title. A short data sheet is intended for quick reference only and should not be relied upon to contain detailed and full information. For detailed and full information see the relevant full data sheet, which is available on request via the local NXP Semiconductors sales office. In case of any inconsistency or conflict with the short data sheet, the full data sheet shall prevail. 19.2 Disclaimers General — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in medical, military, aircraft, space or life support equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors accepts no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer’s own risk. Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Limiting values — Stress above one or more limiting values (as defined in the Absolute Maximum Ratings System of IEC 60134) may cause permanent damage to the device. Limiting values are stress ratings only and operation of the device at these or any other conditions above those given in the Characteristics sections of this document is not implied. Exposure to limiting values for extended periods may affect device reliability. Terms and conditions of sale — NXP Semiconductors products are sold subject to the general terms and conditions of commercial sale, as published at http://www.nxp.com/profile/terms, including those pertaining to warranty, intellectual property rights infringement and limitation of liability, unless explicitly otherwise agreed to in writing by NXP Semiconductors. In case of any inconsistency or conflict between information in this document and such terms and conditions, the latter will prevail. No offer to sell or license — Nothing in this document may be interpreted or construed as an offer to sell products that is open for acceptance or the grant, conveyance or implication of any license under any copyrights, patents or other industrial or intellectual property rights. 19.3 Trademarks Notice: All referenced brands, product names, service names and trademarks are the property of their respective owners. I2C-bus — logo is a trademark of NXP B.V. 20. Contact information For more information, please visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 70 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 21. Contents 1 General description . . . . . . . . . . . . . . . . . . . . . . 1 2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 Ordering information . . . . . . . . . . . . . . . . . . . . . 4 4.1 Ordering options . . . . . . . . . . . . . . . . . . . . . . . . 4 5 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 Pinning information . . . . . . . . . . . . . . . . . . . . . . 6 6.1 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 Functional description . . . . . . . . . . . . . . . . . . 14 7.1 Architectural overview. . . . . . . . . . . . . . . . . . . 14 7.2 ARM Cortex-M3 processor . . . . . . . . . . . . . . . 14 7.3 On-chip flash program memory . . . . . . . . . . . 15 7.4 On-chip SRAM . . . . . . . . . . . . . . . . . . . . . . . . 15 7.5 Memory Protection Unit (MPU). . . . . . . . . . . . 15 7.6 Memory map. . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.7 Nested Vectored Interrupt Controller (NVIC) . 17 7.7.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.7.2 Interrupt sources. . . . . . . . . . . . . . . . . . . . . . . 17 7.8 Pin connect block . . . . . . . . . . . . . . . . . . . . . . 17 7.9 General purpose DMA controller . . . . . . . . . . 17 7.9.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.10 Fast general purpose parallel I/O . . . . . . . . . . 18 7.10.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.11 Ethernet (LPC1768/66/64 only) . . . . . . . . . . . 19 7.11.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.12 USB interface . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.12.1 USB device controller . . . . . . . . . . . . . . . . . . . 20 7.12.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.12.2 USB host controller (LPC1768/66/65 only). . . 21 7.12.2.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 7.12.3 USB OTG controller (LPC1768/66/65 only) . . 21 7.12.3.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 7.13 CAN controller and acceptance filters . . . . . . 21 7.13.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.14 12-bit ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.14.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.15 10-bit DAC (LPC1768/66/65 only) . . . . . . . . . 22 7.15.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.16 UARTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.16.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.17 SPI serial I/O controller. . . . . . . . . . . . . . . . . . 23 7.17.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.18 SSP serial I/O controller . . . . . . . . . . . . . . . . . 23 7.18.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.19 I2C-bus serial I/O controllers. . . . . . . . . . . . . . 24 7.19.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 I2S-bus serial I/O controllers . . . . . . . . . . . . . Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General purpose 32-bit timers/external event counters . . . . . . . . . . . . . . . . . . . . . . . . 7.21.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.22 Pulse width modulator . . . . . . . . . . . . . . . . . . 7.22.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.23 Motor control PWM . . . . . . . . . . . . . . . . . . . . 7.24 Quadrature Encoder Interface (QEI) . . . . . . . 7.24.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.25 Repetitive Interrupt (RI) timer . . . . . . . . . . . . . 7.25.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.26 System tick timer . . . . . . . . . . . . . . . . . . . . . . 7.27 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . 7.27.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.28 RTC and backup registers . . . . . . . . . . . . . . . 7.28.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.29 Clocking and power control . . . . . . . . . . . . . . 7.29.1 Crystal oscillators . . . . . . . . . . . . . . . . . . . . . . 7.29.1.1 Internal RC oscillator . . . . . . . . . . . . . . . . . . . 7.29.1.2 Main oscillator . . . . . . . . . . . . . . . . . . . . . . . . 7.29.1.3 RTC oscillator. . . . . . . . . . . . . . . . . . . . . . . . . 7.29.2 Main PLL (PLL0) . . . . . . . . . . . . . . . . . . . . . . 7.29.3 USB PLL (PLL1). . . . . . . . . . . . . . . . . . . . . . . 7.29.4 RTC clock output . . . . . . . . . . . . . . . . . . . . . . 7.29.5 Wake-up timer . . . . . . . . . . . . . . . . . . . . . . . . 7.29.6 Power control . . . . . . . . . . . . . . . . . . . . . . . . . 7.29.6.1 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . 7.29.6.2 Deep-sleep mode. . . . . . . . . . . . . . . . . . . . . . 7.29.6.3 Power-down mode . . . . . . . . . . . . . . . . . . . . . 7.29.6.4 Deep power-down mode . . . . . . . . . . . . . . . . 7.29.6.5 Wakeup interrupt controller . . . . . . . . . . . . . . 7.29.7 Peripheral power control . . . . . . . . . . . . . . . . 7.29.8 Power domains. . . . . . . . . . . . . . . . . . . . . . . . 7.30 System control . . . . . . . . . . . . . . . . . . . . . . . . 7.30.1 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.30.2 Brownout detection . . . . . . . . . . . . . . . . . . . . 7.30.3 Code security (Code Read Protection - CRP) 7.30.4 APB interface . . . . . . . . . . . . . . . . . . . . . . . . . 7.30.5 AHB multilayer matrix. . . . . . . . . . . . . . . . . . . 7.30.6 External interrupt inputs . . . . . . . . . . . . . . . . . 7.30.7 Memory mapping control . . . . . . . . . . . . . . . . 7.31 Emulation and debugging. . . . . . . . . . . . . . . . 8 Limiting values . . . . . . . . . . . . . . . . . . . . . . . . 9 Thermal characteristics . . . . . . . . . . . . . . . . . 9.1 Thermal characteristics . . . . . . . . . . . . . . . . . 10 Static characteristics . . . . . . . . . . . . . . . . . . . 7.20 7.20.1 7.21 24 25 25 25 26 26 27 27 27 28 28 28 28 28 29 29 29 29 30 30 30 31 31 31 31 32 32 32 33 33 33 33 34 35 35 36 36 36 37 37 37 37 37 38 38 40 continued >> LPC1768_66_65_64_2 Objective data sheet © NXP B.V. 2009. All rights reserved. Rev. 02 — 11 February 2009 71 of 72 LPC1768/66/65/64 NXP Semiconductors 32-bit ARM Cortex-M3 microcontroller 10.1 10.2 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 13 14 14.1 15 16 17 18 19 19.1 19.2 19.3 20 21 Power consumption . . . . . . . . . . . . . . . . . . . . Electrical pin characteristics . . . . . . . . . . . . . . Dynamic characteristics . . . . . . . . . . . . . . . . . Flash memory. . . . . . . . . . . . . . . . . . . . . . . . . External clock . . . . . . . . . . . . . . . . . . . . . . . . . Internal oscillators. . . . . . . . . . . . . . . . . . . . . . I2C-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SSP interface . . . . . . . . . . . . . . . . . . . . . . . . . USB interface . . . . . . . . . . . . . . . . . . . . . . . . . SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet (LPC1768/66/64 only) . . . . . . . . . . . I2S-bus interface (LPC1768/66/65 only) . . . . . ADC electrical characteristics . . . . . . . . . . . . DAC electrical characteristics (LPC1768/66/65 only) . . . . . . . . . . . . . . . . . . . . Application information. . . . . . . . . . . . . . . . . . Suggested USB interface solutions . . . . . . . . Package outline . . . . . . . . . . . . . . . . . . . . . . . . Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . Revision history . . . . . . . . . . . . . . . . . . . . . . . . Legal information. . . . . . . . . . . . . . . . . . . . . . . Data sheet status . . . . . . . . . . . . . . . . . . . . . . Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . . Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . Contact information. . . . . . . . . . . . . . . . . . . . . Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 46 48 48 48 49 50 51 52 53 56 58 60 63 64 64 67 68 69 70 70 70 70 70 70 71 Please be aware that important notices concerning this document and the product(s) described herein, have been included in section ‘Legal information’. © NXP B.V. 2009. All rights reserved. For more information, please visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] Date of release: 11 February 2009 Document identifier: LPC1768_66_65_64_2