LPC2388 Single-chip 16-bit/32-bit micro; 512 kB flash with ISP/IAP, Ethernet, USB 2.0 device/host/OTG, CAN, and 10-bit ADC/DAC Rev. 3 — 15 October 2013 Product data sheet 1. General description The LPC2388 microcontroller is based on a 16-bit/32-bit ARM7TDMI-S CPU with real-time emulation that combines the microcontroller with 512 kB of embedded high-speed flash memory. A 128-bit wide memory interface and a unique accelerator architecture enable 32-bit code execution at the maximum clock rate. For critical performance in interrupt service routines and DSP algorithms, this increases performance up to 30 % over Thumb mode. For critical code size applications, the alternative 16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty. The LPC2388 is ideal for multi-purpose serial communication applications. It incorporates a 10/100 Ethernet Media Access Controller (MAC), USB device/host/OTG with 4 kB of endpoint RAM, four UARTs, two CAN channels, an SPI interface, two Synchronous Serial Ports (SSP), three I2C-bus interfaces, an I2S-bus interface, and an External Memory Controller (EMC). This blend of serial communications interfaces combined with an on-chip 4 MHz internal oscillator, SRAM of 64 kB, 16 kB SRAM for Ethernet, 16 kB SRAM for USB and general purpose use, together with 2 kB battery powered SRAM make this device very well suited for communication gateways and protocol converters. Various 32-bit timers, an improved 10-bit ADC, 10-bit DAC, PWM unit, a CAN control unit, and up to 104 fast GPIO lines with up to 50 edge and up to four level sensitive external interrupt pins make these microcontrollers particularly suitable for industrial control and medical systems. 2. Features and benefits ARM7TDMI-S processor, running at up to 72 MHz. Up to 512 kB on-chip flash program memory with In-System Programming (ISP) and In-Application Programming (IAP) capabilities. Flash program memory is on the ARM local bus for high performance CPU access. 64 kB of SRAM on the ARM local bus for high performance CPU access. 16 kB SRAM for Ethernet interface. Can also be used as general purpose SRAM. 16 kB SRAM for general purpose DMA use also accessible by the USB. Dual Advanced High-performance Bus (AHB) system that provides for simultaneous Ethernet DMA, USB DMA, and program execution from on-chip flash with no contention between those functions. A bus bridge allows the Ethernet DMA to access the other AHB subsystem. EMC provides support for static devices such as flash and SRAM as well as off-chip memory mapped peripherals. Advanced Vectored Interrupt Controller (VIC), supporting up to 32 vectored interrupts. LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller General Purpose DMA controller (GPDMA) on AHB that can be used with the SSP serial interfaces, the I2S-bus port, and the Secure Digital/MultiMediaCard (SD/MMC) card port, as well as for memory-to-memory transfers. Serial Interfaces: Ethernet MAC with associated DMA controller. These functions reside on an independent AHB. USB 2.0 device/host/OTG with on-chip PHY and associated DMA controller. Four UARTs with fractional baud rate generation, one with modem control I/O, one with IrDA support, all with FIFO. CAN controller with two channels. SPI controller. Two SSP controllers, with FIFO and multi-protocol capabilities. One is an alternate for the SPI port, sharing its interrupt and pins. These can be used with the GPDMA controller. Three I2C-bus interfaces (one with open-drain and two with standard port pins). I2S (Inter-IC Sound) interface for digital audio input or output. It can be used with the GPDMA. Other peripherals: SD/MMC memory card interface. 104 General purpose I/O pins with configurable pull-up/down resistors. 10-bit ADC with input multiplexing among 8 pins. 10-bit DAC. Four general purpose timers/counters with 8 capture inputs and 10 compare outputs. Each timer block has an external count input. One PWM/timer block with support for three-phase motor control. The PWM has two external count inputs. Real-Time Clock (RTC) with separate power pin, clock source can be the RTC oscillator or the APB clock. 2 kB SRAM powered from the RTC power pin, allowing data to be stored when the rest of the chip is powered off. WatchDog Timer (WDT). The WDT can be clocked from the internal RC oscillator, the RTC oscillator, or the APB clock. Standard ARM test/debug interface for compatibility with existing tools. Emulation trace module supports real-time trace. Single 3.3 V power supply (3.0 V to 3.6 V). Four reduced power modes: Idle, Sleep, Power-down and Deep power-down. Four external interrupt inputs configurable as edge/level sensitive. All pins on Port 0 and Port 2 can be used as edge sensitive interrupt sources. Processor wake-up from Power-down mode via any interrupt able to operate during Power-down mode (includes external interrupts, RTC interrupt, USB activity, Ethernet wake-up interrupt). Two independent power domains allow fine tuning of power consumption based on needed features. Each peripheral has its own clock divider for further power saving. Brownout detect with separate thresholds for interrupt and forced reset. On-chip power-on reset. On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 2 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 4 MHz internal RC oscillator trimmed to 1 % accuracy that can optionally be used as the system clock. When used as the CPU clock, does not allow CAN and USB to run. On-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator. Boundary scan for simplified board testing. Versatile pin function selections allow more possibilities for using on-chip peripheral functions. 3. Applications Industrial control Medical systems Protocol converter Communications 4. Ordering information Table 1. Ordering information Type number LPC2388FBD144 Package Name Description Version LQFP144 plastic low profile quad flat package; 144 leads; body 20 20 1.4 mm SOT486-1 4.1 Ordering options Ordering options LPC2388 Product data sheet 98 MiniBus: 8 data, 16 RMII address, and 2 chip select lines USB device host OTG+ 4 kB FIFO yes All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 SD/ GP MMC DMA CAN channels Total Ether net 2 yes yes Temp range DAC channels 64 16 16 2 External bus ADC channels LPC2388FBD144 512 RTC SRAM (kB) GP/USB Flash (kB) Local bus Type number Ethernet buffer Table 2. 8 1 40 C to +85 C © NXP B.V. 2013. All rights reserved. 3 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 5. Block diagram TMS TDI XTAL1 XTAL2 VDDA trace signals TRST TCK TDO EXTIN0 RESET 64 kB SRAM HIGH-SPEED GPI/O 104 PINS TOTAL 512 kB FLASH INTERNAL CONTROLLERS EINT3 to EINT0 P0, P2 2 × CAP0/CAP1/ CAP2/CAP3 4 × MAT2, 2 × MAT0/MAT1/ MAT3 6 × PWM1 ARM7TDMI-S SRAM FLASH AHB2 RMII(8) TEST/DEBUG INTERFACE ETHERNET MAC WITH DMA EMULATION TRACE MODULE LPC2388 P0, P1, P2, P3, P4 PLL SYSTEM FUNCTIONS system clock INTERNAL RC OSCILLATOR VECTORED INTERRUPT CONTROLLER AHB BRIDGE EXTERNAL MEMORY CONTROLLER 16 kB SRAM AHB TO APB BRIDGE USB WITH 4 kB RAM AND DMA 8 × AD0 I2S INTERFACE PWM1 SPI, SSP0 INTERFACE LEGACY GPI/O 56 PINS TOTAL SSP1 INTERFACE AOUT A/D CONVERTER SCK, SCK0 MOSI, MOSI0 MISO, MISO0 SSEL, SSEL0 SCK1 MOSI1 MISO1 SSEL1 MCICMD, MCIDAT[3:0] D/A CONVERTER TXD0, TXD2, TXD3 RXD0, RXD2, RXD3 2 kB BATTERY RAM TXD1 RXD1 DTR1, RTS1 power domain domain 22 power RTCX1 RTCX2 VBUS USB port 1 USB port 2 MCICLK, MCIPWR SD/MMC CARD INTERFACE UART0, UART2, UART3 VBAT OE, CS0, CS1, BLS0 I2SRX_CLK I2STX_CLK I2SRX_WS I2STX_WS I2SRX_SDA I2STX_SDA 2 × PCAP1 P0, P1 D[7:0] A[15:0] GP DMA CONTROLLER EXTERNAL INTERRUPTS CAPTURE/COMPARE TIMER0/TIMER1/ TIMER2/TIMER3 VREF VSSA, VSS VDD(DCDC)(3V3) AHB1 AHB BRIDGE MASTER AHB TO SLAVE PORT AHB BRIDGE PORT 16 kB SRAM VDD(3V3) RTC OSCILLATOR REALTIME CLOCK UART1 DSR1, CTS1, DCD1, RI1 ALARM WATCHDOG TIMER CAN1, CAN2 SYSTEM CONTROL I2C0, I2C1, I2C2 RD1, RD2 TD1, TD2 SCL0, SCL1, SCL2 SDA0, SDA1, SDA2 002aad332 Fig 1. LPC2388 block diagram LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 4 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 6. Pinning information 109 144 6.1 Pinning 1 108 LPC2388FBD144 Fig 2. 72 73 37 36 002aad333 LPC2388 pinning 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 P0[2]/TXD0 66[1] 67[1] 141[1] P0[3]/RXD0 142[1] P0[4]/ I2SRX_CLK/ RD2/CAP2[0] 116[1] LPC2388 Product data sheet 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. 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 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 open-drain pin). I/O P0[2] — General purpose digital input/output pin. O TXD0 — Transmitter output for UART0. I/O P0[3] — General purpose digital input/output pin. I RXD0 — Receiver input for UART0. 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. I RD2 — CAN2 receiver input. I CAP2[0] — Capture input for Timer 2, channel 0. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 5 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[5]/ I2SRX_WS/ TD2/CAP2[1] 115[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. 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. 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. 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. I/O MISO1 — Master In Slave Out for SSP1. 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. 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[12] — General purpose digital input/output pin. O USB_PPWR2 — Port power enable signal for USB port 2. I/O MISO1 — Master In Slave Out for SSP1. I AD0[6] — A/D converter 0, input 6. 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[12]/ USB_PPWR2/ MISO1/AD0[6] LPC2388 Product data sheet 113[1] 112[1] 111[1] 109[1] 69[1] 70[1] 29[2] All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 6 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[13]/ USB_UP_LED2/ MOSI1/AD0[7] 32[2] I/O P0[13] — General purpose digital input/output pin. O USB_UP_LED2 — USB port 2 GoodLink LED indicator. It is LOW when device is configured (non-control endpoints enabled), or when host is enabled and has detected a device on the bus. It is HIGH when the device is not configured, or when host is enabled and has not detected a device on the bus, or during global suspend. It transitions between LOW and HIGH (flashes) when host is enabled and detects activity on the bus. I/O MOSI1 — Master Out Slave In for SSP1. I AD0[7] — A/D converter 0, input 7. I/O P0[14] — General purpose digital input/output pin. O USB_HSTEN2 — Host Enabled status for USB port 2. O USB_CONNECT2 — SoftConnect control for USB port 2. Signal used to switch an external 1.5 k resistor under software control. Used with the SoftConnect USB feature. I/O SSEL1 — Slave Select for SSP1. 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. 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. O MCICLK — Clock output line for SD/MMC interface. I/O SDA1 — I2C1 data input/output (this is not an open-drain pin). I/O P0[20] — General purpose digital input/output pin. O DTR1 — Data Terminal Ready output for UART1. I MCICMD — Command line for SD/MMC interface. I/O SCL1 — I2C1 clock input/output (this is not an open-drain pin). I/O P0[21] — General purpose digital input/output pin. I RI1 — Ring Indicator input for UART1. O MCIPWR — Power Supply Enable for external SD/MMC power supply. I RD1 — CAN1 receiver input. P0[14]/ USB_HSTEN2/ USB_CONNECT2/ SSEL1 48[1] P0[15]/TXD1/ SCK0/SCK 89[1] P0[16]/RXD1/ SSEL0/SSEL P0[17]/CTS1/ MISO0/MISO P0[18]/DCD1/ MOSI0/MOSI P0[19]/DSR1/ MCICLK/SDA1 P0[20]/DTR1/ MCICMD/SCL1 P0[21]/RI1/ MCIPWR/RD1 LPC2388 Product data sheet 90[1] 87[1] 86[1] 85[1] 83[1] 82[1] All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 7 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P0[22]/RTS1/ MCIDAT0/TD1 80[1] I/O P0[22] — General purpose digital input/output pin. O RTS1 — Request to Send output for UART1. O MCIDAT0 — Data line for SD/MMC interface. 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. 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. 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. O TXD3 — Transmitter output for UART3. I/O P0[26] — General purpose digital input/output pin. I AD0[3] — A/D converter 0, input 3. O AOUT — D/A converter output. I RXD3 — Receiver input for UART3. I/O P0[27] — General purpose digital input/output pin. The output is open-drain. I/O SDA0 — I2C0 data input/output. Open-drain output (for I2C-bus compliance). I/O P0[28] — General purpose digital input/output pin. The output is open-drain. I/O SCL0 — I2C0 clock input/output. Open-drain output (for I2C-bus compliance). I/O P0[29] — General purpose digital input/output pin. I/O USB_D+1 — USB port 1 bidirectional D+ line. I/O P0[30] — General purpose digital input/output pin. I/O USB_D1 — USB port 1 bidirectional D line. I/O P0[31] — General purpose digital input/output pin. I/O USB_D+2 — USB port 2 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. I/O P1[1] — General purpose digital input/output pin. O ENET_TXD1 — Ethernet transmit data 1. I/O P1[4] — General purpose digital input/output pin. O ENET_TX_EN — Ethernet transmit data enable. P0[23]/AD0[0]/ I2SRX_CLK/ CAP3[0] 13[2] P0[24]/AD0[1]/ I2SRX_WS/ CAP3[1] 11[3] P0[25]/AD0[2]/ I2SRX_SDA/ TXD3 10[2] P0[26]/AD0[3]/ AOUT/RXD3 8[2] P0[27]/SDA0 P0[28]/SCL0 P0[29]/USB_D+1 35[4] 34[4] 42[5] P0[30]/USB_D1 43[5] P0[31]/USB_D+2 36[5] P1[0] to P1[31] P1[0]/ ENET_TXD0 136[1] P1[1]/ ENET_TXD1 135[1] P1[4]/ ENET_TX_EN 133[1] LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 8 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P1[8]/ ENET_CRS 132[1] I/O P1[8] — General purpose digital input/output pin. I ENET_CRS — Ethernet carrier sense. P1[9]/ ENET_RXD0 131[1] I/O P1[9] — General purpose digital input/output pin. I ENET_RXD0 — Ethernet receive data. P1[10]/ ENET_RXD1 129[1] I/O P1[10] — General purpose digital input/output pin. I ENET_RXD1 — Ethernet receive data. P1[14]/ ENET_RX_ER 128[1] I/O P1[14] — General purpose digital input/output pin. I ENET_RX_ER — Ethernet receive error. P1[15]/ ENET_REF_CLK 126[1] I/O P1[15] — General purpose digital input/output pin. I ENET_REF_CLK/ENET_RX_CLK — Ethernet receiver clock. P1[16]/ ENET_MDC 125[1] I/O P1[16] — General purpose digital input/output pin. O ENET_MDC — Ethernet MIIM clock. P1[17]/ ENET_MDIO 123[1] I/O P1[17] — General purpose digital input/output pin. I/O ENET_MDIO — Ethernet MI data input and output. P1[18]/ USB_UP_LED1/ PWM1[1]/ CAP1[0] 46[1] I/O P1[18] — General purpose digital input/output pin. O USB_UP_LED1 — USB port 1 GoodLink LED indicator. It is LOW when device is configured (non-control endpoints enabled), or when host is enabled and has detected a device on the bus. It is HIGH when the device is not configured, or when host is enabled and has not detected a device on the bus, or during global suspend. It transitions between LOW and HIGH (flashes) when host is enabled and detects activity on the bus. 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 USB_TX_E1 — Transmit Enable signal for USB port 1 (OTG transceiver). O USB_PPWR1 — Port Power enable signal for USB port 1. I CAP1[1] — Capture input for Timer 1, channel 1. I/O P1[20] — General purpose digital input/output pin. O USB_TX_DP1 — D+ transmit data for USB port 1 (OTG transceiver). O PWM1[2] — Pulse Width Modulator 1, channel 2 output. I/O SCK0 — Serial clock for SSP0. I/O P1[21] — General purpose digital input/output pin. O USB_TX_DM1 — D transmit data for USB port 1 (OTG transceiver). 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. I USB_RCV1 — Differential receive data for USB port 1 (OTG transceiver). I USB_PWRD1 — Power Status for USB port 1 (host power switch). O MAT1[0] — Match output for Timer 1, channel 0. P1[19]/ USB_TX_E1/ USB_PPWR1/ CAP1[1] 47[1] P1[20]/ USB_TX_DP1/ PWM1[2]/SCK0 49[1] P1[21]/ USB_TX_DM1/ PWM1[3]/SSEL0 50[1] P1[22]/ USB_RCV1/ USB_PWRD1/ MAT1[0] 51[1] LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 9 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P1[23]/ USB_RX_DP1/ PWM1[4]/MISO0 53[1] I/O P1[23] — General purpose digital input/output pin. I USB_RX_DP1 — D+ receive data for USB port 1 (OTG transceiver). O PWM1[4] — Pulse Width Modulator 1, channel 4 output. I/O MISO0 — Master In Slave Out for SSP0. P1[24]/ USB_RX_DM1/ PWM1[5]/MOSI0 54[1] I/O P1[24] — General purpose digital input/output pin. I USB_RX_DM1 — D receive data for USB port 1 (OTG transceiver). O PWM1[5] — Pulse Width Modulator 1, channel 5 output. P1[25]/ USB_LS1/ USB_HSTEN1/ MAT1[1] 56[1] P1[26]/ USB_SSPND1/ PWM1[6]/ CAP0[0] 57[1] P1[27]/ USB_INT1/ USB_OVRCR1/ CAP0[1] 61[1] P1[28]/ USB_SCL1/ PCAP1[0]/ MAT0[0] 63[1] P1[29]/ USB_SDA1/ PCAP1[1]/ MAT0[1] 64[1] P1[30]/ USB_PWRD2/ VBUS/AD0[4] 30[2] I/O MOSI0 — Master Out Slave in for SSP0. I/O P1[25] — General purpose digital input/output pin. O USB_LS1 — Low-speed status for USB port 1 (OTG transceiver). O USB_HSTEN1 — Host Enabled status for USB port 1. O MAT1[1] — Match output for Timer 1, channel 1. I/O P1[26] — General purpose digital input/output pin. O USB_SSPND1 — USB port 1 bus suspend status (OTG transceiver). O PWM1[6] — Pulse Width Modulator 1, channel 6 output. I CAP0[0] — Capture input for Timer 0, channel 0. I/O P1[27] — General purpose digital input/output pin. I USB_INT1 — USB port 1 OTG transceiver interrupt (OTG transceiver). I USB_OVRCR1 — USB port 1 Over-Current status. I CAP0[1] — Capture input for Timer 0, channel 1. I/O P1[28] — General purpose digital input/output pin. I/O USB_SCL1 — USB port 1 I2C-bus serial clock (OTG transceiver). 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. I/O USB_SDA1 — USB port 1 I2C-bus serial data (OTG transceiver). 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 USB_PWRD2 — Power Status for USB port 2. I VBUS — Monitors the presence of USB bus power. Note: This signal must be HIGH for USB reset to occur. P1[31]/ USB_OVRCR2/ SCK1/AD0[5] P2[0] to P2[31] LPC2388 Product data sheet 28[2] I AD0[4] — A/D converter 0, input 4. I/O P1[31] — General purpose digital input/output pin. I USB_OVRCR2 — Over-Current status for USB port 2. 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. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 10 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P2[0]/PWM1[1]/ TXD1/ TRACECLK 107[1] 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. O TRACECLK — Trace Clock. P2[1]/PWM1[2]/ RXD1/ PIPESTAT0 106[1] 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. O PIPESTAT0 — Pipeline Status, bit 0. P2[2]/PWM1[3]/ CTS1/ PIPESTAT1 105[1] 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 PIPESTAT1 — Pipeline Status, bit 1. P2[3]/PWM1[4]/ DCD1/ PIPESTAT2 100[1] 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 PIPESTAT2 — Pipeline Status, bit 2. P2[4]/PWM1[5]/ DSR1/ TRACESYNC 99[1] 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 TRACESYNC — Trace Synchronization. P2[5]/PWM1[6]/ DTR1/ TRACEPKT0 97[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 TRACEPKT0 — Trace Packet, bit 0. P2[6]/PCAP1[0]/ RI1/ TRACEPKT1 96[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 TRACEPKT1 — Trace Packet, bit 1. P2[7]/RD2/ RTS1/ TRACEPKT2 95[1] I/O P2[7] — General purpose digital input/output pin. I RD2 — CAN2 receiver input. O RTS1 — Request to Send output for UART1. O TRACEPKT2 — Trace Packet, bit 2. P2[8]/TD2/ TXD2/ TRACEPKT3 93[1] I/O P2[8] — General purpose digital input/output pin. O TD2 — CAN2 transmitter output. O TXD2 — Transmitter output for UART2. O TRACEPKT3 — Trace Packet, bit 3. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 11 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin P2[9]/ 92[1] USB_CONNECT1/ RXD2/ EXTIN0 P2[10]/EINT0 76[6] Type Description I/O P2[9] — General purpose digital input/output pin. O USB_CONNECT1 — USB port 1 SoftConnect control. Signal used to switch an external 1.5 k resistor under the software control. Used with the SoftConnect USB feature. I RXD2 — Receiver input for UART2. I EXTIN0 — External Trigger Input. I/O P2[10] — General purpose digital input/output pin. Note: LOW on this pin while RESET is LOW forces on-chip boot-loader to take over control of the part after a reset. P2[11]/EINT1/ MCIDAT1/ I2STX_CLK P2[12]/EINT2/ MCIDAT2/ I2STX_WS P2[13]/EINT3/ MCIDAT3/ I2STX_SDA 75[6] 73[6] 71[6] P3[0] to P3[31] P3[0]/D0 137[1] P3[1]/D1 140[1] P3[2]/D2 144[1] P3[3]/D3 2[1] P3[4]/D4 9[1] P3[5]/D5 12[1] P3[6]/D6 LPC2388 Product data sheet 16[1] I EINT0 — External interrupt 0 input. I/O P2[11] — General purpose digital input/output pin. I EINT1 — External interrupt 1 input. O MCIDAT1 — Data line for SD/MMC interface. 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. I/O P2[12] — General purpose digital input/output pin. I EINT2 — External interrupt 2 input. O MCIDAT2 — Data line for SD/MMC interface. 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. I/O P2[13] — General purpose digital input/output pin. I EINT3 — External interrupt 3 input. O MCIDAT3 — Data line for SD/MMC interface. 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. 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 8 through 22, and 27 through 31 of this port are not available. I/O P3[0] — General purpose digital input/output pin. I/O D0 — External memory data line 0. I/O P3[1] — General purpose digital input/output pin. I/O D1 — External memory data line 1. I/O P3[2] — General purpose digital input/output pin. I/O D2 — External memory data line 2. I/O P3[3] — General purpose digital input/output pin. I/O D3 — External memory data line 3. I/O P3[4] — General purpose digital input/output pin. I/O D4 — External memory data line 4. I/O P3[5] — General purpose digital input/output pin. I/O D5 — External memory data line 5. I/O P3[6] — General purpose digital input/output pin. I/O D6 — External memory data line 6. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 12 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P3[7]/D7 19[1] I/O P3[7] — General purpose digital input/output pin. I/O D7 — External memory data line 7. P3[23]/CAP0[0]/ PCAP1[0] 45[1] I/O P3[23] — General purpose digital input/output pin. I CAP0[0] — Capture input for Timer 0, channel 0. I PCAP1[0] — Capture input for PWM1, channel 0. I/O P3[24] — General purpose digital input/output pin. I CAP0[1] — Capture input for Timer 0, channel 1. P3[24]/CAP0[1]/ PWM1[1] 40[1] P3[25]/MAT0[0]/ PWM1[2] 39[1] P3[26]/MAT0[1]/ PWM1[3] 38[1] P4[0] to P4[31] P4[0]/A0 52[1] P4[1]/A1 55[1] P4[2]/A2 58[1] P4[3]/A3 68[1] P4[4]/A4 72[1] P4[5]/A5 74[1] P4[6]/A6 78[1] P4[7]/A7 84[1] P4[8]/A8 88[1] P4[9]/A9 91[1] P4[10]/A10 94[1] P4[11]/A11 101[1] LPC2388 Product data sheet O PWM1[1] — Pulse Width Modulator 1, output 1. 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. I/O P3[26] — General purpose digital input/output pin. 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 16 through 23, 26, and 27 of this port are not available. I/O P4[0] — ]General purpose digital input/output pin. I/O A0 — External memory address line 0. I/O P4[1] — General purpose digital input/output pin. I/O A1 — External memory address line 1. I/O P4[2] — General purpose digital input/output pin. I/O A2 — External memory address line 2. I/O P4[3] — General purpose digital input/output pin. I/O A3 — External memory address line 3. I/O P4[4] — General purpose digital input/output pin. I/O A4 — External memory address line 4. I/O P4[5] — General purpose digital input/output pin. I/O A5 — External memory address line 5. I/O P4[6] — General purpose digital input/output pin. I/O A6 — External memory address line 6. I/O P4[7] — General purpose digital input/output pin. I/O A7 — External memory address line 7. I/O P4[8] — General purpose digital input/output pin. I/O A8 — External memory address line 8. I/O P4[9] — General purpose digital input/output pin. I/O A9 — External memory address line 9. I/O P4[10] — General purpose digital input/output pin. I/O A10 — External memory address line 10. I/O P4[11] — General purpose digital input/output pin. I/O A11 — External memory address line 11. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 13 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description P4[12]/A12 104[1] I/O P4[12] — General purpose digital input/output pin. I/O A12 — External memory address line 12. P4[13]/A13 108[1] I/O P4[13] — General purpose digital input/output pin. I/O A13 — External memory address line 13. P4[14]/A14 110[1] I/O P4[14] — General purpose digital input/output pin. I/O A14 — External memory address line 14. P4[15]/A15 120[1] I/O P4[15] — General purpose digital input/output pin. I/O A15 — External memory address line 15. P4[24]/OE 127[1] I/O P4[24] — General purpose digital input/output pin. O OE — LOW active Output Enable signal. P4[25]/BLS0 124[1] I/O P4[25] — General purpose digital input/output pin. O BLS0 — LOW active Byte Lane select signal 0. P4[28]/MAT2[0]/ TXD3 118[1] I/O P4[28] — General purpose digital input/output pin. O MAT2[0] — Match output for Timer 2, channel 0. O TXD3 — Transmitter output for UART3. P4[29]/MAT2[1]/ RXD3 122[1] I/O P4[29] — General purpose digital input/output pin. O MAT2[1] — Match output for Timer 2, channel 1. I RXD3 — Receiver input for UART3. P4[30]/CS0 130[1] I/O P4[30] — General purpose digital input/output pin. O CS0 — LOW active Chip Select 0 signal. P4[31]/CS1 134[1] I/O P4[31] — General purpose digital input/output pin. O CS1 — LOW active Chip Select 1 signal. ALARM 26[8] O ALARM — RTC controlled output. This is a 1.8 V pin. It goes HIGH when a RTC alarm is generated. USB_D2 37 I/O USB_D2 — USB port 2 bidirectional D line. DBGEN 6[1][9] I DBGEN — JTAG interface control signal. Also used for boundary scanning. TDO 1[1][10] O TDO — Test Data out for JTAG interface. TDI 3[1][9] I TDI — Test Data in for JTAG interface. TMS 4[1][9] I TMS — Test Mode Select for JTAG interface. TRST 5[1][9] I TRST — Test Reset for JTAG interface. TCK 7[1][10] I TCK — Test Clock for JTAG interface. This clock must be slower than 1⁄6 of the CPU clock (CCLK) for the JTAG interface to operate. RTCK 143[1][9] I/O RTCK — JTAG interface control signal. Note: LOW on this pin while RESET is LOW enables ETM pins (P2[9:0]) to operate as Trace port after reset. RSTOUT 20 O RSTOUT — This is a 3.3 V pin. LOW on this pin indicates LPC2388 being in Reset state. RESET 24[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 31[8][11] I Input to the oscillator circuit and internal clock generator circuits. XTAL2 33[8][11] O Output from the oscillator amplifier. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 14 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 3. Pin description …continued Symbol Pin Type Description RTCX1 23[8][12] I Input to the RTC oscillator circuit. RTCX2 25[8][12] O Output from the RTC oscillator circuit. VSS 22, 44, I 59, 65, 79, 103, 117,119, 139[13] ground: 0 V reference. VSSA 15[14] 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) 41, 62, I 77, 102, 114, 138[15] 3.3 V supply voltage: This is the power supply voltage for the I/O ports. n.c. 21, 81, 98[16] I Leave these pins unconnected. VDD(DCDC)(3V3) 18, 60, 121[17] I 3.3 V DC-to-DC converter supply voltage: This is the power supply for the on-chip DC-to-DC converter only. VDDA 14[18] 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. VREF 17[18] I ADC reference: This should be nominally the same voltage as VDD(3V3) but should be isolated to minimize noise and error. The level on this pin is used as a reference for ADC and DAC. VBAT 27[18] I RTC power supply: 3.3 V on this pin supplies the power to the RTC peripheral. I [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 DAC 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. It 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 10 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. [9] This pin has a built-in pull-up resistor. [10] This pin has no built-in pull-up and no built-in pull-down resistor. [11] When the main oscillator is not used, connect XTAL1 and XTAL2 as follows: XTAL1 can be left floating or can be grounded (grounding is preferred to reduce susceptibility to noise). XTAL2 should be left floating. [12] If the RTC is not used, these pins can be left floating. [13] Pad provides special analog functionality. [14] Pad provides special analog functionality. [15] Pad provides special analog functionality. [16] Pad provides special analog functionality. [17] Pad provides special analog functionality. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 15 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller [18] Pad provides special analog functionality. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 16 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7. Functional description 7.1 Architectural overview The LPC2388 microcontroller consists of an ARM7TDMI-S CPU with emulation support, the ARM7 local bus for closely coupled, high-speed access to the majority of on-chip memory, the AMBA AHB interfacing to high-speed on-chip peripherals and external memory, and the AMBA APB for connection to other on-chip peripheral functions. The microcontroller permanently configures the ARM7TDMI-S processor for little-endian byte order. The LPC2388 implements two AHB in order to allow the Ethernet block to operate without interference caused by other system activity. The primary AHB, referred to as AHB1, includes the VIC, GPDMA controller, and EMC. The second AHB, referred to as AHB2, includes only the Ethernet block and an associated 16 kB SRAM. In addition, a bus bridge is provided that allows the secondary AHB to be a bus master on AHB1, allowing expansion of Ethernet buffer space into off-chip memory or unused space in memory residing on AHB1. In summary, bus masters with access to AHB1 are the ARM7 itself, the GPDMA function, and the Ethernet block (via the bus bridge from AHB2). Bus masters with access to AHB2 are the ARM7 and the Ethernet block. AHB peripherals are allocated a 2 MB range of addresses at the very top of the 4 GB ARM memory space. Each AHB peripheral is allocated a 16 kB address space within the AHB address space. Lower speed peripheral functions are connected to the APB bus. The AHB to APB bridge interfaces the APB to the AHB. APB peripherals are also allocated a 2 MB range of addresses, beginning at the 3.5 GB address point. Each APB peripheral is allocated a 16 kB address space within the APB address space. The ARM7TDMI-S processor is a general purpose 32-bit microprocessor, which offers high performance and very low power consumption. The ARM architecture is based on Reduced Instruction Set Computer (RISC) principles, and the instruction set and related decode mechanism are much simpler than those of microprogrammed complex instruction set computers. This simplicity results in a high instruction throughput and impressive real-time interrupt response from a small and cost-effective processor core. 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 ARM7TDMI-S processor also employs a unique architectural strategy known as Thumb, which makes it ideally suited to high-volume applications with memory restrictions, or applications where code density is an issue. The key idea behind Thumb is that of a super-reduced instruction set. Essentially, the ARM7TDMI-S processor has two instruction sets: • The standard 32-bit ARM set • A 16-bit Thumb set LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 17 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller The Thumb set’s 16-bit instruction length allows it to approach twice the density of standard ARM code while retaining most of the ARM’s performance advantage over a traditional 16-bit processor using 16-bit registers. This is possible because Thumb code operates on the same 32-bit register set as ARM code. Thumb code is able to provide up to 65 % of the code size of ARM, and 160 % of the performance of an equivalent ARM processor connected to a 16-bit memory system. 7.2 On-chip flash programming memory The LPC2388 incorporates a 512 kB flash memory system. This memory may be used for both code and data storage. Programming of the flash memory may be accomplished in several ways. It may be programmed In System via the serial port (UART0). The application program may also erase and/or program the flash while the application is running, allowing a great degree of flexibility for data storage field and firmware upgrades. The flash memory is 128 bits wide and includes pre-fetching and buffering techniques to allow it to operate at SRAM speeds of 72 MHz. 7.3 On-chip SRAM The LPC2388 includes a SRAM memory of 64 kB reserved for the ARM processor exclusive use. This RAM may be used for code and/or data storage and may be accessed as 8 bits, 16 bits, and 32 bits. A 16 kB SRAM block serving as a buffer for the Ethernet controller and a 16 kB SRAM associated with the USB device can be used both for data and code storage, too. The 2 kB RTC can be used for data storage only. The RTC SRAM is battery powered and retains the content in the absence of the main power supply. 7.4 Memory map The LPC2388 memory map incorporates several distinct regions as shown in Figure 3. In addition, the CPU interrupt vectors may be remapped to allow them to reside in either flash memory (default), boot ROM, or SRAM (see Section 7.26.6). LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 18 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 0xFFFF FFFF 4.0 GB AHB PERIPHERALS 0xF000 0000 3.75 GB APB PERIPHERALS 3.5 GB 0xE000 0000 3.0 GB 0xC000 0000 RESERVED ADDRESS SPACE 0x8100 FFFF EXTERNAL MEMORY BANK 1 (64 kB) 0x8100 0000 0x8000 FFFF EXTERNAL MEMORY BANK 0 (64 kB) 2.0 GB 0x8000 0000 BOOT ROM AND BOOT FLASH (BOOT FLASH REMAPPED FROM ON-CHIP FLASH) RESERVED ADDRESS SPACE 0x7FE0 3FFF 0x7FE0 0000 ETHERNET RAM (16 kB) 0x7FD0 3FFF USB RAM (16 kB) 0x7FD0 0000 RESERVED ADDRESS SPACE 0x4001 0000 0x4000 FFFF 64 kB LOCAL ON-CHIP STATIC RAM 1.0 GB 0x4000 0000 RESERVED FOR ON-CHIP MEMORY 0x0008 0000 0x0007 FFFF TOTAL OF 512 kB ON-CHIP NON-VOLATILE MEMORY 0.0 GB 0x0000 0000 002aad331 Fig 3. LPC2388 memory map 7.5 Interrupt controller The ARM processor core has two interrupt inputs called Interrupt Request (IRQ) and Fast Interrupt Request (FIQ). The VIC takes 32 interrupt request inputs which can be programmed as FIQ or vectored IRQ types. The programmable assignment scheme means that priorities of interrupts from the various peripherals can be dynamically assigned and adjusted. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 19 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller FIQs have the highest priority. If more than one request is assigned to FIQ, the VIC ORs the requests to produce the FIQ signal to the ARM processor. The fastest possible FIQ latency is achieved when only one request is classified as FIQ, because then the FIQ service routine can simply start dealing with that device. But if more than one request is assigned to the FIQ class, the FIQ service routine can read a word from the VIC that identifies which FIQ source(s) is (are) requesting an interrupt. Vectored IRQs, which include all interrupt requests that are not classified as FIQs, have a programmable interrupt priority. When more than one interrupt is assigned the same priority and occur simultaneously, the one connected to the lowest numbered VIC channel will be serviced first. The VIC ORs the requests from all of the vectored IRQs to produce the IRQ signal to the ARM processor. The IRQ service routine can start by reading a register from the VIC and jumping to the address supplied by that register. 7.5.1 Interrupt sources Each peripheral device has one interrupt line connected to the VIC but may have several interrupt flags. Individual interrupt flags may also represent more than one interrupt source. Any pin on Port 0 and Port 2 (total of 46 pins) regardless of the selected function, can be programmed to generate an interrupt on a rising edge, a falling edge, or both. Such interrupt request coming from Port 0 and/or Port 2 will be combined with the EINT3 interrupt requests. 7.6 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. 7.7 External memory controller The LPC2388 EMC is an ARM PrimeCell MultiPort Memory Controller peripheral offering support for asynchronous static memory devices such as RAM, ROM, and flash. In addition, it can be used as an interface with off-chip memory-mapped devices and peripherals. The EMC is an Advanced Microcontroller Bus Architecture (AMBA) compliant peripheral. 7.7.1 Features • Asynchronous static memory device support including RAM, ROM, and flash, with or without asynchronous page mode • • • • LPC2388 Product data sheet Low transaction latency Read and write buffers to reduce latency and to improve performance 8 data and 16 address lines wide static memory support Two chip selects for static memory devices All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 20 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller • Static memory features include: – Asynchronous page mode read – Programmable Wait States (WST) – Bus turnaround delay – Output enable and write enable delays – Extended wait 7.8 General purpose DMA controller The GPDMA is an AMBA AHB compliant peripheral allowing selected LPC2388 peripherals to have DMA support. The GPDMA enables peripheral-to-memory, memory-to-peripheral, peripheral-to-peripheral, and memory-to-memory transactions. Each DMA stream provides unidirectional serial DMA transfers for a single source and destination. For example, a bidirectional port requires one stream for transmit and one for receive. The source and destination areas can each be either a memory region or a peripheral, and can be accessed through the AHB master. 7.8.1 Features • Two DMA channels. Each channel can support a unidirectional transfer. • The GPDMA can transfer data between the 16 kB SRAM and peripherals such as the SD/MMC, two SSP, and I2S-bus interfaces. • Single DMA and burst DMA request signals. Each peripheral connected to the GPDMA can assert either a burst DMA request or a single DMA request. The DMA burst size is set by programming the GPDMA. • Memory-to-memory, memory-to-peripheral, peripheral-to-memory, and peripheral-to-peripheral transfers. • 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. Each DMA channel has a specific hardware priority. DMA channel 0 has the highest priority and channel 1 has the lowest priority. If requests from two channels become active at the same time, the channel with the highest priority is serviced first. • AHB slave DMA programming interface. The GPDMA is programmed by writing to the DMA control registers over the AHB slave interface. • One AHB master for transferring data. This 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. Usually the burst size is set to half the size of the FIFO in the peripheral. • Internal four-word FIFO per channel. • Supports 8-bit, 16-bit, and 32-bit wide transactions. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 21 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller • An interrupt to the processor can be generated on a DMA completion or when a DMA error has occurred. • Interrupt masking. The DMA error and DMA terminal count interrupt requests can be masked. • Raw interrupt status. The DMA error and DMA count raw interrupt status can be read prior to masking. 7.9 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. LPC2388 use accelerated GPIO functions: • GPIO registers are relocated to the ARM local 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. Additionally, any pin on Port 0 and Port 2 (total of 46 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.9.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. • Backward compatibility with other earlier devices is maintained with legacy Port 0 and Port 1 registers appearing at the original addresses on the APB bus. 7.10 Ethernet 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 a dedicated AHB subsystem that is used to access the Ethernet SRAM for Ethernet data, control, and status information. All other AHB traffic in the LPC2388 takes place on a different AHB subsystem, effectively separating Ethernet activity from the rest of the system. The Ethernet DMA can also access off-chip memory LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 22 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller via the EMC, as well as the SRAM located on another AHB, if it is not being used by the USB block. However, using memory other than the Ethernet SRAM, especially off-chip memory, will slow Ethernet access to memory and increase the loading of its AHB. 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. 7.10.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. • Enhanced Ethernet features: – Receive filtering. – Multicast and broadcast frame support for both transmit and receive. – Optional automatic Frame Check Sequence (FCS) insertion with Circular 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.11 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. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 23 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller The LPC2388 USB interface includes a device, host, and OTG controller. Details on typical USB interfacing solutions can be found in Section 14.1. 7.11.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 USB RAM. 7.11.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. Endpoint Maximum packet size selection (up to USB maximum specification) by software at run time. • Supports SoftConnect and GoodLink features. • While the USB is in the Suspend mode, the LPC2388 can enter one of the reduced power modes and wake up on USB activity. • Supports DMA transfers with the DMA RAM of 16 kB on all non-control endpoints. • Allows dynamic switching between CPU-controlled and DMA modes. • Double buffer implementation for Bulk and Isochronous endpoints. 7.11.2 USB host controller The host controller enables full- and low-speed data exchange with USB devices attached to the bus. It consists of register interface, serial interface engine, and DMA controller. The register interface complies with the OHCI specification. 7.11.2.1 Features • OHCI compliant. • Two downstream ports. • Supports per-port power switching. 7.11.3 USB OTG controller USB OTG (On-The-Go) 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. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 24 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.11.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.12 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. Each CAN controller has a register structure similar to the NXP SJA1000 and the PeliCAN Library block, but the 8-bit registers of those devices have been combined in 32-bit words to allow simultaneous access in the ARM environment. The main operational difference is that the recognition of received Identifiers, known in CAN terminology as Acceptance Filtering, has been removed from the CAN controllers and centralized in a global Acceptance Filter. 7.12.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 11-bit and 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.13 10-bit ADC The LPC2388 contains one ADC. It is a single 10-bit successive approximation ADC with eight channels. 7.13.1 Features • • • • LPC2388 Product data sheet 10-bit successive approximation ADC Input multiplexing among 8 pins Power-down mode Measurement range 0 V to Vi(VREF) All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 25 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller • • • • 10-bit conversion time 2.44 s 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 7.14 10-bit DAC The DAC allows the LPC2388 to generate a variable analog output. The maximum output value of the DAC is Vi(VREF). 7.14.1 Features • • • • • 10-bit DAC Resistor string architecture Buffered output Power-down mode Selectable output drive 7.15 UARTs The LPC2388 contains four UARTs. In addition to standard transmit and receive data lines, UART1 also provides a full modem control handshake interface. The UARTs include a fractional baud rate generator. Standard baud rates such as 115200 can be achieved with any crystal frequency above 2 MHz. 7.15.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). • UART3 includes an IrDA mode to support infrared communication. 7.16 SPI serial I/O controller The LPC2388 contains 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. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 26 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.16.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.17 SSP serial I/O controller The LPC2388 contains 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. 7.17.1 Features • Compatible with Motorola SPI, 4-wire TI 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.18 SD/MMC card interface The Secure Digital and Multimedia Card Interface (MCI) allows access to external SD memory cards. The SD card interface conforms to the SD Multimedia Card Specification Version 2.11. 7.18.1 Features • The MCI provides all functions specific to the SD/MMC memory card. These include the clock generation unit, power management control, and command and data transfer. • Conforms to Multimedia Card Specification v2.11. • Conforms to Secure Digital Memory Card Physical Layer Specification, v0.96. • Can be used as a multimedia card bus or a secure digital memory card bus host. The SD/MMC can be connected to several multimedia cards or a single secure digital memory card. • DMA supported through the GPDMA controller. 7.19 I2C-bus serial I/O controllers The LPC2388 contains three I2C-bus controllers. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 27 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 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-bus is a multi-master bus and can be controlled by more than one bus master connected to it. The I2C-bus implemented in LPC2388 supports bit rates up to 400 kbit/s (Fast I2C-bus). 7.19.1 Features • I2C0 is a standard I2C compliant bus interface with open-drain pins. • I2C1 and I2C2 use standard I/O pins and do not support powering off of individual devices connected to the same bus lines. • • • • • 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. 7.20 I2S-bus serial I/O controllers The I2S-bus provides a standard communication interface for digital audio applications. 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 LPC2388 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 48 kHz ((16, 22.05, 32, 44.1, 48) kHz). • 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. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 28 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller • 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 output. 7.21 General purpose 32-bit timers/external event counters The LPC2388 includes 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 or perform other actions at specified timer values, based on four match registers. The Timer/Counter also includes four 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. • Up to four 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 optionally 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. – Toggle on match. – Do nothing on match. 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 LPC2388. 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 LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 29 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 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 • LPC2388 has 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. • 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 timer if the PWM mode is not enabled. • A 32-bit Timer/Counter with a programmable 32-bit Prescaler. 7.23 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.23.1 Features • Internally resets chip if not periodically reloaded. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 30 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller • 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 RTC clock, the Internal RC oscillator (IRC), 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. 7.24 RTC and battery RAM The RTC is a set of counters for measuring time when system power is on, and optionally when it is off. It uses little power in Power-down and Deep power-down modes. On the LPC2388, the RTC can be clocked by a separate 32.768 kHz oscillator or by a programmable prescale divider based on the APB clock. Also, the RTC is powered by its own power supply pin, VBAT, which can be connected to a battery or to the same 3.3 V supply used by the rest of the device. The VBAT pin supplies power only to the RTC and the battery RAM. These two functions require a minimum of power to operate, which can be supplied by an external battery. When the CPU and the rest of chip functions are stopped and power removed, the RTC can supply an alarm output that can be used by external hardware to restore chip power and resume operation. 7.24.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 32 kHz oscillator or programmable prescaler from APB clock. • Dedicated power supply pin can be connected to a battery or to the main 3.3 V. • An alarm output pin is included to assist in waking up from Power-down mode, or when the chip has had power removed to all functions except the RTC and battery RAM. • Periodic interrupts can be generated from increments of any field of the time registers, and selected fractional second values. • 2 kB data SRAM powered by VBAT. • RTC and battery RAM power supply is isolated from the rest of the chip. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 31 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.25 Clocking and power control 7.25.1 Crystal oscillators The LPC2388 includes three independent oscillators. These are the Main Oscillator, the Internal RC 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 PLL and ultimately the CPU. Following reset, the LPC2388 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. 7.25.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. Upon power-up or any chip reset, the LPC2388 uses the IRC as the clock source. Software may later switch to one of the other available clock sources. 7.25.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 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 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.25.2 for additional information. 7.25.1.3 RTC oscillator The RTC oscillator can be used as the clock source for the RTC and/or the WDT. Also, the RTC oscillator can be used to drive the PLL and the CPU. 7.25.2 PLL The PLL 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 the USB block. The PLL 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 PLL input divider is the PLL 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. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 32 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller The PLL is turned off and bypassed following a chip Reset and by entering Power-down mode. PLL is enabled by software only. The program must configure and activate the PLL, wait for the PLL to lock, then connect to the PLL as a clock source. 7.25.3 Wake-up timer The LPC2388 begins operation at power-up and when awakened from Power-down and Deep power-down modes 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 whenever any of the aforementioned functions are turned off for any reason. Since the oscillator and other functions are turned off during Power-down and Deep power-down modes, 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.25.4 Power control The LPC2388 supports a variety of power control features. There are four special modes of processor power reduction: Idle mode, 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. The LPC2388 also implements a separate power domain in order to allow turning off power to the bulk of the device while maintaining operation of the RTC and a small SRAM, referred to as the battery RAM. 7.25.4.1 Idle mode In Idle mode, execution of instructions is suspended until either a Reset or interrupt occurs. Peripheral functions continue operation during Idle mode and may generate interrupts to cause the processor to resume execution. Idle mode eliminates dynamic power used by the processor itself, memory systems and related controllers, and internal buses. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 33 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.25.4.2 Sleep mode In 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 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 32 kHz 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. The 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, Sleep mode reduces chip power consumption to a very low value. The flash memory is left on in Sleep mode, allowing a very quick wake-up. On the wake-up of Sleep mode, if the IRC was used before entering Sleep mode, the code execution and peripherals activities will resume after 4 cycles expire. If the main external oscillator was used, the code execution will resume when 4096 cycles expire. The customers need to reconfigure the PLL and clock dividers accordingly. 7.25.4.3 Power-down mode Power-down mode does everything that Sleep mode does, but also turns off 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. The customers need to reconfigure the PLL and clock dividers accordingly. 7.25.4.4 Deep power-down mode Deep power-down mode is similar to the Power-down mode, but now the on-chip regulator that supplies power to the internal logic is also shut off. This produces the lowest possible power consumption without removing power from the entire chip. Since the Deep power-down mode shuts down the on-chip logic power supply, there is no register or memory retention, and resumption of operation involves the same activities as a full chip reset. If power is supplied to the LPC2388 during Deep power-down mode, wake-up can be caused by the RTC Alarm interrupt or by external Reset. While in Deep power-down mode, external device power may be removed. In this case, the LPC2388 will start up when external power is restored. Essential data may be retained through Deep power-down mode (or through complete powering off of the chip) by storing data in the battery RAM, as long as the external power to the VBAT pin is maintained. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 34 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.25.4.5 Power domains The LPC2388 provides two independent power domains that allow the bulk of the device to have power removed while maintaining operation of the RTC and the battery RAM. On the LPC2388, I/O pads are powered by the 3.3 V (VDD(3V3)) pins, while the VDD(DCDC)(3V3) pin powers the on-chip DC-to-DC converter which in turn provides power to the CPU and most of the peripherals. Depending on the LPC2388 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(DCDC)(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(DCDC)(3V3)). Having the on-chip DC-to-DC converter 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 and the battery RAM. These two functions require a minimum of power to operate, which can be supplied by an external battery. When the CPU and the rest of chip functions are stopped and power removed, the RTC can supply an alarm output that may be used by external hardware to restore chip power and resume operation. 7.26 System control 7.26.1 Reset Reset has four sources on the LPC2388: the RESET pin, the Watchdog reset, power-on reset, 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.25.3 “Wake-up timer”), 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. 7.26.2 Brownout detection The LPC2388 includes 2-stage monitoring of the voltage on the VDD(DCDC)(3V3) pins. If this voltage falls below 2.95 V, the BOD asserts an interrupt signal to the VIC. This signal can be enabled for interrupt in the Interrupt Enable Register in the VIC in order to cause a CPU interrupt; if not, software can monitor the signal by reading a dedicated status register. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 35 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller The second stage of low-voltage detection asserts Reset to inactivate the LPC2388 when the voltage on the VDD(DCDC)(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.26.3 Code security (Code Read Protection - CRP) This feature of the LPC2388 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.26.4 AHB The LPC2388 implements two AHBs in order to allow the Ethernet block to operate without interference caused by other system activity. The primary AHB, referred to as AHB1, includes the VIC, GPDMA controller, USB interface, and 8 kB SRAM primarily intended for use by the USB. The second AHB, referred to as AHB2, includes only the Ethernet block and an associated 16 kB SRAM. In addition, a bus bridge is provided that allows the secondary AHB to be a bus master on AHB1, allowing expansion of Ethernet buffer space into off-chip memory or unused space in memory residing on AHB1. In summary, bus masters with access to AHB1 are the ARM7 itself, the USB block, the GPDMA function, and the Ethernet block (via the bus bridge from AHB2). Bus masters with access to AHB2 are the ARM7 and the Ethernet block. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 36 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 7.26.5 External interrupt inputs The LPC2388 includes up to 50 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.26.6 Memory mapping control The memory mapping control alters the mapping of the interrupt vectors that appear at the beginning at address 0x0000 0000. Vectors may be mapped to the bottom of the Boot ROM, the SRAM, or external memory. This allows code running in different memory spaces to have control of the interrupts. 7.27 Emulation and debugging The LPC2388 support emulation and debugging via a JTAG serial port. A trace port allows tracing program execution. Debugging and trace functions are multiplexed only with GPIOs on P2[0] to P2[9]. This means that all communication, timer, and interface peripherals residing on other pins are available during the development and debugging phase as they are when the application is run in the embedded system itself. 7.27.1 EmbeddedICE The EmbeddedICE logic provides on-chip debug support. The debugging of the target system requires a host computer running the debugger software and an EmbeddedICE protocol convertor. The EmbeddedICE protocol convertor converts the Remote Debug Protocol commands to the JTAG data needed to access the ARM7TDMI-S core present on the target system. The ARM core has a Debug Communication Channel (DCC) function built-in. The DCC allows a program running on the target to communicate with the host debugger or another separate host without stopping the program flow or even entering the debug state. The DCC is accessed as a coprocessor 14 by the program running on the ARM7TDMI-S core. The DCC allows the JTAG port to be used for sending and receiving data without affecting the normal program flow. The DCC data and control registers are mapped in to addresses in the EmbeddedICE logic. The JTAG clock (TCK) must be slower than 1⁄6 of the CPU clock (CCLK) for the JTAG interface to operate. 7.27.2 Embedded trace Since the LPC2388 have significant amounts of on-chip memories, it is not possible to determine how the processor core is operating simply by observing the external pins. The ETM provides real-time trace capability for deeply embedded processor cores. It outputs information about processor execution to a trace port. A software debugger allows configuration of the ETM using a JTAG interface and displays the trace information that has been captured. The ETM is connected directly to the ARM core and not to the main AMBA system bus. It compresses the trace information and exports it through a narrow trace port. An external Trace Port Analyzer captures the trace information under software debugger control. The trace port can broadcast the Instruction trace information. Instruction trace (or PC trace) shows the flow of execution of the processor and provides a list of all the instructions that were executed. Instruction trace is significantly compressed by only broadcasting branch LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 37 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller addresses as well as a set of status signals that indicate the pipeline status on a cycle by cycle basis. Trace information generation can be controlled by selecting the trigger resource. Trigger resources include address comparators, counters and sequencers. Since trace information is compressed the software debugger requires a static image of the code being executed. Self-modifying code can not be traced because of this restriction. 7.27.3 RealMonitor RealMonitor is a configurable software module, developed by ARM Inc., which enables real-time debug. It is a lightweight debug monitor that runs in the background while users debug their foreground application. It communicates with the host using the DCC, which is present in the EmbeddedICE logic. The LPC2388 contain a specific configuration of RealMonitor software programmed into the on-chip ROM memory. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 38 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 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 3.0 3.6 V 3.0 3.6 V 0.5 +4.6 V 0.5 +4.6 V 0.5 +4.6 V 0.5 +5.1 V [2] 0.5 +6.0 V other I/O pins [2][3] 0.5 VDD(3V3) + 0.5 V per supply pin [4] - 100 mA - 100 mA 65 +150 C - 1.5 W 2500 +2500 V VDD(DCDC)(3V3) DC-to-DC converter supply voltage (3.3 V) VDDA analog 3.3 V pad supply voltage Vi(VBAT) input voltage on pin VBAT Vi(VREF) input voltage on pin VREF for the RTC VIA analog input voltage on ADC related pins VI input voltage 5 V tolerant I/O pins; only valid when the VDD(3V3) supply voltage is present supply current IDD ISS ground current per ground pin [4] Tstg storage temperature non-operating [5] 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 [1] [6] 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] The maximum non-operating storage temperature is different than the temperature for required shelf life which should be determined based on required shelf lifetime. Please refer to the JEDEC specification (J-STD-033B.1) for further details. [6] Human body model: equivalent to discharging a 100 pF capacitor through a 1.5 k series resistor. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 39 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 9. 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. Table 5. Thermal characteristics VDD = 3.0 V to 3.6 V; Tamb = 40 C to +85 C unless otherwise specified; Symbol Parameter Tj(max) maximum junction temperature Conditions Min Typ Max Unit - - 125 C Table 6. Thermal resistance value (C/W): ±15 % VDD = 3.0 V to 3.6 V; Tamb = 40 C to +85 C unless otherwise specified LQFP144 ja JEDEC (4.5 in 4 in) 0 m/s 31.5 1 m/s 28.1 2.5 m/s 26.2 Single-layer (4.5 in 3 in) LPC2388 Product data sheet 0 m/s 43.2 1 m/s 35.7 2.5 m/s 32.8 jc 7.8 jb 13.8 All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 40 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 10. Static characteristics Table 7. Static characteristics Tamb = 40 C to +85 C for commercial applications, unless otherwise specified. Symbol Parameter Conditions Min Typ[1] Max Unit VDD(3V3) supply voltage (3.3 V) core and external rail 3.0 3.3 3.6 V VDD(DCDC)(3V3) DC-to-DC converter supply voltage (3.3 V) 3.0 3.3 3.6 V VDDA analog 3.3 V pad supply voltage 3.0 3.3 3.6 V Vi(VBAT) input voltage on pin VBAT 2.0 3.3 3.6 V Vi(VREF) input voltage on pin VREF 2.5 3.3 VDDA V CCLK = 10 MHz - 15 - mA CCLK = 72 MHz - 63 - mA CCLK = 10 MHz - 21 - mA CCLK = 72 MHz - 92 - mA - 27 - mA [2] IDD(DCDC)act(3V3) active mode DC-to-DC VDD(DCDC)(3V3) = 3.3 V; converter supply Tamb = 25 C; code current (3.3 V) while(1){} executed from flash; no peripherals enabled; PCLK = CCLK all peripherals enabled; PCLK = CCLK / 8 all peripherals enabled; PCLK = CCLK CCLK = 10 MHz CCLK = 72 MHz IDD(DCDC)pd(3V3) Power-down mode DC-to-DC converter supply current (3.3 V) VDD(DCDC)(3V3) = 3.3 V; Tamb = 25 C IBAT - 125 - mA - 113 - A - 20 - A - 20 - A - 20 - A [3] IDD(DCDC)dpd(3V3) Deep power-down mode DC-to-DC converter supply current (3.3 V) IBATact [3] active mode battery supply current [4] battery supply current [3] Deep power-down mode Standard port pins, RESET, RTCK IIL LOW-level input current VI = 0 V; no pull-up - - 3 A IIH HIGH-level input current VI = VDD(3V3); no pull-down - - 3 A IOZ OFF-state output current VO = 0 V; VO = VDD(3V3); no pull-up/down - - 3 A LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 41 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 7. Static characteristics …continued Tamb = 40 C to +85 C for commercial applications, unless otherwise specified. Symbol Parameter Conditions Min Typ[1] Max Unit Ilatch I/O latch-up current (0.5VDD(3V3)) < VI < (1.5VDD(3V3)); - - 100 mA 0 - 5.5 V Tj < 125 C input voltage VI pin configured to provide a digital function [5][6][7] [8] VO output voltage 0 - VDD(3V3) V VIH HIGH-level input voltage 2.0 - - V VIL LOW-level input voltage - - 0.8 V Vhys hysteresis voltage output active 0.4 - - V VDD(3V3) 0.4 - - V VOH HIGH-level output voltage IOH = 4 mA [9] VOL LOW-level output voltage IOL = 4 mA [9] - - 0.4 V IOH HIGH-level output current VOH = VDD(3V3) 0.4 V [9] 4 - - mA IOL LOW-level output current VOL = 0.4 V [9] 4 - - mA IOHS HIGH-level short-circuit output current VOH = 0 V [10] - - 45 mA IOLS LOW-level short-circuit VOL = VDDA output current [10] - - 50 mA Ipd pull-down current VI = 5 V [11] 10 50 150 A Ipu pull-up current VI = 0 V 15 50 85 A 0 0 0 A V VDD(3V3) < VI < 5 V I2C-bus [11] 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 [9] ILI input leakage current VI = VDD(3V3) [12] VI = 5 V - 0.05VDD(3V3) - V - - 0.4 V - 2 4 A - 10 22 A Oscillator pins Vi(XTAL1) input voltage on pin XTAL1 0.5 1.8 1.95 V Vo(XTAL2) output voltage on pin XTAL2 0.5 1.8 1.95 V Vi(RTCX1) input voltage on pin RTCX1 0.5 1.8 1.95 V LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 42 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 7. Static characteristics …continued Tamb = 40 C to +85 C for commercial applications, unless otherwise specified. Symbol Parameter Vo(RTCX2) output voltage on pin RTCX2 Conditions Min Typ[1] Max Unit 0.5 1.8 1.95 V - - 10 A - - 5.25 V USB pins IOZ OFF-state output current 0 V < VI < 3.3 V VBUS bus supply voltage 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 driver output impedance for driver which is not high-speed capable with 33 series resistor; steady state drive 36 - 44.1 [13] [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] VDD(DCDC)(3V3) = 3.3 V; VDD(3V3) = 3.3 V; Vi(VBAT) = 3.3 V; Tamb = 25 C. [4] On pin VBAT. [5] Including voltage on outputs in 3-state mode. [6] VDD(3V3) supply voltages must be present. [7] 3-state outputs go into 3-state mode when VDD(3V3) is grounded. [8] Please also see the errata note in errata sheet. [9] Accounts for 100 mV voltage drop in all supply lines. [10] Allowed as long as the current limit does not exceed the maximum current allowed by the device. [11] Minimum condition for VI = 4.5 V, maximum condition for VI = 5.5 V. [12] To VSS. [13] Includes external resistors of 33 1 % on D+ and D. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 43 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 10.1 Power-down mode 002aae049 4 IDD(IO) (μA) 2 VDD(3V3) = 3.3 V VDD(3V3) = 3.0 V 0 −2 −4 −40 −15 10 35 60 85 temperature (°C) Vi(VBAT) = VDD(DCDC)(3V3) = 3.3 V; Tamb = 25 C. Fig 4. I/O maximum supply current IDD(IO) versus temperature in Power-down mode 002aae050 40 IBAT (μA) 30 Vi(VBAT) = 3.3 V Vi(VBAT) = 3.0 V 20 10 0 −40 −15 10 35 60 85 temperature (°C) VDD(3V3) = VDD(DCDC)(3V3) = 3.3 V; Tamb = 25 C. Fig 5. LPC2388 Product data sheet RTC battery maximum supply current IBAT versus temperature in Power-down mode All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 44 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 002aae051 800 IDD(DCDC)pd(3v3) (μA) 600 400 VDD(DCDC)(3V3) = 3.3 V 200 0 −40 VDD(DCDC)(3V3) = 3.0 V −15 10 35 60 85 temperature (°C) VDD(3V3) = Vi(VBAT) = 3.3 V; Tamb = 25 C. Fig 6. Total DC-to-DC converter supply current IDD(DCDC)pd(3V3) at different temperatures in Power-down mode 10.2 Deep power-down mode 002aae046 300 IDD(IO) (μA) 200 100 VDD(3V3) = 3.3 V VDD(3V3) = 3.0 V 0 −40 −15 10 35 60 85 temperature (°C) VDD(3V3) = VDD(DCDC)(3V3) = 3.3 V; Tamb = 25 C. Fig 7. LPC2388 Product data sheet I/O maximum supply current IDD(IO) versus temperature in Deep power-down mode All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 45 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 002aae047 40 IBAT (μA) 30 Vi(VBAT) = 3.3 V Vi(VBAT) = 3.0 V 20 10 0 −40 −15 10 35 60 85 temperature (°C) VDD(3V3) = VDD(DCDC)(3V3) = 3.3 V; Tamb = 25 C Fig 8. RTC battery maximum supply current IBAT versus temperature in Deep power-down mode 002aae048 100 IDD(DCDC)dpd(3v3) (μA) 80 60 VDD(DCDC)(3V3) = 3.3 V 40 VDD(DCDC)(3V3) = 3.0 V 20 0 −40 −15 10 35 60 85 temperature (°C) VDD(3V3) = Vi(VBAT) = 3.3 V; Tamb = 25 C. Fig 9. LPC2388 Product data sheet Total DC-to-DC converter maximum supply current IDD(DCDC)dpd(3V3) versus temperature in Deep power-down mode All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 46 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 10.3 Electrical pin characteristics 002aaf112 3.6 VOH (V) T = 85 °C 25 °C −40 °C 3.2 2.8 2.4 2.0 0 8 16 24 IOH (mA) Conditions: VDD(3V3) = 3.3 V; standard port pins. Fig 10. Typical HIGH-level output voltage VOH versus HIGH-level output source current IOH 002aaf111 15 IOL (mA) T = 85 °C 25 °C −40 °C 10 5 0 0 0.2 0.4 0.6 VOL (V) Conditions: VDD(3V3) = 3.3 V; standard port pins. Fig 11. Typical LOW-level output current IOL versus LOW-level output voltage VOL LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 47 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 11. Dynamic characteristics Table 8. Dynamic characteristics Tamb = 40 C to +85 C for commercial applications; VDD(3V3) over specified ranges.[1] Symbol Parameter Conditions Typ[2] Min Max Unit External clock (see Figure 12) fosc oscillator frequency 1 - 25 MHz Tcy(clk) clock cycle time 40 - 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 I2C-bus pins (P0[27] and P0[28]) tf(o) output fall time VIH to VIL 20 + 0.1 Cb[3] - - ns SPI_MISO set-up time Tamb = 25 C; measured in SPI Master mode; see Figure 16 - 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. [3] Bus capacitance Cb in pF, from 10 pF to 400 pF. tCHCL tCHCX tCLCH tCLCX Tcy(clk) 002aaa907 Fig 12. External clock timing (with an amplitude of at least Vi(RMS) = 200 mV) LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 48 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 11.1 Internal oscillators Table 9. Dynamic characteristic: internal oscillators Tamb = 40 C to +85 C; 3.0 V VDD(3V3) 3.6 V.[1] Symbol Parameter Conditions Min Typ[2] Max Unit fosc(RC) internal RC oscillator frequency - 3.96 4.02 4.04 MHz fi(RTC) RTC input frequency - - 32.768 - kHz Max Unit [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. 11.2 I/O pins Table 10. Dynamic characteristic: I/O pins[1] Tamb = 40 C to +85 C; VDD(3V3) over specified ranges. Symbol Parameter Conditions Min Typ tr rise time pin configured as output 3.0 - 5.0 ns tf fall time pin configured as output 2.5 - 5.0 ns [1] Applies to standard I/O pins and RESET pin. 11.3 USB interface Table 11. Dynamic characteristics of 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 see Figure 15 160 - 175 ns tFDEOP source jitter for differential transition to SE0 transition see Figure 15 2 - +5 ns tJR1 receiver jitter to next transition 18.5 - +18.5 ns tJR2 receiver jitter for paired transitions 10 % to 90 % 9 - +9 ns tEOPR1 EOP width at receiver must reject as EOP; see Figure 15 [1] 40 - - ns tEOPR2 EOP width at receiver must accept as EOP; see Figure 15 [1] 82 - - ns [1] Characterized but not implemented as production test. Guaranteed by design. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 49 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 11.4 Flash memory Table 12. Dynamic characteristics of flash Tamb = 40 C to +85 C, unless otherwise specified; VDD(3V3) = 3.0 V to 3.6 V; all voltages are measured with respect to ground. Symbol Parameter Nendu endurance tret retention time ter erase time tprog programming time Conditions Min Typ Max Unit [1] 10000 100000 - cycles [2] 10 - - years unpowered; 100 cycles 20 - - years sector or multiple consecutive sectors 95 100 105 ms 0.95 1 1.05 ms powered; 100 cycles [2] [1] Number of program/erase cycles. [2] Programming times are given for writing 256 bytes from RAM to the flash. Data must be written to the flash in blocks of 256 bytes. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 50 of 74 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 NXP Semiconductors LPC2388 Product data sheet 11.5 Static external memory interface Table 13. Dynamic characteristics: Static external memory interface CL = 30 pF, Tamb = 40 C to 85 C, VDD(DCDC)(3V3) = VDD(3V3) = 3.0 V to 3.6 V. Symbol Parameter Common to read and write tCSLAV Conditions CS LOW to address valid time Read cycle Min Typ Max Unit 0.29 0.20 2.54 ns 0.29 0.20 2.54 ns 0.49 + Tcy(CCLK) WAITOEN ns cycles[1] parameters[1][2] tOELAV OE LOW to address valid time tCSLOEL CS LOW to OE LOW time Rev. 3 — 15 October 2013 memory access time th(D) data input hold time tCSHOEH [5] (WAITRD WAITOEN + 1) (WAITRD WAITOEN + 1) (WAITRD WAITOEN + 1) ns Tcy(CCLK) 12.70 Tcy(CCLK) 9.57 Tcy(CCLK) 8.11 0 - - ns CS HIGH to OE HIGH time 0.49 0 0.20 ns tOEHANV OE HIGH to address invalid time 0.20 0.20 2.44 ns tOELOEH OE LOW to OE HIGH time 0.59 + (WAITRD WAITOEN + 1) Tcy(CCLK) 0 + (WAITRD WAITOEN + 1) Tcy(CCLK) 0.10 + (WAITRD WAITOEN + 1) Tcy(CCLK) Write cycle parameters[1] tCSLBLSL CS LOW to BLS LOW time 0.88 + Tcy(CCLK) (1 + WAITWEN) 0.10 + Tcy(CCLK) (1 + WAITWEN) 0.20 + Tcy(CCLK) (1 + WAITWEN) ns tBLSLDV BLS LOW to data valid time 0.68 2.54 5.86 ns tCSLDV CS LOW to data valid time 0 2.64 4.79 ns tBLSLBLSH BLS LOW to BLS HIGH time [3] 0.78 + Tcy(CCLK) (WAITWR WAITWEN + 1) 0 + Tcy(CCLK) (WAITWR WAITWEN + 1) 0.10 + Tcy(CCLK) (WAITWR WAITWEN + 1) ns tBLSHANV BLS HIGH to address invalid time [3] 0 + Tcy(CCLK) 0.20 + Tcy(CCLK) 2.74 + Tcy(CCLK) ns tBLSHDNV BLS HIGH to data invalid time [3] 0.78 2.54 5.96 ns VOH = 2.5 V, VOL = 0.2 V. [2] VIH = 2.5 V, VIL = 0.5 V. [3] Tcy(CCLK) = 1⁄CCLK. [4] Latest of address valid, CS LOW, OE LOW to data valid. [5] Earliest of CS HIGH, OE HIGH, address change to data invalid. LPC2388 51 of 74 © NXP B.V. 2013. All rights reserved. [1] Single-chip 16-bit/32-bit microcontroller All information provided in this document is subject to legal disclaimers. tam 0.78 + Tcy(CCLK) WAITOEN 0 + Tcy(CCLK) WAITOEN [3][4] LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 11.6 Timing tCSLAV tCSHOEH CS addr tam th(D) data tCSLOEL tOELAV tOEHANV tOELOEH OE 002aaf489 Fig 13. External memory read access CS tCSLAV tBLSLBLSH BLS tCSLBLSL tBLSDV tBLSHANV addr tCSLDV tBLSHDNV data OE 002aaf490 Fig 14. External memory write access LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 52 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 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 15. Differential data-to-EOP transition skew and EOP width shifting edges SCK sampling edges MOSI MISO tsu(SPI_MISO) 002aad326 Fig 16. MISO line set-up time in SSP Master mode LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 53 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 12. ADC electrical characteristics Table 14. ADC electrical characteristics VDDA = 2.5 V to 3.6 V; Tamb = 40 C to +85 C unless otherwise specified; ADC frequency 4.5 MHz. Symbol Parameter VIA analog input voltage Cia analog input capacitance ED differential linearity error Conditions Min Typ Max Unit 0 - VDDA V - - 1 pF [1][2][3] - - 1 LSB integral non-linearity [1][4] - - 2 LSB offset error [1][5] - - 3 LSB EG gain error [1][6] - - 0.5 % ET absolute error [1][7] - - 4 LSB [8] - - 40 k EL(adj) EO voltage source interface resistance Rvsi [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 17. [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 17. [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 17. [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 17. [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 17. [8] See Figure 18. LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 54 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller offset error EO gain error EG 1023 1022 1021 1020 1019 1018 (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 1018 1019 1020 1021 1022 1023 1024 VIA (LSBideal) offset error EO 1 LSB = Vi(VREF) − VSSA 1024 002aae604 (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 17. ADC characteristics LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 55 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller LPC23XX 20 kΩ AD0[y] AD0[y]SAMPLE 3 pF Rvsi 5 pF VEXT VSS 002aac610 Fig 18. Suggested ADC interface - LPC2388 AD0[y] pin LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 56 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 13. DAC electrical characteristics Table 15. DAC electrical characteristics VDDA = 3.0 V to 3.6 V; Tamb = 40 C to +85 C unless otherwise specified Symbol Parameter ED Conditions Min Typ Max Unit differential linearity error - 1 - LSB EL(adj) integral non-linearity - 1.5 - LSB EO offset error - 0.6 - % EG gain error - 0.6 - % CL load capacitance - 200 - pF RL load resistance 1 - - k 14. Application information 14.1 Suggested USB interface solutions VDD(3V3) USB_UP_LED USB_CONNECT LPC23XX SoftConnect switch R1 1.5 kΩ VBUS USB_D+ RS = 33 Ω USB-B connector USB_D− RS = 33 Ω VSS 002aac578 Fig 19. LPC2388 USB interface on a self-powered device (applies to USB ports 1 and 2) LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 57 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller VDD(3V3) R2 LPC23XX USB_UP_LED R1 1.5 kΩ VBUS USB_D+ RS = 33 Ω USB-B connector USB_D− RS = 33 Ω VSS 002aac579 Fig 20. LPC2388 USB interface on a bus-powered device (applies to USB ports 1 and 2) LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 58 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller VDD R1 R2 R3 R4 RSTOUT RESET_N VBUS ADR/PSW ID OE_N/INT_N VDD SPEED SUSPEND R4 R5 DP 33 Ω DM 33 Ω ISP1301 R6 VSS SCL USB_SCL1 Mini-AB connector SDA USB_SDA1 USB_INT1 INT_N USB_D+1 USB_D−1 VDD USB_UP_LED1 LPC2388 R7 5V VDD IN USB_PPWR2 ENA LM3526-L OUTA FLAGA USB_OVRCR2 VBUS USB_PWRD2 USB_D+2 33 Ω D+ USB_D−2 33 Ω D− 15 kΩ 15 kΩ USB-A connector VSS VDD USB_UP_LED2 R8 002aad336 Fig 21. LPC2388 USB OTG port configuration: USB port 1 OTG dual-role device, USB port 2 host LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 59 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller VDD RSTOUT RESET_N OE_N/INT_N USB_TX_E1 USB_TX_DP1 DAT_VP USB_TX_DM1 SE0_VM RCV USB_RCV1 USB_RX_DP1 VP VBUS USB_RX_DM1 VM ID VDD ISP1301 LPC2388 ADR/PSW DP 33 Ω DM 33 Ω USB MINI-AB connector VSS SPEED SUSPEND USB_SCL1 SCL USB_SDA1 SDA INT_N USB_INT1 VDD USB_UP_LED1 002aad337 Fig 22. LPC2388 USB OTG port configuration: VP_VM mode LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 60 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller VDD USB_UP_LED1 VSS USB_D+1 33 Ω D+ USB_D−1 33 Ω D− 15 kΩ USB-A connector 15 kΩ VDD VBUS USB_PWRD1 USB_OVRCR1 USB_PPWR1 FLAGA ENA 5V IN LM3526-L OUTA LPC2388 VDD USB_UP_LED2 VDD USB_CONNECT2 VSS USB_D+2 33 Ω D+ USB_D−2 33 Ω D− VBUS USB-B connector VBUS 002aad335 Fig 23. LPC2388 USB OTG port configuration: USB port 2 device, USB port 1 host LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 61 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller VDD USB_UP_LED1 VSS USB_D+1 33 Ω D+ USB_D−1 33 Ω D− 15 kΩ USB-A connector 15 kΩ VDD VBUS USB_PWRD1 USB_OVRCR1 USB_PPWR1 FLAGA ENA OUTA 5V IN LPC2388 USB_PPWR2 LM3526-L ENB VDD OUTB FLAGB USB_OVRCR2 VBUS USB_PWRD2 USB_D+2 33 Ω D+ USB_D−2 33 Ω D− 15 kΩ USB-A connector VSS 15 kΩ VDD USB_UP_LED2 002aad338 Fig 24. LPC2388 USB OTG port configuration: USB port 1 host, USB port 2 host 14.2 Crystal oscillator XTAL input and component selection The input voltage to the on-chip oscillators is limited to 1.8 V. If the oscillator is driven by a clock in slave mode, it is recommended that the input be coupled through a capacitor with Ci = 100 pF. To limit the input voltage to the specified range, choose an additional capacitor to ground Cg which attenuates the input voltage by a factor Ci / (Ci + Cg). In slave mode, a minimum of 200 mV (RMS) is needed. LPC2xxx XTAL1 Ci 100 pF Cg 002aae718 Fig 25. Slave mode operation of the on-chip oscillator LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 62 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller In slave mode the input clock signal should be coupled by means of a capacitor of 100 pF (Figure 25), with an amplitude between 200 mV (RMS) and 1000 mV (RMS). This corresponds to a square wave signal with a signal swing of between 280 mV and 1.4 V. The XTALOUT pin in this configuration can be left unconnected. External components and models used in oscillation mode are shown in Figure 26 and in Table 16 and Table 17. Since the feedback resistance is integrated on chip, only a crystal and the capacitances CX1 and CX2 need to be connected externally in case of fundamental mode oscillation (the fundamental frequency is represented by L, CL and RS). Capacitance CP in Figure 26 represents the parallel package capacitance and should not be larger than 7 pF. Parameters FOSC, CL, RS and CP are supplied by the crystal manufacturer. LPC2xxx L XTALIN XTALOUT = CL CP XTAL RS CX2 CX1 002aaf494 Fig 26. Oscillator modes and models: oscillation mode of operation and external crystal model used for CX1/CX2 evaluation Table 16. Recommended values for CX1/CX2 in oscillation mode (crystal and external components parameters): low frequency mode Fundamental oscillation frequency FOSC Crystal load capacitance CL Maximum crystal series resistance RS External load capacitors CX1/CX2 1 MHz to 5 MHz 10 pF < 300 18 pF, 18 pF 20 pF < 300 39 pF, 39 pF 30 pF < 300 57 pF, 57 pF 10 pF < 300 18 pF, 18 pF 20 pF < 200 39 pF, 39 pF 30 pF < 100 57 pF, 57 pF 10 pF < 160 18 pF, 18 pF 20 pF < 60 39 pF, 39 pF 10 pF < 80 18 pF, 18 pF 5 MHz to 10 MHz 10 MHz to 15 MHz 15 MHz to 20 MHz LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 63 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 17. Recommended values for CX1/CX2 in oscillation mode (crystal and external components parameters): high frequency mode Fundamental oscillation frequency FOSC Crystal load capacitance CL Maximum crystal series resistance RS External load capacitors CX1, CX2 15 MHz to 20 MHz 10 pF < 180 18 pF, 18 pF 20 pF < 100 39 pF, 39 pF 10 pF < 160 18 pF, 18 pF 20 pF < 80 39 pF, 39 pF 20 MHz to 25 MHz 14.3 RTC 32 kHz oscillator component selection LPC2xxx L RTCX1 RTCX2 = CL CP 32 kHz XTAL RS CX1 CX2 002aaf495 Fig 27. RTC oscillator modes and models: oscillation mode of operation and external crystal model used for CX1/CX2 evaluation The RTC external oscillator circuit is shown in Figure 27. Since the feedback resistance is integrated on chip, only a crystal, the capacitances CX1 and CX2 need to be connected externally to the microcontroller. Table 18 gives the crystal parameters that should be used. CL is the typical load capacitance of the crystal and is usually specified by the crystal manufacturer. The actual CL influences oscillation frequency. When using a crystal that is manufactured for a different load capacitance, the circuit will oscillate at a slightly different frequency (depending on the quality of the crystal) compared to the specified one. Therefore for an accurate time reference it is advised to use the load capacitors as specified in Table Table 18 that belong to a specific CL. The value of external capacitances CX1 and CX2 specified in this table are calculated from the internal parasitic capacitances and the CL. Parasitics from PCB and package are not taken into account. Table 18. LPC2388 Product data sheet Recommended values for the RTC external 32 kHz oscillator CX1/CX2 components Crystal load capacitance Maximum crystal series CL resistance RS External load capacitors CX1/CX2 11 pF < 100 k 18 pF, 18 pF 13 pF < 100 k 22 pF, 22 pF 15 pF < 100 k 27 pF, 27 pF All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 64 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 14.4 XTAL and RTCX Printed Circuit Board (PCB) layout guidelines The crystal should be connected on the PCB as close as possible to the oscillator input and output pins of the chip. Take care that the load capacitors Cx1, Cx2, and Cx3 in case of third overtone crystal usage have a common ground plane. The external components must also be connected to the ground plain. Loops must be made as small as possible in order to keep the noise coupled in via the PCB as small as possible. Also parasitics should stay as small as possible. Values of Cx1 and Cx2 should be chosen smaller accordingly to the increase in parasitics of the PCB layout. 14.5 Standard I/O pin configuration Figure 28 shows the possible pin modes for standard I/O pins with analog input function: • • • • Digital output driver Digital input: Pull-up enabled/disabled Digital input: Pull-down enabled/disabled Analog input (for ADC input channels) The default configuration for standard I/O pins is input with pull-up enabled. The weak MOS devices provide a drive capability equivalent to pull-up and pull-down resistors. VDD output enable pin configured as digital output driver ESD output PIN ESD VDD VSS weak pull-up pull-up enable weak pull-down pin configured as digital input pull-down enable data input select analog input pin configured as analog input analog input 002aaf496 Fig 28. Standard I/O pin configuration with analog input LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 65 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 14.6 Reset pin configuration VDD VDD VDD Rpu reset ESD 20 ns RC GLITCH FILTER PIN ESD VSS 002aaf274 Fig 29. Reset pin configuration LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 66 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 15. Package outline LQFP144: plastic low profile quad flat package; 144 leads; body 20 x 20 x 1.4 mm SOT486-1 c y X A 73 72 108 109 ZE e E HE A A2 (A 3) A1 θ wM Lp bp L pin 1 index detail X 37 144 1 36 v M A ZD wM bp e 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 20.1 19.9 20.1 19.9 0.5 HD HE 22.15 22.15 21.85 21.85 L Lp v w y 1 0.75 0.45 0.2 0.08 0.08 Z D(1) Z E(1) 1.4 1.1 1.4 1.1 θ 7o o 0 Note 1. Plastic or metal protrusions of 0.25 mm maximum per side are not included. REFERENCES OUTLINE VERSION IEC JEDEC SOT486-1 136E23 MS-026 JEITA EUROPEAN PROJECTION ISSUE DATE 00-03-14 03-02-20 Fig 30. Package outline SOT486-1 (LQFP144) LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 67 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 16. Abbreviations Table 19. LPC2388 Product data sheet Acronym list Acronym Description ADC Analog-to-Digital Converter AHB Advanced High-performance Bus AMBA Advanced Microcontroller Bus Architecture APB Advanced Peripheral Bus BLS Byte Lane Select BOD BrownOut Detection CAN Controller Area Network CTS Clear To Send 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 IrDA Infrared Data Association JTAG Joint Test Action Group MII Media Independent Interface OTG On-The-Go PHY Physical Layer PLL Phase-Locked Loop PWM Pulse Width Modulator RMII Reduced Media Independent Interface RTS Request To Send SE0 Single Ended Zero SPI Serial Peripheral Interface SSI Synchronous Serial Interface SSP Synchronous Serial Port TTL Transistor-Transistor Logic UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 68 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 17. Revision history Table 20. Revision history Document ID Release date Data sheet status Change notice Supersedes LPC2388 v.3 20131015 Product data sheet - LPC2388 v.2 Modifications: • Table 3 “Pin description”: – Updated description for USB_UP_LED1 and USB_UP_LED2. – Added Table note 9 for DBGEN, TMS, TDI, TRST, and RTCK pins. – Added Table note 10 for TCK and TDO pins. – Table note 6: Changed glitch filter spec from 5 ns to 10 ns. • Table 4 “Limiting values”: – Added “non-operating” to conditions of storage spec. – Updated Table note 5. LPC2388 Product data sheet • • • • • • Added Table 6 “Thermal resistance value (C/W): ±15 %”. • Section 14.5 “Standard I/O pin configuration”: Updated bullets. Table 7 “Static characteristics”: Changed Vhys Typ value of I2C-bus pins to 0.05VDD(3V3). Table 8 “Dynamic characteristics”: Changed min clock cycle time from 42 to 40. Table 12 “Dynamic characteristics of flash”: Updated table. Table 12 “Dynamic characteristics of flash”: Updated table. Table 13 “Dynamic characteristics: Static external memory interface”: Removed “AHB clock = 1 MHz”. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 69 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Table 20. Revision history …continued Document ID Release date Data sheet status Change notice Supersedes LPC2388 v.2 20100713 Product data sheet - LPC2388 v.1 Modifications: LPC2388 v.1 LPC2388 Product data sheet • • • • • • • • Table 3 “Pin description”: added Table note 11 for XTAL1 and XTAL2 pins • • • • Added Table 12 “Dynamic characteristics of flash” • • • • • • • • • • • • Added Section 7.25.4.4 “Deep power-down mode” • • • Updated Figure 13 “External memory read access” Table 3 “Pin description”: added Table note 12 for RTCX1 and RTCX2 pins Table 4 “Limiting values”: changed VESD min/max to 2500/+2500 Table 7 “Static characteristics”: removed Rpu Table 7 “Static characteristics”, Table note 13: changed value from 18 to 33 Table 7 “Static characteristics”, added Table note 3 Table 7 “Static characteristics”: updated min, typical and max values for oscillator pins Table 7 “Static characteristics”: updated conditions and typical values for IDD(DCDC)pd(3V3), IBATact; added IDD(DCDC)dpd(3V3) and IBAT Table 13 “Dynamic characteristics: Static external memory interface”: updated table Added Table 15 “DAC electrical characteristics” Section 7.2 “On-chip flash programming memory”: removed text regarding flash endurance minimum specs Section 7.26.2 “Brownout detection”: changed VDD(3V3) to VDD(DCDC)(3V3) Added Section 9 “Thermal characteristics” Added Section 10.1 “Power-down mode” Added Section 10.2 “Deep power-down mode” Added Section 10.3 “Electrical pin characteristics” Added Section 14.2 “Crystal oscillator XTAL input and component selection” Added Section 14.3 “RTC 32 kHz oscillator component selection” Added Section 14.4 “XTAL and RTCX Printed Circuit Board (PCB) layout guidelines” Added Section 14.5 “Standard I/O pin configuration” Added Section 14.6 “Reset pin configuration” Moved Figure 12 “External clock timing (with an amplitude of at least Vi(RMS) = 200 mV)” to below Table 8 “Dynamic characteristics” Updated Figure 14 “External memory write access” Updated Figure 17 “ADC characteristics” 20081219 Product data sheet - All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 - © NXP B.V. 2013. All rights reserved. 70 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 18. Legal information 18.1 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. 18.2 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. Product specification — The information and data provided in a Product data sheet shall define the specification of the product as agreed between NXP Semiconductors and its customer, unless NXP Semiconductors and customer have explicitly agreed otherwise in writing. In no event however, shall an agreement be valid in which the NXP Semiconductors product is deemed to offer functions and qualities beyond those described in the Product data sheet. 18.3 Disclaimers Limited warranty and liability — 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. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation - lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors. 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. LPC2388 Product data sheet Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or 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 and its suppliers accept 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. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer’s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer’s applications and products planned, as well as for the planned application and use of customer’s third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer’s applications or products, or the application or use by customer’s third party customer(s). Customer is responsible for doing all necessary testing for the customer’s applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer’s third party customer(s). NXP does not accept any liability in this respect. Limiting values — Stress above one or more limiting values (as defined in the Absolute Maximum Ratings System of IEC 60134) will cause permanent damage to the device. Limiting values are stress ratings only and (proper) operation of the device at these or any other conditions above those given in the Recommended operating conditions section (if present) or the Characteristics sections of this document is not warranted. Constant or repeated exposure to limiting values will permanently and irreversibly affect the quality and reliability of the device. Terms and conditions of commercial 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, unless otherwise agreed in a valid written individual agreement. In case an individual agreement is concluded only the terms and conditions of the respective agreement shall apply. NXP Semiconductors hereby expressly objects to applying the customer’s general terms and conditions with regard to the purchase of NXP Semiconductors products by customer. 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. All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 71 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller Export control — This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities. Non-automotive qualified products — Unless this data sheet expressly states that this specific NXP Semiconductors product is automotive qualified, the product is not suitable for automotive use. It is neither qualified nor tested in accordance with automotive testing or application requirements. NXP Semiconductors accepts no liability for inclusion and/or use of non-automotive qualified products in automotive equipment or applications. In the event that customer uses the product for design-in and use in automotive applications to automotive specifications and standards, customer (a) shall use the product without NXP Semiconductors’ warranty of the product for such automotive applications, use and specifications, and (b) whenever customer uses the product for automotive applications beyond NXP Semiconductors’ specifications such use shall be solely at customer’s own risk, and (c) customer fully indemnifies NXP Semiconductors for any liability, damages or failed product claims resulting from customer design and use of the product for automotive applications beyond NXP Semiconductors’ standard warranty and NXP Semiconductors’ product specifications. 18.4 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. 19. Contact information For more information, please visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 72 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 20. Contents 1 General description . . . . . . . . . . . . . . . . . . . . . . 1 2 Features and benefits . . . . . . . . . . . . . . . . . . . . 1 3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 Ordering information . . . . . . . . . . . . . . . . . . . . . 3 4.1 Ordering options . . . . . . . . . . . . . . . . . . . . . . . . 3 5 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6 Pinning information . . . . . . . . . . . . . . . . . . . . . . 5 6.1 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 5 7 Functional description . . . . . . . . . . . . . . . . . . 17 7.1 Architectural overview . . . . . . . . . . . . . . . . . . 17 7.2 On-chip flash programming memory . . . . . . . 18 7.3 On-chip SRAM . . . . . . . . . . . . . . . . . . . . . . . . 18 7.4 Memory map. . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.5 Interrupt controller . . . . . . . . . . . . . . . . . . . . . 19 7.5.1 Interrupt sources. . . . . . . . . . . . . . . . . . . . . . . 20 7.6 Pin connect block . . . . . . . . . . . . . . . . . . . . . . 20 7.7 External memory controller. . . . . . . . . . . . . . . 20 7.7.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.8 General purpose DMA controller . . . . . . . . . . 21 7.8.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 7.9 Fast general purpose parallel I/O . . . . . . . . . . 22 7.9.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.10 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7.10.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.11 USB interface . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.11.1 USB device controller . . . . . . . . . . . . . . . . . . . 24 7.11.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.11.2 USB host controller. . . . . . . . . . . . . . . . . . . . . 24 7.11.2.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.11.3 USB OTG controller . . . . . . . . . . . . . . . . . . . . 24 7.11.3.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.12 CAN controller and acceptance filters . . . . . . 25 7.12.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.13 10-bit ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.13.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.14 10-bit DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.14.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.15 UARTs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.15.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.16 SPI serial I/O controller. . . . . . . . . . . . . . . . . . 26 7.16.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.17 SSP serial I/O controller . . . . . . . . . . . . . . . . . 27 7.17.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.18 SD/MMC card interface . . . . . . . . . . . . . . . . . 27 7.18.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.19 I2C-bus serial I/O controllers. . . . . . . . . . . . . . 27 7.19.1 7.20 7.20.1 7.21 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . 7.23.1 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.24 RTC and battery RAM . . . . . . . . . . . . . . . . . . 7.24.1 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.25 Clocking and power control . . . . . . . . . . . . . . 7.25.1 Crystal oscillators . . . . . . . . . . . . . . . . . . . . . . 7.25.1.1 Internal RC oscillator . . . . . . . . . . . . . . . . . . . 7.25.1.2 Main oscillator . . . . . . . . . . . . . . . . . . . . . . . . 7.25.1.3 RTC oscillator . . . . . . . . . . . . . . . . . . . . . . . . 7.25.2 PLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.25.3 Wake-up timer . . . . . . . . . . . . . . . . . . . . . . . . 7.25.4 Power control . . . . . . . . . . . . . . . . . . . . . . . . . 7.25.4.1 Idle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.25.4.2 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . 7.25.4.3 Power-down mode . . . . . . . . . . . . . . . . . . . . . 7.25.4.4 Deep power-down mode . . . . . . . . . . . . . . . . 7.25.4.5 Power domains . . . . . . . . . . . . . . . . . . . . . . . 7.26 System control . . . . . . . . . . . . . . . . . . . . . . . . 7.26.1 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.26.2 Brownout detection . . . . . . . . . . . . . . . . . . . . 7.26.3 Code security (Code Read Protection - CRP) 7.26.4 AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.26.5 External interrupt inputs . . . . . . . . . . . . . . . . . 7.26.6 Memory mapping control . . . . . . . . . . . . . . . . 7.27 Emulation and debugging . . . . . . . . . . . . . . . 7.27.1 EmbeddedICE . . . . . . . . . . . . . . . . . . . . . . . . 7.27.2 Embedded trace. . . . . . . . . . . . . . . . . . . . . . . 7.27.3 RealMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Limiting values . . . . . . . . . . . . . . . . . . . . . . . . 9 Thermal characteristics . . . . . . . . . . . . . . . . . 10 Static characteristics . . . . . . . . . . . . . . . . . . . 10.1 Power-down mode . . . . . . . . . . . . . . . . . . . . . 10.2 Deep power-down mode . . . . . . . . . . . . . . . . 10.3 Electrical pin characteristics. . . . . . . . . . . . . . 11 Dynamic characteristics. . . . . . . . . . . . . . . . . 11.1 Internal oscillators . . . . . . . . . . . . . . . . . . . . . 11.2 I/O pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 USB interface. . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Flash memory . . . . . . . . . . . . . . . . . . . . . . . . 28 28 28 29 29 29 30 30 30 31 31 32 32 32 32 32 32 33 33 33 34 34 34 35 35 35 35 36 36 37 37 37 37 37 38 39 40 41 44 45 47 48 49 49 49 50 continued >> LPC2388 Product data sheet All information provided in this document is subject to legal disclaimers. Rev. 3 — 15 October 2013 © NXP B.V. 2013. All rights reserved. 73 of 74 LPC2388 NXP Semiconductors Single-chip 16-bit/32-bit microcontroller 11.5 11.6 12 13 14 14.1 14.2 14.3 14.4 14.5 14.6 15 16 17 18 18.1 18.2 18.3 18.4 19 20 Static external memory interface . . . . . . . . . . Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADC electrical characteristics . . . . . . . . . . . . DAC electrical characteristics . . . . . . . . . . . . Application information. . . . . . . . . . . . . . . . . . Suggested USB interface solutions . . . . . . . . Crystal oscillator XTAL input and component selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RTC 32 kHz oscillator component selection . . XTAL and RTCX Printed Circuit Board (PCB) layout guidelines . . . . . . . . . . . . . . . . . . . . . . . Standard I/O pin configuration . . . . . . . . . . . . Reset pin configuration . . . . . . . . . . . . . . . . . . Package outline . . . . . . . . . . . . . . . . . . . . . . . . Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . Revision history . . . . . . . . . . . . . . . . . . . . . . . . Legal information. . . . . . . . . . . . . . . . . . . . . . . Data sheet status . . . . . . . . . . . . . . . . . . . . . . Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . . Trademarks. . . . . . . . . . . . . . . . . . . . . . . . . . . Contact information. . . . . . . . . . . . . . . . . . . . . Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 52 54 57 57 57 62 64 65 65 66 67 68 69 71 71 71 71 72 72 73 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. 2013. 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: 15 October 2013 Document identifier: LPC2388