AN-1383: ADP1046A EEPROM Programming

Introduction

The ADP1046A offers a register map and an EEPROM that are programmed with settings for a specific power topology and application based on the user system preferences. This application note focuses on the hardware considerations and software procedures to program the ADP1046A in a production line environment.

Hardware

Figure 1 shows the recommended pin settings for the ADP1046A in the EEPROM programming environment. Use surface-mount components for all components. In addition, ceramic capacitors are recommended.

Figure 1. Recommended pin settings.
Figure 1. Recommended pin settings.

Recommended Pin Settings

Table 1 lists the settings for the components shown in Figure 1.

Table 1. Component Settings
Component Value Unit Comments
VDD Pin 3.3 V  
GND1, 2     Ground plane of the board
NC     No connect pin; leave this pin floating
C1 0.5 μF Capacitor 1
C2, C3 2.5 μF Capacitor 2, Capacitor 3
R1, R2 5 kΩ Resistor 1, Resistor 2
R3, R4 2.2 kΩ Resistor 3, Resistor 4
R5 10 kΩ Resistor 5, 0.1% accurate
R6, R7 10 Optional resistors
1 One continuous ground plane must be present across the entire area of the board.
2 To avoid noise interference, the SDA, SCL, and GND lines from the programmer to the device must be as small as possible.

Additional Layout Recommendations

If the ADP1046A is soldered on the board, then the components listed in Table 1 must be close to the pins, as shown in Figure 4. If a socket is used, place the components on the bottom side of the board near the pins, as shown in Figure 2.

Figure 2. Board layout.
Figure 2. Board layout. 
Figure 3. Board layout, bottom view.
Figure 3. Board layout, bottom view.
Figure 4. Board layout, IC on board.
Figure 4. Board layout, IC on board.

Software Programming

There are two methods for programming register settings into the EEPROM of the device: standard or alternative.


Standard EEPROM Programming


To program the register settings into the EEPROM using the standard method, take the following steps:

  1. Read the register settings from the “.46r” file that is generated using either the ADP1046A graphical user interface (GUI) or a hex file and write the following register values to the corresponding registers of the device via I2C:
    • Write to Register 0x08 to Register 0x0F
    • Write to Register 0x22
    • Write to Register 0x26 to Register 0x2A
    • Write to Register 0x2C to Register 0x37
    • Write to Register 0x3B
    • Write to Register 0x3F to Register 0x5D
    • Write to Register 0x5F to Register 0x7D
  2. Read back the values written and compare them to the register settings in the .46r file to ensure the write operation was executed correctly.
  3. To unlock the EEPROM, a repeated write is required to Register 0x88. First, write 0xFF to Register 0x88 and then immediately write 0xFF to Register 0x88 again.
  4. To upload the contents in the registers to the EEPROM, execute a send command to Register 0x82.
  5. Wait for 50 ms for the upload to complete.
  6. To lock the EEPROM, write 0x01 to Register 0x88.

Alternative EEPROM Programming


To program the board settings into the EEPROM using the alternative method, take the following steps and see Figure 5:

  1. To unlock the EEPROM, a repeated write is required to Register 0x88. First, write 0xFF to Register 0x88 and then immediately write 0xFF to Register 0x88 again.
  2. Erase EEPROM Page 2 by writing 0x02 to Register 0x87; wait 30 ms to for the erase to complete.
  3. Set the address offset to zero by writing 0x0000 to Register 0x85.
  4. Write to EEPROM Page 2 by performing a block write to Register 0x8D using the board data from the hexadecimal file.
  5. Unlock the EEPROM by writing 0x01 to Register 0x88.

Example Using Hexadecimal File

Figure 5. EEPROM alternative programming using hexadecimal file.
Figure 5. EEPROM alternative programming using hexadecimal file.

Board Settings Hexadecimal File

The hexadecimal file reads as follows:

