AN-1383 APPLICATION NOTE One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com ADP1046A EEPROM Programming by Navdeep Singh Dhanjal, Hossain Opal, and Subodh Madiwale INTRODUCTION RECOMMENDED PIN SETTINGS 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’s system preferences. This application note focuses on the hardware considerations and software procedures to program the ADP1046A in a production line environment. Table 1 lists the settings for the components shown in Figure 1. Table 1. Component Settings HARDWARE Figure 1 shows the recommended pin settings for the ADP1046A in the EEPROM programming environment. Use surfacemount components for all components. In addition, ceramic capacitors are recommended. Component VDD Pin GND 1, 2 NC Value 3.3 C1 C2, C3 R1, R2 R3, R4 R5 R6, R7 0.5 2.5 5 2.2 10 10 Unit V μF μF kΩ kΩ kΩ Ω Comments Ground plane of the board No connect pin; leave this pin floating Capacitor 1 Capacitor 2, Capacitor 3 Resistor 1, Resistor 2 Resistor 3, Resistor 4 Resistor 5, 0.1% accurate Optional resistors One continuous ground plane should 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 should be as small as possible. 1 C2 25 VCORE 26 VDD 27 RTD 28 ADD 29 RES 5 TOP VIEW (Not to Scale) 20 6 19 7 18 PGOOD1 PGOOD2 FLAGIN PSON R3 R4 SDA R6 SCL R7 SDA SCL I2C/EEPROM PROGRAMMER GND 16 15 SHAREo GATE OUTAUX OUTD 14 17 13 8 SHAREi 13700-001 VDD 30 21 SR1 NC VS3– ADP1046A 9 PGND 4 OUTC CS1 22 12 ACSNS 3 11 CS2+ 23 OUTB R2 2 10 CS2– 24 OUTA R1 31 VS3+ 32 VS1 1 SR2 AGND DGND C1 R5 VS2 C3 GND Figure 1. Recommended Pin Settings Rev. 0 | Page 1 of 8 AN-1383 Application Note TABLE OF CONTENTS ADP1046A EEPROM Programming ............................................. 1 Additional Layout Recommendations ............................................3 Introduction ...................................................................................... 1 Software Programming .....................................................................4 Hardware ........................................................................................... 1 Standard EEPROM Programming ..............................................4 Recommended Pin Settings ............................................................ 1 Alternative EEPROM Programming ..........................................4 Revision History ............................................................................... 2 Format for Storing Board Settings in EEPROM .......................5 REVISION HISTORY 2/16—Revision 0: Initial Version Rev. 0 | Page 2 of 8 Application Note AN-1383 ADDITIONAL LAYOUT RECOMMENDATIONS 13700-103 If the ADP1046A is soldered on the board, then the components listed in Table 1 should 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. 13700-002 Figure 3. Board Layout, Bottom View 13700-104 Figure 2. Board Layout Figure 4. Board Layout, IC on Board Rev. 0 | Page 3 of 8 AN-1383 Application Note SOFTWARE PROGRAMMING There are two methods for programming register settings into the EEPROM of the device: standard or alternative. Example Using Hexadecimal File STANDARD EEPROM PROGRAMMING 1. 2. 3. 4. 5. 6. 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: a. Write to Register 0x08 to Register 0x0F. b. Write to Register 0x22. c. Write to Register 0x26 to Register 0x2A. d. Write to Register 0x2C to Register 0x37. e. Write to Register 0x3B. f. Write to Register 0x3F to Register 0x5D. g. Write to Register 0x5F to Register 0x7D. Read back the values written and compare them to the register settings in the .46r file to ensure the write operation was executed correctly. 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. To upload the contents in the registers to the EEPROM, execute a send command to Register 0x82. Wait for 50 ms for the upload to complete. 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. 2. 3. 4. 5. 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. Erase EEPROM Page 2 by writing 0x02 to Register 0x87; wait 30 ms to for the erase to complete. Set the address offset to zero by writing 0x0000 to Register 0x85. Write to EEPROM Page 2 by performing a block write to Register 0x8D using the board data from the hexadecimal file. Unlock the EEPROM by writing 0x01 to Register 0x88. 13700-003 To program the register settings into the EEPROM using the standard method, take the following steps: Figure 5. EEPROM Alternative Programming Using Hexadecimal File Board Settings Hexadecimal File The hexadecimal file reads as follows: :7B008D000102036000F76000F46000F3B000F48000F4B000 F48000F18000F18000F18000F16400F8A000F46000F46000F 45DC0FC6400F70000000000006E00F9A000F56000F26000F 50000000000000000000000008000F10000000000000000000 000000000000000006C00F68000F1000000000000000000000 00000000000000081 Note the following information that is embedded in the file format: • • • • • Rev. 0 | Page 4 of 8 The first two digits after the colon, 7B, represent the byte count. In this case, it is seven 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, 81, represent the checksum. Application Note AN-1383 FORMAT FOR STORING BOARD SETTINGS IN EEPROM Table 2. Hexadecimal Code Segments 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. High Bits 0x60 Mantissa Low Bits 0x00 Exponent 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. 13700-004 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. Figure 6. ADP1046A GUI Window with Board Settings Table 3. Component Values for Board Settings Mantissa Item 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Board Value Input voltage = 48 V N1 = 6 N2 = 3 R (CS2) = 11 mΩ I (load) = 8 A R1 = 11 kΩ R2 = 1 kΩ C3 = 1 μF C4 = 1 μF N1 (CS1) = 1 N2 (CS1) = 100 R (CS1) = 10 Ω ESR (L1) = 6 mΩ L1 = 6 μH C1 = 1500 μF ESR (C1) = 50 mΩ High Bits 0x60 0x60 0x60 0xB0 0x80 0xB0 0x80 0x80 0x80 0x80 0x64 0xA0 0x60 0x60 0x5D 0x64 Rev. 0 | Page 5 of 8 Low Bits 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xC0 0x00 Exponent 0xF7 0xF4 0xF3 0xF4 0xF4 0xF4 0xF1 0xF1 0xF1 0xF1 0xF8 0xF4 0xF4 0xF4 0xFC 0xF7 AN-1383 Application Note Mantissa Item 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Board Value ESR (L2) = 0 mΩ L2 = 0 μH C2 = 220 μF ESR (C2) = 20 mΩ R (normal mode) = 1.5 Ω R (light load mode) = 12 Ω Capacitor across R1 and R2 = 0 μF Topology = 0 Switches/diodes = 0 High-side/low-side sense (CS2) = 0 mΩ Second LC stage = 1 (only when Item 17 to Item 20 are populated) CS1 input type = 0 (default value for internal use) R3 = 0 kΩ R4 = 0 kΩ Pulse-width modulator (PWM) main = 0 (default value for internal use) C5 = 0 μF C6 = 0 μF R6 = 27 kΩ R7 = 1 kΩ High Bits 0x00 0x00 0x6E 0xA0 0x60 0x60 0x00 0x00 0x00 0x00 0x80 Low Bits 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Exponent 0x00 0x00 0xF9 0xF5 0xF2 0xF5 0x00 0x00 0x00 0x00 0xF1 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0xF6 0xF1 Rev. 0 | Page 6 of 8 Application Note AN-1383 Resonant Mode Topology Item 20 21 22 23 24 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. Table 4. Resonant Mode Components Board Value Input voltage = 385 V N1 = 6 N2 = 3 R (CS2) = 2.2 mΩ I (load) = 12.5 A R1 = 46.4 kΩ R2 = 1 kΩ C3 = 1 µF C4 = 1 µF N1 (CS1) = 1 N2 (CS1) = 100 R (CS1) = 20 Ω ESR (L1) = 6 mΩ L1 = 6 µH C1 = 680 µF ESR (C1) = 50 mΩ ESR (L2) = 0 mΩ L2 = 0 µH C2 = 330 µF 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 3 2 1 5 17 36 41 18 37 40 21 19 15 24 16 22 38 20 4 6 7 10 11 12 13700-005 Item 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Board Value ESR (C2) = 20 m Ω R (normal mode), load = 3.84 Ω R (light load mode), load = 24 Ω Capacitor across R1 and R2 = 0 (1 = yes, 0 = no) 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) Switches/diodes = 0 (0 = switches, 1 = diodes) High-Side/Low-Side Sense (CS2) = 0 (1 = high-side sense, 0 = low-side sense) Second LC stage = 1 (1 = yes, 0 = no) CS1 input type = 0 (1 = ac, 0 = dc) R3 = 0 kΩ R4 = 0 kΩ Pulse-width modulator main = 0 (0 = OUTA, 1 = OUTB, 2 = OUTC, 3 = OUTD, 4 = SR1, 5 = SR2, 6 = OUTAUX) C5 = 0 µF C6 = 0 µF R6 = 27 kΩ R7 = 1 kΩ C7 = 0.009 µF L3 = 70 µH Lm = 400 µH ResF = 108 kHz R8 = 145 mΩ R9 = 10 mΩ Figure 7. ADP1046A GUI Window with Board Settings for Resonant Mode Rev. 0 | Page 7 of 8 AN-1383 Application Note Phase Shifted, Full Bridge Topology Item 19 20 21 22 23 24 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. Table 5. Phase Shifted Full Bridge Components Item 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Board Value Input voltage = 385 V N1 = 6 N2 = 3 R (CS2) = 2.2 mΩ I (load) = 12.5 A R1 = 46.4 kΩ R2 = 1 kΩ C3 = 1 µF C4 = 1 µF N1 (CS1) = 1 N2 (CS1) = 100 R (CS1) = 20 Ω ESR (L1) = 6 mΩ L1 = 6 µH C1 = 680 µF ESR (C1) = 50 mΩ ESR (L2) = 0 mΩ L2 = 0 µH 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 40 1 2 3 Board Value C2 = 330 µF ESR (C2) = 20 mΩ R (normal mode), load = 3.84 Ω R (light load mode), load = 24 Ω Capacitor across R1 and R2 = 0 (1 = yes, 0 = no) Topology = 1 (0 = full bridge, 1 = half bridge, 2 = two switch forward, 3 = interleaved two switch forward, 4 = active clamp forward, 5 = resonant mode, 6 = custom) Switches/diodes = 0 (0 = switches, 1 = diodes) High-side/low side sense (CS2) = 0 (1 = high-side sense, 0 = low-side sense) Second LC stage = 1 (1 = yes, 0 = no) CS1 input type = 0 (1 = ac, 0 = dc) R3 = 0 kΩ R4 = 0 kΩ PWM main = 0 (0 = OUTA, 1 = OUTB, 2 = OUTC, 3 = OUTD, 4 = SR1, 5 = SR2, 6 = OUTAUX) C5 = 0 µF C6 = 0 µF R6 = 27 kΩ R7 = 1 kΩ C7 = 0.009 µF L3 = 70 µH Lm = 400 µH ResF = 108 kHz R8 = 145 mΩ R9 = 10 mΩ 17 5 41 18 21 19 15 24 37 16 22 20 4 6 7 11 12 13700-006 10 Figure 8. ADP1046A GUI Window with Board Settings for Phase Shifted, Full Bridge Topology ©2016 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. AN13700-0-2/16(0) Rev. 0 | Page 8 of 8