DS28CZ04 MAXIM | Alldatasheet

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 22

Technical content

1 of 22 REV: 061107 Note: Some revisions of this device may incorporate deviations from published specifications known as errata. Multiple revisions of any device may be simultaneously available through various sales channels. For information about device errata, click here: www.maxim-ic.com/errata. GENERAL DESCRIPTION The DS28CZ04 combines 4kbit (512 x 8) EEPROM with 4 PIO lines. Communication with the device is accomplished with an industry standard I²C and SMBus™ interface. The memory is organized as two segments of 256 bytes with single byte and up to 16- byte block write capability. Individual PIO lines may be configured as inputs or outputs. The power-on state of PIO programmed as outputs is stored in non- volatile memory. All PIO may be reconfigured by the user through the serial interface.

APPLICATIONS

  • 4G SFP Copper Modules
  • SFF-8472, SFP Fiber Modules
  • RAID Systems
  • Servers TYPICAL OPERATING CIRCUIT V CC1 VCC2 MAX3982 PE1 LOS PE0 OUTLEV IN+ OUT+ IN- OUT- TX_DISABLE LOSLE V GND EP VCCT LOS (from receiver) Connect to VCC or GND VCC DS28CZ04 SDA SCL MRZ PIO3 PIO0 PIO2 WP PIO1 A1 GND MOD-DEF1 MOD-DEF2 VEET VEET From SFP connector Small Form-factor Pluggable (SFP) Circuit

FEATURES

ƒ 4kbit (512 x 8) EEPROM Organized in Two 256- Byte Blocks ƒ Single Byte and up to 16-Byte EEPROM Write Sequences ƒ Write-Protect Control Pin for the Entire EEPROM Array ƒ Endurance 200k Cycles per Block at 25°C; 10ms max EEPROM Write Cycle ƒ 4 PIO Lines ƒ Each PIO is Configured to Input or Output Mode on Startup by Stored Value ƒ All PIOs are Reconfigurable after Startup ƒ Serial Interface User-Programmable for I²C Bus and SMBus Compatibility ƒ Supports 100kHz and 400kHz I²C Communica- tion Speeds ƒ Operating Range: 2.0V to 5.25V, -40°C to +85°C ƒ 4mm x 4mm 12-Pin TQFN Package

ORDERING INFORMATION

PART TEMP RANGE PIN-PACKAGE DS28CZ04G-4+ -40°C to +85°C TQFN12-EP* 4x4mm² DS28CZ04G-4+T -40°C to +85°C TQFN12-EP* 4x4mm² Tape-and-Reel *EP = Exposed Paddle +Denotes lead-free package. PIN CONFIGURATION 12 11 10 4 5 6 PIO3 WP MRZ VCC PIO2 PIO1 PIO0 GND SDA SCL Thin 12-Lead 4mm × 4mm QFN (Top View) Package Outline Drawing 21-0139 Package Code T1244+4 DS28CZ04 4kbit I²C/SMBus EEPROM with Nonvolatile PIO www.maxim-ic.com SMBus is a trademark of Intel Corp.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 2 of 22 ABSOLUTE MAXIMUM RATINGS Voltage Range on Any Pin Relative to Ground -0.5V, +6V Maximum Current SDA, SCL, A2, A1, WP, MRZ Pin ±20mA Maximum Current each PIO Pin ±20mA Maximum GND and VCC Current 100mA Operating Temperature Range -40°C to +85°C Junction Temperature +150°C Storage Temperature Range -55°C to +125°C Soldering Temperature See IPC/JEDEC J-STD-020 Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress rating s only, and functional operation of the device at these or any other conditions beyond those i ndicated in the operational sections of the specifications is not implied. Exposure to the absolute maximum rating conditions for extended periods may affect device.

ELECTRICAL CHARACTERISTICS

