onsemi FD512x Ax Digital Controller User Manual
- September 18, 2024
- onsemi
Table of Contents
- FD512x Ax Digital Controller
- Specifications
- Product Information
- Product Usage Instructions
- Configuration File Format
- Writing Data into the RAM
- Burning Data into OTP Section
- Reading CRC from Device
- CRC Calculation
- Q: What is the purpose of the OTP sections in the FD512x
- Q: How should I determine the slave address on the I2C bus of
- Q: What is the significance of CRC in FD512x digital
FD512x Ax Digital Controller
“`html
Specifications
- Product Name: FD512x Digital Controller
- Model Number: UM70108/D
- Manufacturer: www.onsemi.com
- Publication Order Number: UM70108/D
- Release Date: July, 2024
Product Information
The FD512x Digital Controller is a programmable device designed
for machine vendors to configure their equipment at the factory. It
offers extensive configuration options to meet customer
applications and system requirements. The controller features
emulated multi-time programmable one-time program (OTP) sections
for storing custom configurations.
Product Usage Instructions
Configuration File Format
When using the software GUI to optimize a design, a
configuration file (.cfg format) is generated. The file includes
system and device-specific information. The file contains header
lines with GUI and system data, followed by details for each device
to be configured.
Writing Data into the RAM
-
Determine the I2C bus slave address of the digital
controller. -
Read and parse the rail, register address, and data fields from
the configuration file. -
Use the custom protocol specified in the guide to write data to
the registers of the controller.
Burning Data into OTP Section
The configuration data stored in registers can be saved into the
OTP section of the controller for permanent storage.
Reading CRC from Device
-
Write data 0xAA to address 0xDD using the write byte
protocol. -
Wait for 500 ms for the download process to complete.
-
Read data from address 0xDD using the read protocol to obtain
the CRC value. -
Read data from address 0xEE using the read word protocol to
retrieve the CRC value.
CRC Calculation
The CRC for FD512x configuration is calculated using a specific
method mentioned in the provided Python code.
FAQ (Frequently Asked Questions)
Q: What is the purpose of the OTP sections in the FD512x
controller?
A: The OTP sections allow for storing custom configurations
permanently in the controller.
Q: How should I determine the slave address on the I2C bus of
the digital controller?
A: The slave address can be determined based on the specific
setup of your equipment and communication protocol
requirements.
Q: What is the significance of CRC in FD512x digital
controllers?
A: CRC (Cyclic Redundancy Check) is used for data error checking
to ensure data integrity during communication and storage
processes.
“`
USER MANUAL www.onsemi.com
FD512x Configuration Programming Guide
UM70108/D
Description This document is intended for programming machine
vendors that use their own equipment at the factory to configure FD512x
digital controller.
This controller can be extensively configured to meet the needs of customer
applications and system requirements. This controller contains emulated multi-
time programmable one-time program (OTP) sections, which allows the storage of
custom configurations.
This configuration programming guide describes how to implement and load the
data from the configuration file into the controller and burn into the OTP
section.
Content
· Configuration File Format · Writing Data from the Configuration File into
the RAM
of the Controller
· Burn the Data from the RAM into the OTP Section · Reading CRC (Cyclic
Redundancy Check) from
the Device
· CRC Calculation · Communication Protocol used for Programming · Multi-
Section of OTP Memory · Package Dimension · Connections for Configuration
Programming · Part Number Identification
Configuration File Format When using the software GUI to optimize a design,
a configuration file (also known as a system file) is generated in a .cfg
format. The .cfg file format contains both system and device specific
information.
A .cfg file contains header lines which include the GUI information and system
information, followed by device information. The system information will tell
how many device will be shown in the config file. The device information
includes rail information and the information for the controller to be
reprogrammed. An example of a partial .cfg file is shown in Figure 1.
The information after the line “Config Start” contains the serial address and
the part number of the controller being programmed followed by device specific
data. This data consist of the rail, register address (hex format) and data
(hex format). The information for reprogram will end before “Config End.”
GUI Information //Version 1.1 //Cloud Power GUI GUI Information System Information U0 – 0xa0 – ( FD512x Ax ) System Information End Device Start : U0 – 0xa0 – ( FD512x Ax ) Rail Start // GUI_CHECKSUM – 0x2510 Rail End Config Start: U0 – 0xa0 – ( FD512x Ax ) N/A 0000 000104B0 N/A 0001 00C80640 N/A 0002 00311901 N/A 0003 00000003 N/A 0004 01010101 N/A 0005 00000000 N/A 0006 00C8012C N/A 0007 000040F0 N/A 0008 00000000 N/A 0009 00000000 N/A 000A 00010384 …. …. …. …. N/A 008A 13579BDF N/A 008B 00001919 N/A 008C 00000000 N/A 008D 00000000 N/A 008E 00000280 Config End Device End
System Information Device Information
Figure 1. Partial .cfg File Example
Figure 2. Device Data Example for .cfg File
The register address field consists of 2 bytes of hex data and data field
consists of 4 bytes of hex data.
© Semiconductor Components Industries, LLC, 2024
1
July, 2024 – Rev. 0
Publication Order Number: UM70108/D
UM70108/D
Writing Data from the Configuration File into the RAM of the Controller
Determine the slave address on the I2C bus of the digital controller to be
programmed. All I2C communication will be with this device. The following
sequence of steps should then be used to write the configuration to the
registers:
1. Set initial password by doing a write byte operation. · Write data 0x00 to
address 0xD2.
2. Set register write password by doing a write word operation. · Write data
0xC93F to address 0xFA.
3. Read and parse the rail, register address and data fields.
4. Use custom protocol mentioned in this document to write data listed in the
configuration file.
Burn the Data from the RAM into the OTP Section The configuration data stored
in registers can be saved to
OTP in the digital controller by following these steps: 1. Set initial
password by doing a write byte operation. · Write data 0x00 to address 0xD2.
2. Set register write password by doing a write word operation. · Write data
0xC93F to address 0xFA. 3. Set OTP write password by doing a write word
operation. · Write data 0xF1CA to address 0xFC. 4. Write the data 0xAA to
address 0xD5 by doing the write byte protocol. 5. Delay 1 second for upload
process complete. 6. Read data from address 0xD5 by doing the read byte
protocol. · If the return value is 0xCC, the upload was a success.
Reading CRC (Cyclic Redundancy Check) from Device The FD512x digital
controllers is designed with a
multi-section OTP memory for configuration storage. Each OTP section has a
16-bit CRC (Cyclic Redundancy Check) calculation for data error checking. The
following procedure is provided to read the 16-bit CRC value from the device.
1. Set initial password by doing a write byte operation. · Write data 0x00 to
address 0xD2.
2. Set register write password by doing a write word operation. · Write data
0xC93F to address 0xFA.
3. Set OTP write password by doing a write word operation. · Write data
0xF1CA to address 0xFC.
4. Write the data 0xAA to address 0xDD by doing the write byte protocol.
5. Delay 500 ms for download process complete. 6. Read data from address 0xDD
by doing the read
byte protocol. · If the return value is 0xCC, the download was a success.
7. Read data from address 0xEE by doing the read word protocol. The return
data is the CRC value.
CRC Calculation The CRC for FD512x configuration is calculated by the
method mentioned below (python code).
Single Byte Iteration def crc_cal_16(data_in, crc_data): for i in range(0,
8): data_tmp = data_in >> i data_tmp = data_tmp ^ crc_data if data_tmp & 0x0001: crc_data = (crc_data >> 1) ^ 0xA001 else: crc_data = crc_data >> 1 return crc_data
Array of Bytes to Use for Calculation def compute_crc16(byte_array): crc16 =
0xffff for data in byte_array: crc16 = crc_cal_16(data, crc16) return crc16
The byte array must be applied by below order
Reg0x0000[7:0] Reg0x0000[15:8] Reg0x0000[23:16] Reg0x0000[31:24]
Reg0x0001[7:0] Reg0x0001[15:8] Reg0x0001[23:16] Reg0x0001[31:24]
Reg0x0002[7:0] Reg0x0002[15:8] Reg0x0002[23:16] Reg0x0002[31:24] : : :
Reg0x008F[7:0] Reg0x008F[15:8] Reg0x008F[23:16] Reg0x008F[31:24]
Reg0x0090[7:0] Reg0x0090[15:8] Reg0x0090[23:16] Reg0x0090[31:24] Total byte
from configuration is 716 bytes, but the CRC calculation require 830 bytes.
Use 0x00 from byte 717~830 for CRC calculation.
www.onsemi.com 2
UM70108/D
Communication Protocol used for Programming There are several communication
protocols used during
the programming:
· Read/Write Byte · Read/Write Word · Read/Write Custom
Read/Write Byte and Read/Write Word are simply following SMBus specification.
There are two steps to completing the Read/Write Custom protocol process.
1. Setting the register address: use register address as data write to
address 0xF8 by using the write word protocol.
2. Setting the register data so that it can be read or written. Using the
read/write block protocol will be accessed by address 0xF9. In Block protocol,
the first byte of data is indicating the number of bytes for the transfer;
this number will be 4 because the register data is 4 bytes data. After the
number of byte, it will be [7:0] of register data; the next one will be [15:8]
of register data, and the next one will be [23:16]; and the last one will be
[31:24].
Figure 3. Read Custom Protocol
Package Dimension The FD512x digital controllers product family includes 3
different PN’s with different package dimensions: – – FD5121 QFN40, 5x5mm
40pins – – FD5123 QFN48, 6x6mm 48pins – – FD5125 QFN56, 7x7mm 56pins
Please refer to Appendix 2 for more details on packages.
Connections for Configuration Programming To reprogram the FD512x digital
controller, connections
to power supplies and the I2C interface should be made as Figures 6 to 8.
The PMBus® Slave Address for FD512x can be set in 2 different way, 1)Set by
configuration file directly, 2)Set by the resistor value on the CONFIG pin.
The resistor value on the CONFIG pin is to set the offset value, the final
PMBus Slave Address is based address + offset. Table 1 is showing the default
PMBus Slave Address setting, be aware that based address can be set by the
configuration as well.
The method of PMBus Slave Address is determined by register 0x00AF[6:0]. If
the value for this parameter is NOT 0, it means #1 method is used and the
value in this parameter is the MSB 7bit of PMBus Slave Address.
When value in register 0x00AF[6:0] is 0, it means #2 method is used, the based
address is set by register 0x008E[9:7].
Please be aware that the PMBus Address may get change if Vcc of controller
power cycle and the value in register 0x00AF[9:0] is different before and
after configuration programming.
Figure 4. Write Custom Protocol
Multi-Section of OTP Memory The FD512x digital controller is designed with a
multi-section OTP memory for configuration storage. The typical limit for the
number of re-writes by the user is 18. Once this limit has been reached, no
further uploads will be possible. Therefore, careful planning should be
considered before executing memory uploads.
It is recommended to exercise saving/loading configuration files as an
alternate to saving to memory when optimizing systems to conserve available
write attempts. Issuing an upload command will change the data and the
remaining write attempt will reduce by 1.
The following procedure is provided to check the number of remaining writes.
If the number read back is 0, the OTP has exhausted the number of writes
allowed:
1. Read data from address 0xCF by the read byte protocol. The return data is
the number of remaining writes.
www.onsemi.com 3
UM70108/D
Table 1. RESISTOR VALUE VS. DEFAULT PMBus SLAVE ADDRESS
Resistor Value 1.3 kW (GND)
4.12 kW 7.32 kW 11.3 kW 15.8 kW 21 kW 21.4 kW 35.7 kW 45.2 kW 59 kW 76.8 kW
102 kW 143 kW 215 kW 383 kW 1240 kW (Open)
Offset 0x00 0x02 0x04 0x06 0x08 0x0A 0x0C 0x0E 0x10 0x12 0x14 0x16 0x18 0x1A 0x1C 0x1E
Default PMBus Slave Address (8 bit) 0xA0 0xA2 0xA4 0xA6 0xA8 0xAA 0xAC 0xAE 0xB0 0xB2 0xB4 0xB6 0xB8 0xBA 0xBC 0xBE
Part Number Identification It is important that the part number in the config
file
matches the controller to be programmed. A catastrophic fault may happen if
the configuration file being programmed into the controller does not match to
the part number in the config file. Below is ways to identify the controller
information:
· Read the data from register 0xAD by using the read
block protocol. The number of byte return should be 0x04, 1st byte
is 0x21 for FD5121, 0x23 for FD5123 and 0x25 for FD5125, 2nd byte data should
be 0x51, 3rd byte data should be 0xFD, 4th byte data should be 0x00.
· Read the data from register 0xAE by using the read
block protocol. The number of byte should be 0x02, the 2nd byte
data is to define the revision of controller. · 0xA0 means revision A0.
3
Based Address 0x00AF[9:7]
4
1
Offset
R/W
Figure 5. PMBus Slave Address
www.onsemi.com 4
UM70108/D
APPENDIX 1: SCHEMATIC
VINSEN 38 VAUX/VSYS 37
3.3VCC
C? 2.2u
C? 2.2u
SM_DAT SM_CLK
3.3V
R? 3.32K
R? 3.32K
U?
39 VCC3V3 40 VDD1V8
21 VOSEN_A 22 VORTN_A
32 VOSEN_B 31 VORTN_B
23
24 25
26 27
28 29 30
ISEN1 ISEN2
ISEN3 ISEN4 ISEN5 ISEN6 ISEN7
ISEN8
13 EN12
9 10
SMDATA SMCLK
14 RESET_L
FD5121
PGOOD12 12 PGOOD21 16 ALERT#/FAULT# 11 OCP_L/FAULT# 33
TMON_x 35 TMON_y/VSYS 36
PWM1 8 PWM2
1 VDDIO 15
SDATA/SVTO
19 20
EN2/SVTI MDATA/SVD
SVC
17 18
EN2/CONFIG 34 R?
41 PAD
Figure 6. I2C / PMBus Communication Bus
www.onsemi.com 5
3.3VCC
C? 2.2u
U?
47 VCC3V3
48 V1V8 C? 2.2u
VINSEN 46 VSYS/VAUX 45
UM70108/D
PGOOD12 16 PGOOD21 20
FAULT12/SM_ALRT 15 OCP_L/FAULT21 41
SM_DAT SM_CLK
25 VOSEN_A 26 VORTN_A
40 VOSEN_B 39 VORTN_B
3.3V
R? 3.32K
R? 3.32K
27 28 29 30
ISEN1 ISEN2 ISEN3
31 32 33 34 35 36 37 38
ISEN4 ISEN5 ISEN6 ISEN7 ISEN8 ISEN9 ISEN10 ISEN11 ISEN12
17 EN12
13 14
SM_DATA SM_CLK
18 RESET_L
FD5123
TMONx 43 TMONy/VSYS/ISYS 44
PWM12 PWM11 PWM10
1 2 3 4
PWM9 PWM8 PWM7
5 6 7
PWM6 PWM5 PWM4 PWM3 PWM2 PWM1
8 9 10 11 12
VDDIO 19
SVC/SVD MDATA/SVD/SVC
22 21
EN2/SVTI SDATA/SVTO
24 23
EN2/CONFIG 42 R?
Figure 7. I2C / PMBus Communication Bus
www.onsemi.com 6
UM70108/D
VINSEN 54 VAUX/VSYS 53
SM_DAT SM_CLK
3.3V
C? 2.2u
C? 2.2u
3.3V
R?
R?
3.32K 3.32K
U? 56 VCC3V3 55 V1V8
29 VOSEN_A
30 VORTN_A
48 VOSEN_B 47 VORTN_B
31
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
ISEN1 ISEN2 ISEN3 ISEN4 ISEN5 ISEN6 ISEN7 ISEN8 ISEN9 ISEN10 ISEN11 ISEN12 ISEN13 ISEN14 ISEN15 ISEN16
21 EN12
17 18
SM_DATA SM_CLK
22 RESET_L
FD5125
FD5125
PGOOD12 20 PGOOD21 24 FAULT12/SM_ALRT 19 OCP_L/FAULT21 49
TMON_X 51 TMON_Y/VSYS 52
PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7 PWM8 PWM9 PWM10 PWM11 PWM12 PWM13 PWM14 PWM15 PWM16
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
VDDIO 23
SVC MDATA/SVD
26 25
EN21/SVTI
28 27
SDATA/SVTO
EN2/CONFIG 50 R?
57 PAD
Figure 8. I2C / PMBus Communication Bus
www.onsemi.com 7
UM70108/D
APPENDIX 2: PACKAGE DIMENSIONS
QFN40 5×5, 0.4P CASE 485FW ISSUE O
DATE 17 JAN 2019
www.onsemi.com 8
UM70108/D
1 48 SCALE 2:1
D
PIN ONE
ÉÉÉÉÉÉÉÉÉ LOCATION
QFN48 6×6, 0.4P CASE 485BA ISSUE A
AB E
L
L
L1
DETAIL A
ALTERNATE TERMINAL CONSTRUCTIONS
2X dan1
2X
0.10 C 0.10 C
TOP VIEW
0.10 C
DETAIL B
(A3)
0.08 C
NOTE 4
A1 SIDE VIEW
DETAIL A
D2
13
K
25
A
ÉÉÉÉ EXPOSED Cu
MOLD CMPD
DETAIL B
ALTERNATE
CONSTRUCTION
C
SEATING PLANE
DATE 16 FEB 2010
NOTES: 1. DIMENSIONING AND TOLERANCING PER ASME Y14.5M, 1994. 2. CONTROLLING DIMENSIONS: MILLIMETERS. 3. DIMENSION b APPLIES TO PLATED TERMINAL AND IS MEASURED BETWEEN 0.15 AND 0.30mm FROM TERMINAL TIP 4. COPLANARITY APPLIES TO THE EXPOSED PAD AS WELL AS THE TERMINALS.
MILLIMETERS
DIM MIN MAX
A 0.80 1.00
A1 0.00 0.05
A3 0.20 REF
b 0.15 0.25
D 6.00 BSC
D2 4.40 4.60
E 6.00 BSC
E2 4.40 4.60
e
0.40 BSC
K
0.20 MIN
L 0.30 0.50
L1 0.00 0.15
E2
1
48
37
e
e/2
BOTTOM VIEW
48X L
48X b 0.07 C A B 0.05 C NOTE 3
SOLDERING FOOTPRINT*
6.40 4.66
48X
0.68
4.66
6.40
PKG OUTLINE
0.40 PITCH
48X
0.25
DIMENSIONS: MILLIMETERS
*For additional information on our Pb-Free strategy and soldering details, please download the onsemi Soldering and Mounting Techniques Reference Manual, SOLDERRM/D.
www.onsemi.com 9
UM70108/D
www.onsemi.com 10
UM70108/D
onsemi is licensed by Philips Corporation to carry the I2C Bus Protocol. PMBus is a registered trademark of SMIF, Inc.
onsemi,
, and other names, marks, and brands are registered and/or common law trademarks of Semiconductor Components Industries, LLC dba “onsemi” or its affiliates
and/or subsidiaries in the United States and/or other countries. onsemi owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property. A listing of onsemi’s product/patent coverage may be accessed at www.onsemi.com/site/pdf/Patent-Marking.pdf. onsemi reserves the right to make changes at any time to any products or information herein, without notice. The information herein is provided “as-is” and onsemi makes no warranty, representation or guarantee regarding the accuracy of the
information, product features, availability, functionality, or suitability of its products for any particular purpose, nor does onsemi assume any liability arising out of the application or use
of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. Buyer is responsible for its products
and applications using onsemi products, including compliance with all laws, regulations and safety requirements or standards, regardless of any support or applications information
provided by onsemi. “Typical” parameters which may be provided in onsemi data sheets and/or specifications can and do vary in different applications and actual performance may
vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. onsemi does not convey any license
under any of its intellectual property rights nor the rights of others. onsemi products are not designed, intended, or authorized for use as a critical component in life support systems
or any FDA Class 3 medical devices or medical devices with a same or similar classification in a foreign jurisdiction or any devices intended for implantation in the human body. Should
Buyer purchase or use onsemi products for any such unintended or unauthorized application, Buyer shall indemnify and hold onsemi and its officers, employees, subsidiaries, affiliates,
and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death
associated with such unintended or unauthorized use, even if such claim alleges that onsemi was negligent regarding the design or manufacture of the part. onsemi is an Equal
Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner.
ADDITIONAL INFORMATION
TECHNICAL PUBLICATIONS: Technical Library: www.onsemi.com/design/resources
/technical-documentation onsemi Website: www.onsemi.com
ONLINE SUPPORT: www.onsemi.com/support For additional information, please contact your local Sales Representative at www.onsemi.com/support/sales
www.onsemi.com
11
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>