:7E008D000102036000F76000F46000F3B000F48000F4B000F48 000F18000F18000F18000F16400F8A000F46000F46000F45DC0 FC6400F70000000000006E00F9A000F56000F26000F50000000 000000000000000008000F1000000000000000000000000000000 0000006C00F68000F10000000000000000000000000000000000 007E,

Note the following information that is embedded in the file format:

  • The first two digits after the colon, 7E, represent the byte count. In this case, it is 126 bytes.
  • The next four digits, 008D, represent the address.
  • The next two digits, 00, represent the record type.
  • The remaining digits, beginning with 0102036 and ending with the final string of 36 zeros, represent the data.
  • The final two digits, 7E, represent the checksum.

Format for Storing Board Settings in EEPROM


The data that is written to the EEPROM for board settings starts with 0x010203, it is used by the graphical user interface (GUI) to detect if valid board settings data is present in Page 2 of the EEPROM.

Each board setting is represented as three-byte data in the hexadecimal file. The first two bytes represent the mantissa and the third byte represents the exponent. For example, the first board setting, input voltage of 48 V, is represented as 0x6000F7. To understand the breakdown of the hexadecimal code, see Table 2.

Table 2. Hexadecimal Code Segments
Mantissa Exponent
High Bits Low Bits  
0x60 0x00 0xF7

Converting Hexadecimal Data to Board Settings

  • Mantissa = 0x6000
  • Mantissa in decimal = 24,576
  • Exponent = 0xF7
  • Exponent after twos complement = −9
  • Input voltage = 24,576 × 2−9 = 48 V

Figure 6 shows the ADP1046A GUI window with the board settings. These settings are further defined in Table 3 where the Item column represents the component locator numbers within Figure 6.

Figure 6. ADP1046AGUI window with board settings.
Figure 6. ADP1046AGUI window with board settings.
Table 3. Component Values for Board Settings
Item Board Value Mantissa Exponent
High Bits  Low Bits  
1 Input voltage = 48 V 0x60 0x00 0xF7
2 N1 = 6 0x60 0x00 0xF4
3 N2 = 3 0x60 0x00 0xF3
4 R (CS2) = 11 mΩ 0xB0 0x00 0xF4
5 I (load) = 8 A 0x80 0x00 0xF4
6 R1 = 11 kΩ 0xB0 0x00 0xF4
7 R2 = 1 kΩ 0x80 0x00 0xF1
8 C3 = 1 μF 0x80 0x00 0xF1
9 C4 = 1 μF 0x80 0x00 0xF1
10 N1 (CS1) = 1 0x80 0x00 0xF1
11 N2 (CS1) = 100 0x64 0x00 0xF8
12 R (CS1) = 10 Ω 0xA0 0x00 0xF4
13 ESR (L1) = 6 mΩ 0x60 0x00 0xF4
14 L1 = 6 μH 0x60 0x00 0xF4
15 C1 = 1500 μF 0x5D 0xC0 0xFC
16 ESR (C1) = 50 mΩ 0x64 0x00 0xF7
17 ESR (L2) = 0 mΩ 0x00 0x00 0x00
18 L2 = 0 μH 0x00 0x00 0x00
19 C2 = 220 μF 0x6E 0x00 0xF9
20 ESR (C2) = 20 mΩ 0xA0 0x00 0xF5
21 R (normal mode) = 1.5 Ω 0x60 0x00 0xF2
22 R (light load mode) = 12 Ω 0x60 0x00 0xF5
23 Capacitor across R1 and R2 = 0 μF 0x00 0x00 0x00
24 Topology = 0 0x00 0x00 0x00
25 Switches/diodes = 0 0x00 0x00 0x00
26 High-side/low-side sense (CS2) = 0 mΩ 0x00 0x00 0x00
27 Second LC stage = 1 (only when Item 17 to Item 20 are populated) 0x80 0x00 0xF1
28 CS1 input type = 0 (default value for internal use) 0x00 0x00 0x00
29 R3 = 0 kΩ 0x00 0x00 0x00
30 R4 = 0 kΩ 0x00 0x00 0x00
31 Pulse-width modulator (PWM) main = 0 (default value for internal use)  0x00 0x00 0x00
32 C5 = 0 μF 0x00 0x00 0x00
33 C6 = 0 μF 0x00 0x00 0x00
34 R6 = 27 kΩ 0x6C 0x00 0xF6
35 R7 = 1 kΩ 0x80 0x00 0xF1 