(-40°C to +85°C, see Note 1) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Supply Voltage V CC 2.0 5.25 V Standby Current (Note 2) I CCS Bus idle, V CC = 5.25V 1.5 4 µA Operating Current I CCA Bus active at 400kHz, VCC = 5.25V 250 500 µA Programming Current I PROG V CC = 5.25V 500 1000 µA Power-up Wait Time t POIP (Note 3) 100 µs EEPROM Programming Time t PROG 10 ms Endurance N CYCLE At +25°C (Notes 4, 5) 200k ⎯ Data Retention t RET At +85°C (Notes 5, 6) 40 years PIO Pins, See Figures 8, 9 LOW-Level Output Voltage V OL 1mA sink current 0 0.4 V HIGH-Level Output Voltage V OH 500 μA source current VCC - 0.5V V LOW-Level Input Voltage V IL -0.3 0.3 × VCC V HIGH-Level Input Voltage V IH 0.7 × VCC VCC + 0.3V V Output Data Valid Time t PV 1 µs PIO Read Setup Time t PS (Note 5) 150 ns PIO Read Hold Time t PH (Note 5) 150 ns Leakage Current I L High Impedance, at VCCMAX -1 +1 µA SCL, SDA, A2, A1, WP, MRZ Pins (Note 7), See Figure 6 LOW Level Input Voltage V IL -0.3 0.3 × VCC V HIGH Level Input Voltage V IH (Note 8) 0.7 × VCC VCCmax + 0.3V V Hysteresis of Schmitt Trigger Inputs Vhys (Notes 5, 9) 0.05 × VCC V LOW Level Output Voltage V OL At 4mA Sink Current, open drain 0.4 V Output Fall Time from VIhmin to VILmax (Notes 5, 10) tof Bus Capacitance from 10pF to 400pF 20 + 0.1CB 250 ns Pulse Width of Spikes that are Suppressed by the Input Filter tSP SDA and SCL pins only (Note 5) 50 ns

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 3 of 22 PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Input Current with an Input Voltage Between 0.1VCC and 0.9VCCmax II (Note 11) -10 10 µA Input Capacitance C I (Notes 5, 9) 10 pF SCL Clock Frequency f SCL (Note 12) 400 kHz Bus Time-Out t TIMEOUT (Note 12) 25 75 ms Hold Time (Repeated) START Condition. After this Period, the First Clock Pulse is Generated. tHD:STA (Note 13) 0.6 µs VCC ≥ 2.7V 1.3 LOW Period of the SCL Clock (Note 13) tLOW VCC < 2.7V 1.5 µs HIGH Period of the SCL Clock t HIGH (Note 13) 0.6 µs Setup Time for a Repeated START Condition tSU:STA (Note 13) 0.6 µs Data Setup Time t SU:DAT (Notes 13, 16) 100 ns Setup Time for STOP Condition t SU:STO (Note 13) 0.6 µs Bus Free Time Between a STOP and START Condition tBUF (Note 13) 1.3 µs Capacitive Load for Each Bus Line CB (Notes 5, 13) 400 pF Note 1: Specifications at -40°C are guaranteed by design and characterization only and not production tested. Note 2: To the first order, this current is independent of the supply voltage value. Note 3: All PIO are tri-stated at beginning of reset prior to setting to Power-On values. Note 4: This specification is valid for each 16-byte memory block. Note 5: Not production tested. Guaranteed by design or characterization. Note 6: EEPROM writes can become nonfunctional after the data-retention time is exceeded. Long-time storage at elevated temperatures is not recommended; the device can lose its write capability after 10 years at +125°C or 40 years at +85°C. Note 7: All values are referenced to V IHmin and VILmax levels. Note 8: The maximum specification value is guaranteed by design, not production tested. Note 9: Applies to SDA and SCL. Note 10: CB = total capacitance of one bus line in pF. If mixed with HS-mode devices, faster fall-times according to I²C-Bus Specification v2.1 are allowed. Note 11: The DS28CZ04 does not obstruct the SDA and SCL lines if VCC is switched off. Note 12: The minimum SCL clock frequency is limited by the bus timeout feature. If the CM bit is 1 AND SCL stays at the same logic level or SDA stays low for this interval, the DS28CZ04 behaves as though it has sensed a STOP condition. Note 13: System Requirement Note 14: The DS28CZ04 provides a hold time of at least 300ns for the SDA signal (referred to the VIHmin of the SCL signal) to bridge the undefined region of the falling edge of SCL. Note 15: The maximum tHD:DAT has only to be met if the device does not stretch the low period (tLOW) of the SCL signal. Note 16: A Fast-mode I²C-bus device can be used in a standard-mode I²C-bus system, but the requirement tSU:DAT ≥ 250ns must then be met. This is automatically the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line trmax + tSU:DAT = 1000 + 250 = 1250ns (according to the standard-mode I²C-bus specification) before the SCL line is released.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 4 of 22 PIN DESCRIPTION PIN NAME FUNCTION

1 A1 Device Address Bit 1

2 A2 Device Address Bit 2

3 PIO3 PIO line #3

