APPLICATION NOTE 3481

Using the DS1859 with External EEPROM


Abstract: This application note addresses adding external EEPROM into SFF-8472 applications that require more than 128 Bytes of memory located at the I²C* device address A0h.

Introduction

The DS1859 is a dual digital resistor that automatically adjusts itself as a function of temperature to the values programmed into a EEPROM look-up table (LUT). Other features include five analog-to-digital channels (including VCC and temperature) and a memory map that is compatible with SFF-8472 fiber optic applications. This application note addresses adding external EEPROM into SFF-8472 applications that require more than 128 Bytes of memory at I²C device address A0h.

DS1859 Default Memory Configuration

By default, the DS1859 responds to two I²C addresses (Figure 1). It provides 128 Bytes of general-purpose EEPROM memory at I²C address A0h, which is called the auxiliary memory. The main device address (A2h) is used to configure and access the rest of the chips resources. The main memory is partitioned into a lower memory section (the first 128 Bytes) that is always accessible, and an upper memory section that is used to access several tables of memory that begin at address 80h. These tables of memory are selected by the table-select Byte (address 7F, in lower memory).

Figure 1. DS1859 default memory map.
Figure 1. DS1859 default memory map.

Adding External EEPROM with the DS1859

To add external memory at I²C address A0h, the DS1859's existing auxiliary memory must be configured so that it does not cause a conflict when address A0h is read or written. Setting the control bit ADEN = 1 (main device, memory address 89h, table 1) prevents the DS1859 from responding to the A0h device address, and maps the DS1859's auxiliary memory into the main device's upper memory in table 0. Once this is done, additional memory that responds to device address A0h can be added to the module. In addition to the external EEPROM added at the A0h device address, the customer can read the DS1859's auxiliary memory by accessing the main device's upper memory in table 0. Thus, if a 256-Byte memory is added at the A0h device address, 384 Bytes of general-purpose EEPROM will be available to the application. Figure 2 shows the composite memory map that will be created by adding a separate 256-Byte EEPROM at device address A0h.

Figure 2. Memory map adding external 256-Byte EEPROM.
Figure 2. Memory map adding external 256-Byte EEPROM.

Figure 3 shows the connections required to use an Atmel® AT24C02 256-Byte EEPROM for the application. The pull-up resistor values shown will work for most applications, but should ultimately be chosen to ensure that the I²C rise and fall time specifications are satisfied. Grounding all the address inputs to the AT24C02 will make it respond to device address A0h. This can also be done with the AT24C01 to add an additional 128 Bytes of EEPROM to the system. This does not work for the higher density versions of the AT24Cxx product family, because they use the least significant bits of the device address to designate 256-Byte chunks of memory. This results in a conflict with the main device address (A2h) for versions of this EEPROM that contain more than 256 Bytes. The write-protect signal can be used to write protect the external memory, and it enables DS1859's MPEN bit to write protect the main device address. When write protect is low, the DS1859's main device address is always accessible, regardless of the MPEN bit.

Figure 3. Digital interface connection diagram.
Figure 3. Digital interface connection diagram.

Conclusion

The DS1859 can be used with an external EEPROM memory for SFF-8472 applications that require more than 128 Bytes of memory at device address A0h. The ADEN bit should then be set to '1' to map the DS1859's auxiliary memory to the main memory address' upper memory in table 0. Once this is done, both the DS1859's 128 Bytes of auxiliary memory and the additional EEPROM are available for general-purpose use. The circuit diagram shown in Figure 3 shows the connections required to add an additional 256 Bytes of EEPROM memory using Atmel AT24C02 memory.