Resonant Mode Topology

For resonant mode topology (Figure 7), the additional components require different settings than the general board settings listed in Table 3. The resonant mode settings are listed in Table 4.

Figure 7. ADP1046AGUI window with board settings for resonant mode.
Figure 7. ADP1046AGUI window with board settings for resonant mode.

Phase Shifted, Full Bridge Topology

For phase shifted, full bridge topology (Figure 8) the additional components require different settings than either the general board settings (Table 3) or the resonant mode settings (Table 4). The phase shifted, full bridge settings are listed in Table 5.

Figure 8. ADP1046AGUI window with board settings for phase shifted, full bridge topology.
Figure 8. ADP1046AGUI window with board settings for phase shifted, full bridge topology.
Table 4. Resonant Mode Components
Item Board Value
1 Input voltage = 385 V
2 N1 = 6 
3 N2 = 3
4 R (CS2) = 2.2 mΩ
5 I (load) = 12.5 A
6 R1 = 46.4 kΩ
7 R2 = 1 kΩ
8 C3 = 1 µF
9 C4 = 1 µF
10 N1 (CS1) = 1
11 N2 (CS1) = 100
12 R (CS1) = 20 Ω
13 ESR (L1) = 6 mΩ
14 L1 = 6 µH
15 C1 = 680 µF
16 ESR (C1) = 50 mΩ
17 ESR (L2) = 0 mΩ
18 L2 = 0 µH
19 C2 = 330 µF
20 ESR (C2) = 20 m Ω
21 R (normal mode), load = 3.84 Ω
22 R (light load mode), load = 24 Ω
23 Capacitor across R1 and R2 = 0 (1 = yes, 0 = no)
24 Topology = 7 (0 = full bridge, 1 = half bridge, 2 = two switch forward, 3 = interleaved two switch forward, 4 = active clamp forward, 5 = resonant mode, 6 = custom)
25 Switches/diodes = 0 (0 = switches, 1 = diodes)
26 High-Side/Low-Side Sense (CS2) = 0 (1 = high-side sense, 0 = low-side sense)
27 Second LC stage = 1 (1 = yes, 0 = no)
28 CS1 input type = 0 (1 = ac, 0 = dc)
29 R3 = 0 kΩ
30 R4 = 0 kΩ
31 Pulse-width modulator main = 0 (0 = OUTA, 1 = OUTB, 2 = OUTC, 3 = OUTD, 4 = SR1, 5 = SR2, 6 = OUTAUX)
32 C5 = 0 µF
33 C6 = 0 µF
34 R6 = 27 kΩ
35 R7 = 1 kΩ
36 C7 = 0.009 µF
37 L3 = 70 µH
38 Lm = 400 µH
39 ResF = 108 kHz
40 R8 = 145 mΩ
41 R9 = 10 mΩ 

Authors

Navdeep-Singh-Dhanjal

Navdeep Singh Dhanjal

Navdeep has worked at Analog Devices for 14 years, during which time he has been involved with breakthrough products like Digital Power and Super Sequencers. He was the architect for the intuitive digital power graphical user interface, and most recently he was the architect for the ADM1266 Super Sequencer, overseeing the firmware, software and hardware development. He has 3 three patents and a MS degree in Electrical Engineering from SJSU.

Generic_Author_image

Hossain Opal

Generic_Author_image

Subodh Madiwale

Subodh Madiwale is a staff applications engineer in the Power Management Division of Analog Devices (San Jose). Previously, he held a position at Power Integrations as an FAE designing power supplies. His interests include system modeling and architecture, high frequency power conversion, and system improvements using mixed-signal SoC. He earned his M.S.E.E. from Santa Clara University and B.S.E.E. from Lakehead University, Canada.