32-bit ARM Cortex-M3 microcontroller; up to 512 kB flash and
96 kB SRAM; USB Device/Host/OTG; Ethernet; LCD; EMC
Rev. 5 — 9 September 2014Product data sheet
1. General description
The LPC178x/7x is an ARM Cortex-M3 based microcontroller for embedded applications
requiring a high level of integration and low power dissipation.
The ARM Cortex-M3 is a next generation core that of fers better performance than the
ARM7 at the same clock rate and other system enhancements such as modernized
debug features and a higher level of support block integration. The ARM Cortex-M3 CPU
incorporates a 3-stage pipeline and has a Harvard architecture with separate local
instruction and data buses, as well as a third bus with slightly lower performance for
peripherals. The ARM Cortex-M3 CPU also includes an internal prefetch unit that
supports speculative branches.
The LPC178x/7x adds a specialized flash memory accelerator to accomplish optimal
performance when executing code from flash. The LPC178x/7x operates at up to
120 MHz CPU frequency.
The peripheral complement of the LPC178x/7x includes up to 512 kB of flash program
memory, up to 96 kB of SRAM data memory, up to 4032 byte of EEPROM data memory,
External Memory Controller (EMC), LCD (LPC178x only), Ethernet, USB
Device/Host/OTG, a General Purpose DMA controller, five UARTs, three SSP controllers,
2
three I
two general purpose PWMs with six outputs each and one motor control PWM, an
ultra-low power RTC with separa te battery supply and event recorder, a windowed
watchdog timer, a CRC calculation engine, up to 165 general purpose I/O pins, and more.
The analog peripherals include one eight-channel 12-bit ADC and a 10-bit DAC.
The pinout of LPC178x/7x is intended to allow pin function compatibility with the LPC24xx
and LPC23xx.
For additional documentation, see Section 18 “
C-bus interfaces, a Quadrature Encoder Interface, four general purpose timers,
2. Features and benefits
Functional replacement for the LPC23xx and LPC24xx family devices.
System:
ARM Cortex-M3 processor, running at frequencies of up to 120 MHz. A Memory
Protection Unit (MPU) supporting eight regions is included.
ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).
References”.
NXP Semiconductors
32-bit ARM Cortex-M3 microcontroller
Multilayer AHB matrix interconnect provides a separate bus for each AHB master.
AHB masters include the CPU, USB, Ethernet, and the General Purpose DMA
controller. This interconnect provides communication with no arbitration delays
unless two masters attempt to access the same slave at the same time.
Split APB bus allows for higher throughput with fewer stalls between the CPU and
DMA. A single level of write buffering allows the CPU to continue without waiting for
completion of APB writes if the APB was not already busy.
Cortex-M3 system tick timer, including an external clock input option.
Standard JTAG test/debug interface as well as Serial Wire Debug and Serial
Up to 512 kB on-chip flash program memory with In-System Programming (ISP)
and In-Application Programming (IAP) capabilities. The combination of an
enhanced flash memory accelerator and location of the flash memory on the CPU
local code/data bus provides high code performance from flash.
Up to 96 kB on-chip SRAM includes:
64 kB of main SRAM on the CPU with local code/data bus for high-performance
CPU access.
Two 16 kB peripheral SRAM blocks with se parate access paths for higher
throughput. These SRAM blocks may be used for DMA memory as well as for
general purpose instruction and data storage.
Up to 4032 byte on-chip EEPROM.
LCD controller, supporting both Super-Twisted Nematic (STN) and Thin-Film
Transistors (TFT) displays.
Dedicated DMA controller.
Selectable display resolution (up to 1024 768 pixels).
Supports up to 24-bit true-color mode.
External Memory Controller (EMC) provides support for asynchronous static memory
devices such as RAM, ROM and flash, as well as dynamic memories such as single
data rate SDRAM with an SDRAM clock of up to 80 MHz.
Eight channel General Purpose DMA controller (GPDMA) on the AHB multilayer
matrix that can be used with the SSP, I2S, UART, CRC engine, Analog-to-Digital and
Digital-to-Analog converter peripherals, timer match signals, GPIO, and for
memory-to-memory transfers.
Serial interfaces:
Ethernet MAC with MII/RMII interface and associated DMA controller. These
functions reside on an independent AHB.
USB 2.0 full-speed dual-port device/host/OTG controller with on-chip PHY and
associated DMA controller.
Five UARTs with fractional baud rate generation, internal FIFO, DMA support, and
RS-485/EIA-485 support. One UART (UAR T1) has full modem control I/O, and one
UART (USART4) supports IrDA, synchronous mode, and a smart card mode
conforming to ISO7816-3.
Three SSP controllers with FIFO and multi-protocol capabilities. The SSP
Product data sheetRev. 5 — 9 September 2014 2 of 122
LPC178x/7x
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Three enhanced I2C-bus interfaces, one with a true open-drain output supporting
the full I
with standard port pins. Enhancement s include multiple address recognition and
monitor mode.
2
I
with the GPDMA.
CAN controller with two channels.
Digital peripherals:
SD/MMC memory card interface.
Up to 165 General Purpose I/O (GPIO) pins depending on the packaging with
configurable pull-up/down resistors, open-drain mode, and repeater mode. All
GPIOs are located on an AHB bus for fast access and support Cortex-M3
bit-banding. GPIOs can be accessed by the General Purpose DMA Controller. Any
pin of ports 0 and 2 can be used to generate an interrupt.
T wo external interrupt in puts configurable as e dge/level sensitive. All pi ns on port 0
and port 2 can be used as edge sensitive interrupt sources.
Four general purpose timers/counters with a total of eight capture inputs and ten
compare outputs. Each timer block has an external count input. Specific timer
events can be selected to generate DMA requests.
Quadrature encoder interface that can monitor one external quadrature encoder.
Two standard PWM/timer blocks with external count input option.
One motor control PWM with support for three-phase motor control.
Real-Time Clock (RTC) with a separate power domain. The RTC is clocked by a
dedicated RTC oscillator. The RTC block includes 20 bytes of battery-powered
backup registers, allowing system status to be stored when the rest of the chip is
powered off. Battery power can be supplied from a sta ndard 3 V lithiu m button cell.
The RTC will continue working when the battery voltage drops to as low as 2.1 V.
An RTC interrupt can wake up the CPU from any reduced power mode.
Event Recorder that can capture the clock value when an event occurs on any of
three inputs. The event identification and the time it occurred are stored in
registers. The Event Recorder is located in the RTC power domain and can
therefore operate as long as there is RTC power.
oscillator, watchdog warning interrupt, and safety features.
CRC Engine block can calculate a CRC on supplied data using one of three
standard polynomials. The CRC engine can be used in conjunction with the DMA
controller to generate a CRC without CPU involvement in the data transfer.
Analog peripherals:
12-bit Analog-to-Digital Converter (ADC) with input multiplexing among eight pins,
conversion rates up to 400 kHz, and multiple result registers. The 12-bit ADC can
be used with the GPDMA controller.
10-bit Digital-to-Analog Converter (DAC) with dedicated conversion timer and
GPDMA support.
Power control:
Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep
power-down.
2
C-bus specification and Fast-mode Plus with data rates of 1 Mbit/s, two
S-bus (Inter-IC Sound) interface for digital audio input or output. It can be used
Product data sheetRev. 5 — 9 September 2014 3 of 122
NXP Semiconductors
Clock generation:
Versatile pin function selection feature allows many possibilities for using on-chip
Unique device serial number for identification purposes.
Single 3.3 V power supply (2.4 V to 3.6 V). Temperature range of 40 C to 85 C.
Available as LQFP208, TFBGA208, TFBGA180, and LQFP144 package.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
The Wake-up Interrupt Controller (WIC) allows the CPU to automatically wake up
from any priority interrupt that can occur while the clocks are stopped in
Deep-sleep, Power-down, and Deep power-down mo d es .
Processor wake-up from Power-down mode via any interrupt able to operate
during Power-down mode (includes external interrupts, RTC interrupt, PORT0/2
pin interrupt, and NMI).
Brownout detect with separate threshold for interrupt and forced reset.
On-chip Power-On Reset (POR).
Clock output function that can reflect the main oscillator clock, IRC clock, RTC
clock, CPU clock, USB clock, or the watchdog timer clock.
On-chip crystal oscillator with an operating range of 1 MHz to 25 MHz.
12 MHz Internal RC oscillator (IRC) trimmed to 1% accuracy that can optionally be
used as a system clock.
An on-chip PLL allows CPU operation up to the maximum CPU rate without the
need for a high-frequency crystal. May be run from the main oscillator or the
internal RC oscillator.
A second, dedicated PLL may be used for USB interface in order to allow added
flexibility for the Main PLL settings.
peripheral functions.
3. Applications
Communications:
Industrial/Medical:
Consumer/Appliance:
Automotive:
Point-of-sale terminals, web servers, multi-protocol bridges
Product data sheetRev. 5 — 9 September 2014 8 of 122
NXP Semiconductors
002aaf519
LPC178x/7x
24681012 13 141357911
ball A1
index area
P
N
M
L
K
J
G
E
H
F
D
C
B
A
Transparent top view
LPC178x/7x
108
37
72
144
109
73
1
36
002aaf520
Fig 4.Pin configuration (TFBGA180)
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Fig 5.Pin configuration (LQFP144)
6.2 Pin description
I/O pins on the LPC178x/7x are 5 V tolerant and have input hysteresis unless otherwise
indicated in the table below. Crystal pins, power pins, and reference voltage pins are not
5 V tolerant. In addition, when pins are selected to be ADC inputs, they are no longer 5 V
tolerant and the input voltage must be limited to the volt a ge at the ADC positive re ference
pin (VREFP).
Product data sheetRev. 5 — 9 September 2014 9 of 122
All port pins Pn[m] are multiplexed, and the multiplexed functions appear in Table 3
order defined by the FUNC bits of the corresponding IOCON register up to the highest
used function number. Each port pin can support up to eight multiplexed functions.
IOCON register FUNC values which are reserved are noted as ‘R’ in the pin configuration
table.
in the
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
P0[0] to
P0[31]
[1]
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
Pin LQFP144
Reset state
Description
[2]
Type
I/OPort 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.
P0[0]94U15M10 66
[3]
I; PUI/OP0[0] — General purpose digital input/output pin.
Product data sheetRev. 5 — 9 September 2014 12 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description …continued
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
P0[13]45R2J532
P0[14]69T7M548
P0[15]128 J16H13 89
P0[16]130 J14H14 90
P0[17]126 K17J1287
P0[18]124 K15J1386
P0[19]122 L17J1085
[1]
Pin LQFP144
Reset state
[5]
I; PUI/OP0[13] — General purpose digital input/output pin.
[3]
I; PUI/OP0[14] — General purpose digital input/output pin.
[3]
I; PUI/OP0[15] — General purpose digital input/output pin.
[3]
I; PUI/OP0[16] — General purpose digital input/output pin.
[3]
I; PUI/OP0[17] — General purpose digital input/output pin.
[3]
I; PUI/OP0[18] — General purpose digital input/output pin.
[3]
I; PUI/OP0[19] — General purpose digital input/output pin.
Description
[2]
Type
OUSB_UP_LED2 — USB port 2 GoodLink LED indicator. It is
LOW when the device is configured (non-control endpoints
enabled), or when the 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 the host is enabled and detects activity on
the bus.
I/OSSP1_MOSI — Master Out Slave In for SSP1.
IADC0_IN[7] — A/D converter 0, input 7. When configured as an
ADC input, the digital function of the pin must be disabled.
OUSB_HSTEN2
— Host Enabled status for USB port 2.
I/OSSP1_SSEL — Slave Select for SSP1.
OUSB_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.
OU1_TXD — Transmitter output for UART1.
I/OSSP0_SCK — Serial clock for SSP0.
IU1_RXD — Receiver input for UART1.
I/OSSP0_SSEL — Slave Select for SSP0.
IU1_CTS — Clear to Send input for UART1.
I/OSSP0_MISO — Master In Slave Out for SSP0.
IU1_DCD — Data Carrier Detect input for UART1.
I/OSSP0_MOSI — Master Out Slave In for SSP0.
IU1_DSR — Data Set Ready input for UART1.
OSD_CLK — Clock output line for SD card interface.
I; PUI/OP1[17] — General purpose digital input/output pin.
I/OENET_MDIO — Ethernet MIIM data input and output.
OI2S_RX_MCLK — I2S receive master clock.
[3]
P1[18]66P7L546
I; PUI/OP1[18] — General purpose digital input/output pin.
OUSB_UP_LED1 — It is LOW when the device is configured
(non-control endpoints enabled), or when the 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 the host is
enabled and detects activity on the bus.
OPWM1[1] — Pulse Width Modulator 1, channel 1 output.
IT1_CAP0 — Capture input for Timer 1, channel 0.
-R — Function reserved.
I/OSSP1_MISO — Master In Slave Out for SSP1.
[3]
P1[19]68U6P547
I; PUI/OP1[19] — General purpose digital input/output pin.
OUSB_TX_E1
— Transmit Enable signal for USB port 1 (OTG
transceiver).
OUSB_PPWR1
— Port Power enable signal for USB port 1.
IT1_CAP1 — Capture input for Timer 1, channel 1.
OMC_0A — Motor control PWM channel 0, output A.
I/OSSP1_SCK — Serial clock for SSP1.
OU2_OE — RS-485/EIA-485 output enable signal for UART2.
[3]
P1[20]70U7K649
I; PUI/OP1[20] — General purpose digital input/output pin.
OUSB_TX_DP1 — D+ transmit data for USB port 1 (OTG
transceiver).
OPWM1[2] — Pulse Width Modulator 1, channel 2 output.
IQEI_PHA — Quadrature Encoder Interface PHA input.
IMC_FB0 — Motor control PWM channel 0 feedback input.
I/OSSP0_SCK — Serial clock for SSP0.
OLCD_VD[6] — LCD data.
OLCD_VD[10] — LCD data.
I; PUI/OP1[22] — General purpose digital input/output pin.
IUSB_RCV1 — Differential receive data for USB port 1 (OTG
transceiver).
IUSB_PWRD1 — Power Status for USB port 1 (host power
switch).
OT1_MAT0 — Match output for Timer 1, channel 0.
OMC_0B — Motor control PWM channel 0, output B.
I/OSSP1_MOSI — Master Out Slave In for SSP1.
OLCD_VD[8] — LCD data.
OLCD_VD[12] — LCD data.
[3]
P1[23]76P9N753
I; PUI/OP1[23] — General purpose digital input/output pin.
IUSB_RX_DP1 — D+ receive data for USB port 1 (OTG
transceiver).
OPWM1[4] — Pulse Width Modulator 1, channel 4 output.
IQEI_PHB — Quadrature Encoder Interface PHB input.
IMC_FB1 — Motor control PWM channel 1 feedback input.
I/OSSP0_MISO — Master In Slave Out for SSP0.
OLCD_VD[9] — LCD data.
OLCD_VD[13] — LCD data.
[3]
P1[24]78T9P754
I; PUI/OP1[24] — General purpose digital input/output pin.
IUSB_RX_DM1 — D receive data for USB port 1 (OTG
transceiver).
OPWM1[5] — Pulse Width Modulator 1, channel 5 output.
IQEI_IDX — Quadrature Encoder Interface INDEX input.
IMC_FB2 — Motor control PWM channel 2 feedback input.
I/OSSP0_MOSI — Master Out Slave in for SSP0.
OLCD_VD[10] — LCD data.
OLCD_VD[14] — LCD data.
Product data sheetRev. 5 — 9 September 2014 19 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description
…continued
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
P1[25]80T10L756
[1]
Pin LQFP144
Reset state
[3]
I; PUI/OP1[25] — General purpose digital input/output pin.
Description
[2]
Type
OUSB_LS1
— Low Speed status for USB port 1 (OTG
transceiver).
OUSB_HSTEN1
— Host Enabled status for USB port 1.
OT1_MAT1 — Match output for Timer 1, channel 1.
OMC_1A — Motor control PWM channel 1, output A.
OCLKOUT — Selectable clock output.
OLCD_VD[11] — LCD data.
OLCD_VD[15] — LCD data.
[3]
P1[26]82R10P857
I; PUI/OP1[26] — General purpose digital input/output pin.
OUSB_SSPND1
— USB port 1 Bus Suspend status (OTG
transceiver).
OPWM1[6] — Pulse Width Modulator 1, channel 6 output.
IT0_CAP0 — Capture input for Timer 0, channel 0.
OMC_1B — Motor control PWM channel 1, output B.
I/OSSP1_SSEL — Slave Select for SSP1.
OLCD_VD[12] — LCD data.
OLCD_VD[20] — LCD data.
[3]
P1[27]88T12M961
I; PUI/OP1[27] — General purpose digital input/output pin.
IUSB_INT1
— USB port 1 OTG transceiver interrupt (OTG
transceiver).
IUSB_OVRCR1
— USB port 1 Over-Current status.
IT0_CAP1 — Capture input for Timer 0, channel 1.
OCLKOUT — Selectable clock output.
I; PUI/OP1[28] — General purpose digital input/output pin.
2
I/OUSB_SCL1 — USB port 1 I
C serial clock (OTG transceiver).
IPWM1_CAP0 — Capture input for PWM1, channel 0.
OT0_MAT0 — Match output for Timer 0, channel 0.
OMC_2A — Motor control PWM channel 2, output A.
I/OSSP0_SSEL — Slave Select for SSP0.
OLCD_VD[14] — LCD data.
OLCD_VD[22] — LCD data.
Product data sheetRev. 5 — 9 September 2014 20 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description
…continued
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
P1[29]92U14N10 64
[1]
Pin LQFP144
Reset state
[3]
I; PUI/OP1[29] — General purpose digital input/output pin.
Description
[2]
Type
I/OUSB_SDA1 — USB port 1 I
2
C serial data (OTG transceiver).
IPWM1_CAP1 — Capture input for PWM1, channel 1.
OT0_MAT1 — Match output for Timer 0, channel 1.
OMC_2B — Motor control PWM channel 2, output B.
OU4_TXD — Transmitter output for USART4 (input/output in
Product data sheetRev. 5 — 9 September 2014 23 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description
…continued
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
P2[9]132 H16H1192
[1]
Pin LQFP144
Reset state
[3]
I; PUI/OP2[9] — General purpose digital input/output pin.
Description
[2]
Type
OUSB_CONNECT1 — USB1 SoftConnect control. Signal used to
switch an external 1.5 k resistor under the software control.
Used with the SoftConnect USB feature.
IU2_RXD — Receiver input for UART2.
IU4_RXD — Receiver input for USART4.
I/OENET_MDIO — Ethernet MIIM data input and output.
Product data sheetRev. 5 — 9 September 2014 28 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 3.Pin description
…continued
Not all functions are available on all parts. See Table 2 (Ethernet, USB, LCD, QEI, SD/MMC, DAC pins) and Table 7 (EMC
pins).
Symbol
Pin LQFP208
Ball TFBGA208
Ball TFBGA180
P3[25]56U2M339
[1]
Pin LQFP144
Reset state
[3]
I; PUI/OP3[25] — General purpose digital input/output pin.
Description
[2]
Type
I/OEMC_D[25] — External memory data line 25.
OPWM1[2] — Pulse Width Modulator 1, output 2.
OT0_MAT0 — Match output for Timer 0, channel 0.
[3]
P3[26]55T3K738
I; PUI/OP3[26] — General purpose digital input/output pin.
I/OEMC_D[26] — External memory data line 26.
OPWM1[3] — Pulse Width Modulator 1, output 3.
OT0_MAT1 — Match output for Timer 0, channel 1.
ISTCLK — System tick timer clock input. The maximum STCLK
frequency is 1/4 of the ARM processor clock frequency CCLK.
[3]
P3[27]203 A1--
I; PUI/OP3[27] — General purpose digital input/output pin.
I/OEMC_D[27] — External memory data line 27.
OPWM1[4] — Pulse Width Modulator 1, output 4.
IT1_CAP0 — Capture input for Timer 1, channel 0.
[3]
P3[28]5D2--
I; PUI/OP3[28] — General purpose digital input/output pin.
I/OEMC_D[28] — External memory data line 28.
OPWM1[5] — Pulse Width Modulator 1, output 5.
IT1_CAP1 — Capture input for Timer 1, channel 1.
[3]
P3[29]11F3--
I; PUI/OP3[29] — General purpose digital input/output pin.
I/OEMC_D[29] — External memory data line 29.
OPWM1[6] — Pulse Width Modulator 1, output 6.
OT1_MAT0 — Match output for Timer 1, channel 0.
[3]
P3[30]19H3--
I; PUI/OP3[30] — General purpose digital input/output pin.
I/OEMC_D[30] — External memory data line 30.
OU1_RTS — Request to Send output for UART1. Can also be
configured to be an RS-485/EIA-485 output enable signal for
UART1.
OT1_MAT1 — Match output for Timer 1, channel 1.
[3]
P3[31]25J3--
I; PUI/OP3[31] — General purpose digital input/output pin.
I/OEMC_D[31] — External memory data line 31.
-R — Function reserved.
OT1_MAT2 — Match output for Timer 1, channel 2.
P4[0] to
P4[31]
I/OPort 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.
[3]
P4[0]75U9L652
I; PUI/OP4[0] — General purpose digital input/output pin.
Product data sheetRev. 5 — 9 September 2014 34 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
[1] PU = internal pull-up enabled (for V
DD(REG)(3V3)
= 3.3 V, pulled up to 3.3 V); IA = inactive, no pull-up/down enabled; F = floating; floating
pins, if not used, should be tied to ground or power to minimize power consumption.
[2] I = Input; O = Output; OL = Output driving LOW; G = Ground; S = Supply.
[3] 5 V tolerant pad (5 V tolerant if V
DD(3V3)
present; if V
not present, do not exceed 3.6 V) providing digital I/O functions with TTL
DD(3V3)
levels and hysteresis.
[4] 5 V tolerant standard pad (5 V tolerant if V
DD(3V3)
present; if V
not present, do not exceed 3.6 V) providing digital I/O functions with
DD(3V3)
TTL levels and hysteresis. This pad can be powered by VBAT.
[5] 5 V tolerant pad (5 V tolerant if V
DD(3V3)
present; if V
not present or configured for an analog function, do not exceed 3.6 V)
DD(3V3)
providing digital I/O functions with TTL levels and hysteresis and analog input. When configured as a ADC input, digital section of the
pad is disabled.
[6] 5 V tolerant fast pad (5 V tolerant if V
DD(3V3)
present; if V
not present, do not exceed 3.6 V) providing digital I/O functions with TTL
DD(3V3)
levels and hysteresis.
[7] 5 V tolerant pad (5 V tolerant if V
DD(3V3)
present; if V
not present or configured for an analog function, do not exceed 3.6 V)
DD(3V3)
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.
2
[8] Open-drain 5 V tolerant digital I/O pad, compatible with I
functionality. When power is switched off, this pin connected to the I
C-bus 400 kHz specification. It requires an external pull-up to provide output
2
C-bus is floating and does not disturb the I2C lines. Open-drain
configuration applies to all functions on this pin.
[9] Not 5 V tolerant. 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).
[10] 5 V tolerant pad (5 V tolerant if V
DD(3V3)
present; if V
not present, do not exceed 3.6 V) with 5 ns glitch filter providing digital I/O
DD(3V3)
functions with TTL levels and hysteresis.
[11] Open-drain 5 V tolerant digital I/O pad, compatible with I
functionality. When power is switched off, this pin connected to the I
2
C-bus 1 MHz specification. It requires an external pull-up to provide output
2
C-bus is floating and does not disturb the I2C lines. Open-drain
configuration applies to all functions on this pin.
[12] 5 V tolerant pad (5 V tolerant if V
DD(3V3)
present; if V
not present, do not exceed 3.6 V) with 20 ns glitch filter providing digital I/O
DD(3V3)
function with TTL levels and hysteresis.
[13] This pad can be powered from VBAT.
[14] Pad provides special analog functionality. A 32 kHz crystal oscillator must be used with the RTC. An external clock (32 kHz) can’t be
used to drive the RTCX1 pin.
[15] If the RTC is not used, these pins can be left floating.
[16] 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.
Table 4.Pin allocation table TFBGA208
Not all functions are available on all parts. See Table 2 and Table 7 (EMC pins).
The ARM Cortex-M3 includes three AHB-Lite buses: the system bus, the I-code bus, and
the D-code bus. The I-code and D-code core buses are faster than the system bus and
are used similarly to Tightly Coupled Memory (TCM) interfaces: one bus dedicated for
instruction fetch (I-code) and one bus for data access (D-code). The use of two core
buses allows for simultaneous operations if concur rent operations tar get differ ent devices.
Product data sheetRev. 5 — 9 September 2014 40 of 122
NXP Semiconductors
The LPC178x/7x use a multi-layer AHB matrix to connect the ARM Cortex-M3 buses and
other bus masters to peripherals in a flexible mann e r tha t op timi ze s pe rform a nc e by
allowing peripherals that are on different slaves ports of the matrix to be accessed
simultaneously by different bus masters.
7.2 ARM Cortex-M3 processor
The ARM Cortex-M3 is a general purpose, 32-bit microprocessor, which offers high
performance and very low power consumption. The ARM Cortex-M3 offers ma ny new
features, including a Thumb-2 instruction set, low interrupt latency, hardware division,
hardware single-cycle multiply, interruptable/continuable multiple load and store
instructions, automatic state save and restore for interrupts, tightly integrated interrupt
controller with wake-up interrupt controller, and multiple core buses capable of
simultaneous accesses.
Pipeline techniques are employed so that all pa rts of the p rocessing and memory systems
can operate continuously. Typically, while one instruction is being executed, its successor
is being decoded, and a third instruction is being fetched from memory.
The ARM Cortex-M3 processor is described in detail in the Cortex-M3 Technical
Reference Manual that can be found on official ARM website.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
7.3 On-chip flash program memory
The LPC178x/7x contain up to 512 kB of on-chip flash program memory. A new two-port
flash accelerator maximizes performance for use with the two fast AHB-Lite buses.
7.4 EEPROM
The LPC178x/7x contains up to 4032 byte of on-chip byte-erasable an d
byte-programmable EEPROM data memory.
7.5 On-chip SRAM
The LPC178x/7x contain a total of up to 96 kB on-chip static RAM data memory. This
includes the main 64 kB SRAM, accessible by the CPU and DMA controller on a
higher-speed bus, and up to two additional 16 kB each SRAM blocks situated on a
separate slave port on the AHB multilayer matrix.
This architecture allows CPU and DMA accesses to be spread over three separate RAMs
that can be accessed simultaneously.
7.6 Memory Protection Unit (MPU)
The LPC178x/7x have a Memory Protection Unit (MPU) which can be used to improve the
reliability of an embedded system by protecting critical data within the user application.
The MPU allows separating processing tasks by disallowing access to each other's data,
disabling access to memory regions, allowing memory regions to be defined as re ad-on ly
and detecting unexpected memory accesses that could potentially break the system.
Product data sheetRev. 5 — 9 September 2014 41 of 122
NXP Semiconductors
32-bit ARM Cortex-M3 microcontroller
The MPU separates the memory into distinct regions and implements protection by
preventing disallowed accesses. The MPU support s up to eight regio ns each of which can
be divided into eight subregions. Accesses to memory locations that are not defined in the
MPU regions, or not permitted by the region setting, will cause the Memory Management
Fault exception to take place.
7.7 Memory map
Table 6.LPC178x/177x memory usage and details
Address rangeGeneral UseAddress range details and de s crip tion
0x0000 0000 to
0x1FFF FFFF
0x2000 0000 to
0x3FFF FFFF
0x4000 0000 to
0x7FFF FFFF
0x8000 0000 to
0xDFFF FFFF
0xE000 0000 to
0xE00F FFFF
On-chip non-volatile
memory
On-chip main SRAM0x1000 0000 - 0x1000 FFFFFor devices with 64 kB of main SRAM.
Boot ROM0x1FFF 0000 - 0x1FFF 1FFF8 kB Boot ROM with flash services.
On-chip SRAM
(typically used for
peripheral data)
AHB peripherals0x2008 0000 - 0x200B FFFFSee Figure 6
APB Peripherals0x4000 0000 - 0x4007 FFFFAPB0 Peripherals, up to 32 peripheral blocks of
Off-chip Memory via
the External Memory
Controller
Cortex-M3 Private
Peripheral Bus
0x0000 0000 - 0x0007 FFFFFor devices with 512 kB of flash memory.
0x0000 0000 - 0x0003 FFFFFor devices with 256 kB of flash memory.
0x0000 0000 - 0x0001 FFFFFor devices with 128 kB of flash memory.
0x0000 0000 - 0x0000 FFFFFor devices with 64 kB of flash memory.
0x1000 0000 - 0x1000 7FFFFor devices with 32 kB of main SRAM.
0x1000 0000 - 0x1000 3FFFFor devices with 16 kB of main SRAM.
0x4008 0000 - 0x400F FFFFAPB1 Peripherals, up to 32 peripheral blocks of
16 kB each.
Four static memory chip selects:
0x8000 0000 - 0x83FF FFFFStatic memory chip select 0 (up to 64 MB)
0x9000 0000 - 0x93FF FFFFStatic memory chip select 1 (up to 64 MB)
0x9800 0000 - 0x9BFF FFFFSt atic memory chip select 2 (up to 64 MB)
0x9C00 0000 - 0x9FFF FFFFStatic memory chip select 3 (up to 64 MB)
Four dynamic memory chip selects:
0xA000 0000 - 0xAFFF FFFFDynamic memory chip select 0 (up to 256MB)
0xB000 0000 - 0xBFFF FFFFDynamic memory chip select 1 (up to 256MB)
0xC000 0000 - 0xCFFF FFFFDynamic memory chip select 2 (up to 256MB)
0xD000 0000 - 0xDFFF FFFFDynamic memory chip select 3 (up to 256MB)
0xE000 0000 - 0xE00F FFFFCortex-M3 related functions, includes the NVIC
and System Tick Timer.
LPC178x/7x
for details
The LPC178x/7x incorporate several distinct memory regions, shown in the following
figures. Figure 6
shows the overall map of the entire address space from the user
program viewpoint following reset. The interrupt vector area supports address remapping.
The AHB peripheral area is 2 MB in size, and is divided to allow for up to 128 per ipherals.
The APB peripheral area is 1 MB in size and is divided to allow for up to 64 peripherals.
Each peripheral of either type is allocated 16 kB of space. This allows simplifying the
address decoding for each peripheral.
Product data sheetRev. 5 — 9 September 2014 42 of 122
Product data sheetRev. 5 — 9 September 2014 43 of 122
0x4000 4000
0x4000 8000
0x4000 C000
0x4001 0000
0x4001 8000
0x4002 0000
0x4002 8000
0x4002 C000
0x4003 4000
0x4003 0000
0x4003 8000
0x4003 C000
0x4004 0000
0x4004 4000
0x4004 8000
0x4004 C000
0x4005 C000
0x4006 0000
0x4008 0000
0x4002 4000
0x4001 C000
0x4001 4000
0x4000 0000
APB1 peripherals
0x4008 0000
0x4008 8000
0x4008 C000
0x4009 0000
0x4009 4000
0x4009 8000
0x4009 C000
0x400A 0000
0x400A 4000
0x400A 8000
0x400A C000
0x400B 0000
0x400B 4000
0x400B 8000
0x400B C000
0x400C 0000
0x400F C000
0x4010 0000
SSP0
DAC
timer 2
timer 3
UART2
UART3
USART4
(1)
I2C2
1 - 0 reserved
2
3
4
5
6
7
8
9
10
SSP2
I
2
S
11
12
reserved
motor control PWM
reserved
30 - 17 reserved
13
14
15
16
system control31
reserved
reserved
64 kB main static RAM
(1)
EMC 4 x static chip select
(1)
EMC 4 x dynamic chip select
(1)
reserved
private peripheral bus
0x0000 0000
0 GB
0.5 GB
4 GB
1 GB
0x1000 0000
0x1001 0000
0x1FFF 0000
0x2000 0000
0x2000 8000
0x2008 0000
0x2200 0000
0x200A 0000
0x2400 0000
0x2800 0000
0x4000 0000
0x4008 0000
0x4010 0000
0x4200 0000
0x4400 0000
0x8000 0000
0xA000 0000
0xE000 0000
0xE010 0000
0xFFFF FFFF
reserved
reserved
reserved
reserved
reserved
reserved
APB0 peripherals
0xE004 0000
AHB peripherals
APB1 peripherals
peripheral
SRAM bit-band alias addressing
peripheral bit-band alias addressing
16 kB peripheral SRAM1
(1)
0x2000 4000
16 kB peripheral SRAM0
(1)
LPC178x/7x
0x0008 0000
512 kB on-chip flash
(1)
QEI
(1)
SD/MMC
(1)
APB0 peripherals
WWDT
timer 0
timer 1
UART0
UART1
reserved
reserved
CAN AF RAM
CAN common
CAN1
CAN2
CAN AF registers
PWM0
I
2
C0
RTC/event recorder
+ backup registers
GPIO interrupts
pin connect
SSP1
ADC
22 - 19 reserved
I
2
C1
31 - 24 reserved
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
23
PWM1
8 kB boot ROM
0x0000 0000
0x0000 0400
active interrupt vectors
+ 256 words
I-code/D-code
memory space
002aaf574
reserved
0x1FFF 2000
0x2900 0000
reserved
reserved
0x2008 0000
0x2008 4000
0x2008 8000
0x2008 C000
0x200A 0000
0x2009 C000
AHB peripherals
LCD
(1)
USB
(1)
Ethernet
(1)
GPDMA controller
0
1
2
3
0x2009 0000
CRC engine
4
0x2009 4000
5
0x2009 8000
GPIO
EMC registers
6
7
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
(1) Not available on all parts. See Table 2 and Table 6.
Fig 6.LPC178x/7x memory map
32-bit ARM Cortex-M3 microcontroller
LPC178x/7x
NXP Semiconductors
7.8 Nested Vectored Interrupt Controller (NVIC)
The NVIC is an integral part of the Cortex-M3. The tight coup ling to the CPU allows for low
interrupt latency and efficient processing of late arriving interrupts.
7.8.1 Features
• Controls system exceptions and peripheral interrupts.
• On the LPC178x/7x, the NVIC supports 40 vectored interrupts.
Each peripheral device has one interrupt line con nected to the NVIC but may have several
interrupt flags. Individual interrupt flags may also represent more than one interrupt
source.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Any pin on port 0 and port 2 regardless of the selected function can be programmed to
generate an interrupt on a rising edge, a falling edge, or both.
7.9 Pin connect block
The pin connect block allows selected pins of the microcontroller to have more than one
function. Configuration registers control the multiplexers to allow connection between the
pin and the on-chip peripherals.
Peripherals should be connected to the appropriate pins prior to being activated and prior
to any related interrupt(s) being enabled. Activity of any enabled peripheral function that is
not mapped to a related pin should be considered undefined.
Most pins can also be configured as open-drain outputs or to have a pull-up, p ull-down, o r
no resistor enabled.
7.10 External memory controller
Remark: Supported memory size and type and EMC bus width vary for different parts
(see Table 2
). The EMC pin configuration for each part is shown in Table 7.
Product data sheetRev. 5 — 9 September 2014 45 of 122
NXP Semiconductors
The LPC178x/7x 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.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
See Table 6
7.10.1 Features
• Dynamic memory interface support including single data rate SDRAM.
• Asynchronous static memory device support including RAM, ROM, and flash, with or
without asynchronous page mode.
• Low transaction latency.
• Read and write buffers to reduce latency and to improve performance.
• 8/16/32 data and 16/20/26 address lines wide static memory support.
• 16 bit and 32 bit wide chip select SDRAM memory support.
• Static memory features include:
– Asynchronous page mode read.
– Programmable Wait States.
– Bus turnaround delay.
– Output enable and write enable delays.
– Extended wait.
• Four chip selects for synchronous memory and four chip selects for static memory
devices.
• Power-saving modes dynamically control EMC_CKE and EMC_CLK outputs to
SDRAMs.
• Dynamic memory self-refresh mode controlled by software.
• Controller supports 2048 (A0 to A10), 4096 (A0 to A11), and 8192 (A0 to A12) row
address synchronous memory parts. That is typical 512 MB, 256 MB, and 128 MB
parts, with 4, 8, 16, or 32 data bits per device.
• Separate reset domains allow the for auto-refresh through a chip reset if desired.
for EMC memory access.
Note: Synchronous static memory devices (synchronous burst mode) are not supported.
7.11 General purpose DMA controller
The GPDMA is an AMBA AHB compliant peripheral allowing selected peripherals to have
DMA support.
The GPDMA enables peripheral-to-memory, memory-to-peripheral,
peripheral-to-peripheral, and memory-to-memory transactions. The source and
destination areas can each be either a memory region or a peripheral and can be
accessed through the AHB master. The GPDMA controller allows data transfers between
the various on-chip SRAM areas and supports the SD/MMC card interface, all SSPs, the
2
S, all UARTs, the A/D Converter, and the D/A Converter peripherals. DMA can also be
I
triggered by selected timer match conditions. Memory-to-memory transfers and transfers
to or from GPIO are supported.
Product data sheetRev. 5 — 9 September 2014 46 of 122
NXP Semiconductors
7.11.1 Features
• Eight DMA channels. Each channel can support an unidirectional transfer.
• 16 DMA request lines.
• Single DMA and burst DMA request signals. Each peripheral connected to the DMA
• Memory-to-memory, memory-to-peripheral, peripheral-to-memory, and
• Scatter or gather DMA is supported through the use of linked lists. This means that
• Hardware DMA channel priority.
• AHB slave DMA programming interface. The DMA Controller is programmed by
• One AHB bus master for transferring data. The interface transfers data when a DMA
• 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
• Internal four-word FIFO per channel.
• Supports 8, 16, and 32-bit wide transactions.
• Big-endian and little-endian support. The DMA Controller defaults to little-endian
• An interru pt to the pr ocessor ca n be gene rated o n a DMA comp letion or when a DMA
• Raw interrupt status. The DMA error and DMA count raw interrupt status can be read
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Controller can assert either a burst DMA request or a single DMA requ est. The DMA
burst size is set by programming the DMA Controller.
peripheral-to-peripheral transfe rs ar e su pp or te d.
the source and destination areas do not have to occupy contiguous areas of memory.
writing to the DMA control registers over the AHB slave interface.
request goes active.
efficiently transfer data.
mode on reset.
error has occurred.
prior to masking.
7.12 CRC engine
The Cyclic Redundancy Check (CRC) generator with programmable polynomial settings
supports several CRC standards commonly used. To save system power and bus
bandwidth, the CRC engine supports DMA transfers.
7.12.1 Features
• Supports three common polynomials CRC-CCITT, CRC-16, and CRC-32.
Product data sheetRev. 5 — 9 September 2014 47 of 122
NXP Semiconductors
• Accept any size of data width per write: 8, 16 or 32-bit.
7.13 LCD controller
Remark: The LCD controller is available on parts LPC1788/87/86/85.
The LCD controller provides all of the necessary control signals to interface directly to a
variety of color and monochrome LCD panels. Both ST N (sing le a nd dua l panel) and TFT
panels can be operated. The disp lay resolutio n is selectable and can be up to 1024 768
pixels. Several color modes are provided, up to a 24-bit true-color non-palettized mode.
An on-chip 512-byte color palette allows reducing bus utilization (i.e. memory size of the
displayed data) while still supporting a large number of colors.
The LCD interface includes its own DMA controller to allow it to operate independently of
the CPU and other system functions. A built-in FIFO acts as a buffer for display da ta,
providing flexibility for system timing. Hardware cursor support can further reduce the
amount of CPU time needed to operate the display.
Product data sheetRev. 5 — 9 September 2014 48 of 122
NXP Semiconductors
7.14 Ethernet
Remark: The Ethernet block is available on parts LPC1788/86 and LPC1778/76.
The Ethernet block contains a full featured 10 Mbit/s or 100 Mbit/s Ethernet MAC
designed to provide optimized performance through the use of DMA hardware
acceleration. Features include a generous suite of control registers, half or full duplex
operation, flow control, control frames, hardware acceleration for transmit retry, receive
packet filtering and wake-up on LAN activity. Automatic frame transmission and reception
with scatter-gather DMA off-loads many operations from the CPU.
The Ethernet block and the CPU share the ARM Cortex-M3 D-code and system bus
through the AHB-multilayer matrix to access the various on-chip SRAM blocks for
Ethernet data, control, and status information.
The Ethernet block interfaces between an off-chip Ethernet PHY using the Media
Independent Interface (MII) or Reduced MII (RMII) protocol and the on-chip Media
Independent Interface Management (MIIM) serial bus.
7.14.1 Features
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
• 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.
Product data sheetRev. 5 — 9 September 2014 49 of 122
NXP Semiconductors
• Physical interface:
7.15 USB interface
Remark: The USB Device/Host/OTG controller is available on parts LPC1788/87/86/85
and LPC1778/77/76. The USB Device-only controller is available on parts LPC1774.
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.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
– Attachment of external PHY chip through standar d MII or RMII interface.
– PHY register access is available via the MIIM interface.
Details on typical USB interfacing solutions can be found in Section 14.1
7.15.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 seria l interface e ngine decod es the USB dat a strea m and writes dat a
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.15.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 USB is in the Suspend mode, the LPC178x/7x can enter one of the reduced
power modes and wake up on USB activity.
• Supports DMA transfers with all on-chip SRAM blocks on all non-control endpoints.
• Allows dynamic switching between CPU-controlled and DMA modes.
• Double buffer implementation for Bulk and Isochronous endpoints.
.
7.15.2 USB host controller
The host controller enables full- and low-speed dat a 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 Open Host Controller Interface (OHCI) specification.
Product data sheetRev. 5 — 9 September 2014 50 of 122
NXP Semiconductors
• Two downstream ports.
• Supports per-port power switching.
7.15.3 USB OTG controller
USB OTG is a supplement to the USB 2.0 Specification that augments the capability of
existing mobile devices and USB peripherals by adding host functionality for connection to
USB peripherals.
The OTG Controller integrates the host controller, device controller, and a master-o nly I
interface to implement OTG dual-role device functionality. The dedicated I
controls an external OTG transceiver.
7.15.3.1 Features
• Fully compliant with On-The-Go supplement to the USB 2.0 Specification, Revision
• Hardware support for Host Negotiation Protocol (HNP).
• Includes a programmable timer required for HNP an d Session Request Protocol
• Supports any OTG transceiver compliant with the OTG Transceiver Specification
1.0a.
(SRP).
(CEA-2011), Rev. 1.0.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
2
2
C interface
C
7.16 SD/MMC card interface
Remark: The SD/MMC card interface is available on parts LPC1788/87/86/85 and parts
LPC1778/77/76.
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.16.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 mu ltimedia card bus or a secure d igit al memo ry card bus ho st. The
SD/MMC can be connected to several multimedia cards or a single secure digital
memory card.
• DMA supported through the GPDMA controller.
7.17 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 simult an eou sly. The value of the
output register may be read back as well as the current state of the port pins.
Product data sheetRev. 5 — 9 September 2014 51 of 122
NXP Semiconductors
• GPIO registers are accessed through the AHB multilayer bus so that the fastest
• Mask registers allow treating sets of port bits as a group, leaving other bits
• All GPIO registers are byte and half-word addressable.
• Entire port value can be written in one instruction.
• Support for Cortex-M3 bit banding.
• Support for use with the GPDMA controller.
Additionally, any pin on Port 0 and Port 2 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.17.1 Features
• Bit leve l set and clear registers allow a singl e instruction to set or clear an y number of
• Direction control of individual bits.
• All I/O default to inputs after reset.
• Pull-up/pull-down resistor configuration and open-drain configuration can be
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
possible I/O timing can be achieved.
unchanged.
bits in one port.
programmed through the pin connect block for each GPIO pin.
7.18 12-bit ADC
The LPC178x/7x contain one ADC. It is a single 12-bit successive approximation ADC
with eight channels and DMA support.
7.18.1 Features
• 12-bit successive approximation ADC.
• Input multiplexing among eight pins.
• Power-down mode.
• Measurement range V
• 12-bit conversion rate: up to 400 kHz.
• Individual channels can be selected for conversion.
• Burst conversion mode for single or multiple inputs.
• Optional conversion on transition of input pin or Timer Match signal.
• Individual result registers for each ADC channel to reduce interrupt overhead.
• DMA support.
7.19 10-bit DAC
The LPC178x/7x contain one DAC. The DAC allo ws to generate a variable analog output.
The maximum output value of the DAC is VREFP.
Product data sheetRev. 5 — 9 September 2014 52 of 122
NXP Semiconductors
7.19.1 Features
• 10-bit DAC.
• Resistor string architecture.
• Buffered output.
• Power-down mode.
• Selectable output drive.
• Dedicated conversion timer.
• DMA support.
7.20 UARTs
Remark: USART4 is not available on part LPC1774FBD144.
The LPC178x/7x contain five UARTs. In addition to sta ndard transmit and receive data
lines, UART1 also provides a full modem control handshake interface and support for
RS-485/9-bit mode allowing both software address detection and automatic address
detection using 9-bit mode.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
The UARTs include a fractional baud rate generator. Standard baud rates such as
115200 Bd can be achieved with any crystal frequency above 2 MHz.
7.20.1 Features
• Maximum UART data bit rate of 7.5 MBit/s.
• 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 with out a
need for external crystals of particular values.
• Auto-baud capability.
• Fractional divider for baud rate control, auto baud capabilities and FIFO control
mechanism that enables software flow control implementation.
• Support for RS-485/9-bit/EIA-485 mode and multiprocessor addressing.
• All UARTs have DMA support for both transm it an d re ce ive.
• UART1 equipped with standard modem interface signals. This module also provides
full support for hardware flow control (auto-CTS/RTS).
• USART4 includes an IrDA mode to support infrared communication.
• USART4 supports synchronous mode and a smart card mode conforming to
ISO7816-3.
7.21 SSP serial I/O controller
The LPC178x/7x contain three 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
Product data sheetRev. 5 — 9 September 2014 53 of 122
NXP Semiconductors
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.21.1 Features
• Maximum SSP speed of 33 Mbit/s (master) or 10 Mbit/s (slave).
• Compatible with Motorola SPI, 4-wire Texas Instruments SSI, and National
• 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.22 I2C-bus serial I/O controllers
The LPC178x/7x contain three I2C-bus controllers.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Semiconductor Microwire buses.
2
C-bus is bidirectional for inter-IC control using only two wires: a Serial Clock Line
The I
(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 sla ve mode, de pending o n whether the chip ha s
to initiate a data transfer or is only addressed. The I
controlled by more than one bus master connected to it.
7.22.1 Features
2
• All I
(Fast I
up to 400 kbit/s.
• The I
using pins P5[2] and P5[3].
• Easy to configure as master, slave, or master/slave.
Product data sheetRev. 5 — 9 September 2014 54 of 122
NXP Semiconductors
7.23 I2S-bus serial I/O controllers
The LPC178x/7x contain one I2S-bus interface. The I2S-bus provides a standard
communication interface for digital audio applications.
The I
and one word select signal. The basic I
master, and one slave. The I
and receive channel, each of which can operate as either a master or a slave.
7.23.1 Features
• Th e interface has separate input/output channels each of which can operate in master
• 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,
• Configurable word select period in master mode (separately for I
• Two 8 word FIFO data buffers are provided, one for transmit and one for receive.
• Generates interrupt requests when buffer levels cross a programmable boundary.
• Two DMA requests, controlled by programmable buffer levels. These are connected
• Controls include reset, stop and mute options separately for I
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
2
S-bus specification defines a 3-wire serial bus using one data line, one clock line,
2
S interface on the LPC178x/7x provides a separate transmit
or slave mode.
48) kHz.
to the GPDMA block.
2
S connection has one master , which is always the
2
S input and output).
2
S input and I2S output.
7.24 CAN controller and acceptance filters
The LPC178x/7x contain one CAN controller with two channels.
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 between two 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 op erational dif fer ence 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.24.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.
Product data sheetRev. 5 — 9 September 2014 55 of 122
NXP Semiconductors
• Global Acceptance Filter recognizes 11-bit and 29-bit receive identifiers for all CAN
• Acceptance Filter can provide FullCAN-style automatic reception for selected
• FullCAN messages can generate interrupt s.
7.25 General purpose 32-bit timers/external event counters
The LPC178x/7x include four 32-bit timer/counters.
The timer/counter is designed to count cycles of the system derived clock or an
externally-supplied clock. It can optionally generate interrupts, generate timed DMA
requests, or perform other actions at specified timer values, based on four match
registers. Each timer/counter also includes two capture input s to trap the timer value when
an input signal transitions, optionally generating an interrupt.
7.25.1 Features
• A 32-bit timer/counter with a programmable 32-bit prescaler.
• Counter or timer operation.
• Two 32-bit capture channels per timer, that can take a snapshot of the timer value
• Four 32-bit match registers that allow:
• Up to four external outputs corresponding to match registers, with the following
• Up to two match registers can be used to generate timed DMA requests.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
buses.
Standard Identifiers.
when an input signal transitions. A capture event may also generate an interrupt.
– Continuous operation with optional interrupt generation on match.
– Stop timer on match with optional interrupt generation.
– Reset timer on match with optional interrupt generation.
capabilities:
– Set LOW on match.
– Set HIGH on match.
– Toggle on match.
– Do nothing on match.
7.26 Pulse Width Modulator (PWM)
The LPC178x/7x contain two standard PWMs.
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 LPC17 8x/7x. 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 seve n 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.
Product data sheetRev. 5 — 9 September 2014 56 of 122
NXP Semiconductors
Two match registers can be used to provide a single edge controlled PWM output. One
match register (PWMMR0) controls the PWM cycle rate, by resetting the count upon
match. The other match register controls the PWM edge position. Additional single edge
controlled PWM outputs require only one match re gister 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.26.1 Features
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
• LPC178x/7x has two PWM blocks 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 b ecome
effective.
• Ma y be used as a st andard 32- bit timer/co unter with a prog rammable 32-bit prescaler
if the PWM mode is not enabled.
7.27 Motor control PWM
The LPC178x/7x contain one motor control PWM.
The motor control PWM is a specialized PWM supporting 3-phase motors and other
combinations. Feedback inputs are provided to automatically sense rotor position and use
that information to ramp speed up or down. An abort input is also provided that causes the
Product data sheetRev. 5 — 9 September 2014 57 of 122
NXP Semiconductors
PWM to immediately release all motor drive outputs. At the same time, the motor control
PWM is highly configurable for other generalized timing, counting, capture, and compare
applications.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
The maximum PWM speed is determined by the PWM resolution (n) and the operating
frequency f: PWM speed = f/2
Table 8.PWM spe ed at operating frequency 120 MHz
PWM resolutionPWM speed
6 bit1.875 MHz
8 bit0.468 MHz
10 bit0.1 17 MHz
n
(see Table 8).
7.28 Quadrature Encoder Interface (QEI)
Remark: The QEI is available on parts LPC1788/87/86 and LPC1778/77/76
A quadrature encoder, also known as a 2-channel incremental encoder, converts angular
displacement into two pulse signals. By monitoring both the number of pulses and the
relative phase of the two signals, the user ca n tr ack th e position, d ire ction of rotation, and
velocity. In addition, a third channel, or index signal, can be used to reset the position
counter. The quadrature encoder interface decodes the digital pulses from a quadrature
encoder wheel to integrate position over time and determine direction of rotation. In
addition, the QEI can capture the velocity of the encoder wheel.
7.28.1 Features
• Tracks encoder position.
• Increments/decrements depending on direction.
• Programmable for 2 or 4 position counting.
• Velocity capture using built-in timer.
• Velocity compare function with “less than” interrupt.
• Uses 32-bit registers for position and velocity.
• Three position compare registers with interrupts.
• Index counter for revolution counting.
• Index compare register with interrupts.
• Can combine index and position interrupts to produce an interrupt for whole and
partial revolution displacement.
• Digital filter with programmable delays for encoder input signals.
• Can accept decoded signal inputs (clk and direction).
• Connected to APB.
7.29 ARM Cortex-M3 system tick timer
The ARM Cortex-M3 includes a system tick timer (SYSTICK) that is intended to generate
a dedicated SYSTICK exception at a 10 ms interval. In the LPC178x/7x, this timer can be
clocked from the internal AHB clock or from a device pin.
Product data sheetRev. 5 — 9 September 2014 58 of 122
NXP Semiconductors
7.30 Windowed WatchDog Timer (WWDT)
The purpose of the watchdog is to reset the controller if software fails to periodically
service it within a programmable time window.
7.30.1 Features
• Internally resets chip if not periodically reloaded during the programmable time-out
• Optional windowed operation requires reload to occur between a minimum and
• Optional warning interrupt can be generated at a programmable time prior to
• Ena bled by softwar e but requires a hardware r eset or a watchdog reset/interrupt to be
• Incorrect feed sequence causes reset or interrupt if enabled.
• Flag to indicate watchdog reset.
• Programmable 24-bit timer with internal prescaler.
• Selectable time period from (T
• The Watchdog Clock (WDCLK) source is a dedicated watchdog oscillator, which is
32-bit ARM Cortex-M3 microcontroller
period.
maximum time period, both programmable.
watchdog time-out.
disabled.
cy(WDCLK)
multiples of T
always running if the watchdog timer is enabled.
cy(WDCLK)
4.
256 4) to (T
LPC178x/7x
cy(WDCLK)
224 4) in
7.31 RTC and backup registers
The RTC is a set of counters for measuring ti me when system power is on, and optiona lly
when it is off. The RTC on the LPC178x/7x is designed to have very low power
consumption. The RTC will typically run from the main chip power supply conserving
battery power while the rest of the device is powered up. When operating from a battery,
the RTC will continue working down to 2.1 V. Battery power can be provided from a
standard 3 V lithium button cell.
An ultra-low power 32 kHz oscillator provides a 1 Hz clock to the time counting portion of
the RTC, moving most of the power consumption out of the time counting function.
The RTC includes a calibration mechanism to allow fine-tuning the count rate in a way
that will provide less than 1 second per day error when operated at a constant voltage and
temperature.
The RTC contains a small set of backup registers (20 bytes) for holding data while the
main part of the LPC178x/7x is powered off.
The RTC includes an alarm function that can wake up the LPC178x/7x from all reduced
power modes with a time resolution of 1 s.
7.31.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
Product data sheetRev. 5 — 9 September 2014 59 of 122
NXP Semiconductors
• Dedicated power supply pin can be connected to a battery or to the main 3.3 V.
• Per iodic inter rupt s can be g enerate d from increme nts of a ny field of the time regi sters.
• Backup registers (20 bytes) powered by VBAT.
• RTC power supply is isolated from the rest of the chip.
7.32 Event monitor/recorder
The event monitor/recorder allows recording of tampering events in sealed product
enclosures. Sensors report any attempt to open the enclosure, or to tamper with the
device in any other way. The event monitor/recorder stores records of such events when
the device is powered only by the backup battery.
7.32.1 Features
• Supports three digital event inputs in the VBAT power domain.
• An event is defined as a level change at the digital event inputs.
• For each event channel, two timestamps mark the first and the last occurrence of an
• Runs in VBAT power domain, independent of system power supply. The
• Very low power consumption .
• Interrupt available if system is running.
• A qualified event can be used as a wake-up trigger.
• State of event interrupts accessible by software through GPIO.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
event. Each channel also has a dedicated counter tr acking the total numb er of events.
Timestamp values are taken from the RTC.
event/recorder/monitor can theref or e op er a te in Deep pow er -d ow n mo d e.
7.33 Clocking and power control
7.33.1 Crystal oscillators
The LPC178x/7x include four independent oscillators. These are the main oscillator, the
IRC oscillator, the watchdog oscillator, and the RTC oscillator.
Following reset, the LPC178x/7x will operate from the Internal RC oscillator until switched
by software. This allows systems to operate without any external crystal and the boot
loader code to operate at a known frequency.
Product data sheetRev. 5 — 9 September 2014 60 of 122
for an overview of the LPC178x/7x clock generation.
NXP Semiconductors
IRC oscillator
main oscillator
(osc_clk)
LPC178x/7x
CLKSRCSEL
(system clock select)
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
MAIN PLL0
pll_clk
sysclk
ALT PLL1
sysclk
pll_clk
CCLKSEL
(CPU clock select)
sysclk
pll_clk
alt_pll_clk
USBCLKSEL
(USB clock select)
Fig 7.LPC178x/7x clock generation block diagram
alt_pll_clk
CPU CLOCK
DIVIDER
PERIPHERAL
CLOCK DIVIDER
EMC
CLOCK DIVIDER
USB
CLOCK DIVIDER
cclk
pclk
emc_clk
usb_clk
002aaf531
7.33.1.1 Internal RC oscillator
The IRC may be used as the clock that drives the PLL and subsequently the CPU. The
nominal IRC frequency is 12 MHz. The IRC is trimmed to 1 % accuracy over the entire
voltage and temperature range.
Upon power-up or any chip reset, the LPC178x/7x use the IRC as the clock source.
Software may later switch to one of the other available clock sources.
7.33.1.2 Main oscillator
The main oscillator can be used as the clock source for the CPU, with or without using the
PLL. The main oscillator also provides the clock source for the alternate PLL1.
The main oscillator operates at frequencies of 1 MHz to 25 MHz. This frequency can be
boosted to a higher frequency, up to the maximum CPU operating frequency, by the main
PLL. The clock selected as the PLL input is PLLCLKIN. The ARM processor clock
frequency is referred to as CCLK elsewhere in this document. The frequencies of
PLLCLKIN and CCLK are the same value unless the PLL is active and connected. The
clock frequency for each peripheral can be selected individually and is referred to as
PCLK. Refer to Section 7.33.2
Product data sheetRev. 5 — 9 September 2014 61 of 122
for additional information.
NXP Semiconductors
7.33.1.3 RTC oscillator
The RTC oscillator provides a 1 Hz clock to the RTC and a 32 kHz clock output that can
be output on the CLKOUT pin in order to allow trimming the RTC oscillator without
interference from a probe.
7.33.1.4 Watchdog oscillator
The Watchdog T imer has a dedicated watchdog oscillator that provides a 500 kHz clock to
the Watchdog Timer. The watchdog oscillator is always running if the Watchdog Timer is
enabled. The Watchdog oscillator clock can be output on the CLKOUT pin in order to
allow observe its frequency.
In order to allow Watchdo g Timer operation with minimum power consumption, which can
be important in reduced power modes, the Watchdog oscillator frequency is not tightly
controlled. The Watchdog oscillator frequency will vary over temperature and power
supply within a particular part, and may vary by processing across different parts. This
variation should be taken into account when determin ing Watchdog reload values .
Within a particular part, temperature and power supply variations can produce up to a
17 % frequency variation. Frequency variation between devices under the same
operating conditions can be up to 30 %.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
7.33.2 Main PLL (PLL0) and Alternate PLL (PLL1)
PLL0 (also called the Main PLL) and PLL1 (also called the Alternate PLL) are functionally
identical but have somewhat different input possibilities and output connections. These
possibilities are shown in Figure 7
or the main oscillator and can potentially be used to provide the clocks to nearly
everything on the device. The Alternate PLL receives its input only from the main oscillator
and is intended to be used as an alternate source of clocking to the USB. The USB has
timing needs that may not always be filled by the Main PLL.
Both PLLs are disabled and powered of f on reset. If the Alternate PLL is left disabled, the
USB clock can be supplied by PLL0 if everything is set up to provide 48 MHz to the USB
clock through that route. The source for each clock must be selected via the CLKSEL
registers and can be further reduced by clock dividers as needed.
PLL0 accepts an input clock frequency from either the IRC or the main oscillator. If only
the Main PLL is used, then its output frequency must be an integer multiple of all other
clocks needed in the system. PLL1 takes its input only from the main oscillator, requiring
an external crystal in the range of 10 to 25 MHz. In each PLL, the Current Controlled
Oscillator (CCO) operates in the range of 156 MHz to 320 MHz, so there are additional
dividers to bring the output down to the desired frequencies. The minimum output divider
value is 2, insuring that the output of the PLLs have a 50 % duty cycle.
If the USB is used, the possibilities for the CPU clock and other clocks will be limited by
the requirements that the frequency be precise and very low jitter, and that the PLL0
output must be a multiple of 48 MHz. Even multiples of 48 MHz that are within the
operating range of the PLL are 192 MHz and 288 MHz. Also, only the main oscillator in
conjunction with the PLL can meet the precision and jitter specifications for USB. It is du e
to these limitations that the Alternate PLL is provided.
. The Main PLL can receive its input from either the IRC
Product data sheetRev. 5 — 9 September 2014 62 of 122
NXP Semiconductors
The alternate PLL accepts an input clock frequency from the main oscillator in the range
of 10 MHz to 25 MHz only. When used as the USB clock, the input fre quency is multiplied
up to a multiple of 48 MHz (192 MHz or 288 MHz as described above).
7.33.3 Wake-up timer
The LPC178x/7x begin operation at power-up and when awakened fr om Power-down
mode by using the 12 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 sof twa re 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 mode, any wake-up of the
processor from Power-down mode makes use of the wake-up Timer.
The wake-up timer monitors the crystal oscillator to check whether it is safe to begin code
execution. When power is applied to the chip, or when some event caused the chip to exit
Power-down mode, some time is required for the oscillator to produce a signal of sufficient
amplitude to drive the clock logic. The amount of time depen ds on many factors, including
the rate of V
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.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
ramp (in the case of power on), the type of crystal and its electrical
DD(3V3)
7.33.4 Power control
The LPC178x/7x support a variety of power control features. There are four special
modes of processor power reduction: Sleep mode, Deep-sleep mode, Po wer-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, the 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 integrated PMU (Power Management Unit) automatically adjusts internal regulators
to minimize power consumption during Sleep, Deep-sleep, Power-down, and Deep
power-down modes.
The LPC178x/7x also implement a separate power domain to allow turning off power to
the bulk of the device while maintaining operation of the RTC and a small set of registers
for storing data during any of the power-down modes.
7.33.4.1 Sleep mode
When Sleep mode is entered, the clock to the core is stopped. Resumption from the Sleep
mode does not need any special sequence other than re-enabling the clock to the ARM
core.
Product data sheetRev. 5 — 9 September 2014 63 of 122
NXP Semiconductors
In Sleep mode, execution of instructions is suspended until either a Reset or interrupt
occurs. Peripheral functions continue operation during Sleep mode and may generate
interrupts to cause the processor to resume execution. Sleep mode eliminates dynamic
power used by the processor itself, memory systems and related controllers, and internal
buses.
The DMA controller can continue to work in Sleep mode and has a ccess to the p eriphe ral
RAMs and all peripheral registers. The flash memory and the main SRAM are not
available in Sleep mode, they are disabled in order to save power.
Wake-up from Sleep mode will occur whenever any enabled interrupt occurs.
7.33.4.2 Deep-sleep mode
In Deep-sleep mode, the oscillator is shut down and the chip receives no internal clocks.
The processor state and registers, peripheral registers, and internal SRAM values are
preserved throughout Deep-sleep mode and the logic levels of chip pins remain static.
The output of the IRC is disabled but the IRC is not powered down to allow fast wake-up.
The RTC oscillator is not stopped because the RTC interrupts may be used as the
wake-up source. The PLL is automatically turned off and disconnected. The clock divider
registers are automatically reset to zero.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
The Deep-sleep mode can be terminated and normal operation resumed by either a
Reset or certain specific interrupts that are able to function without clocks. Since all
dynamic operation of the chip is suspended, Deep-sleep mode reduces chip p ower
consumption to a very low value. Power to the flash memory is left on in Deep-sleep
mode, allowing a very quick wake-up.
Wake-up from Deep-sleep mode can initiated by the NMI, External Interrupts EINT0
through EINT3
an RTC Alarm interrupt, a USB input pin transition (USB activity interrupt), a CAN input
pin transition, or a Watchdo g Timer time-out, when the related interrupt is enabled.
Wake-up will occur whenever any enabled interrupt occurs.
On wake-up from Deep-sleep mode, the code execution and peripherals activities will
resume after four cycles expire if the IRC was used before entering Deep-sleep mode. If
the main external oscillator was used, the code execution will resume when 4096 cycles
expire. PLL and clock dividers need to be reconfigured accordingly.
7.33.4.3 Power-down mode
Power-down mode does everything that Deep-sleep mode does but also turns off the
power to the IRC oscillator and the flash memory. This saves more power but requires
waiting for resumption of flash operation before execution of code or data access in the
flash memory can be accomplished.
When the chip enters Power-down mode, the IRC, the main oscillator, and all clocks are
stopped. The RTC remains running if it has been enabled and RTC interrupts may be
used to wake up the CPU. The flash is forced into Power-down mode. The PLLs are
automatically turned off and the clock selection multiplexers are set to use the system
clock sysclk (the reset state). The clock divider control registers are automatically reset to
zero. If the Watchdog timer is running, it will continue running in Power-down mode.
, GPIO interrupts, the Ethernet Wake-on -LAN interrupt, Brownout Detect,
Product data sheetRev. 5 — 9 September 2014 64 of 122
NXP Semiconductors
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, four 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 12 MHz IRC clock cycles to make the
100 s flash start-up time. When it times out, access to the flash will be allowed. Users
need to reconfigure the PLL and clock dividers accordingly.
7.33.4.4 Deep power-down mode
In Deep power-down mode, power is shut off to the entire chip with the exception of the
RTC module and the RESET pin.
To optimize power conservation, the user has the additional option of turning off or
retaining power to the 32 kHz oscillator. It is also possible to use external circuitry to turn
off power to the on-chip regulator via the V
V
DD(3V3)
device operation can be restarted.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
DD(REG)(3V3)
pins after entering Deep Power-down mode. Power must be restored before
pins and/or the I/O power via the
The LPC178x/7x can wake up from Deep power-down mode via the RESET
alarm match event of the RTC.
7.33.4.5 Wake-up Interrupt Controller (WIC)
The WIC allows the CPU to automatically wake up from any enabled prior ity inte rrupt tha t
can occur while the clocks are stopped in Deep-sleep, Power-down, and Deep
power-down modes.
The WIC works in connection with the Nested Vectored Interrupt Controller (NVIC). When
the CPU enters Deep-sleep, Power-down, or Deep power-down mode, the NVIC se nds a
mask of the current interrupt situation to the WIC.This mask includes all of the interrupts
that are both enabled and of sufficient priority to be serviced immediately. With this
information, the WIC simply notices when one of the interrupts has occurred and then it
wakes up the CPU.
The WIC eliminates the need to periodically wake up the CPU and poll the interrupts
resulting in additional power savings.
7.33.5 Peripheral power control
A power control for peripherals feature allows individual peripherals to be turned off if they
are not needed in the application, resulting in additional power savings.
7.33.6 Power domains
pin or an
The LPC178x/7x provide two independent power domains that allow the bulk of the
device to have power removed while maintaining operation of the RTC and the backup
registers.
On the LPC178x/7x, I/O pads are powered by V
DD(3V3)
, while V
DD(REG)(3V3)
powers the
on-chip voltage regulator which in turn provides power to the CPU and most of the
peripherals.
Depending on the LPC178x/7x application, a design can use two power options to
manage power consumption.
Product data sheetRev. 5 — 9 September 2014 65 of 122
NXP Semiconductors
REAL-TIME CLOCK
BACKUP REGISTERS
REGULATOR
32 kHz
OSCILLATOR
POWER
SELECTOR
ULTRA-LOW
POWER
REGULATOR
RTC POWER DOMAIN
MAIN POWER DOMAIN
002aaf530
RTCX1
VBAT
(typical 3.0 V)
V
DD(REG)(3V3)
(typical 3.3 V)
RTCX2
V
DD(3V3)
V
SS
to memories,
peripherals,
oscillators,
PLLs
to core
to I/O pads
ADC
DAC
ADC POWER DOMAIN
V
DDA
VREFP
V
SSA
LPC178x/7x
The first option assumes that power consumption is not a concern and the design ties the
V
DD(3V3)
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.
and V
DD(REG)(3V3)
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
pins together. This approach requires only one 3.3 V power
The second option uses two power supplies; a 3.3 V supply for the I/O pads (V
a dedicated 3.3 V supply for the CPU (V
DD(REG)(3V3)
). Having the on-chip voltage regulator
DD(3V3)
) and
powered independently from the I/O pad ring enables shutting down of the I/O pad power
supply “on the fly” while the CPU and peripherals stay active.
The VBAT pin supplies power only to the RTC domain. The RTC operates at very low
power, which can be supplied by an external battery. The device core power
(V
DD(REG)(3V3)
) is used to operate the RTC whenever V
power drain from the RTC battery when V
V
Product data sheetRev. 5 — 9 September 2014 66 of 122
NXP Semiconductors
7.34 System control
7.34.1 Reset
Reset has four sources on the LPC178x/7x: the RESET pin, the Watchdog reset,
Power-On Reset (POR), and the BrownOut Detection (BOD) circuit. The RESET
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.33.3
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.34.2 Brownout detection
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
pin is a
), causing reset to remain asserted until the external Reset is de-asserted,
The LPC178x/7x include 2-stage monitoring of the volt age on the V
voltage falls below 2.2 V (typical), the BOD asserts an interrupt signal to the Vectored
Interrupt Controller. This signal can be enabled for interrupt in the Interrupt Enable
Register in the NVIC in order to cause a CPU interrupt; if not, software can monitor the
signal by reading a dedicated status register.
The second stage of low-voltage detection asserts a reset to inactivate the LPC178x/7x
when the voltage on the V
alteration of the flash as operation of the vario us elem en ts of the chip woul d oth erwise
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.2 V and 1.85 V thresholds include some hysteresis. In normal operation, this
hysteresis allows the 2.2 V detection to reliably interrupt, or a regularly executed event
loop to sense the condition.
DD(REG)(3V3)
pins falls below 1.85 V (typical). This reset prevents
7.34.3 Code security (Code Read Protection - CRP)
This feature of the LPC178x/7x allows user to enable different levels of security in the
system so that access to the on-chip flash and use of the JT AG 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.
DD(REG)(3V3)
pins. If this
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
JT AG 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.
Product data sheetRev. 5 — 9 September 2014 67 of 122
NXP Semiconductors
CAUTION
7.34.4 APB interface
The APB peripherals are split into two separate APB buses in order to distribute the bus
bandwidth and thereby reducing stalls caused by contention between the CPU and the
GPDMA controller.
7.34.5 AHB multilayer matrix
The LPC178x/7x use an AHB multilayer matrix. This matrix connects the instruction
(I-code) and data (D-code) CPU buses of the ARM Cortex-M3 to the flash memory, the
main (64 kB) SRAM, and the Boot ROM. The GPDMA can also access all of these
memories. Additionally, the matrix connects the CPU system bus and all of the DMA
controllers to the various peripheral function s.
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
If level three Code Read Protection (CRP3) is selected, no future factory testing can be
performed on the device.
7.34.6 External interrupt inputs
The LPC178x/7x include up to 30 edge sensitive interrupt inputs combined with one level
sensitive external interrupt input as selectable pin function. The external interrupt input
can optionally be used to wake up the processor from Power-down mode.
7.34.7 Memory mapping control
The Cortex-M3 incorporates a mechanism that allows remapping the interrupt vector table
to alternate locations in the memory map. This is controlled via the Vector Table Offset
Register contained in the NVIC.
The vector table may be located anywhere within the bottom 1 GB of Cortex-M3 address
space. The vector table must be located on a 128 word (512 byte) boundary because the
NVIC on the LPC178x/7x is configured for 128 total interrupts.
7.35 Debug control
Debug and trace functions are integrated into the ARM Cortex-M3. Serial wire debug and
trace functions are supported in addition to a standard JTAG debug and parallel trace
functions. The ARM Cortex-M3 is configured to support up to eight breakpoints and four
watch points.
Product data sheetRev. 5 — 9 September 2014 68 of 122
NXP Semiconductors
8. Limiting values
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 9.Limiting values
In accordance with the Absolute Maximum Rating System (IEC 60134).
[1]
SymbolParameterConditionsMinMaxUnit
V
DD(3V3)
V
DD(REG)(3V3)
V
DDA
V
i(VBAT)
V
i(VREFP)
V
IA
supply voltage (3.3 V)external rail2.43.6V
regulator supply voltage (3.3 V)2.43.6V
analog 3.3 V pad supply voltage0.5+4.6V
input voltage on pin VBATfor the RTC0.5+4.6V
input voltage on pin VREFP0.5+4.6V
analog input voltageon ADC related
storage temperaturenon-operating
total power dissipation (per package)based on package
[4]
65+150C
-1.5W
heat transfer, not
device power
consumption
V
ESD
electrostatic discharge voltagehuman body
[5]
-4000V
model; all pins
[1] The following applies to the limiting values:
a) This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive
static charge. Nonetheless, it is suggested that conventional precautions be taken to avoid applying greater than the rated
maximum.
b) Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to V
otherwise noted.
[2] Including voltage on outputs in 3-state mode.
[3] Not to exceed 4.6 V.
[4] The maximum non-operating storage temperature is different than the temperature for required shelf life which should be determined
based on the required shelf lifetime. Please refer to the JEDEC spec for further details.
[5] Human body model: equivalent to discharging a 100 pF capacitor through a 1.5 k series resistor.
Product data sheetRev. 5 — 9 September 2014 72 of 122
bus supply voltage
[20]
--5.25V
[1]
MaxUnit
DD(3V3)
V
--V
DD(3V3)
V
--V
--V
DD(3V3)
V
-V
V
DD(3V3)
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 13. Static characteristics
T
=40C to +85C, unless otherwise specified.
amb
…continued
SymbolParameterConditionsMinTyp
V
DI
differential input
(D+) (D)
[20]
0.2--V
sensitivity voltage
V
CM
differential common
includes VDI range
[20]
0.8-2.5V
mode voltage range
V
th(rs)se
single-ended receiver
[20]
0.8-2.0V
switching threshold
voltage
V
OL
LOW-level output
RL of 1.5 k to 3.6 V
[20]
--0.18V
voltage for
low-/full-speed
V
OH
HIGH-level output
RL of 15 k to GND
[20]
2.8-3.5V
voltage (driven) for
low-/full-speed
C
trans
transceiver capacitance pin to GND
Oscillator pins (see Section 14.2
V
i(XTAL1)
input voltage on pin
)
[20]
--20pF
0.51.81.95V
XTAL1
V
o(XTAL2)
output voltage on pin
0.51.81.95V
XTAL2
V
i(RTCX1)
input voltage on pin
0.5-3.6V
RTCX1
V
o(RTCX2)
output voltage on pin
0.5-3.6V
RTCX2
[1]
MaxUnit
[1] Typical ratings are not guaranteed. The values listed are at room temperature (25 C), nominal supply voltages.
[2] For USB operation 3.0 V V
[3] V
[4] The RTC typically fails when V
[5] V
[6] Boost control bits in the PBOOST register set to 0x0 (see LPC178x/7x User manual UM10470).
[7] Boost control bits in the PBOOST register set to 0x3 (see LPC178x/7x User manual UM10470).
[8] IRC running at 12 MHz; main oscillator and PLL disabled; PCLK = CCLK/4.
[9] BOD disabled.
[10] On pin VBAT; V
[11] On pin VBAT; V
[12] All internal pull-ups disabled. All pins configured as output and driven LOW. V
[13] V
[14] V
[15] Including voltage on outputs in 3-state mode.
[16] V
[17] 3-state outputs go into 3-state mode in Deep power-down mode.
[18] Allowed as long as the current limit does not exceed the maximum current allowed by the device.
[19] To V
[20] 3.0 V V
Product data sheetRev. 5 — 9 September 2014 75 of 122
NXP Semiconductors
10.2 Peripheral power consumption
The supply current per peripheral is measured a s the difference in supply current between
the peripheral block enabled and the peripher al block disabled in the PCONP register. All
other blocks are disabled and no code is executed. Measured on a typical sample at
T
amb
48 MHz, and 120 MHz.
The combined current of several peripherals running at the same time can be less than
the sum of each individual peripheral current measured separately.
Table 14. Power consumption for individual analog and digital blocks
Product data sheetRev. 5 — 9 September 2014 76 of 122
NXP Semiconductors
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
Table 14. Power consumption for individual analog and digital blocks
T
=25C; V
amb
Peripheral
DD(REG)(3V3)
= V
DD(3V3)
= V
= 3.3 V; PCLK = CCLK/4.
DDA
ConditionsTypical supply current in mA
…continued
12 MHz
[1]
48 MHz
[1]
120 MHz
EMC-0.823.177.63
RTC-0.010.010.05
USB + PLL1-0.620.971.67
EthernetPCENET bit set
0.542.085.03
to 1 in the
PCONP register
[1] Boost control bits in the PBOOST register set to 0x0 (see LPC178x/7x User manual UM10470).
[2] Boost control bits in the PBOOST register set to 0x3 (see LPC178x/7x User manual UM10470).
[1] Refers to SDRAM clock signal EMC_CLKx.
[2] CLKDLY = CLKOUTnDLY, where n = 0, 1.
[3] The data input set-up time has to be selected with the following margin:
t
+ delay time of feedback clock SDRAM access time board delay time 0.
su(D)
[4] The data input hold time has to be selected with the following margin:
t
+ SDRAM access time board delay time delay time of feedback clock 0.
[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.
internal RC oscillator frequency11.881212.12MH z
RTC input frequency-32.768-kHz
Product data sheetRev. 5 — 9 September 2014 87 of 122
NXP Semiconductors
1 1.6 SSP interface
Table 24.Dynamic characteristics: SSP pins in SPI mode
CL=10pF, T
SymbolParameterConditionsMinMaxUnit
SSP master
T
cy(clk)
t
DS
t
DH
t
v(Q)
t
h(Q)
SSP slave
T
cy(clk)
t
DS
t
DH
t
v(Q)
t
h(Q)
[1] The minimum clock cycle time, and therefore the maximum frequency of the SSP in master mode, is limited
[2] T
[3] T
[4] T
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
=40C to 85C, V
amb
clock cycle timefull-duplex
data set-up time in SPI mode
data hold timein SPI mode
data output valid time in SPI mode
data output hold time in SPI mode
clock cycle time
data set-up time in SPI mode
data hold timein SPI mode
data output valid time in SPI mode
data output hold time in SPI mode
by the pin electronics to the value given. The SSP block should not be configured to generate a clock faster
than that. At and below the maximum frequency, T
5The clock cycle time derived from the SPI bit rate T
SSP peripheral clock divider (SSPCLKDIV), the SSP SCR parameter (specified in the SSP0CR0 register),
and the SSP CPSDVSR parameter (specified in the SSP clock prescale register).
= 40 C to 85 C; V
amb
= 12 T
cy(clk)
= 25 C; V
amb
cy(PCLK)
DD(3V3)
. The maximum clock rate in slave mode is 1/12th of the PCLK rate.
[1] See the I2C-bus specification UM10204 for details.
[2] Parameters are valid over operating temperature range unless otherwise specified.
[3] tHD;DA T is the data hold time that is measured from the falling edge of SCL; applies to data in transmission
and the acknowledge.
[4] A device must internally provide a hold time of at least 300 ns for the SDA signal (with respect to the
(min) of the SCL signal) to bridge the undefined region of the falling edge of SCL.
V
IH
= total capacitance of one bus line in pF.
[5] C
b
[6] The maximum t
output stage t
SDA and the SCL pins and the SDA/SCL bus lines without exceeding the maximum specified t
[7] In Fast-mode Plus, fall time is specified the same for both output stage and bus timing. If series resistors
are used, designers should allow for this when considering bus timing.
[8] The maximum t
the maximum of t
the device does not stretch the LOW period (t
data must be valid by the set-up time before it releases the clock.
[9] tSU;DAT is the data set-up time that is measured with respect to the rising edge of SCL; applies to data in
transmission and the acknowledge.
[10] A Fast-mode I
250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period
of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next
data bit to the SDA line t
specification) before the SCL line is released. Also the acknowledge timing must meet this set-up time.
Product data sheetRev. 5 — 9 September 2014 92 of 122
=40C to 85C, V
amb
= 3.0 V to 3.6 V. Values guaranteed by design.
DD(3V3)
clock frequencyon pin LCD_DCLK -50MHz
data output valid delay time-12ns
data output hold time0.5-ns
NXP Semiconductors
002aag204
SD_CLK
SD_DATn (O)
SD_DATn (I)
t
d(QV)
t
h(D)
t
su(D)
T
cy(clk)
t
h(Q)
SD_CMD (O)
SD_CMD (I)
Fig 26. LCD timing
11.10SD/MMC
Remark: The SD/MMC card interface is available on parts LPC1788/87/86 and parts
LPC1778/77/76.
Table 28.Dynamic characteristics: SD/MMC
=10pF, T
C
L
SymbolParameterConditionsMinMaxUnit
f
clk
t
su(D)
t
h(D)
t
d(QV)
t
h(Q)
LPC178x/7x
32-bit ARM Cortex-M3 microcontroller
T
cy(clk)
LCD_DCLK
t
d(QV)
LCD_VD[n]
The LCD panel clock is shown with the default polarity. The clock can be inverted via the IPC bit in
the LCD_POL register. T ypically, the LCD panel uses the falling edge of the LCD_DCLK to sample
the data.
=40C to 85C, V
amb
= 3.0 V to 3.6 V. Values guaranteed by design.
DD(3V3)
clock frequencyon pin SD_CLK; data transfer mode-25MHz
on pin SD_CLK; identification mode25MHz
data input set-up time on pins SD_CMD, SD_DAT[3:0] as
inputs
data input hold timeon pins SD_CMD, SD_DAT[3:0] as
inputs
data output valid
delay time
on pins SD_CMD, SD_DAT [3:0] as
outputs
data output hold time on pins SD_CMD, SD_DAT[3:0] as