This guide will explain the usage of the XDP™ OTP Production Burner for SMPS. For brevity, the device will be referred to as “XDP™ OTP Burner” throughout the document.
The XDP™ OTP Burner is a specialized tool for programming Infineon's XDP™ Switching Mode Power Supply ICs (SMPS). This device is designed for two types of users: experts (engineers who conduct the initial configuration) and operators (production line employees who carry out the programming). Having four separate channels, the XDP™ OTP Burner can be used to program up to four SMPS ICs at once (enabling a single production line employee to program a large volume of target devices efficiently).
Infineon's line of XDP™ Switching Mode Power Supply ICs represent the first all-in-one package solution that integrate a digital power controller with key peripherals. They enable higher energy efficiency, shorter development cycles, lower cost, and more flexibility. For more information, see the page about XDP™ on Infineon's website.
The XDP™ OTP Burner is able to program the following target devices:
The primary function of the XDP™ OTP Burner is to program target devices. In order to do so, it first needs to be configured by an expert user. The configuration consists of storing data, necessary for programming applied target device, to XDP™ OTP Burner’s internal memory (or, alternatively, onto an external MicroSD Card). This initial setup is performed through a Windows application or alternatively, from the Windows Command Line, using a separate application. After the setup, operators can use the XDP™ OTP Burner as a standalone device or together with the Windows application (or Command Line).
The Windows application also features an option to generate log files which can be used to document the programming process.
It’s important to note that the firmware on the target device can be updated only once (OTP stands for One-Time-Programmable). The full set of parameters can be updated up to three times (device dependant).
MikroElektronika provides up to two hours (per purchased device) of free technical support for the XDP™ OTP Burner via Skype. This support relates chiefly to questions on how to integrate the device into a production line.
Once configured, the XDP™ OTP Burner is a simple-to-use device whose user interface consists of the following:
|Reset||Hardware reset button for the XDP™ OTP Burner|
|Trigger||Sets off the Target device programming sequence|
Each channel has an 8 pin connector (IDC8). The function of each pin is identical on each channel — except for pin #6. The sixth pin in each channel indicates an "overall" event, that is, a signal that applies not just to that particular channel, but to all channels together. The purpose of these "overall" pins is to enable users to connect a custom external circuit to monitor the programming process. This is an optional feature, not necessary for ordinary use.
|1||VCC||/||Power supply for target devices|
|2||Channel 1-4 Fail Indication||Output||When high, indicates that the programming process failed|
|3||Single-pin UART||Input/Output||Communication line for programming target devices|
|4||Channel 1-4 Pass Indication||Output||When high, indicates that the programming sequence was succesful|
|5||GND||/||Ground for target device power supply|
|6||OverAll Indication||Output||Different for each channel, refer to the table below|
|7||Channel 1-4 Burning Indication||Output||When high, indicates that the programming sequence is in progress|
|8||External Trigger||Input||High by default; sets off programming sequence when pulled down|
|1||OverAll Fail Indication||When high, indicates that programming sequence failed on one OR more channels|
|2||OverAll Pass Indication||When high, indicates that programming sequence was successful on ALL used channels|
|3||OverAll Burn Indication||When high, indicates that programming sequence is in progress|
|4||OverAll Ready Indication||When high, indicates that the XDP™ OTP Burner is ready to start programming from internal memory|
|Channel 1 - Pass, Burn and Fail indication|
Indicates the success or failure of the programming sequence on individual channels.
For a detailed overview, see the reference table.
|Channel 2 - Pass, Burn and Fail indication|
|Channel 3 - Pass, Burn and Fail indication|
|Channel 4 - Pass, Burn and Fail indication|
|Overall Pass||Indicates that the programming sequence has been successful on ALL channels|
|Overall Fail||Indicates that the programming sequence has failed on one OR more channels.|
|Operation||Conveys a variety of signals. For a detailed overview, see the reference table|
IMPORTANT NOTE: It is mandatory to pair Windows application version with appropriate XDP™ OTP Burner firmware (latest version numbers are listed in the infobox on the top of this page). Any mismatch between application/firmware versions could cause compatibility issues and malfunctioning. Check the firmware section for instructions.
XDP™ OTP Burner Windows application is used to make configuration setup, configure XDP™ OTP Burner device, program and monitor programing process of the Infineon SMPS devices.
To properly use the software, the XDP™ OTP Burner must be present and properly connected to a PC at all times. Users will have to connect the target devices to the XDP™ OTP Burner, and then connect the Burner to the PC with a USB cable (supplied with the product). If more than one target device is connected, the OTP Burner device must be powered by an external (supplied with the product) 9V/2A power supply. IDC8 cables and mechanical setup for connecting target devices to the Burner are NOT supplied in the packaging.
Additionally, while making a new configurations setup, one target device must be connected to programmer's Channel 1 port.
The XDP™ OTP Burner Windows application has two operating modes:
User can switch between these to in the Mode drop-down menu on the navigation bar.
By default, the application launches into Operator mode. This interface is used only if the XDP™ OTP Burner is properly configured for programming target devices. The UI consists of a single button, a Message window, feedback points for each of the four channels, and optionally used text boxes to enter comments and serial numbers for log files.
Clicking the "Trigger programmer" button triggers the XDP™ OTP Burner to program target devices. The programming process flow can be monitored through the Messages window. If data logger is enabled, programming status along with optionally entered comments and serial numbers will be save to log file.
Users may also opt to perform programming operation on the XDP™ OTP Burner device itself by pressing the Trigger button.
Expert mode is accessed through the Mode drop-down menu on the navigation bar. A confirmation window will pop up (this step was added to prevent users from accidentally switching to Expert mode that contains sensitive setup options). This mode should only be used by expert operators to configure the XDP™ OTP Burner for programming selected target device family. The interface is slightly different depending on the target device family.
Expert mode interface for DP2A-based devices:
Expert mode interface for DP2B-based devices:
By default, the expert mode brings up the interface for burning DP2B-based devices. To select different target device family, use the Target drop-down menu on the navigation bar.
A single XDP™ OTP Burner configuration contains a combination of firmware, patch and parameter data, as well as settings that guide the actual programming process (channel selection, baud rate, IDs comparison algorithm).
The available configuration options are different depending on the selected device family (DP2B-based or DP2A-based). The table below shows the differences.
|Parameters||✔ (full set or partial update)||✔ (full set update only)|
In either case, in Expert mode, users can:
In order to successfully setup a new configuration, Parameter, Patch and Firmware data must have "Before burn” ID values compatible with the target device. The IDs that are required to match will have corresponding check box ticked in the upper right pane of the table interface. The table will also list “After burn” IDs for reference.
To make sure the ID values are properly compared, it is mandatory that users read ID values from target device as a first step ("Read Channel 1 IDs" button in the centre of the Interface).
The next step is to load Firmware, parameter, Patch (all or only needed) data from individual files. An configuration setup can contain either of the following individual updates or combinations:
The desired update combination is made by ticking coresponding checkboxes in the “Data files” section:
Once data files are loaded, the “Before burn” and "After burn" columns will be updated with appropriate values.
It's also possible to manually input values for Device, FW, Customer and ROM IDs in the "Before burn" column and those values will be used for comparison.
See image below and compare the values in the table with the image above:
Note the XXXX parameter value in the Before burn column in the image above. This indicates that the config file includes a full set parameter update, making the Before burn parameter value irrelevant. The Before burn parameter ID is only important for partial parameter updates.
Optional ID values: Apart from the necessary FW, Patch, and Param values, the ID table contains few optional IDs (Device, Customer, ROM). To include these IDs into the list (for comparison purposes), users need to tick coresponding checkboxes in the Com column.
The procedure for preparing configuration setup for DP2A-based devices is simpler as it allows loading or updating only a full set of parameters. There is also no "Before burn" and "After burn" reference table. Expert users are expected to make sure beforehand that parameter files are adequate for the selected target devices.
Except described above, the rest of the procedure is the same for both types of target devices.
The user can specify which target devices are to be programmed, by selecting active channels. This is done by ticking corresponding CH1-CH4 checkboxes in the Channel Selection section. The XDP™ OTP Burner will program only target devices connected to the selected channels. The channel selection is part of the programmer configuration and will be saved with configuration setup.
The XDP™ OTP Burner communicates with SMPS devices through a specialized one-wire UART interface. The communication speed is determined by selected baud rate parameter value. Higher baud rate value shortens the time it takes to complete the communication/operation sequence, but it also makes the communication more sensitive to external interference (noise from surrounding cables, for example). These settings are used during operations of programming, reading IDs or detecting connected target devices.
Baud rate settings are part of XDP™ OTP Burner configuration and will be saved with the configuration setup.
Additionally, the baud rate can be updated at any time by selecting the appropriate value from the drop down list and clicking the "Set BR" button to store the value to the XDP™ OTP Burner.
It is important to understand that, with the option above, the baud rate can be changed at any time without storing the whole configuration to the XDP™ OTP Burner.
This means that current baud rate settings can be different than settings saved as part of the configuration setup.
Read Channel 1 IDs and Detect Devices operations are always using current baud rate settings.
Target device programming operation is always using the baud rate setting saved as part of the configuration setup.
To make a new configuration setup, users can fill in all configuration fields, or load an existing configuration setup and only change selected values in the Configuration section.
An existing configuration setup can be loaded in the Windows application by clicking the Load (1) or Import (4) buttons. The Load operation enables the user to open an existing configuration setup from a file with ".cfg" extension, while the Import operation reads the configuration setup currently stored in the XDP™ OTP Burner device. In both cases, application fields in the Configuration section will be filled with corresponding values fetched. Once loaded/imported, the configuration setup can optionally be modified.
With all configuration values set, the configuration setup can be saved to a file by clicking the Save (3) button.
In order to properly configure the XDP™ OTP Burner, the selected configuration setup must be stored to XDP™ OTP Burner device by clicking the Store (2) button. Only after a successful execution of this operation, the XDP™ OTP Burner device will be ready to program target devices. Optionally, to finally verify the stored configuration, users can execute the Import operation and check the loaded configuration values.
NOTE: The Name field in the Configuration pane indicates the name of the currently loaded or new configuration setup, while the same field in the "Configuration in Programmer" sections indicates the name of the configuration currently stored in the XDP™ OTP Burner device. These two fields do not need to match necessarily, except in two cases: (1) if the Import operation is used to load the configuration setup; or (2) if the user wants to save/store the new configuration setup using the same name as the one already stored. Although recommended to be part of, configuration name does not necessarily correspond to configuration (".cfg") file name.
Both operations fetch the full target device ID set with the following difference.
Detect Devices operation will read the ID values from all 4 channels and display them in a separate (pop-up) window. This is commonly used to identify connected target devices, determine if the connected target devices have expected IDs before programming, or to verify ID values after programming.
Read Channel 1 IDs operation will read only ID values from the target device connected to channel 1. This operation is always performed as a first step when preparing new configuration setup.
The XDP™ OTP Burner Windows application has a data logger feature. When enabled, all data logs are saved to file(s) in CSV format (CSV file), viewable from any standard spreadsheet program such as Excel or Google Sheets. The logged data is slightly different depending on the target device family.
The following table lists and describes all data fields of an log entry and their availability within specific target device families:
|Date||Date when the PC Application was launched for current session||✔||✔|
|Comment||Comment on programming sequence, as entered by operator (in Windows App Operator mode)||✔||✔|
|Serial#||Target device Serial number, as entered by operator||✔||✔|
|Target_ID||Channel ID of the XDP™ OTP Burner||✔||✔|
|Device||ID of Target Device after burning||✔|
|FW||Firmware ID of Target Device after burning||✔|
|Customer||Customer ID of Target Device after burning||✔|
|Patch||Patch ID of Target Device after burning||✔|
|Parameter||Parameter ID after burning||✔|
|Prog_FW_Ver||XDP™ OTP Burner Firmware Version at time of programming sequence execution||✔||✔|
|P_Time||Date and time of burning sequence execution||✔||✔|
|Config_Name||Name of Config file stored in XDP™ OTP Burner||✔||✔|
|Result||Records whether programming sequence was successful or failed||✔||✔|
Here is a preview of an log file sample, viewed in Excel:
The Data logger feature comes with additional settings, enabling users to tailor the logging process to their needs.
Users have the option of changing the default column names for the generated log files. This is done by editing the header files ("header_DP2A.hdr" and "header_DP2B.hdr") available in the installation folder of the XDP™ OTP Burner Windows application. To update column names, simply open the corresponding header file in any text editing program (such as notepad), edit and save changes, then restart the application.
In the Operator mode of the Windows application, the logger is optionally enabled by ticking the Start Logging checkbox.
To enable logging by default, open the Settings menu from the navigation bar and check the "Enable logger on app start" option.
NOTE: Although enabled, assuming proper USB connection to PC, data logger will generate logs only if connected XDP™ OTP Burner is properly configured.
The Settings menu also contains additional logger options:
|Enable logger on app start||Enables data logger upon application launch. "Start Logging" checkbox is always ticked at start.|
|Use programmer setup as log file name||Sets log file name to be the same as used configuration setup (this option overrides the File Name field).|
|Append timestamp to log file name||Appends timestamp to log file name (when creating the file).|
|Append new entries to existing log file|
Applicable only if users set the same File Name from a previous session.
Continues to log trigger sequences to existing log file (adding new rows).
If unchecked, a trigger sequence will overwrite existing log file and start over.
|Skip inactive channels||Ignores data from inactive (not used) channels when generating log entries.|
|Destination folder||Log files destination folder. If blank, defaults to XDP Windows App installlation folder.|
|File Name||Sets file name for created log file.|
The Settings window also includes a checkbox for enabling UART short detection mechanism. When enabled, the XDP™ OTP Burner will test UART communication line for short connection to VCC and GND before starting the communication session. It is recommended to keep this option enabled.
Once the XDP™ OTP Burner is properly configured, the target devices are programmed either by:
For programming SMPS devices, XDP™ OTP Burner can be used without the Windows application, in Standalone mode. In this mode, target devices can only be programmed by pressing the trigger button on the XDP™ OTP Burner device. With Windows application not being used, programming status is displayed on the XDP™ OTP Burner device signal LEDs. Thus, users need to understand the behavior of signal LEDs and the feedback messages they convey.
This reference table shows all possible messages that can be conveyed by various patterns of the XDP™ OTP Burner's signal LEDs. Individual channel LEDs will be active only if that particular channel is in use.
|Function/LED||Channel 1 LED||Channel 2 LED||Channel 3 LED||Channel 4 LED||Overall pass (AND-ed) LED||Overall fail (OR-ed) LED||Operation LED|
|XDP™ OTP Burner is ready (operating from flash)||off||off||off||off||off||off||ON|
|XDP™ OTP Burner is ready (operation from SD card)||off||off||off||off||off||off||BLINK|
|Corrupt config file in XDP™ OTP Burner's internal memory||off||off||off||off||off||off||ON|
|Corrupted config file on XDP™ OTP Burner's external storage (Micro SD card)||off||off||off||off||off||off||BLINK|
|UART communication in progress||BLINK||BLINK||BLINK||BLINK||off||off||ON/BLINK*|
|Sequence Execution pass (Read ID, Burn, or Detect)||ON 5s, then off||ON 5s, then off||ON 5s, then off||ON 5s, then off||ON 5s, then off||off||ON/BLINK*|
|Sequence Execution fail (Read ID, Burn, or Detect)||ON until next action||ON until next action||ON until next action||ON until next action||off||ON until next action||ON/BLINK*|
*Note on "ON/BLINK" in the Operation LED column: when the programming sequence is executed with configuration stored in the XDP™ OTP Burner's internal memory, the LED is ON; when the execution is done with configuration stored in external storage, the LED blinks.
The programming sequence can also be executed with configuration stored in the external MicroSD card.
MicroSD card must be formatted with FAT32 file system. To load the configuration setup to an microSD card, simply copy the configuration (".cfg") file to previously formatted card — just a single file, without additional files or folders. Single configuration file must be located in the root folder of the microSD card.
Whenever a properly formatted MicroSD card with a valid configuration file is inserted into the slot, it will take precedence over the configuration stored inside the XDP™ OTP Burner's internal memory. Thus, target devices will be programmed with the configuration stored on the MicroSD card.
It is also possible to operate the XDP™ OTP Burner from the Windows Command Line. Users are required to run a separate application to use this functionality. The Setup file is contained in the Windows Application download file. Developers can create their own XDP™ OTP Burner graphic applications that interact with the Burner through the command line functions.
Each function has a human-readable return value and a hexadecimal exit code. The exit code is a 4-byte number. Different values of these bytes represent different types of possible statuses or errors.
As a general rule, zero value exit codes indicate that a given operation was successful for a specified channel on the XDP™ OTP Burner — starting from Channel 1 represented by the least significant byte (LSB) on the right side, to Channel 1 represented by the most significant byte (MSB) on the left. A successful burn operation would therefore have the following exit code:
Whereas a SYNC error, for example, on channel 4, would generate the following:
For other operations, some exit codes may display specific values, such as the crc number stored in the config file.
The exit code can be viewed by typing the following in the command prompt:
echo ExitCode %=ExitCode%
The following table shows the list of commands with descriptions, possible return values and exit codes.
|Command||Input Parameters||Description||Return value (printed in command line prompt)||Exit code|
|readID||none||Reads IDs from connected devices|
Displays status of each channel after burning in the following format:
CHx Customer FW Device PATCH PAR ROM
|LSB shows success/fail of operation. Zero values indicate success. Any other value indicates a specific error.|
|execute||none||Triggers the burning sequence||Prints status of each connected channel (OK, or Error) and displays overall pass/fail result||Each byte indicates status on each of XDP™ OTP Burner's channel (starting from Channel 1 on LSB to Channel 4 on the MSB). Zero values indicate success. Any other value indicates a specific error.|
|getName||none||Reads name of config file stored in the XDP™ OTP Burner's internal memory||Prints stored config file name and reports Operation pass/fall result||Zero values indicate success. Any other value indicates a specific error.|
|store||config file||Stores config file in XDP™ OTP Burner's internal memory||Reports overall success/fail of Operation|
|backup||Name of config file||Stores config file from XDP™ OTP Burner to the PC||Reports overall success/fail of Operation|
|getFwVer||none||Returns Firmware version number of XDP™ OTP Burner in use||Prints Firmware version, expected firmware version, whether the firmware version is up to date, and overall success/fail of operation.|
|getCrc||none||Returns CRC value of config file stored in XDP™ OTP Burner's internal memory||Reports success/fail of operation.||First two LSBs indicate success/fail of operation. The two MSBs are the crRc value of the stored config file..|
The XDP™ OTP Burner comes pre-programmed with MikroElektronika's USB-HID Bootloader. This feature enables firmware updates over the USB. An Windows application called mikroBootloader is required to complete the process. For instructions on how to change the firmware using the mikroBootloader app, refer to this page.
The currently installed firmware version of the XDP™ OTP Burner device can be read by connecting the device to the PC, and launching the Windows application. The firmware version is listed in the bottom right corner of the user interface. Alternatively, the firmware version can be read from the Command line by using the "GetFwVer" command.
The firmware updates are available upon request.
*Refers to the firmware for the XDP™ OTP Burner itself, not to be confused with the firmware for target devices mentioned earlier.
In case of errors, users are advised to check for potential sources of signal obstruction. The following reasons can cause transmission errors:
If none of the above resolves the error, users should consult the troubleshooting table:
|ERROR_VCC_SHORT||VCC line and Ground line are shorted|
Check if the device is reversed
Check if VCC and GND line are shorted on device
|ERROR_UART_VCC_SHORT||VCC line and UART line are shorted||Check if UART line is shorted to VCC|
|ERROR_UART_GND_SHORT||UART line and Ground line are shorted||Check if UART line is shorted to GND|
|ERROR_SYNC||Synchronization with the device failed|
Check if the target device is connected
Check if the connected device is the same as the one selected
|ERROR_PROTOCOL_ID||Protocol ID for DP2B devices is wrong (wrong version of the device)||Replace target device|
|ERROR_BLANK_CHECK_ACK||Error blank check — device is not blank|
|ERROR_NO_ECHO||Error sending data to device|
Check if the device is connected properly
If short detection is turned off, check for shorts
|ERROR_FAT_32_INIT||Failed initializing SD card with FAT32 file system||Reformat SD card to FAT32 file system|
|ERROR_SD_CANT_OPEN||Can’t open file from SD card||File on SD card may be corrupted, replace file.|
|ERROR_NOT_ENOUGH_SPACE||Not enough space left for patching||Replace target device|
|ERROR_ILLEGAL_PATCH_TARGET||Illegal patch target||Transmission error — try again, check connection/signal quality or corruption in configuration file|
|ERROR_PATCH_TABLE_FULL||Patch table is full||Replace target device|
|ERROR_CRC_NOT_CORRECT||CRC not correct||Configuration file corrupted or configuration file used for wrong device|
|ERROR_SPACE_LEFT_NOT_VALID||Space left for patching is not valid||Check if the FW is burned correctly|
|ERROR_CFG_WRONG||Wrong config file in programmer||Check if the target is selected correctly|
|ERROR_VOLTAGE_DROP||Voltage could not be dropped to desired value (external capacitors cannot be discharged)|
Check if the target device is in working condition
Check if the device is powered from some other source
Check logic output level
If errors persist, users should contact MikroElektronika's helpdesk.
Please read and understand the user manual and the following safety warnings. The direct connection of the open and unprotected board to a power supply poses a severe risk of electric shock. Extra caution must be exercised when handling the exposed conductor, terminals of components or charged capacitors (even after disconnection) as high voltages may present there or at other points across the board.
The XDP™ OTP programmer may only be handled in an electromagnetically controlled environment without significant sources of noise or radio frequency fields, and by persons with sufficient electrical engineering training and experience wearing suitable personal protective equipment such as eye protection. The customer assumes all responsibility and liability for its correct handling and/or use of the XDP™ OTP programmer and undertakes to indemnify and hold MikroElektronika harmless from any third party claim in connection with or arising out of the use and/or handling of the board by the customer.
Every prepared setup needs to be evaluated and the results need to be documented by the user before using this setup. In case of malfunctions, it is necessary to supply device setup and results along with RMA.
The final setup needs to be tested according to all relevant normative requirements.
This means that the following actions are mandatory:
Specifications written in this Document are believed to be accurate but are not guaranteed to be entirely free of error. The information in this Document is subject to change for functional or performance improvements without notice. Please make sure you are reading the latest edition which is always hosted on learn.mikroe.com. While the information herein is assumed to be accurate, MikroElektronika assumes no responsibility for any errors or omissions. MikroElektronika makes and you receive no warranties or conditions, express, implied or statutory. MikroElektronika specifically disclaims any implied warranty of merchantability or fitness for a particular purpose.
Note: the certification for isolation requirements is only valid for the XDP OTP Production Burner for SMPS (without application cable and application connector).
Note: the certification for isolation requirements is only valid for the XDP OTP Production Burner for SMPS (without application cable and application connector).
Note: The user has to cover the whole application board including the cable and connector with a housing fulfilling isolation Class II requirements.
Note: At some frequencies of Radiated RF emissions (130-188MHz range) degradation of performance could occur in terms of loss of connection with personal computer or laptop or delays in software execution. In this case, the XDP OTP Production Burner should be removed from the source of disturbances.
Note: At some frequencies of Conducted RF emissions (10-30MHz range) degradation of performance could occur in terms of loss of connection with PC/Laptop or delays in software execution. In this case device should be reset with pressing the reset button. In case that issues occur frequently XDP OTP Production Burner should be removed from the source of disturbances.