AN 669: Drive-On-Chip Design Example for Cyclone V Devices

ID 683466
Date 5/15/2022
Public
Document Table of Contents

9.7. DC-DC Converter

The Drive-On-Chip Design Example DC-DC converter comprises two-phase DC-DC converter power electronics on the Tandem Motion-Power 48 V board and IP.
Figure 34. DC-DC Converter Block Diagram

The power electronics hardware includes:

  • Two inductors (phases)
  • Two MOSFET half-bridges
  • MOSFET gate driver chip per MOSFET half-bridge
  • Current sensing of each inductor current: the total DC link input current and the total DC link output current
  • Voltage sensing of the DC Link input voltage and DC Link output voltage

The low voltage two-phase DC-DC boost converter includes:

  • Three sigma-delta ADC interfaces
  • DC-DC control block
  • Avalon memory-mapped agent interface for control and status
  • Fault flag logic

Intel developed the converter using DSP Builder for Intel FPGAs.

The DC-DC converter consists of 2 phases that provide bidirectional power flow from a low voltage power source or battery (typically 12 V DC) to a DC link output bus (maximum 48 V DC) that feeds one or more motor drive inverters. The DC-DC converter provides the boost function to increase the voltage. It also provides a buck function during periods of regenerative braking to deliver power from the DC link output bus back to the low voltage source (i.e., battery in this case).

The gate driving signals for the two phases are 180 degrees out of phase so that they alternate in supplying current during buck-boost function, which gives smoother output current and voltage.

The control consists of two independent inner current loops and an outer voltage loop that regulates the DC link output bus voltage to a specified value (e.g., 32 V DC). An external host (e.g. the Arm processor) gives the target value via the Avalon memory mapped agent interface.

For feedback control, the DC-DC control block takes the output of the two inductor current and DC link output voltage ADCs outputs. The design connects the outputs of the DC link input voltage, the DC link input current, and the DC link output current ADCs with DC link monitors to detect fault conditions for external host monitoring.

Low-Voltage Two-phase DC-DC Boost Converter

The top-level module of the DC-DC converter is a Qsys component, which is a manually-created HDL module that:

  • Instantiates the VHDL entity generated by DSP Builder for Intel FPGAs (the DC-DC control block)
  • Instantiates sigma-delta ADC interface module
  • Adds an Avalon memory-mapped register agent and conduit signals.

The design instantiates the DC-DC Converter in the lvmc_dclink.qsys subsystem.

You can instantiate the Qsys component in a Qsys system and connect it to the Arm processor and other modules. The register agent allows software access to the DC-DC converter parameters, control, and status. The conduits connect to various system-wide control and status signals that are outside the software domain.

The top-level module implements safety features in the fault flag logic that you may use with external logic, to protect the system in the case of a malfunction. The fault flag logic combines (logical ORs) three fault bit signals provided by the DC link monitors. They monitor the total DC link input current, the DC link input voltage, and the total DC link output current, and gate the following two independent enable sources that enable the DC-DC converter:

  • The enable bit in the control register
  • The enable input for the DSP Builder block.

The ADC interface in the DC-DC converter has three demodulators for one-bit sigma-delta signals, which sense the following DC link feedback signals:

  • The output voltage
  • The two output inductor currents

The ADC interface delivers 16-bit ADC values at 156 kHz, which is 1/128 of 20 MHz. The design feeds the ADC output values to the DC-DC control block to carry out the feedback control loops. The voltage feedback control and two inductor current feedback control loops run autonomously in hardware, without software interaction in the loop execution.

Did you find the information on this page useful?

Characters remaining:

Feedback Message