16-bit enhanced port expander with keypad and PWM controller
Xpander Logic™
Features
■ 16 GPIOs
(8 operate at core supply V
supply V
■ Operating voltage 1.8 −3.3 V
■ Hardware keypad controller (8*8 matrix with 4
IO
)
optional dedicated keys max)
■ Keypad controller capable of detecting key-
press in hibernation mode
■ 4 basic PWM controllers for LED brightness
control
■ Interrupt output (open drain) pin
■ Optional 32 kHz clock input
■ 8-channel programmable level translator
■ Advanced power management system
■ Ultra-l ow st an db y- mo de cu rr en t
■ Package TFBGA25 (3 x 3 mm)
, 8 operate at IO
CC
TFBGA25
Description
The STMPE1601 is a GPIO (general purpose
input/output) port expander able to interface a
main digital ASIC via the two-line bidirectional bus
2
(I
C). A separate GPIO expander IC is often used
in mobile multimedia platforms to solve the
problems of the limited number of GPIOs typically
available on the digital engine.
The STMPE1601 offers great flexibility, as each
I/O can be configured as input, output or specific
functions. The device is able to scan a keyboard,
also provides PWM outputs for brightness control
in backlight, and GPIO function. This device has
been designed to include very low quiescent
current, and a wake-up feature for each I/O, to
optimize the power consumption of the IC.
Potential applications of the STMPE1601 include
portable media players, game consoles, mobile
and smart phones.
Open drain interrupt output pin.
INT pin to be externally pulled
B5INTOV
up to V
CC
pulled down to GND, depending
on polarity of interrupt (must not
be left floating).
External reset input, active
E4Reset_NIV
LOW. Reset_N pulse width
CC
must be
internally pulled up to VCC.
E3SDATAAV
D3SCLKAV
I2C DATA (tolerant to 3.6 V)
CC
I2C clock (tolerant to 3.6 V)
CC
32 kHz input. To be pulled-up to
with 10 k resistor if clock is
V
B4CLK_INAV
CC
CC
not used. This pin is internally
pulled to VCC.
1.8
C5VCC––
C1VIO––
−3.3 V input for I
and digital core
−3.3 V input for GPIO. The
1.8
VIO must be
C2GND––Ground
C3GND––Ground
(or > VCC, < 3.6 V), or
CC
≥ 20 μs. This pin is
2
C module
≥ V
.
CC
2.3 Ball mapping to TFBGA (top through view)
Table 3.Pin mapping
12345
AGPIO_9GPIO_8GPIO_7GPIO_5GPIO_4
BGPIO_11GPIO_10GPIO_6CLK_ININT
CVIOGNDGNDGPIO_3VCC
DGPIO_12GPIO_13SCLKGPIO_1GPIO_2
EGPIO_14GPIO_15SDATARESET_NGPIO_0
6/62Doc ID 14318 Rev 6
STMPE1601Pin settings
2.4 GPIO pin functions
Table 4.GPIO pin functions
Name
GPIO_0GPIOKeypadPWM–
GPIO_1GPIOKeypadPWM–
GPIO_2GPIOKeypadPWM–
GPIO_3GPIOKeypadPWM–
GPIO_4GPIOKeypad––
GPIO_5GPIOKeypad––
GPIO_6GPIOKeypad––
GPIO_7GPIOKeypad––
GPIO_8GPIOKeypad––
GPIO_9GPIOKeypad––
GPIO_10GPIOKeypad––
GPIO_11GPIOKeypad––
GPIO_12GPIOKeypad––
GPIO_13GPIOKeypad–I
GPIO_14GPIOKeypad–I
GPIO_15GPIOKeypad–I
Primary
function
Alternate
function 1
Alternate
function 2
Note
2
C ADDR during RESET
2
C ADDR during RESET
2
C ADDR during RESET
Doc ID 14318 Rev 67/62
Maximum ratingsSTMPE1601
3 Maximum ratings
Stressing the device above the rating listed in the “Absolute maximum ratings” table may
cause permanent damage to the device. These are stress ratings only and operation of the
device at these or any other conditions above those indicated in the Operating sections of
this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.
3.1 Absolute maximum ratings
Table 5.Absolute maximum ratings
SymbolParameterValueUnit
V
CC
Input voltage on GPIO pin4.5V
V
IN
VESD (HBM)ESD protection on each GPIO pin2kV
Supply voltage4.5V
3.2 Thermal data
Table 6.Thermal data
SymbolParameterMinTypMaxUnit
R
thJA
T
A
T
J
Thermal resistance junction-ambient-100–°C/W
Operating ambient temperature-402585°C
Operating junction temperature-4025125°C
8/62Doc ID 14318 Rev 6
STMPE1601Electrical specification
4 Electrical specification
4.1 DC electrical characteristics
Table 7.DC electrical characteristics
Val ue
SymbolParameterTest conditions
MinTypMax
Unit
V
CC
V
IO
I
CC
I
SLEEP
I
HIBERNATE
I
CC
I
SLEEP
I
HIBERNATE
I
CC
I
SLEEP
I
HIBERNATE
I
CC
I
SLEEP
I
HIBERNATE
INT
1. If only the basic GPIO function is required, the STMPE1601 can be designed to work mostly in hibernate
mode. Active mode is used only when there are changes in the I/O status.
1.8 V supply voltage1.65
IO supply voltage1.65
Active current
IO VCC
=1.8V
Sleep current–1825µA
V
T= 25 °C
–1.21.6mA
−
−
Hibernate current–0.51.5µA
Active current
Sleep current–5060µA
Hibernate current
(1)
V
T= 25 °C
IO VCC
=3.3V
Active current
IO VCC
=1.8V
Sleep current––32µA
V
T= 85 °C
–3.03.8mA
–1.23µA
––2mA
Hibernate current––2µA
Active current
Sleep current––75µA
Hibernate current
(1)
V
T= 85 °C
IO VCC
=3.3V
Open drain output
current
––4.8mA
––5µA
–4–mA
3.6V
3.6V
Doc ID 14318 Rev 69/62
Electrical specificationSTMPE1601
4.2 Input/Output DC electrical characteristics
The 1.8 V I/O complies to the EIA/JEDEC standard JESD8-7.
Table 8.I/O DC electrical characteristic
Val ue
SymbolParameter
MinTypMax
Unit
V
il
V
ih
V
hyst
V
il
V
ih
V
hyst
Table 9.DC input specification (1.55 V < VCC<1.95V)
The features supported by the I2C interface are listed below:
2
●I
C slave device
●Operates at V
●Compliant to Philips I
●Supports standard (up to 100kbps) and fast (up to 400 kbps) modes
●7-bit and 10-bit device addressing modes
●General Call
●Start/Restart/Stop
●Address up to 8 STMPE1601 devices via the I
The address is selected by the state of 3 pins. The state of the pins is read upon reset and
then the pins can be configured for normal operation. The pins have a pull-up or pull-down
to set the address. The I
the registers in the STMPE1601.
(1.8 - 3.3 V)
CC
2
C specification version 2.1
2
C interface
2
C interface module allows the connected host system to access
Table 12.I
A2A1A07-bit address
00040h
00141h
01042h
01143h
10044h
10145h
11046h
11147h
2
C addresses
12/62Doc ID 14318 Rev 6
STMPE1601I2C interface
6.1 Minimizing current drain on I2C address lines
The GPIOs 13-15 are used as I2C address input during POR. Pull-up/down resistor of
500 kΩ - 1.5 MΩ is recommended for these address lines. In the case that these pins are
driven to an opposite logic level during device operation, there would be a current drain of
V
/R. This amounts to a significant current drain for portable devices.
IO
To minimize the current drain on I
1.If maximum keypad size is not required, these shared lines should not be used for
keypad operation.
2. If the maximum keypad size is required, choose I
address lines to be pulled to ground, minimizing the current drain in the keypad
operation. In this mode of operation, the recommended pull up/down resistors on the
2
I
C lines are listed in Ta bl e 1 3 .
A reset circuit with longer RC is used to ensure enough time for the address lines to
settle to the final values.
3. In system-controlled idle state, all the keypad pins are to be configured as hotkey with
interrupt function enabled. If any key is pressed, the system initiates the keypad
controller for scanning operation.
2
C lines, two methods are recommended:
2
C address 0x40, as this requires all 3
Table 13.Recommended pull up/down resistors on the I
V
Pull up/down
resistor
RPU/R
PD
RPU/R
PD
RPU/R
PD
1. Recommended values are chosen to minimize leakage current.
1.8V2.5V3.3V
1.5 MΩ1.2 MΩ1MΩ
1.0 MΩ800 kΩ660 kΩ
500 kΩ400 kΩ330 kΩ
IO
or pulse width
270 kΩ/0.47 µF
180 kΩ/0.47 µF
2
C lines
Reset RC
120 ms
80 ms
90kΩ/0.47 µF
40 ms
(1)
All 3 address
lines are
used for
keypad
controller
2 address
lines are
used for
keypad
controller
1 address
line is used
for keypad
controller
Note
Doc ID 14318 Rev 613/62
I2C interfaceSTMPE1601
6.2 Start condition
A Start condition is identified by a falling edge of SDATA while SCLK is stable at high state.
A Start condition must precede any data/command transfer. The device continuously
monitors for a Start condition and does not respond to any transaction unless one is
encountered.
6.3 Stop condition
A Stop condition is identified by a rising edge of SDATA while SCLK is stable at high state.
A Stop condition terminates the communication between the slave device and bus master. A
read command that is followed by NoAck can be followed by a Stop condition to force the
slave device into idle mode. When the slave device is in idle mode, it is ready to receive the
2
next I
C transaction. A Stop condition at the end of a write command stops the write
operation to the registers.
6.4 Acknowledge bit (ACK)
The acknowledge bit is used to indicate a successful byte transfer. The bus transmitter
releases the SDATA after sending eight bits of data. During the ninth bit, the receiver pulls
the SDATA low to acknowledge the receipt of the eight bits of data. The receiver may leave
the SDATA in high state if it would to not acknowledge the receipt of the data.
6.5 Data input
The device samples the data input on SDATA on the rising edge of the SCLK. The SDATA
signal must be stable during the rising edge of SCLK and the SDATA signal must change
only when SCLK is driven low.
6.6 Slave device address
The slave device address is a 7 or 10-bit address, where the least significant 3-bit are
programmable. These 3-bit values will be loaded in once upon reset and after that these 3
pins no longer be needed with the exception during General Call. Up to 8 STMPE1601
devices can be connected on a single I
6.7 Memory addressing
For the bus master to communicate to the slave device, the bus master must initiate a Start
condition and followed by the slave device address. Accompanying the slave device
address, there is a Read/Write
operation.
If a match occurs on the slave device address, the corresponding device gives an
acknowledgement on the SDA during the 9
from the bus by not responding to the transaction.
2
C bus.
bit (R/W). The bit is set to 1 for Read and 0 for Write
th
bit time. If there is no match, it deselects itself
14/62Doc ID 14318 Rev 6
STMPE1601I2C interface
6.8 Operating modes
Table 14.Operating modes
ModeBytesProgramming sequence
START, Device address, R/W
reSTART, Device address, R/W
If no STOP is issued, the Data Read can be continuously performed. If
the register address falls within the range that allows address auto-
Read≥1
increment, then register address auto-increments internally after every
byte of data being read. For register address that falls within a nonincremental address range, the address will be kept static throughout
the entire read operations. Refer to the Table 11: Register map
summary table on page 11 for the address ranges that are auto and
non-increment. An example of such a non-increment address is FIFO.
START, Device address, R/W
Write, STOP.
If no STOP is issued, the Data Write can be continuously performed. If
the register address falls within the range that allows address auto-
Write≥1
increment, then register address auto-increments internally after every
byte of data being written. For those register addresses that fall within
a non-incremental address range, the address will be kept static
throughout the all write operations. Refer to the memory map table for
the address ranges that are auto and non-increment. An example of a
non-increment address is Data Port for initializing the PWM
commands.
Figure 3.I2C transaction
= 0, Register address to be read
= 1, Data Read, STOP
= 0, Register address to be written, Data
One byte
Read
More than one byte
Read
One byte
Write
More than one byte
Read
Start
Start
Start
Start
Device
Address
Device
Address
Device
Address
Device
Address
Master
Slave
R/W=0
R/W=0
R/W=0
R/W=0
Ack
Ack
Ack
Ack
Reg
Address
Reg
Address
Reg
Address
Reg
Address
Device
Ack
Address
Restart
Device
Ack
Address
Restart
Data
to be
Ack
Restart
written
Data to
Ack
Write
Restart
R/W=1
R/W=1
Ack
Data to
Ack
Write + 1
Ack
Ack
Stop
Data
Read
Data
Read
Ack
Write + 2
No Ack
Ack
Data to
Stop
Data
Read + 1
Data
Ack
Read + 2
Ack
Stop
Doc ID 14318 Rev 615/62
Stop
No Ack
I2C interfaceSTMPE1601
6.9 General call address
A general call address is a transaction with the slave address of 0x00 and R/W = 0. When a
general call address is made, the STMPE1601 responds to this transaction with an
acknowledgement and behaves as a slave-receiver mode. The meaning of a general call
address is defined in the second byte sent by the master-transmitter.
Table 15.General call address
R/WSecond byte valueDefinition
A 2-byte transaction in which the second byte tells the slave
00x06
00x04
00x00Not allowed as second byte.
Note:All other second byte values will be ignored.
device to reset and write (or latch in) the 2-bit programmable part
of the slave address.
A 2-byte transaction in which the second byte tells the slave
device not to reset and write (or latch in) the 2-bit programmable
part of the slave address.
16/62Doc ID 14318 Rev 6
STMPE1601System controller
7 System controller
The system controller is the heart of the STMPE1601. It contains the registers for power
control and chip identification.
The system registers are:
Table 16.System registers
AddressRegister name
0x80CHIP_ID
0x81VERSION_ID
0x02SYS_CTRL
0x03SYS_CTRL_2
CHIP_ID Chip identification register
76543210
8-bit CHIP_ID
RRRRRRRR
00000010
VERSION_IDVersion identification register
76543210
8-bit VERSION_ID
RRRRRRRR
00010010
Doc ID 14318 Rev 617/62
System controllerSTMPE1601
SYS_CTRLSystem control register
7 6543210
SOFT_RESET
W RWRWRWRW R RWRW
0 0001111
Address:0x02
Type:R/W
CLOCK
SOURCE
DIS_32KHzSLEEPEN_GPIORESERVEDEN_KPCEN_SPWM
Reset:0x0
F
Description:System control register.
[7] SOFT_RESET
Writing a ‘1’ to this bit will do a soft reset of the device. Once the reset is done, this bit will be
cleared to ‘0’ by the HW.
[6] CLOCK_SOURCE
Set to ‘1’ if external 32 kHz clock were to be used. ‘0’ by default.
[5] DIS_32 kHz:
Set this bit to disable the 32 kHz OSC, thus putting the device in hibernate mode.
[4] SLEEP:
Writing a ‘1’ to this bit will put the device in sleep mode. On going to sleep mode, this mode is
reset internally. When in sleep mode, the internal RC oscillator will output a slower sleep clock
which will be used in the device.
[3] EN_GPIO:
Writing a ‘0’ to this bit will gate off the clock to the GPIO module, thus stopping its operation
[2] RESERVED
[1] EN_KPC:
Writing a ‘0’ to this bit will gate off the clock to the keypad controller module, thus stopping its
operation
[0] EN_SPWM
Writing a ‘0’ to this bit will gate off the clock to the simple PWM controller module, thus
stopping its operation
18/62Doc ID 14318 Rev 6
STMPE1601System controller
SYS_CTRL_2System control register 2
76543210
RESERVEDVIO_OFFAUTOSLEEP_ENSLEEP_2SLEEP_1SLEEP_0
RRRWRWRWRW
000000
Address:0x03
Type:R/W
Reset:0x00
Description:System control register.
[7] RESERVED
[6] RESERVED
[5] RESERVED
[4] VIO_OFF:
Writing a ‘1’ to this bit is mandatory before shutting off the V
supply.
V
CC
This ensure that the level shifters for GPIOs 15-8 are properly powered down so as not to
induce high current and also not to affect the integrity of any external signals that are on the
bus where these GPIOs are connected.
[3] AUTOSLEEP_EN:
“1” to enable auto-sleep feature. “0” to disable auto-sleep.
[2:0] SLEEP:
000 for 4 ms delay
001 for 16 ms delay
010 for 32 ms delay
011: for 64 ms delay
100: for 128 ms delay
101: for 256 ms delay
110: for 512 ms delay
111: for 1024 ms delay
supply while maintaining the
IO
Doc ID 14318 Rev 619/62
Loading...
+ 43 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.