●Description
GPIO expander is useful especially for the application that is in short of IO ports.
It can
1. Control GPIO output states by I
2. Know GPIO input states by I
Furthermore,it has the interrupt function that can release CPU from polling the registers in the GPIO expander.
GPIO expander are also equipped with Built-in power on reset, 3V tolerant input,and NMOS open-drain output.
●Features
1) An 8-Port General purpose input/output interface 150kΩPull-down resistance.
2) NMOS Open-drain output interrupt controller with up to 1us pulse noise filter and bit mask function for
individual GPIO port.
3) 3volt tolerant Input
4) Built-in Power On Reset
5) 3mmx3mm small package
●Absolute maximum ratings
(Ta=25
o
C)
Parameter Symbol Rating Unit comment
Supply Voltage*1
Input voltage
Storage temperature range Tstg -55 ~ +125
Package power PD 272*2 mW
2
C write protocol.
2
C read protocol.
VDD -0.3 ~ +4.5 V VDD≦VDDIO
VDDIO -0.3 ~ +4.5 V
VI -0.3 ~ VDD +0.3
*1
V XRST, ADR
VIT -0.3 ~ 4.5 V XINT, SCL, SDA, GPIO[7:0]
℃
No.09098EAT02
This IC is not designed to be X-ray proof.
*1 It is prohibited to exceed the absolute maximum ratings even including +0.3 V.
*2 Package dissipation will be reduced each 2.72mW/
o
C when the ambient temperature increases beyond 25 oC.
The device enters the state of Power Down when XRST=”Low” or enters the operation state when XRST=High after
powered.
Refer to “Electrical Specification” section 5 for a detailed startup sequence.
1-1 Power supply
A single supply to Core power supply (VDD) and IO power supply (VDDIO) is prohibited.
Supply the power supply to the Cor e power supply and the IO power supply at the same time.
1-2 Power On Reset
A Power On Reset logic is implemented in this device. Therefore, it will operate correctly eve n if the XRST port is
not used. In this case, the XRST port must be connected to high(VDD).
1-3 State of Power Down
The device enters the state of Power Down by XRST =”Low”. An internal circuit is initialized and I
2
C interface is
invalid is input. Power On Reset becomes inactive during this state.
1-4 State of operation
The device enters the operation state by setting XRST to "High". The I
2
C interface starts communication is
the START condition. It becomes standby by the STOP condition. Power On Reset is active in this state.
2. I
Each function of GPIO is controlled by an internal register. The I
2
C Slave interface is used to write or read this internal
register. The device supports up to 400kHz Fast-mode data transfer rate.
2-1 Slave address
Two device addresses (Slave address) can be selected by ADR port.
ADR=0
ADR=1
A7 A6 A5 A4 A3 A2 A1 R/W
0 0 0 1 0 0 1
0 0 0 1 1 1 0
2-2 Data transfer
One bit of data is transferred during SCL = “1”. During the bit transfer SCL = “1” cycle, the signal SDA should
keep the value. If SDA changes during SCL = “1”, a START condition or STOP condition occur and it is interpreted
as a control signal.
SDA
SCL
Data is valid
when SDA is
stable
SDA is
variable
1/0
Fig.5 Data transfer
2-3 START-STOP-Repeated START conditions
When SDA and SCL are “1”, the data isn’t transferred on the 2-wire bus. If SCL remains “1” and SDA transfers
from “1” to “0”, it means a “Start condition” is occurred and access is started.
If SCL remains “1” and SDA transfers from “0” to “1”, it means a “Stop condition” is occurred and access is
stopped.
It becomes repeated START condition (Sr) the START condition enters again although the STOP condition is not
done.
After Writing the slave address and Read/Write commend bits, the next byte is read. The reading register address
is next of previous accessed address. Therefore, the data is read with a ddress increment. When the address in
increased to the last, the following read address will be reset to (00h).
Fig.9 Readout protocol
2-7 Complex reading protocol
After the specifying the internal register address, a repeated START condition occurs and the direction of data
transfer is changed then reading access is done. Therefore, the data is read followed by address increment. If the
address is increased to the last, it will be reset to (00h).
SAAA
XXXXXX0X
Slave address
R/W=0(write)
X X X A4A3A2 A1A0
Register address
Sr1
XXXXXXX
Slave address
R/W=1(read)
D7D6D5D4D3D2D1D0
data
Transmit from master
Transmit from slave
A
Register address
increment
D7D6D5 D4D3D2D1D0 A
A=acknowledge
=not aclnowledge
A
S=Start condition
P=Stop condition
Sr=Repeated Start condition
Fig.10 Complex reading protocol
2-8 Illegal access of I
2
C
The data accessed at that time is annulled, and access it again.
The illegal accesses are as follows.
The START condition and the STOP condition are continuously generated.
When the Slave address and the R/W bit is written, repeated START condition and the STOP
condition are generated.
Repeated START condition and the STOP condition are generated while writing data.
As the default value, GPIO[7:0] ports are input and Pull-down.
At this time, WRSELn is "0" and XPDn is "0". (n is the number of GPIO[7:0] ports.)
Refer to the following for the configuration of GPIO.
Register
State of GPIO
GPOn WRSELnXPDn
Input, Pull-down ON * 0 0
Input, Pull-down OFF * 0 1
Output, H drive 1 1 *
Output, L drive 0 1 *
1
Output, Hi-Z -1
1
※
Make external Pull-up the terminal potential which is the potential of V
※
0 0 1
or more.
VDDIO
About GPIO port not used
When making it to the output, open it.
When making it to the input, do not open it. It is forced by "0" or Pull-down on.
When interrupt is enabled, mask INTEN register in which the port is not used to "0".
4-2 Interrupt configuration
When interrupt is generated, L is output from XINT port. The default value is Hi-Z. Make it Pull-up.
For the default value, interrupt is masked with INTEN register "0".
The bit to be used is made "1", and the mask is released. WRSEL register should be "0"(input).
4-3 Write to GPIO port
After setting the internal register address, the data from master is written from MSB.
After Acknowledge is returned, the value of each GPIO port will be changed.
When the register is written, Write Config uration Pulse is generated according to the timing of Acknowledge.
SCL
SDA
Write Configuration
Pulse
GPIO[7:0]
123456789SCL
SDA
S X X X X X X X 0 AckAckReg AddressMSBLSBAckData1 (GPO[7:0])MSBLSBP
Acknowledge From Slave
Stop Condition
tDV
Data1
Valid
Write Configuration
Pulse
GPIO[7:0]
Start Condition
WriteAcknowledge From Slave
123456789
S X X X X X X X 0 AckAckReg AddressMSBLSBAckData1 (GPO[7:0])MSBLSBAckWRSEL = Write ModeMSBLSBP
After writing of the Slave address and R/W bits, reading GPIO port is begun from the following byte.
The data that had been being fixed between the following Acknowledge after Acknowledge is taken into the GPI
register, and it is transmitted to Master.
All ports that are the input by WRSEL register are read to the GPI register according to the timing of Read
Configuration Pulse. Therefore, the data of each bit that SDA transmits is the GPI register value taken immediately
before that.
SCL
SDA
Read Configuration
Pulse
GPI[7:0] Reg
GPIO[7:0]
123456789
S X X X X X X X 1 Ack
Start Condition
Read
tDS
D1
[7]D1[6]D1[5]
Acknowledge From Slave
D1
D1
tDH
D1
[4]D2[3]D2[2]D2[1]D2[0]
D2
D2
tDS
P
NA
Stop Condition
No Acknowledge From Mast er
tDH
Fig.12 Read from GPIO port
4-5 Interrupt Valid/Reset
If GPIO port becomes different from the GPIn register (default is "0"), XINT port is changed from "1" into "0".
It becomes "1" to release "0" of XINT port after acknowledge by reading GPI register. Because the value of GPIO
port is reflected in the output as it is and is not latched, XINT becomes "1" again if the port returns to the same
value.
If the ports with INTEN register "1" are different even by one, XINT becomes "0".
If it is distinguished which GPIO port changes, it is necessary to keep the GPI register value on the master side
and compare with the value that is read after XINT is asserted.
No copying or reproduction of this document, in part or in whole, is permitted without the
consent of ROHM Co.,Ltd.
The content specied herein is subject to change for improvement without notice.
The content specied herein is for the purpose of introducing ROHM's products (hereinafter
"Products"). If you wish to use any such Product, please be sure to refer to the specications,
which can be obtained from ROHM upon request.
Examples of application circuits, circuit constants and any other information contained herein
illustrate the standard usage and operations of the Products. The peripheral conditions must
be taken into account when designing circuits for mass production.
Great care was taken in ensuring the accuracy of the information specied in this document.
However, should you incur any damage arising from any inaccuracy or misprint of such
information, ROHM shall bear no responsibility for such damage.
The technical information specied herein is intended only to show the typical functions of and
examples of application circuits for the Products. ROHM does not grant you, explicitly or
implicitly, any license to use or exercise intellectual property or other rights held by ROHM and
other par ties. ROHM shall bear no responsibility whatsoever for any dispute arising from the
use of such technical information.
Notice
The Products specied in this document are intended to be used with general-use electronic
equipment or devices (such as audio visual equipment, ofce-automation equipment, communication devices, electronic appliances and amusement devices).
The Products specied in this document are not designed to be radiation tolerant.
While ROHM always makes ef forts to enhance the quality and reliability of its Products, a
Product may fail or malfunction for a variety of reasons.
Please be sure to implement in your equipment using the Products safety measures to guard
against the possibility of physical injury, re or any other damage caused in the event of the
failure of any Product, such as derating, redundancy, re control and fail-safe designs. ROHM
shall bear no responsibility whatsoever for your use of any Product outside of the prescribed
scope or not in accordance with the instruction manual.
The Products are not designed or manufactured to be used with any equipment, device or
system which requires an extremely high level of reliability the failure or malfunction of which
may result in a direct threat to human life or create a risk of human injury (such as a medical
instrument, transportation equipment, aerospace machinery, nuclear-reactor controller,
fuel-controller or other safety device). ROHM shall bear no responsibility in any way for use of
any of the Products for the above special purposes. If a Product is intended to be used for any
such special purpose, please contact a ROHM sales representative before purchasing.
If you intend to export or ship overseas any Product or technology specied herein that may
be controlled under the Foreign Exchange and the Foreign Trade Law, you will be required to
obtain a license or permit under the Law.