
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
800 of 808
continued >>
NXP Semiconductors
UM10360
Chapter 35: LPC17xx Supplementary information
C Data buffer register (I2DATA_BUFFER: I
2
C0,
I2CDATA_BUFFER - 0x4001 C02C; I
2
C1,
I2C1DATA_BUFFER- 0x4005 C02C; I
2
C2,
I2C2DATA_BUFFER- 0x400A 002C) . . . . . . 419
C Slave Address registers (I2ADR0 to 3: I
2
C0,
I2C0ADR[0, 1, 2, 3]- 0x4001 C0[0C, 20, 24, 28];
I
2
C1, I2C1ADR[0, 1, 2, 3] - address
0x4005 C0[0C, 20, 24, 28]; I
2
C2, I2C2ADR[0, 1, 2,
3] - address 0x400A 00[0C, 20, 24, 28]). . . . 420
C Mask registers (I2MASK0 to 3: I
2
C0,
I2C0MASK[0, 1, 2, 3] - 0x4001 C0[30, 34, 38, 3C];
I
2
C1, I2C1MASK[0, 1, 2, 3] - address
0x4005 C0[30, 34, 38, 3C]; I
2
C2, I2C2MASK[0, 1,
2, 3] - address 0x400A 00[30, 34, 38, 3C]). . 420
C SCL HIGH duty cycle register (I2SCLH: I
2
C0,
I2C0SCLH - 0x4001 C010; I
2
C1, I2C1SCLH -
0x4005 C010; I
2
C2, I2C2SCLH - 0x400A 0010) .
421
C SCL Low duty cycle register (I2SCLL: I
2
C0 -
I2C0SCLL: 0x4001 C014; I
2
C1 - I2C1SCLL:
0x4005 C014; I
2
C2 - I2C2SCLL: 0x400A 0014) . .
421
2
C data rate and duty
cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
C operating modes. . . . . . . . . . . 422
Master Transmitter mode . . . . . . . . . . . . . . . 422
Master Receiver mode . . . . . . . . . . . . . . . . . 423
Slave Receiver mode . . . . . . . . . . . . . . . . . . 423
Slave Transmitter mode . . . . . . . . . . . . . . . . 428
Miscellaneous states . . . . . . . . . . . . . . . . . . 434
I2STAT = 0xF8 . . . . . . . . . . . . . . . . . . . . . . . 434
I2STAT = 0x00 . . . . . . . . . . . . . . . . . . . . . . . 434
Some special cases . . . . . . . . . . . . . . . . . . . 435
Data transfer after loss of arbitration . . . . . . 435
2
C-bus . . . . . . . . . . . . 435
C-bus obstructed by a LOW level on SCL or SDA
436
Bus error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
C state service routines . . . . . . . . . . . . . . . 437
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 437
2
C interrupt service . . . . . . . . . . . . . . . . . . . 438
The state service routines . . . . . . . . . . . . . . 438
Adapting state services to an application. . . 438
Software example . . . . . . . . . . . . . . . . . . . . . 438
Initialization routine . . . . . . . . . . . . . . . . . . . 438
Start Master Transmit function . . . . . . . . . . . 438
Start Master Receive function . . . . . . . . . . . 438
2
C interrupt routine . . . . . . . . . . . . . . . . . . . 439
Non mode specific states . . . . . . . . . . . . . . . 439
State: 0x00 . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Master States . . . . . . . . . . . . . . . . . . . . . . . . 439
State: 0x08 . . . . . . . . . . . . . . . . . . . . . . . . . . 439
State: 0x10 . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Master Transmitter states . . . . . . . . . . . . . . 440
State: 0x18 . . . . . . . . . . . . . . . . . . . . . . . . . . 440
State: 0x20 . . . . . . . . . . . . . . . . . . . . . . . . . . 440
State: 0x28 . . . . . . . . . . . . . . . . . . . . . . . . . . 440
State: 0x30 . . . . . . . . . . . . . . . . . . . . . . . . . . 440
State: 0x38 . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Master Receive states . . . . . . . . . . . . . . . . . 441
State: 0x40 . . . . . . . . . . . . . . . . . . . . . . . . . . 441
State: 0x48 . . . . . . . . . . . . . . . . . . . . . . . . . . 441
State: 0x50 . . . . . . . . . . . . . . . . . . . . . . . . . . 441
State: 0x58 . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Slave Receiver states . . . . . . . . . . . . . . . . . 442
State: 0x60 . . . . . . . . . . . . . . . . . . . . . . . . . . 442
State: 0x68 . . . . . . . . . . . . . . . . . . . . . . . . . . 442
State: 0x70 . . . . . . . . . . . . . . . . . . . . . . . . . . 442
State: 0x78 . . . . . . . . . . . . . . . . . . . . . . . . . . 442
State: 0x80 . . . . . . . . . . . . . . . . . . . . . . . . . . 443
State: 0x88 . . . . . . . . . . . . . . . . . . . . . . . . . . 443
State: 0x90 . . . . . . . . . . . . . . . . . . . . . . . . . . 443
State: 0x98 . . . . . . . . . . . . . . . . . . . . . . . . . . 443
State: 0xA0. . . . . . . . . . . . . . . . . . . . . . . . . . 443
Slave Transmitter states . . . . . . . . . . . . . . . 444
State: 0xA8. . . . . . . . . . . . . . . . . . . . . . . . . . 444
State: 0xB0. . . . . . . . . . . . . . . . . . . . . . . . . . 444
State: 0xB8. . . . . . . . . . . . . . . . . . . . . . . . . . 444
State: 0xC0 . . . . . . . . . . . . . . . . . . . . . . . . . 444
State: 0xC8 . . . . . . . . . . . . . . . . . . . . . . . . . 445
Chapter 20: LPC17xx I2S interface
Basic configuration . . . . . . . . . . . . . . . . . . . . 446
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Pin descriptions . . . . . . . . . . . . . . . . . . . . . . . 447
Register description . . . . . . . . . . . . . . . . . . . 448
Transmit FIFO register (I2STXFIFO -
0x400A 8008). . . . . . . . . . . . . . . . . . . . . . . . 451