FPGA-based Direct Torque Control using Vivado HLS
Technical notes

FPGA-based Direct Torque Control using Vivado HLS

This technical note presents an FPGA-based Direct Torque Control (DTC) of a PMSM motor using Vivado HLS, coupled with the possibility to customize the FPGA firmware of a B-Box. This approach increases the responsiveness of the DTC implementation presented in AN004 by porting part of the control logic to the FPGA. Xilinx Vivado High-Level Synthesis (HLS) is…

Editing the FPGA firmware using the sandbox
Product notes

Editing the FPGA firmware using the sandbox

This page explains how to edit the FPGA firmware of the B-Board PRO (equivalently to the B-Box RCP). Imperix offers the possibility to customize that FPGA firmware by instantiating the imperix firmware IP in Xilinx Vivado and editing programmable logic around it. To that end, the provided template provides access to a pre-written framework, designated…

FPGA-based SPI communication IP for A/D converter
Technical notes

FPGA-based SPI communication IP for A/D converter

This technical note shows how an SPI communication link can be established between the B-Board PRO and an external Analog-to-Digital Converter (ADC). The corresponding approach uses the user-programmable area inside the FPGA, also known as sandbox. Related notes Information on how to set up the toolchain for the FPGA programming is available in PN120. Quick-start information…

FPGA-based hysteresis controller for three-phase inverter using HDL Coder
Technical notes

FPGA-based hysteresis controller for three-phase inverter using HDL Coder

This technical note shows how the implementation of an FPGA-based hysteresis controller can be conducted, starting from the modeling stage, following with automated VHDL code generation with HDL Coder, and finishing with its validation in simulation. As an application example, this note uses the hysteresis current control already shown in TN120. HDL Coder is a MATLAB…

FPGA-based hysteresis current controller for three-phase inverter
Technical notes

FPGA-based hysteresis current controller for three-phase inverter

This technical note provides an example of how a fast hysteresis current controller can be implemented, leveraging the possibility of editing the FPGA firmware for rapid control prototyping applications. This example implements the direct current control of a three-phase passive load. It relies on manually-generated VHDL code. The automated generation of VHDL code is presented…

Setting up the FPGA development toolchain
Product notes

Setting up the FPGA development toolchain

This note provides step-by-step guidance to create a Xilinx Vivado project, add customized logic, generate a bitstream, and load it into the B-Box/B-Board. The required software and sources files are: Vivado HL Design Suite (available for free as the WebPACK edition) Sandbox sources Related notes Add page list by label Software resources Installing Vivado SDK…

Software reference

SBI – Sandbox input from FPGA

The Sandbox Input from FPGA (SBI) block reads the value of the SBI registers in the FPGA. It is used to transfer data from user-made code from within the FPGA to the CPU. Information on FPGA edition is available on: Editing the FPGA firmware (sandbox) (PN116) Usage examples of the SBI block are available on:…

Software reference

SB-PWM – Sandbox PWM

The FPGA sandbox PWM block allows driving the PWM output from a user-made modulator from within the FPGA. Information on FPGA edition is available on  Editing the FPGA firmware (sandbox) (PN116) Usage examples of the FPGA sandbox PWM block are available on: FPGA-based direct torque control using Vivado HLS (TN133) FPGA-based hysteresis current control (TN120) Because…

Software reference

SBO – Sandbox output towards FPGA

The Sandbox Output towards FPGA (SBO) block writes the value of the SBO registers in the FPGA. It is used to transfer data from the CPU to the user-made code within the FPGA. An SBO register can be configured as: a configuration register: the value is written only once, at the code launch a real-time register: the…

Timing info tab in BB Control
Product notes

Timing info tab in BB Control

The BB Control Timing info tab provides a graphical representation of the various computation and communication delays involved in the B-Board PRO and B-Box RCP power electronics controllers during run-time. It is particularly useful to observe the delays involved in the control dynamics of the system as explained in Identifying the discrete control delay (PN142)…

End of content

End of content