4 PIO2 PIO line #2

5 PIO1 PIO line #1

6 PIO0 PIO line #0

7 V CC Power Supply Input

8 MRZ Master Reset (active-low). Performs a rese t of the serial interface and the PIOs without power-cycling the device. 9 WP Write Protect input, to be connected to V CC or GND. When connected to VCC, the entire EEPROM array is write-protected. Normal read/write access when connected to GND. Changing the pin state during a write access will cause unpredictable results. 10 SCL I²C/SMBus serial clock input; must be tied to V CC through a pullup resistor. 11 SDA I²C/SMBus bidirectional serial data line; must be tied to V CC through a pullup resistor. 12 GND Ground supply for the device. EP GND Exposed Paddle. Solder evenly to the boar d’s ground plane for proper operation. See Application Note 3273 for additional information. OVERVIEW The DS28CZ04 consists of a serial I² C/SMBus interface, 4k-bits of EEPROM and four bidirectional PIO channels, as shown in the block diagram in Figure 1. The device communicates with a host processor through its I²C interface in standard-mode or in fast-mode; the user c an switch the interface from I²C bus to SMBus mode. Two address pins allow 4 DS28CZ04 to reside on the same bu s segment. A Master reset pin permits a full device reset without power cycling. The device has a memory range of 512 bytes, organized as two segments (lower half, upper half) of 256 bytes (Figure 2). The memory map and device addressing is compatible with SFF-8472 Digital Diagnostic address assignments. The entire EEPROM can be write-protected by tying the WP pin to V CC. The PIO pins can be accessed through one address (= single-ad dress mode) or through separate addresses (= multi-address mode). PIO direct access addressing allows fast generation of data patterns and fast sampling. The DS28CZ04 includes several EEPROM registers for the us er to select whether the device powers up in SFF mode and to define the power-on default conditions for indi vidual PIO output state (high, low, in output mode), individual PIO data direction (in, out), individual PIO output type (push-pull, open drain), individual PIO read bit inversion (true, false). Once powered up, the PIO setti ngs can be overwritten through SRAM registers without affecting the power-on defaults.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 6 of 22 DETAILED REGISTER DESCRIPTIONS Special Function/User Memory (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 75h 1 0 1 0 1 0 1 0 There is general read and write access to this address. If programmed to AAh, as shown in the bit pattern above, the SFF Mode bit at memory addres s 7Ah (Device Address = A0h) will be set to 1 after the next power-up , acti- vating SFF mode with memory address 6Eh (device address A2h) functioning as the SFF Optional Status Register. Factory-default: 00h Power-on Default for PIO Output State and Direction (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 76h POD3 POD2 POD1 POD0 POV3 POV2 POV1 POV0 There is general read and write access to this address. Factory-default: F0h BIT DESCRIPTION BIT(S) DEFINITION POV0: Power-On State PIO0 b0 Power-on default output state of PIO0 POV1: Power-On State PIO1 b1 Power-on default output state of PIO1 POV2: Power-On State PIO2 b2 Power-on default output state of PIO2 POV3: Power-On State PIO3 b3 Power-on default output state of PIO3 POD0: Power-On Direction PIO0 b4 Power-on default direction of PIO0; 0 ⇒ output, 1 ⇒ input POD1: Power-On Direction PIO1 b5 Power-on default direction of PIO1; 0 ⇒ output, 1 ⇒ input POD2: Power-On Direction PIO2 b6 Power-on default direction of PIO2; 0 ⇒ output, 1 ⇒ input POD3: Power-On Direction PIO3 b7 Power-on default direction of PIO3; 0 ⇒ output, 1 ⇒ input Power-on Default for PIO Output Type and Read Inversion (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 77h POT3 POT2 POT1 POT0 PIM3 PIM2 PIM1 PIM0 There is general read and write access to this address. Factory-default: F0h

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 7 of 22 BIT DESCRIPTION BIT(S) DEFINITION PIM0: Power-On Read Inversion PIO0 b0 Power-on default state of read-inversion bit of PIO0; 0 ⇒ no inversion, 1 ⇒ inversion PIM1: Power-On Read Inversion PIO1 b1 Power-on default state of read-inversion bit of PIO1; 0 ⇒ no inversion, 1 ⇒ inversion PIM2: Power-On Read Inversion PIO2 b2 Power-on default state of read-inversion bit of PIO2; 0 ⇒ no inversion, 1 ⇒ inversion PIM3: Power-On Read Inversion PIO3 b3 Power-on default state of read-inversion bit of PIO3; 0 ⇒ no inversion, 1 ⇒ inversion POT0: Power-On Output Type PIO0 b4 Power-on default output type of PIO0; 0 ⇒ push-pull, 1 ⇒ open drain POT1: Power-On Output Type PIO1 b5 Power-on default output type of PIO1; 0 ⇒ push-pull, 1 ⇒ open drain POT2: Power-On Output Type PIO2 b6 Power-on default output type of PIO2; 0 ⇒ push-pull, 1 ⇒ open drain POT3: Power-On Output Type PIO3 b7 Power-on default output type of PIO3; 0 ⇒ push-pull, 1 ⇒ open drain Direction and Control/Status Register (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 7Ah ADMD CM BUSY SFF DIR3 DIR2 DIR1 DIR0 There is general read and write access to this address. Bit 5 is read-only. The power-on default of bits 0 to 3 is copied from memory address 76h (Device Address = A0h) bits 4 to 7, respectively. BIT DESCRIPTION BIT(S) DEFINITION DIR0: Direction PIO0 b0 Direction of PIO0; 0 ⇒ output, 1 ⇒ input DIR1: Direction PIO1 b1 Direction of PIO1; 0 ⇒ output, 1 ⇒ input DIR2: Direction PIO2 b2 Direction of PIO2; 0 ⇒ output, 1 ⇒ input DIR3: Direction PIO3 b3 Direction of PIO3; 0 ⇒ output, 1 ⇒ input SFF: SFF Mode Bit b4 SFF Mode control; 0 ⇒ SFF Mode off, 1 ⇒ SFF Mode on. See Memory Map (Device Address = A2h) and SFF Optional Status Register description for details. The SFF Mode Bit, when set to 1, does not change the direction of PIO0 and PIO1 to input. BUSY: EEPROM Busy Indicator b5 If this bit reads 1, an EEPROM write cycle (A0h or A2h Device Address) is in progress. (SMBus mode only; reads 0 in I²C bus mode) CM: Communication Mode b6 Selects mode for the serial communication interface. 0: I²C bus mode (power-on default) 1: SMBus mode ADMD: PIO Address Mode b7 Selects Address Mode for PIO Read/Write access. See PIO Read/Write Access Registers for details. 0: Multi-Address M ode (power-on default) 1: Single-Address Mode

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 8 of 22 PIO Read-Inversion and Output Type (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 7Bh OT3 OT2 OT1 OT0 IMSK3 IMSK2 IMSK1 IMSK0 There is general read and write access to this address. The power-on default is copied from memory address 77h (Device Address = A0h). BIT DESCRIPTION BIT(S) DEFINITION IMSK0: Read-inversion control of PIO0 b0 0 ⇒ no inversion, 1 ⇒ data read from PIO0 is inverted IMSK1: Read-inversion control of PIO1 b1 0 ⇒ no inversion, 1 ⇒ data read from PIO1 is inverted IMSK2: Read-inversion control of PIO2 b2 0 ⇒ no inversion, 1 ⇒ data read from PIO2 is inverted IMSK3: Read-inversion control of PIO3 b3 0 ⇒ no inversion, 1 ⇒ data read from PIO3 is inverted OT0: Output Type of PIO0 b4 0: ⇒ Push-Pull, 1 ⇒ Open Drain OT1: Output Type of PIO1 b5 0: ⇒ Push-Pull, 1 ⇒ Open Drain OT2: Output Type of PIO2 b6 0: ⇒ Push-Pull, 1 ⇒ Open Drain OT3: Output Type of PIO3 b7 0: ⇒ Push-Pull, 1 ⇒ Open Drain PIO Read/Write Access Registers (Device Address = A0h) ADDR b7 b6 b5 b4 b3 b2 b1 b0 PIO Address Mode IV3 IV2 IV1 IV0 OV3 OV2 OV1 OV0 Single 7Ch 1 1 1 IV0 1 1 1 OV0 Multi 00h (no function) Single 7Dh 1 1 1 IV1 1 1 1 OV1 Multi 00h (no function) Single 7Eh 1 1 1 IV2 1 1 1 OV2 Multi 00h (no function) Single 7Fh 1 1 1 IV3 1 1 1 OV3 Multi There is general read and write access to these registers. Bits shown as 1 have no function; their state cannot be changed.

and 3 to 7 have no function; they always read 0 and cannot be set to 1. Standard-mode, up to 400kbps in the Fast-mode. The DS28CZ04 works in both modes. “slaves.” The DS28CZ04 is a slave device. the logical state of the respective pins. Figure 4. DS28CZ04 Slave Address

  1. For different conditions at these pins the slave address changes accordingly.

(don’t care); instead, the value transmitted in the most recent write access applies. timing references see Figure 6. Figure 5. I²C/SMBus Protocol Overview Both, SDA and SCL, are inactive, i. e., in their logic HIGH states. defined as a change in state of SDA from HIGH to LOW while SCL remains HIGH. a change in state of SDA from LOW to HIGH while SCL remains HIGH. same way as a normal START condition, but without leaving the bus idle after a STOP condition.

setup and hold time (t HD:DAT after the falling edge of SCL and t SU:DAT before the rising edge of SCL, see Figure 6). pulse. The master generates all SCL clock pulses, including those needed to read from a slave. and tSU:DAT before the rising edge of SCL). To continue reading from a slave, the master is obliged to generate an acknow ledge after the receipt of each byte. SDA LOW in such a way that SDA is stable LOW during the HIGH period of the ackn owledge-related clock pulse. SDA, allowing the master to generate the STOP condition. Figure 6. I²C/SMBus Timing Diagram NOTE: Timing is referenced to VILMAX and VIHMIN.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 13 of 22 Read and Write From the master’s point of view, the DS28CZ04 behaves like an memory device with an address range of 512 bytes. As indicated in the Memory Map, Figure 2, t he DS28CZ04 has different types of memory: SRAM, EEPROM and read-only areas. The write behavior depends on the memory type and the characteristics of the location that is addressed. The SRAM re gisters can be written from 1 byte to mu ltiple bytes at a time. The EEPROM can be written from 1 byte to 16 or 8 bytes at a time, depending on the memory location. To write to the DS28CZ04, the master must address the dev ice in write access mode, i. e., the slave address must be sent with the direction bit set to 0. The slave addres s also determines which of the memory halves is accessed. The next byte sent in write access mode is the address of the memory location to be written to (“write pointer”) or to start reading from (“read pointer”) if the write access is terminated without sending data (“dummy write”). Additional bytes are taken as data for the addressed memory location. To read from the DS28CZ04, the master must address the device in read access mode, i.e., the slave address must be sent with the direction bit set to 1. The read poi nter determines the location from which the master starts reading. To set the pointer, the DS28CZ04 must be addressed in write access mode, as described above. Write Access Due to the different memory types, special function regist ers, PIO access registers a nd address modes, there are several cases to be distinguished:

  • Normal EEPROM EEPROM block of 16 bytes
  • Short EEPROM EEPROM block of 8 bytes
  • Special EEPROM EEPROM block of 16 bytes with one or more non-writeable bytes
  • Reserved Block of 16 non-writeable bytes
  • SRAM Write SRAM bytes including PIO Read/Write Access Registers
  • PIO direct PIO Read/Write Access Registers only Table 1A maps the various cases to the applicable memory addresses and explains the device behavior in detail. All EEPROM writes depend on the state of WP pin. Only when the EEPROM is not write-protected (WP pin state = 0) is data accepted and transferred to the EEPROM. When writing to PIO Read/ Write Registers, either by running into their address range or by addressing them direct ly, one needs to further distinguish between PIO Multi- Address Mode and PIO Single Address Mode. The address mode is selected through the ADMD bit of the Direction and Control/Status Register (Device Address A0h) at address 7Ah. In Multi-Address Mode, each PIO occupies one memory address whereas in Single-Address Mode all PI Os share a single address. See the PIO Read/Write Access Registers description for details. The PIO addres s mode does not affect the device behavior when writing to the EEPROM sections. Writing to EEPROM Locations If the DS28CZ04 is addressed in write access mode, any data bytes that follow the address are written to a 16-byte buffer, beginning at an offset that is determined by the 4 l east significant bits of the target address. This buffer is initialized (pre-loaded) with data from the addressed 16-byte EEPROM block. Incoming data replaces pre-loaded data. With every byte received, the buf fer's write pointer as well as the read pointer is incremented. If the buffer's write pointer has reached its maximum value of 1111b (normal EEPROM and special EEPROM) or 0111b (short EEPROM) and additional data is received, the pointer wraps around (rolls over) and the incoming data is written to the beginning of the EEPROM write buffer and continuing. The same wrap-around applies to the 4 least-significant bits of the read pointer. This way the read pointer main tains the last address accessed during a write operation, incremented by one. The transfer fr om the buffer to the EEPROM begins when the master generates a STOP condition. Until the write cycle is completed, the DS28CZ04 is busy for the duration of tPROG.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 14 of 22 Table 1A. Write Access WRITING WHILE DEVICE IS NOT BUSY PIO Mode Starting Address SMBus or I²C Bus Mode Device address = A0h, any 16-byte block except 70h to 7Fh; Device address = A2h, any 16-byte block except 60h to 6Fh, F0h to FFh (normal EEPROM) If WP pin is tied to GND: Slave address is acknowledged; memory address is acknowledged, data is acknowledged; write pointer increments and wraps around from end of block to beginning of block, read pointer = write pointer +1. If WP pin is tied to VCC: data is not acknowledged, no EEPROM write cycle takes place; everything else remains the same. Device address = A0h, memory address from 70h to 77h (short EEPROM) Same as “normal EEPROM” except that write pointer wraps around from 77h to 70h. Device address = A2h, memory address from 60h to 6Fh (special EEPROM) SFF mode off: same as “normal EEPROM”. SFF mode on: data for address 6Eh is not acknowledged; everything else is the same as with “normal EEPROM”. Device address = A2h, memory address from F0h to FFh (reserved) Same as “normal EEPROM” except that data is not acknowledged. Device address = A0h, memory address from 78h to 7Bh (SRAM write) Slave address is acknowledged; memory address is acknowl- edged, data for address 78h and 79h is not acknowledged; write pointer increments and wraps around from 7Fh to 7Ah, read pointer = write pointer +1. Multi- Address Device address = A0h, memory address from 7Ch to 7Fh (PIO direct) Slave address is acknowledged; memory address is acknowledged, data is acknowledged; write pointer increments and wraps around from 7Fh to 7Ch, read pointer = write pointer +1. Device address = A0h, memory address from 78h to 7Fh excluding 7Ch (SRAM write) Slave address is acknowledged; memory address is acknowledged, data for addresses 7Dh to 7Fh and 78h to 79h is not acknowledged; write pointer increments and wraps around from 7Fh to 7Ah, read pointer = write pointer +1. Device address = A0h, memory address = 7Ch (PIO direct) Slave address is acknowledged; memory address is acknowledged, data is acknowledged; write pointer stays at 7Ch; read pointer stays at 7Ch. Single- Address All other cases Same as in PIO Multi-Address Mode. Busy Polling While busy, the behavior of the DS 28CZ04 depends on the communication mode, which is selected through the CM bit of the Direction and Control/Status Register (Device Address A0h) at address 7Ah. Tables 1B and 2B show details. The PIO address mode does not affect the device behavior when busy. In I²C bus mode , when busy the DS28CZ04 does not acknowled ge its slave address until the write cycle is completed. The master can access the device by tran smitting the Slave Address/Direction Byte and testing whether the address is acknowledged. As soon as the DS28CZ04 acknowledges, the master knows that the device is ready for further activities. In SMBus mode, the DS28CZ04 always acknowledges its slave address. The only way for the master to detect the completion of the write cycle is through the BUSY bit in the Direction and Control/Status Register (Device Address A0h) at. To get to this bit the master must first address the DS28CZ04 in write access mode, Device Address A0h, and set the memory address to 7Ah (see Table 1B). Now the master can address the DS28CZ04 in read access

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 15 of 22 mode and generate pulses on SCL to read data, one byte a fter another without issuing a STOP (see Table 2B). Eventually the BUSY bit changes from 1 to 0 indicating the end of the write cycle. The BUSY bit is sampled during the transmission of the byte bef ore it is read out; consequently, the state read out reflects the state at sample time and not the actual state. To get the actual state of the busy bit the master can a) read at the maximum data rate, b) read two bytes in sequence without delay in betwe en and use the BUSY bit in the second byte or c) in a loop: read one byte, issue a STOP, wait, reposition the read pointer, address the DS28CZ04 in read mode to get another status byte. Table 1B. Prepare For Busy Polling WRITING WHILE DEVICE IS BUSY PIO Mode Starting Address SMBus Mode I²C Bus Mode Device Address = A0h, memory address = 7Ah Slave address is acknowledged; memory address is acknowl- edged; data is not acknowledged; write pointer keeps its last posi- tion; read pointer = 7Ah. Device Address = A0h, any memory address except 7Ah Either Address Mode Device Address = A2h, any memory address Slave address is acknowledged; memory address is not acknowl- edged; data is not acknowledged; write pointer keeps its last posi- tion; read pointer = write pointer +1. Slave address is NOT ac- knowledged; memory ad- dress is not acknowledged; data is not acknowledged; write pointer keeps its last position; read pointer = write pointer +1. Table 2B. Busy Polling READING WHILE DEVICE IS BUSY PIO Mode Read Pointer SMBus Mode I²C Bus Mode Device Address = A0h, memory address = 7Ah Slave address is acknowledged; data is delivered; read pointer stays at 7Ah. Device Address = A0h, excluding memory address 7Ah Either Address Mode Device Address = A2h, any memory address Slave address is acknowledged; no data is delivered; read pointer = last write pointer +1. Slave address is NOT acknowledged; no data is delivered; read pointer stays as is. Writing to SRAM and PIO Locations If the DS28CZ04 is addressed in write access mode, any data bytes that follow the address are directly written to their respective memory location. The PIO address mode controls the device behavior when writing to the PIO Read/Write access registers. Depending on whether one runs into the PIO address range (SRAM write) or whether one starts at a PIO address (PIO direct) the pointer a nd data acknowledge behavior is different. Table 1A shows the details. The PIO Address Mode is anot her parameter that affects the point er behavior. Figure 7 illustrates the possible cases and the sequence in which the addresses are accessed. The common characteristic in both SRAM write cases is a starting address in the SRAM block (address range 78h to 7Fh) excluding any address used for PIO access . Data for writeable registers (7Ah, 7Bh and valid addresses for PIO Read/Write access) is acknowledged; the write pointer increments and after address 7Fh rolls over to 7Ah. The common characteristic in both PIO direct cases is a starting address within the address range used for PIO access. In PIO Multi-Address Mode, there are four such addresses (7Ch to 7Fh); each PIO occupies its own address. Data is always acknowledged; the write pointer increments to the next PIO and eventually wraps around to 7Ch. In PIO Single-Address Mode, there is exactly one ad dress (7Ch) that is shared by all PIOs. Data is always acknowledged; the write pointer stays at 7Ch.

staying in the lower half of memory. addresses are accessed. Figure 9 illustrates the possible cases. Figure 9. Memory and PIO Reading

write access mode and specify a new memory address. around to 7Ch. In PIO Single-Address Mode, there is exactly one address (7Ch) that is shared by all PIOs. Consequently, the master can continue reading, but the read pointer stays at 7Ch. stopped at any moment by a STOP condition. When this occurs, data from the last sampling instance is lost. Figure 10. PIO Read Access Timing fully compatible to newer devices.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 19 of 22 Figure 10A. PIO Read Access Timing, A1 devices Normal Read, A1 Parts MSB DATA1 LSB A MSB DATA2 LSB A MSB DATA3 LSB A DATA1 DATA2 DATA4 DATA3 DATA5 tPS tPH Sampling Sampling Sampling Note: DATA1 was sampled during the transmission of data from address 7Ah, or, if reading started at memory address 7Bh, during the transmission of the slave address. PIO SCL SDA MSB (7Bh) data LSB A PIO Direct, A1 Parts S A6 A5 A4 A3 A2 A1 P0 1 A MSB DATA1 LSB A MSB DATA2 LSB A MSB DATA3 LSB A tPS tPH Sampling Sampling Sampling Note: DATA1 was sampled during the transmission of the slave address of a preceding read or write access. PIO SCL SDA DATA1 DATA2 DATA4DATA3 DATA5 I²C/SMBus Communication—Legend SYMBOL DESCRIPTION SYMBOL DESCRIPTION S START Condition xx0xx1xxb Byte that defines specific bits only ADL,0 Select for Write Access to lower half P STOP Condition ADH,0 Select for Write Access to upper half A\\ Not Acknowledged ADX,1 Select for Read Access <byte> Transfer of 1 Byte ADX,0 Select for Write access AMA Any 8-bit Memory Address A Acknowledged Sr Repeated START Condition Command-Specific Communication⎯Color-Codes Master-to-Slave Slave-to-Master Programming Communication Examples Set I²C mode, write 3 bytes starting at address 25h, lower half of the memory, test for end of cycle S ADL,0 A 7Ah A x0xxxxxxb A P S ADL,0 A 25h A <byte> A P Programming S ADX,0 A\\ Sr ADX,0 A\\ Sr ADX,0 A P Repeat this sequence; when cycle is completed, the DS28CZ04 will acknowledge. Write 3 bytes Set I²C bus mode; optional step; I²C bus mode is the power-on default.

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 20 of 22 Set SMBus mode, write 3 bytes starting at address 25h, upper half of the memory, test for end of cycle S ADL,0 A 7Ah A x1xxxxxxb A P S ADH,0 A 25h A <byte> A P Programming S ADL,0 A 7Ah A P S ADX,1 A <byte> A <byte> A <byte> A\\ P Read all memory, starting at the lower half of memory S ADL,0 A AMA A Sr ADX,1 A <byte> A <byte> A\\ P Set SFF Mode on, read SFF Optional Status Register S ADL,0 A 7Ah A xxx1xxxxb A P S ADH,0 A 6Eh A P S ADX,1 A <byte> A\\ P Write to all four PIOs in Multi-Address Mode, starting at PIO0 S ADL,0 A 7Ah A 0xxx0000b A P S ADL,0 A 7Ch A <byte> A P Write to all four PIOs in Single-Address Mode S ADL,0 A 7Ah A 1xxx0000b A P S ADL,0 A 7Ch A <byte> A P Read from all four PIOs in Multi-Address Mode, starting at PIO1 S ADL,0 A 7Ah A 0xxx1111b A P last byte Read 511 bytes Set read pointer select lower half Repeat this sequence; when cycle is completed, the BUSY bit is 0 Set Read Pointer for polling the BUSY bit Set Read Pointer for Optional Status Register Write 4 bytes Write 3 bytes Set SMBus mode; the mode setting remains valid until the next power-on or MRZ reset. Set SFF on Set direction, PIO address mode Set direction, PIO address mode Set direction, PIO address mode

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 21 of 22 S ADL,0 A 7Dh A P S ADX,1 A <byte> A <byte> A\\ P Read from all four PIOs in Single-Address Mode S ADL,0 A 7Ah A 1xxx1111b A P S ADL,0 A 7Ch A P S ADX,1 A <byte> A\\ P

Application Information

SDA and SCL Pullup Resistors SDA is an open-drain output on the DS28CZ04 that require s a pullup resistor (Figure 11) to realize high logic levels. Because the DS28CZ04 uses SCL only as input ( no clock stretching) the mast er can drive SCL either through an open-drain/collector output with a pullup resistor or a push-pull output. Pullup Resistor RP Sizing According to the I²C specification, a slave devic e must be able to sink at least 3mA at a V OL of 0.4V. The SMBus specification requires a current sink capability of 4mA at 0.4V. The DS28CZ04 can sink at least 4mA at 0.4V V OL over its entire operating voltage range. This DC characte ristic determines the minimum value of the pullup resistor: RPMIN = (VCC - 0.4V)/4mA. With a maximum operating voltage of 5.25V, the minimum value for the pullup resistor is 1.2kΩ. The "Minimum R P" line in Figure 12 shows how the minimum pullup resistor changes with the operating (pullup) voltage. Figure 11. Application Schematic Microprocessor Port Expander

DS28CZ04: 4kbit I²C/SMBus EEPROM with Nonvolatile PIO 22 of 22 For I²C systems, the rise time and fall time are meas ured from 30% to 70% of the pullup voltage. The maximum bus capacitance CB is 400pF. The maximum rise time must not ex ceed 300ns. Assuming maximum rise time, the maximum resistor value at any given capacitance C B is calculated as: RPMAX = 300ns/(C B*ln(7/3)). For a bus capacitance of 400pF the maximum pullup resistor would be 885Ω. Since an 885Ω pullup resistor, as would be required to meet the rise time specification and 400pF bus capacitance, is lower than RPMIN at 5.25V, a different approach is necessary. The "Max. Load…" line in Figure 12 is generated by first calculating the minimum pullup resistor at any given operating voltage ("Minimum RP" line) and then calculating the respective bus capacitance that yields a rise time of 300ns. Only for pullup voltages of 4V and lower can the maximum permissible bus capacitance of 400pF be maintained. A reduced bus capacitance of 300pF is acceptable for the entire operating voltage rang e. The corresponding pullup resistor value at the voltage is indicated by the "Minimum R P" line. Figure 12. I²C Fast Speed Pullup Resistor Selection Chart

PACKAGE INFORMATION

(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information, go to www.maxim-ic.com/DallasPackInfo.)