|  | Dual Active Bridge Development Board (Part-No. ) |
Content |  |  |  |  |  |

Loading...
Searching...
No Matches
Files | Functions | Variables
Interrupt Routine and Functions
Power Control

Contains the interrupt routine and other functions called in the interrupt. More...

Collaboration diagram for Interrupt Routine and Functions:

## Files
file | pwrctrl_isr.c
| Contains Control loop interrupt Callback that acquires the ADC raw data and process it in the control loop, and use the control output for the PWM distribution for this converter.
file | pwrctrl_isr.h
| Contains public function relevant for power control interrupt.
file | pwrctrl_isr_extension.c
| Contains some of the functions used in the interrupt service routine of control loop.

## Functions
void | ControlLoop_Interrupt_CallBack (void)
| Executes the power converter control loop.
void | PwrCtrl_UpdateADConverterData (void)
| This function updates the DAB data members with ADC raw values.
void | PwrCtrl_10KHzVPLoopPrepareData (void)
| This function prepares the data for control loop and selects which control loop will be executed.
void | PwrCtrl_ControlLoopExecute (void)
| Executes the power converter control loop.
static void | PwrCtrl_AdaptiveGainUpdate (void)
| Updates the Adaptive gain for the power converter control loop.
void | PwrCtrl_PrimToSecPHDegree (void)
| This function updates the DAB data members with phase values normalized in degree.
void | PwrCtrl_DeadTimeAdjust (void)
| This function updates the DAB data members dead time based on load.

## Variables
AVERAGING_t | vPrimAveraging
| Data Object of primary voltage averaging.
AVERAGING_t | vSecAveraging
| Data Object of secondary voltage averaging.
AVERAGING_t | iSecAveraging
| Data Object of secondary current averaging.

## Detailed Description

This document includes the interrupt function in power control.

## Function Documentation

## ◆ ControlLoop_Interrupt_CallBack()

void ControlLoop_Interrupt_CallBack | ( | void |  | ) |

Returns
  void

This interrupt function is a timing interrupt executed every 100KHz and calls an ADC function that updates the DAB data member with ADC raw values. The fault check is also called in this function to detect any fault events. It is followed by the control loop execution for Voltage, Current and Power Loop Controllers. The end result of the control loop is handed over to the PWM distribution.

Definition at line 46 of file pwrctrl_isr.c.

Here is the call graph for this function:

## ◆ PwrCtrl_10KHzVPLoopPrepareData()

void PwrCtrl_10KHzVPLoopPrepareData | ( | void |  | ) |

Returns
  void

This function prepares the data for Voltage loop control and Power loop control. The enable bit of these control loops are manage in this function in which the VLoop and PLoop are enabled at 10KHz with 180 degrees phase.

Definition at line 112 of file pwrctrl_isr_extension.c.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ PwrCtrl_AdaptiveGainUpdate()

static void PwrCtrl_AdaptiveGainUpdate | ( | void |  | ) |
| static

Returns
  void

AGC is a specific method for tuning the overall feedback loop gain during runtime. This function handles the calculation of the gain at a particular input voltage. AGC is active when it is above the minimum AGC input voltage.

Definition at line 310 of file pwrctrl_isr_extension.c.

Here is the caller graph for this function:

## ◆ PwrCtrl_ControlLoopExecute()

void PwrCtrl_ControlLoopExecute | ( | void |  | ) |

Returns
  void

This function is called to execute the control loop of the power converter. It comprise of Voltage Loop control (VLoop), Power Loop control (PLoop) and Current Loop Control (ILoop). Vloop and PLoop is ten times slower than the current loop with interleaved execution while Iloop is executed every time this function is called.

Definition at line 210 of file pwrctrl_isr_extension.c.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ PwrCtrl_DeadTimeAdjust()

void PwrCtrl_DeadTimeAdjust | ( | void |  | ) |

Returns
  void

This function updates the DAB data members dead time based on load. The phase and dead-time in this function is based on the actual board test.

Definition at line 379 of file pwrctrl_isr_extension.c.

Here is the caller graph for this function:

## ◆ PwrCtrl_PrimToSecPHDegree()

void PwrCtrl_PrimToSecPHDegree | ( | void |  | ) |

Returns
  void

This function updates the DAB data members with phase values normalized in degree. The calculated phase is scaled by 10x to have better phase resolution.

Definition at line 351 of file pwrctrl_isr_extension.c.

Here is the caller graph for this function:

## ◆ PwrCtrl_UpdateADConverterData()

void PwrCtrl_UpdateADConverterData | ( | void |  | ) |

Returns
  void

This function is called every 100KHz and triggers the ADC module. This also handles the updating of DAB data members with its latest ADC raw values and collection of data for averaging.

Definition at line 65 of file pwrctrl_isr_extension.c.

Here is the call graph for this function:
Here is the caller graph for this function:

## Variable Documentation

## ◆ iSecAveraging

AVERAGING_t iSecAveraging

The 'IsecAveraging' data object holds the averaging parameter of the Secondary Current.

Definition at line 50 of file pwrctrl_isr_extension.c.

## ◆ vPrimAveraging

AVERAGING_t vPrimAveraging

The 'VprimAveraging' data object holds the averaging parameter of the Primary Voltage.

Definition at line 34 of file pwrctrl_isr_extension.c.

## ◆ vSecAveraging

AVERAGING_t vSecAveraging

The 'VsecAveraging' data object holds the averaging parameter of the Secondary Voltage.

Definition at line 42 of file pwrctrl_isr_extension.c.