Post Go back to editing

Use DS2482 to write to DS24B33

Category: Hardware
Product Number: DS2482-100

I have a DS24B33 EEPROM connected to a DS2482. I'm trying to write a single byte value (0x41) to address 0 of the DS24B33. After writing to the scratchpad, I read the scratchpad back to verify the data was written correctly. However, I'm unable to correctly read back the 2 address bytes and the data byte from the scratchpad. I always get back 0xFF rather than the contents of the scratchpad. Here's the steps I'm using:

1 - Write B4 - 1-wire reset

2 - Busy-wait - wait for 1-wire idle

3 - Write A5/0F - 1-wire write byte - write scratchpad

4 - Busy-wait - wait for 1-wire idle

5 - Write A5/00 - Address low

6 - Busy-wait - wait for 1-wire idle

7 - Write A5/00 - Address high

8 - Busy-wait - wait for 1-wire idle

9 - Write A5/41 - data value

10 - Busy-wait - wait for 1-wire idle

11 - Write B4 - 1-wire reset

12 - Busy-wait - wait for 1-wire idle

13 - Write A5/AA - 1-wire write byte - read scratchpad

14 - Busy-wait - wait for 1-wire idle

15 - Write 96 - 1-wire read byte

16 - Write E1/E1 - Set the Read Pointer to the Read Data Register

17 - Read a byte from the DS2482. This should be address low (the value written at step 5), but is always 0xFF.

18 - Repeat steps 15-17 3 more times to read a total of 4 bytes from the scratchpad - TA1, TA2, E/S, data byte. Each data byte value read is 0xFF, rather than the expected values.

Attaching logic analyzer capture of steps 1-2:

Attaching logic analyzer capture of steps 3-7:

Attaching logic analyzer capture of steps 8-12:

Attaching logic analyzer capture of steps 13-17:

Attaching logic analyzer capture of step 18:

What is the correct sequence of steps needs to correctly read the scratchpad of the DS24B33 through the DS2482?



Corrected description of bytes read as 0xFF.
[edited by: Brian99 at 10:00 PM (GMT -5) on 15 Jan 2025]