1) Completely conforming to the world standard I
All controls available by 2 ports of serial clock (SCL) and serial data (SDA)
2) Other devices than EEPROM can be connected to the same port, saving microcontroller port.
3) 1.7 ~ 5.5V single power source action most suitable for battery use.
4) FAST MODE 400kHz at 1.7 ~ 5.5V
5) Page write mode useful for initial value write at factory shipment.
6) Auto erase and auto end function at data rewrite.
7) Low current consumption
At write operation (5.0V) : 0.5mA (Typ.)
At read operation (5.0V) : 0.2mA (Typ.)
At standby operation (5.0V) : 0.1µA (Typ.)
8) Write mistake prevention function
Write (write protect) function added
Write mistake prevention function at low voltage
9) Compact package
10) Data rewrite up to 1,000,000 times
11) Data kept for 40 years
12) Noise filter built in SCL / SDA terminal
13) Shipment data all address FFh
●Page write
2
C BUS interface method.
2
C BUS.
No.10001EAT19
Product number Number of pages
BU9880GUL-W 32Byte
●Absolute maximum ratings (Ta=25℃)
Parameter symbol Ratings Unit
Impressed voltage VCC -0.3 ~ 6.5 V
Permissible dissipation Pd 220 *1 mW
Storage temperature range Tstg -65 ~ 125 ℃
Action temperature range Topr -40 ~ 85 ℃
Terminal voltage --0.3 ~ VCC+1.0 *2 V
*1 When using at Ta=25℃or higher, 2.2mW to be reduced per 1℃
*2 The Max value of Terminal Voltage is not over 6.5V.
SCL Frequency fSCL - - 400 kHz
Data clock "High" time tHIGH 0.6 - - µs
Data clock "Low" time tLOW 1.2 - - µs
SDA, SCL rise time *1 tR - - 0.3 µs
SDA, SCL fall time *1 tF - - 0.3 µs
Start condition hold time tHD:STA 0.6 - - µs
Start condition setup time tSU:STA 0.6 - - µs
Input data hold time tHD:DAT 0 - - ns
Input data setup time tSU:DAT 100 - - ns
Output data delay time tPD 0.1 - 0.9 µs
Output data hold time tDH 0.1 - - µs
Stop condition data setup time tSU:STO 0.6 - - µs
Bus release time before transfer start tBUF 1.2 - - µs
Internal write cycle time tWR - - 5 ms
Noise removal valid period (SDA,SCL terminal) tI - - 0.1 µs
WP hold time tHD:WP 0 - - ns
WP setup time tSU:WP 0.1 - - µs
WP valid time tHIGH:WP 1.0 - - µs
○Input read at the rise edge of SCL
○Data output in sync with the fall of SCL
tHD:STAtHD :DAT
tBUF
Fig.1-(a) Sync data input / output timing
SCL
tSU:STAtSU:STOtHD:STA
SDA
START BIT
Fig.1-(b) Start - stop bit timing
SCL
SDA
WRITE DATA(n)
D0
ACK
STOP
CONDITION
Fig.1-(c) Write cycle timing
●Block diagram
1
0
2
3
GND
tSU :DAT
tLOW
tPDtDH
tWR
CONDITION
13bit
dddress
decoder
Control circuit
High voltage
generating circuit
tHIGH
tRtF
STOP BIT
START
64Kbit EEPROM array
13bit
STARTSTOP
Power source
volta
Fig.2 Block diagram
SCL
SD
WP
SCL
SDA
WP
Slave - word
address register
e detection
Technical Note
DATA(1)
D1D0ACK
tSU:WP
Fig.1-(d) WP timing at write execution
DATA(1)
D1 D0
○At write execution, in the area from the D0 taken clock rise
of the first DATA(1), to tWR, set WP= 'LOW'.
○By setting WP "HIGH" in the area, write can be cancelled.
When it is set WP = 'HIGH' during tWR, write is forcibly ended,
and data of address under access is not guaranteed, therefore write it
once again.
●I2C BUS communication
○I2C BUS data communication
2
C BUS data communication starts by start condition input, and ends by stop condition input. Data is always 8bit long,
I
and acknowledge is always required after each byte.
I2C BUS carries out data transmission with plural devices connected by 2 communication lines of serial data (SDA) and
serial clock (SCL).
Among devices, there are “master” that generates clock and control communication start and end, and “slave” that is
controlled by addresses peculiar to devices.
EEPROM becomes “slave”. And the device that outputs data to bus during data communication is called “transmitter”,
and the device that receives data is called “receiver”.
SDA
1-71-7
SCL
P
S
DDRESSSTARTR/WACK
conditioncondition
898989
DATADATA
1-7
CK STOP
Fig.32 Data transfer timing
○Start condition (start bit recognition)
・Before executing each command, start condition (start bit) where SDA goes from 'HIGH' down to 'LOW' when SCL is
'HIGH' is necessary.
・This IC always detects whether SDA and SCL are in start condition (start bit) or not, therefore, unless this condition is
satisfied, any command is executed.
○Stop condition (stop bit recognition)
・Each command can be ended by SDA rising from 'LOW' to 'HIGH' when stop condition (stop bit), namely, SCL is 'HIGH'
○Acknowledge (ACK) signal
・This acknowledge (ACK) signal is a software rule to show whether data transfer has been made normally or not. In
master and slave, the device (µ-COM at slave address input of write command, read command, and this IC at data
output of read command) at the transmitter (sending) side releases the bus after output of 8bit data.
・The device (this IC at slave address input of write command, read command, and µ-COM at data output of read
command) at the receiver (receiving) side sets SDA 'LOW' during 9 clock cycles, and outputs acknowledge signal (ACK
signal) showing that it has received the 8bit data.
・This IC, after recognizing start condition and slave address (8bit), outputs acknowledge signal (ACK signal) 'LOW'.
・Each write action outputs acknowledge signal) (ACK signal) 'LOW', at receiving 8bit data (word address and write data).
・Each read action outputs 8bit data (read data), and detects acknowledge signal (ACK signal) 'LOW'. When
acknowledge signal (ACK signal) is detected, and stop condition is not sent from the master (µ-COM) side, this IC
continues data output. When acknowledge signal (ACK signal) is not detected, this IC stops data transfer, and
recognizes stop condition (stop bit), and ends read action. And this IC gets in standby status.
○Device addressing
・Output slave address after start condition from master.
・The significant 4 bits of slave address are used for recognizing a device type.
The device code of this IC is fixed to '1010'.
・The most insignificant bit (
W/R --- WRITE/READ) of slave address is used for designating write or read action,
and is as shown below.
Setting
Setting
W/R to 0 --- write (setting 0 to word address setting of random read)
W/R to 1 --- read
・Arbitrary data is written to EEPROM. When to write only 1 byte, byte write normally used, and when to write continuous
data of 2 bytes or more, simultaneous write is possible by page write cycle. The maximum number of write bytes is
specified per device of each capacity.Up to 32 arbitrary bytes can be written.
SDA
LINE
S
T
A
R
T
1 1 0 0
SLAVE
ADDRESS
W
R
I
1st WORD
T
ADDRESS
E
* WA
*
W
*
12
R
A
/
C
K
0 0
0 D0
2nd WORD
ADDRESS
WA
0
A
C
K
A
C
K
DATA
D7
S
T
O
P
A
C
K
Fig.33 Byte write cycle
SDA
LINE
S
T
A
SLAVE
R
ADDRESS
T
0
10 D0
1
W
R
I
1st WORD
T
ADDRESS(n)
E
WA
*
0 0
0
**
12
A
R
C
/
K
W
A
C
K
2nd WORD
ADDRESS(n)
WA
DATA(n)
0
A
C
K
D0 D7
A
C
K
DATA(n+31)
S
T
O
P
A
C
K
Fig.34 Page write cycle
・Data is written to the address designated by word address (n-th address).
・By issuing stop bit after 8bit data input, write to memory cell inside starts.
・When internal write is started, command is not accepted for tWR (5ms at maximum).
・By page write cycle, the following can be written in bulk: Up to 32 bytes.
(Refer to "Internal address increment of "Notes on page write cycle" in P9/16.)
・As for page write cycle of BU9880GUL-W , after the significant 7 bits of word address, are designated arbitrarily, by
continuing data input of 2 bytes or more, the address of insignificant 5 bits is incremented internally, and data up to 32
bytes can be written.
○Notes on page write cycle ○Internal address increment
List of numbers of page write
Product number Number of pages
BU9880GUL-W 32Byte
The above numbers are maximum bytes for respective
types. Any bytes below these can be written.
In the case of BU9880GUL-W, 1 page = 32bytes,
but the page write cycle write time is 5ms at maximum
for 32byte bulk write. It does not stand 5ms
at maximum × 32byte = 160ms(Max.).
For example, when it is started from address 1Eh,
therefore, increment is made as below,
1Eh→1Fh→00h→01h・・・
* 1Eh・・・16 in hexadecimal, therefore,
00011110 becomes a binary number.
Significant bit is fixed.
No digit up
○Write protect (WP) terminal
・Write protect (WP) function
When WP terminal is set Vcc (H level), data rewrite of all address is prohibited. When it is set GND (L level),
data rewrite of all address is enabled. Be sure to connect this terminal to Vcc or GND, or control it to H level or L level.
Do not use it open. At extremely low voltage at power ON/OFF, by setting the WP terminal 'H', mistake write can be
prevented. During tWR, set the WP terminal always to 'L'. If it is set 'H', write is forcibly terminated.
S
T
O
P
Technical Note
At STOP (stop bit)
write starts.
1100
Next command
tWR(maximum:5ms)
Command is not accepted
for this period.
Data of EEPROM is read. In read cycle, there are random read cycle and current read cycle.
Random read cycle is a command to read data by designating address, and is used generally.
Current read cycle is a command to read data of internal address register without designating address, and is used when
to verify just after write cycle. In both the read cycles, sequential read cycle is available, and the next address data can
be read in succession.
SDA
LINE
S
T
A
R
ADDRESS
T
10 0 10 0
SLAVE
SDA
LINE
S
T
A
R
T
10 0
SLAVE
ADDRESS
1
0
SD
LINE
0
W
R
I
T
E
R
/
W
ADDRESS(n)
*
*
A
C
K
1st WORD
WA
*
12
ADDRESS(n)
A
C
K
2nd WORD
Fig.36 Random read cycle
S
T
A
SLAVE
R
ADDRESS
T
10 0 1 0 D0 D7
R
E
A
D
0
0
A
R
C
/
K
W
Fig.37 Current read cycle
R
E
A
D
0
0
D7D0
DATA
D0
WA
0
A
C
K
DATA(n)
S
T
A
R
T
100
SLAVE
ADDRESS
1
A2
S
T
O
P
A
C
K
D7
R
E
A
DATA(n)
D
D7 D0
A1
A0
R
A
/
C
W
K
DATA(n+x
S
T
O
P
A
C
K
S
T
O
P
It is necessary to input 'H'
to the last ACK.
It is necessary to input 'H'
to the last ACK.
A
Fig.38 Sequential read cycle (in the case of current read cycle)
R
C
/
K
W
A
C
K
A
C
K
A
C
K
・In random read cycle, data of designated word address can be read.
・When the command just before current read cycle is random read cycle, current read cycle (each including sequential
read cycle), data of incremented last read address (n)-th address, i.e., data of the (n+1)-th address is output.
・When ACK signal 'LOW' after D0 is detected, and stop condition is not sent from master (µ-COM) side, the next address
data can be read in succession.
・Read cycle is ended by stop condition where 'H' is input to ACK signal after D0 and SDA signal is started at SCL signal 'H'.
・When 'H' is not input to ACK signal after D0, sequential read gets in, and the next data is output.
Therefore, read command cycle cannot be ended. When to end read command cycle, be sure input stop condition to
input 'H' to ACK signal after D0, and to start SDA at SCL signal 'H'.
・Sequential read is ended by stop condition where 'H' is input to ACK signal after arbitrary D0 and SDA is started at SCL
Software reset is executed when to avoid malfunction after power on, and to reset during command input. Software reset
has several kinds, and 3 kids of them are shown in the figure below. (Refer to Fig.39(a), Fig.39(b), Fig.39(c).) In dummy
clock input area, release the SDA bus ('H' by pull up). In dummy clock area, ACK output and read data '0' (both 'L' level)
may be output from EEPROM, therefore, if 'H' is input forcibly, output may conflict and over current may flow, leading to
instantaneous power failure of system power source or influence upon devices.
Dummy clock×14
Star t×2
SCL
SDA
SCL
SDA
2 13
1
14
Fig.39-(a) The case of 14 Dummy clock + START + START+ command input
Star t
Dummy clock×9
1
2
8
Star t
9
Fig.39-(b) The case of START+9 Dummy clock + START + command input
Normal command
Normal command
Normal command
Normal command
Star t×9
SCL
SDA
1 2 3 8 9 7
Normal command
Normal command
Fig.39-(c) START × 9 + command input
* Start command from START input.
●Acknowledge polling
During internal write, all input commands are ignored, therefore ACK is not sent back. During internal automatic write
execution after write cycle input, next command (slave address) is sent, and if the first ACK signal sends back 'L', then it
means end of write action, while if it sends back 'H', it means now in writing. By use of acknowledge polling, next command
can be executed without waiting for tWR = 5ms.
When to write continuously,
W/R = 0, when to carry out current read cycle after write, slave address W/R= 1 is sent,
and if ACK signal sends back 'L', then execute word address input and data so forth.
First write command
S
T
A
Write command
R
T
S
S
T
T
O
P
Slave
A
address
R
T
Second write command
During internal write,
ACK = HIGH is sent back.
S
T
A
R
T
Slave
address
C
K
H
tWR
C
…
K
H
…
S
T
A
R
T
Slave
address
t
WR
C
K
H
S
T
A
R
T
Slave
address
Word
C
K
address
L
After completion of internal
write, ACK=LOW is sent back,
so input next word address and
data in succession.
C
Data
K
L
S
C
T
K
O
L
P
Fig.40 Case to continuously write by acknowledge polling
WP is usually fixed to 'H' or 'L', but when WP is used to cancel write cycle and so forth, pay attention to the following WP
valid timing. During write cycle execution, in cancel valid area, by setting WP='H', write cycle can be cancelled. In both byte
write cycle and page write cycle, the area from the first start condition of command to the rise of clock to taken in D0 of
data(in page write cycle, the first byte data) is cancel invalid area.
WP input in this area becomes Don't care. Set the setup time to rise of D0 taken 100ns or more. The area from the rise of
SCL to take in D0 to the end of internal automatic write (tWR) is cancel valid area. And, when it is set WP='H' during tWR,
write is ended forcibly, data of address under access is not guaranteed, therefore, write it once again.(Refer to Fig.41.) After
execution of forced end by WP standby status gets in, so there is no need to wait for tWR (5ms at maximum).
SDA
S
T
A
R
T
WP
・Rise of D0 taken clock
SCL
SDA
A
Slave
C
address
K
L
D0
D1
Enlarged view
Word
address
WP cancel invalid area
A
C
K
L
ACK
D7 D6
D5
D2
D0
D1
D3
D4
WP cancel valid area
Data is not written.
Fig.41 WP valid timing
SCL
SDA
A
C
K
L
D0
Data
・Rise of SDA
ACK
Enlarged view
S
A
T
C
O
K
P
L
Write forced end
Data not guaranteed
tWR
●Command cancel by start condition and stop condition
During command input, by continuously inputting start condition and stop condition, command can be cancelled. (Refer to
Fig. 42.) However, in ACK output area and during data read, SDA bus may output 'L', and in this case, start condition and
stop condition cannot be input, so reset is not available. Therefore, execute software reset. And when command is
cancelled by start, stop condition, during random read cycle, sequential read cycle, or current read cycle, internal setting
address is not determined, therefore, it is not possible to carry out current read cycle in succession. When to carry out read
cycle in succession, carry out random read cycle.
SCL
SDA
1
0 0
1
Start condition
Stop condition
Fig.42 Case of cancel by start, stop condition during slave address input
C BUS, it is recommended that SDA port is of open drain input/output. However, when to use CMOS input / output of
In I
tri state to SDA port, insert a series resistance Rs between the pull up resistance Rpu and the SDA terminal of EEPROM.
This is controls over current that occurs when PMOS of the microcontroller and NMOS of EEPROM are turned ON
simultaneously. Rs also plays the role of protection of SDA terminal against surge. Therefore, even when SDA port is
open drain input/output, Rs can be used.
CK
R
S
SCL
SDA
'H' output of microcontroller
'L' output of EEPROM
Microcontroller
EEPROM
Fig.43 I/O circuit diagram
Over current flows to SDA line by 'H'
output of microcontroller and 'L' output
of EEPROM.
Fig.44 Input/output collision timing
○Maximum value of Rs
The maximum value of Rs is determined by following relations.
(1) SDA rise time to be determined by the capacity (CBUS) of bus line of Rpu and SDA shoulder be tR or below.
And AC timing should be satisfied even when SDA rise time is late.
(2) The bus electric potential
should sufficiently secure the input 'L' level (V
A to be determined by Rpu and Rs the moment when EEPROM outputs 'L' to SDA bus
○
) of microcontroller including recommended noise margin 0.1Vcc.
IL
(V
CC-VOL)×RS
S
R
IOL
VCC
RPU=10kΩ
VOL
∴ R
Example) When VCC=3V, VIL=0.3VCC, VOL=0.4V, RPU=10kΩ,
RPU+RS
S ≦
+VOL+0.1VCC≦VIL
V
IL-VOL-0.1VCC
1.1VCC-VIL
× RPU
0.3×3-0.4-0.1×3
S ≦
1.1×3-0.3×3
≦ 0.835[kΩ]
× 10×10
VIL
Microcontroller
Bus line
capacity CBUS
EEPROM
from(2),R
Fig.45 I/O circuit diagram
○Maximum value of Rs
The minimum value of Rs is determined by over current at bus collision. When over current flows, noises in power source
line, and instantaneous power failure of power source may occur. When allowable over current is defined as I, the
following relation must be satisfied. Determine the allowable current in consideration of impedance of power source line
in set and so forth. Set the over current to EEPROM 10mA or below.
●Notes on power ON
At power on, in IC internal circuit and set, Vcc rises through unstable low voltage area, and IC inside is not completely reset,
and malfunction may occur. To prevent this, functions of POR circuit and LVCC circuit are equipped. To assure the action,
observe the following condition at power on.
1. Set SDA = 'H' and SCL ='L' or 'H'
2. Start power source so as to satisfy the recommended conditions of tR, tOFF, and Vbot for operating POR circuit.
VCC
tR
Recommended conditions of t
, t
, Vbot
R
OFF
tOF F
0
Fig.49 Rise waveform diagram
Vbot
tR t
Vbot
OFF
10ms or below 10ms or higher 0.3V or below
100ms or below 10ms or higher 0.2V or below
3. Set SDA and SCL so as not to become 'Hi-Z'.
When the above conditions 1 and 2 cannot be observed, take the following countermeasures.
a) In the case when the above conditions 1 cannot be observed. When SDA becomes 'L' at power on .
→Control SCL and SDA as shown below, to make SCL and SDA, 'H' and 'H'.
VCC
SCL
tLOW
SDA
After Vcc becomes st able
tSU:DATtDH
Fig.50 When SCL='H' and SDA='L'
After Vcc becomes stable
tSU:DAT
Fig.51 When SCL='H' and SDA='L'
b) In the case when the above condition 2 cannot be observed.
→After power source becomes stable, execute software reset(P26).
c) In the case when the above conditions 1 and 2 cannot be observed.
LVCC circuit prevents data rewrite action at low power, and prevents wrong write.
At LVCC voltage (Typ. =1.2V) or below, it prevent data rewrite.
noise countermeasures
●V
CC
○Bypass capacitor
When noise or surge gets in the power source line, malfunction may occur, therefore, for removing these, it is
recommended to attach a by pass capacitor (0.1µF) between IC Vcc and GND. At that moment, attach it as close to IC as
possible. And, it is also recommended to attach a bypass capacitor between board Vcc and GND.
●Notes for use
(1) Described numeric values and data are design representative values, and the values are not guaranteed.
(2) We believe that application circuit examples are recommendable, however, in actual use, confirm characteristics further
sufficiently. In the case of use by changing the fixed number of external parts, make your decision with sufficient margin in
consideration of static characteristics and transition characteristics and fluctuations of external parts and our LSI.
(3) Absolute maximum ratings
If the absolute maximum ratings such as impressed voltage and action temperature range and so forth are exceeded, LSI
may be destructed. Do not impress voltage and temperature exceeding the absolute maximum ratings. In the case of fear
exceeding the absolute maximum ratings, take physical safety countermeasures such as fuses, and see to it that
conditions exceeding the absolute maximum ratings should not be impressed to LSI.
(4) GND electric potential
Set the voltage of GND terminal lowest at any action condition. Make sure that each terminal voltage is lower than that of
GND terminal.
(5) Terminal design
In consideration of permissible loss in actual use condition, carry out heat design with sufficient margin.
(6) Terminal to terminal shortcircuit and wrong packaging
When to package LSI onto a board, pay sufficient attention to LSI direction and displacement. Wrong packaging may
destruct LSI. And in the case of shortcircuit between LSI terminals and terminals and power source, terminal and GND
owing to foreign matter, LSI may be destructed.
(7) Use in a strong electromagnetic field may cause malfunction, therefore, evaluate design sufficiently.
No copying or reproduction of this document, in par t 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 parties. 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, of ce-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 efforts 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, fuelcontroller 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.
Thank you for your accessing to ROHM product informations.
More detail product informations and catalogs are available, please contact us.