Rev 0; 6/04 9-Bit I2C Nonvolatile I/O Expander Plus Memory The DS4520 is a 9-bit nonvolatile (NV) I/O expander with 64 bytes of NV user memory controlled by an I 2CTMcompatible serial interface. The DS4520 offers users a digitally programmable alternative to hardware jumpers and mechanical switches that are being used to control digital logic nodes. Furthermore, the digital state of each pin can be read through the serial interface. Each I/O pin is independently configurable. The outputs are open drain with selectable pullups. Each output has the ability to sink up to 12mA. Since the device is NV, it powers up in the desired state allowing it to control digital logic inputs immediately on power-up without having to wait for the host CPU to initiate control. Features ♦ Programmable Replacement for Mechanical Jumpers and Switches ♦ Nine NV Input/Output Pins ♦ 64-Byte NV User Memory (EEPROM) ♦ I2C-Compatible Serial Interface ♦ Up to 8 Devices Can be Multidropped on the Same I2C Bus ♦ Open-Drain Outputs with Configurable Pullups ♦ Outputs Capable of Sinking 12mA ♦ Low Power Consumption Applications RAM-Based FPGA Bank Switching for Multiple Profiles ♦ Wide Operating Voltage (2.7V to 5.5V) ♦ Operating Temperature Range: -40°C to +85°C Selecting Between Boot Flash Setting ASIC Configurations/Profiles Ordering Information Servers PART Network Storage DS4520E Routers TEMP RANGE PIN-PACKAGE -40°C to +85°C 16 TSSOP Add “/T&R” for tape and reel orders. Telecom Equipment PC Peripherals Pin Configuration Typical Operating Circuit TOP VIEW VCC 0.1µF VCC 4.7kΩ FROM SYSTEM CONTROLLER 4.7kΩ DS4520 I/O_0 I/O_1 SCL SDA I/O_2 I/O_3 I/O_4 A0 I/O_5 A1 I/O_6 A2 I/O_7 GND I/O_8 FPGA I/O_0 1 16 GND I/O_1 2 15 I/O_8 I/O_2 3 14 I/O_7 I/O_3 4 CLOCK GENERATOR CPU SPEED SELECT I/O_4 5 DS4520 13 I/O_6 12 I/O_5 A0 6 11 A2 A1 7 10 SCL VCC 8 9 SDA I2C is a trademark of Philips Corp. Purchase of I2C components from Maxim Integrated Products, Inc., or one of its sublicensed Associated Companies, conveys a license under the Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification as defined by Philips. ______________________________________________ Maxim Integrated Products For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com. 1 DS4520 General Description DS4520 9-Bit I2C Nonvolatile I/O Expander Plus Memory ABSOLUTE MAXIMUM RATINGS Voltage on VCC, SDA, and SCL Pins Relative to Ground.............................................-0.5V to +6.0V Voltage on A0, A1, A2, and I/O_n [n = 0 to 8] Relative to Ground....-0.5V to (VCC + 0.5V) not to exceed +6.0V Operating Temperature Range ...........................-40°C to +85°C EEPROM Programming Temperature Range .........0°C to +70°C Storage Temperature Range .............................-55°C to +125°C Soldering Temperature ...See IPC/JEDEC J-STD-020A Specification Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. RECOMMENDED DC OPERATING CONDITIONS (TA = -40°C to +85°C) PARAMETER SYMBOL MAX UNITS +2.7 +5.5 V VIH 0.7 x VCC VCC + 0.3 V VIL -0.3 0.3 x VCC V TYP MAX UNITS 2 10 µA Supply Voltage VCC Input Logic 1 Input Logic 0 CONDITIONS (Note 1) MIN TYP DC ELECTRICAL CHARACTERISTICS (VCC = +2.7V to +5.5V; TA = -40°C to +85°C, unless otherwise noted.) PARAMETER Standby Current Input Leakage Input Current each I/O Pin SYMBOL ISTBY IL II/O Low-Level Output Voltage (SDA) VOL SDA I/O Pin Low-Level Output Voltage VOL I/O I/O Pin Pullup Resistors CI/O Power-On Reset Voltage VPOR MIN -1.0 +1.0 µA -1.0 +1.0 µA 3mA sink current 0 0.4 6mA sink current 0 0.6 0.4V < VI/O < 0.9VCC (Note 3) 12mA sink current RPU I/O Capacitance 2 CONDITIONS (Note 2) 4.0 5.5 (Note 4) _____________________________________________________________________ 1.6 V 0.4 V 7.5 kΩ 10 pF V 9-Bit I2C Nonvolatile I/O Expander Plus Memory DS4520 AC ELECTRICAL CHARACTERISTICS (See Figure 2) (VCC = +2.7V to +5.5V; TA = -40°C to +85°C, unless otherwise noted. Timing referenced to VIL(MAX) and VIH(MIN).) PARAMETER SYMBOL CONDITIONS TYP UNITS 400 kHz fSCL Bus Free Time Between Stop and Start Conditions tBUF 1.3 µs tHD:STA 0.6 µs tLOW 1.3 µs Low Period of SCL High Period of SCL 0 MAX SCL Clock Frequency Hold Time (Repeated) Start Condition (Note 5) MIN tHIGH 0.6 Data Hold Time tHD:DAT 0 Data Setup Time tSU:DAT 100 Start Setup time tSU:STA µs 0.9 µs ns 0.6 µs SDA and SCL Rise Time tR (Note 6) 20 + 0.1CB 300 ns SDA and SCL Fall Time tF (Note 6) 20 + 0.1CB 300 ns 400 pF 10 20 ms TYP MAX UNITS Stop Setup Time tSU:STO 0.6 SDA and SCL Capacitive Loading CB (Note 6) EEPROM Write Time tWR (Note 7) µs NONVOLATILE MEMORY CHARACTERISTICS (VCC = +2.7V to +5.5V, unless otherwise noted.) PARAMETER EEPROM Writes SYMBOL CONDITIONS +70°C (Note 4) MIN 50,000 Note 1: All voltages referenced to ground. Note 2: ISTBY is specified with SDA = SCL = VCC, outputs floating, and inputs connected to VCC or GND. Note 3: The DS4520 does not obstruct the SDA and SCL lines if VCC is switched off as long as the voltages applied to these inputs do not violate their minimum and maximum input voltage levels. Note 4: Guaranteed by design. Note 5: Timing shown is for fast-mode (400kHz) operation. This device is also backward compatible with I2C standard-mode timing. Note 6: CB—total capacitance of one bus line in picofarads. Note 7: EEPROM write time applies to all the EEPROM memory and SRAM shadowed EEPROM memory when SEE = 0. The EEPROM write time begins after a stop condition occurs. _____________________________________________________________________ 3 Typical Operating Characteristics (VCC = +5.0V, TA = +25°C, unless otherwise noted.) SUPPLY CURRENT vs. SUPPLY VOLTAGE 1.0 I/O0–I/O7 CONTROL BITS = 0 I/O0–I/O7 PULLUPS DISABLED VCC = SDA = SCL = 5V 2.0 SUPPLY CURRENT (µA) 1.5 0.5 1.5 1.0 0.5 0 0 3.0 3.5 4.0 4.5 5.0 -40 -20 0 20 40 60 SUPPLY VOLTAGE (V) TEMPERATURE (°C) SUPPLY CURRENT vs. SCL FREQUENCY I/O OUTPUT VOLTAGE vs. SUPPLY VOLTAGE 16 I/O VOLTAGE (V) 12 10 8 6 PULLUPS ENABLED PULLDOWNS DISABLED 5 14 DS4520 toc04 VCC = SDA = 5V 18 80 6 DS4520 toc03 20 4 3 HIGH IMPEDANCE 2 EEPROM RECALL AT VPOR 4 1 2 0 0 100 200 300 400 0 0 SCL FREQUENCY (kHz) 4 DS4520 toc02 I/O0–I/O7 CONTROL BITS = 0 I/O0–I/O7 PULLUPS DISABLED VCC = SDA = SCL SUPPLY CURRENT (µA) SUPPLY CURRENT vs. TEMPERATURE 2.5 DS4520 toc01 2.0 SUPPLY CURRENT (µA) DS4520 9-Bit I2C Nonvolatile I/O Expander Plus Memory _____________________________________________________________________ 1 2 3 4 SUPPLY VOLTAGE (V) 5 6 9-Bit I2C Nonvolatile I/O Expander Plus Memory PIN NAME 1 I/O_0 Input/Output 0. Bidirectional I/O pin. FUNCTION 2 I/O_1 Input/Output 1. Bidirectional I/O pin. 3 I/O_2 Input/Output 2. Bidirectional I/O pin. 4 I/O_3 Input/Output 3. Bidirectional I/O pin. 5 I/O_4 Input/Output 4. Bidirectional I/O pin. 6 A0 I2C Address Input. Inputs A0, A1, and A2 determine the I2C slave address of the device. 7 A1 I2C Address Input. Inputs A0, A1, and A2 determine the I2C slave address of the device. 8 VCC Power-Supply Voltage 9 SDA I2C Serial Data Open-Drain Input/Output 10 SCL I2C Serial Clock Input 11 A2 12 I/O_5 Input/Output 5. Bidirectional I/O pin. 13 I/O_6 Input/Output 6. Bidirectional I/O pin. 14 I/O_7 Input/Output 7. Bidirectional I/O pin. 15 I/O_8 Input/Output 8. Bidirectional I/O pin. 16 GND Ground I2C Address Input. Inputs A0, A1, and A2 determine the I2C slave address of the device. Block Diagram DS4520 SDA SCL I2C INTERFACE A0 I/O CONTROL REGISTERS I/O CELL (x9) VCC A1 PULLUP ENABLE (F0h-F1h) A2 VCC RPU VCC I/O_n [n = 0 TO 8] I/O CONTROL (F2h-F3h) GND EEPROM 64 BYTES USER MEMORY [00h TO 3Fh] I/O STATUS (F8h-F9h) _____________________________________________________________________ 5 DS4520 Pin Description DS4520 9-Bit I2C Nonvolatile I/O Expander Plus Memory Detailed Description The DS4520 contains nine bidirectional, NV, input/output (I/O) pins, and a 64-byte EEPROM user memory. The I/O pins and user memory are accessible through an I2C-compatible serial bus. Programmable NV I/O Pins Each programmable I/O pin consists of an input and an open-collector output with a selectable internal pullup resistor. To enable the pullups for each I/O pin, write to the Pullup Enable Registers (F0h and F1h). To pull the output low or place the pulldown transistor into a highimpedance state, write to the I/O Control Registers (F2h and F3h). To read the voltage levels present on the I/O pins, read the I/O Status Registers (F8h and F9h). To determine the status of the output register, read the I/O Control Registers and the Pullup Resistor Registers. The I/O Control Registers and the Pullup Enable Registers are all SRAM shadowed EEPROM registers. It is possible to disable the EEPROM writes of the registers using the SEE bit in the Configuration Register. This reduces the time required to write to the register and increases the amount of times the I/O pins can be adjusted before the EEPROM is worn out. Memory Map and Memory Types The DS4520 memory map is shown in Table 1. Three different types of memory are present in the DS4520: EEPROM, SRAM shadowed EEPROM, and SRAM. Memory locations specified as EEPROM are NV. Writing to these locations results in an EEPROM write cycle for a time specified by tWR in the AC Electrical Characteristics table. Locations specified as SRAM shadowed EEPROM can be configured to operate in one of two modes specified by the SEE bit (the LSB of the Configuration Register, F4h). When the SEE bit = 0 (default), the memory location acts like EEPROM. However, when SEE = 1, shadow SRAM is written to instead of the EEPROM. This eliminates both the EEPROM write time, tRW, as well as the concern of wearing out the EEPROM. This is ideal for applications that wish to constantly write to the I/Os. Power-up default states can be programmed for the I/Os in EEPROM (with SEE = 0) and then once powered-up, SEE can be written to a 1 so the I/Os can be updated periodically in SRAM. The final type of memory present in the DS4520 is standard SRAM. 6 Slave Address and Address Pins The DS4520’s slave address is determined by the state of the A0, A1, and A2 address pins as shown in Figure 1. Address pins connected to GND result in a ‘0’ in the corresponding bit position in the slave address. Conversely, address pins connected to VCC result in a ‘1’ in the corresponding bit positions. I 2 C communication is described in detail in a later section. I2C Serial Interface Description I2C Definitions The following terminology is commonly used to describe I2C data transfers. Master Device: The master device controls the slave devices on the bus. The master device generates SCL clock pulses, start, and stop conditions. Slave Devices: Slave devices send and receive data at the master’s request. Bus Idle or Not Busy: Time between stop and start conditions when both SDA and SCL are inactive and in their logic-high states. When the bus is idle it often initiates a low-power mode for slave devices. Start Condition: A start condition is generated by the master to initiate a new data transfer with a slave. Transitioning SDA from high to low while SCL remains high generates a start condition. See the timing diagram for applicable timing. Stop Condition: A stop condition is generated by the master to end a data transfer with a slave. Transitioning SDA from low to high while SCL remains high generates a stop condition. See the timing diagram for applicable timing. Repeated Start Condition: The master can use a repeated start condition at the end of one data transfer to indicate that it immediately initiates a new data transfer following the current one. Repeated starts are commonly used during read operations to identify a specific memory address to begin a data transfer. A repeated start condition is issued identically to a normal start condition. See the timing diagram for applicable timing. Bit Write: Transitions of SDA must occur during the low state of SCL. The data on SDA must remain valid and unchanged during the entire high pulse of SCL plus the setup and hold time requirements (see Figure 2). Data is shifted into the device during the rising edge of the SCL. _____________________________________________________________________ 9-Bit I2C Nonvolatile I/O Expander Plus Memory NAME TYPE 00h to 3Fh EEPROM 40 to E7h — Reserved Undefined address space for future expansion. Reads and writes to this space have no effect on the device. — E8 to EFh EEPROM Reserved — — F0h Pullup Enable 0 Pullup enable for I/O_0 to I/O_7. I/O_0 is the LSB and I/O_7 is the MSB. Set the corresponding bit to enable the pullup; clear the bit to disable the pullup. 00h F1h Pullup Enable 1 Pullup enable for I/O_8. I/O_8 is the LSB. Only the LSB is used. Set the LSB bit to enable the pullup on I/O_8; clear the LSB to disable the pullup. 00h I/O Control 0 I/O control for I/O_0 to I/O_7. I/O_0 is the LSB and I/O_7 is the MSB. Clearing the corresponding bit of the register pulls the selected I/O pin low; setting the bit places the pulldown transistor into a high-impedance state. When the pulldown is high impedance, the output floats if no pullup/down is connected to the pin. FFh I/O Control 1 I/O control for I/O_8. I/O_8 is the LSB. Only the LSB is used. Clearing the LSB of the register pulls the I/O_8 pin low; setting the LSB places the pulldown transistor into a high-impedance state. When the pulldown is high impedance, the output floats if no pullup/down is connected to the pin. 01h SRAM Shadowed EEPROM F2h [EEPROM writes are disabled if the SEE bit = 1] F3h F4h F5h to F7h FUNCTION FACTORY DEFAULT ADDRESS User Memory 64 bytes of general-purpose user EEPROM. Configuration register. The LSB is the SEE bit. When set, this bit disables Configuration writes to the EEPROM; writing only affects the shadow SRAM. When set to 0, both the EEPROM and the shadow SRAM is written. 00h User Memory 3 bytes of general-purpose user EEPROM. 00h I/O Status 0 I/O status for I/O_0 to I/O_7. I/O_0 is the LSB and I/O_7 is the MSB. Writing to this register has no effect. Read this register to determine the state of the I/O_0 to I/O_7 pins. F9h I/O Status 1 I/O status for I/O_8. I/O_8 is the LSB. Only the LSB is used; the other bits could be any value when read. Writing to this register has no effect. Read this register to determine the state of the I/O_8 pin. FAh to FFh SRAM User 6 bytes of general-purpose SRAM. F8h SRAM MSB 1 00h — LSB 0 1 0 A2 A1 SLAVE ADDRESS* A0 R/W READ/WRITE BIT *THE SLAVE ADDRESS IS DETERMINED BY ADDRESS PINS A0, A1, AND A2. Figure 1. DS4520 Slave Address Byte _____________________________________________________________________ 7 DS4520 Table 1. DS4520 Memory Map DS4520 9-Bit I2C Nonvolatile I/O Expander Plus Memory Bit Read: At the end a write operation, the master must release the SDA bus line for the proper amount of setup time before the next rising edge of SCL during a bit read (see Figure 2). The device shifts out each bit of data on SDA at the falling edge of the previous SCL pulse and the data bit is valid at the rising edge of the current SCL pulse. Remember that the master generates all SCL clock pulses including when it is reading bits from the slave. Acknowledgement (ACK and NACK): An acknowledgement (ACK) or not acknowledge (NACK) is always the 9th bit transmitted during a byte transfer. The device receiving data (the master during a read or the slave during a write operation) performs an ACK by transmitting a zero during the 9th bit. A device performs a NACK by transmitting a one during the 9th bit. Timing (Figure 2) for the ACK and NACK is identical to all other bit writes. An ACK is the acknowledgement that the device is properly receiving data. A NACK is used to terminate a read sequence or as an indication that the device is not receiving data. Byte Write: A byte write consists of 8 bits of information transferred from the master to the slave (most significant bit first) plus a 1-bit acknowledgement from the slave to the master. The 8 bits transmitted by the master are done according to the bit write definition and the acknowledgement is read using the bit read definition. Byte Read: A byte read is an 8-bit information transfer from the slave to the master plus a 1-bit ACK or NACK from the master to the slave. The 8 bits of information that are transferred (most significant bit first) from the slave to the master are read by the master using the bit read definition above, and the master transmits an ACK using the bit write definition to receive additional data bytes. The master must NACK the last byte read to terminated communication so the slave returns control of SDA to the master. Slave Address Byte: Each slave on the I 2 C bus responds to a slave address byte sent immediately following a start condition. The slave address byte contains the slave address in the most significant 7 bits and the R/W bit in the least significant bit. The DS4520’s slave address is determined by the state of the A0, A1, and A2 address pins as shown in Figure 1. Address pins connected to GND result in a ‘0’ in the corresponding bit position in the slave address. Conversely, address pins connected to VCC result in a ‘1’ in the corresponding bit positions. When the R/W bit is 0 (such as in A0h), the master is indicating it will write data to the slave. If R/W = 1, (A1h in this case), the master is indicating it will read from the slave. SDA tBUF tHD:STA tLOW tR tSP tF SCL tHD:STA STOP tSU:STA tHIGH tSU:DAT START tHD:DAT REPEATED START NOTE: TIMING IS REFERENCED TO VIL(MAX) AND VIH(MIN) Figure 2. I2C Timing Diagram 8 _____________________________________________________________________ tSU:STO 9-Bit I2C Nonvolatile I/O Expander Plus Memory Acknowledge Polling: Any time an EEPROM page is written, the DS4520 requires the EEPROM write time (tW) after the stop condition to write the contents of the page to EEPROM. During the EEPROM write time, the device does not acknowledge its slave address because it is busy. It is possible to take advantage of this phenomenon by repeatedly addressing the DS4520, which allows communication to continue as soon as the device is ready. The alternative to acknowledge polling is to wait for a maximum period of tW to elapse before attempting to access the device. I2C Communication EEPROM Write Cycles: When EEPROM writes occur, the DS4520 writes the whole EEPROM memory page even if only a single byte on a page was modified. Writes that do not modify all 8 bytes on the page are valid and do not corrupt any other bytes on the same page. Because the whole page is written, even bytes on the page that were not modified during the transaction are still subject to a write cycle. The DS4520’s EEPROM write cycles are specified in the Nonvolatile Memory Characteristics table. The specification shown is at the worst-case temperature. It is capable of handling approximately 10x that many writes at room temperature. Writing a Single Byte to a Slave: The master must generate a start condition, write the slave address byte (R/W = 0), write the memory address, write the byte of data, and generate a stop condition. Remember the master must read the slave’s acknowledgement during all byte write operations. Writing Multiple Bytes to a Slave: To write multiple bytes to a slave, the master generates a start condition, writes the slave address byte (R/W = 0), writes the memory address, writes up to 8 data bytes, and generates a stop condition. The DS4520 is capable of writing up to 8 bytes (one page or row) with a single write transaction. This is internally controlled by an address counter that allows data to be written to consecutive addresses without transmitting a memory address before each data byte is sent. The address counter limits the write to one 8byte page. Attempts to write to additional pages of memory without sending a stop condition between pages results in the address counter wrapping around to the beginning of the present row. The first row begins at address 00h and subsequent rows begin at multiples of 8 there on (08h, 10h, 18h, 20h, etc). To prevent address wrapping from occurring, the master must send a stop condition at the end of the page, and then wait for the bus free or EEPROM write time to elapse. Then the master can generate a new start condition, write the slave address byte (R/W = 0), and the first memory address of the next memory row before continuing to write data. Reading a Single Byte from a Slave: Unlike the write operation that uses the specified memory address byte to define where the data is to be written, the read operation occurs at the present value of the memory address counter. To read a single byte from the slave, the master generates a start condition, writes the slave address byte with R/W = 1, reads the data byte with a NACK to indicate the end of the transfer, and generates a stop condition. However, since requiring the master to keep track of the memory address counter is impractical, the following method should be used to perform reads from a specified memory location. Manipulating the Address Counter for Reads: A dummy write cycle can be used to force the address counter to a particular value. To do this the master generates a start condition, writes the slave address byte (R/W = 0), writes the memory address where it desires to read, generates a repeated start condition, writes the slave address byte (R/W = 1), reads data with ACK or NACK as applicable, and generates a stop condition. _____________________________________________________________________ 9 DS4520 If an incorrect slave address is written, the DS4520 assumes the master is communicating with another I2C device and ignores the communication until the next start condition is sent. Memory Address: During an I2C write operation, the master must transmit a memory address to identify the memory location where the slave is to store the data. The memory address is always the second byte transmitted during a write operation following the slave address byte. DS4520 9-Bit I2C Nonvolatile I/O Expander Plus Memory TYPICAL I2C WRITE TRANSACTION MSB START 1 LSB 0 1 0 A2 A1 A0 R/W MSB SLAVE ACK b7 LSB b6 READ/ WRITE SLAVE ADDRESS* b5 b4 b3 b2 b1 b0 MSB SLAVE ACK b7 LSB b6 b5 b4 REGISTER ADDRESS b3 b2 b1 b0 SLAVE ACK STOP DATA *THE SLAVE ADDRESS IS DETERMINED BY ADDRESS PINS A0, A1, AND A2. EXAMPLE I2C TRANSACTIONS (WHEN A0, A1, AND A2 ARE CONNECTED TO GND) A0h F2h A) SINGLE BYTE WRITE -WRITE I/O CONTROL 0 REGISTER TO 00h START 1 0 1 0 0 0 0 0 SLAVE 1 1 1 1 0 0 1 0 ACK B) SINGLE BYTE READ -READ I/O STATUS 0 RESISTER START 1 0 1 0 0 0 0 0 SLAVE 1 1 1 1 1 0 0 0 SLAVE ACK ACK A0h F8h A0h C) SINGLE BYTE WRITE -WRITE PULLUP ENABLE 0 REGISTER TO FFh SLAVE 0 0 0 0 0 0 0 0 ACK F0h SLAVE ACK D) TWO BYTE WRITE -WRITE I/O CONTROL 0 AND I/O CONTROL 1 REGISTERS TO 00h SLAVE SLAVE START 1 0 1 0 0 0 0 0 11110 010 ACK ACK 00000000 D) TWO BYTE READ -READ I/O STATUS 0 AND I/O STATUS 1 RGISTERS START 1 0 1 0 0 0 0 0 A0h A0h DATA 1 0 1 0 0 0 0 1 SLAVE ACK MASTER NACK STOP MASTER ACK I/O STATUS 1 I/O STATUS FFh 111 1 1 1 1 1 11110 000 STOP A1h REPEATED START SLAVE ACK START 1 0 1 0 0 0 0 0 SLAVE ACK F2h 00h F8h SLAVE SLAVE 111 11000 ACK ACK SLAVE ACK REPEATED START STOP 00h SLAVE ACK 00000000 A1h 1 0 1 0 0 0 0 1 SLAVE ACK SLAVE ACK STOP DATA I/O STATUS 0 DATA MASTER NACK STOP Figure 3. I2C Communication Examples See Figure 3 for a read example using the repeated start condition to specify the starting memory location. Reading Multiple Bytes from a Slave: The read operation can be used to read multiple bytes with a single transfer. When reading bytes from the slave, the master simply ACKs the data byte if it desires to read another byte before terminating the transaction. After the master reads the last byte it must NACK to indicate the end of the transfer and generates a stop condition. Chip Topology TRANSISTOR COUNT: 14,398 SUBSTRATE CONNECTED TO GROUND Package Information Applications Information Power-Supply Decoupling To achieve best results, it is highly recommended that a decoupling capacitor is used on the IC power-supply pins. Typical values of decoupling capacitors are 0.01µF and 0.1µF. Use a high-quality, ceramic, surface-mount capacitor, and mount it as close as possible to the VCC and GND pins of the IC to minimize lead inductance. For the latest package outline information, go to www.maxim-ic.com/DallasPackInfo. Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied. Maxim reserves the right to change the circuitry and specifications without notice at any time. 10 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 © 2004 Maxim Integrated Products Printed USA is a registered trademark of Dallas Semiconductor Corporation. is a registered trademark of Maxim Integrated Products.