Digital Power Starter Kit 3 Firmware  DM330017-3, Rev.3.0
dsPIC33C Buck Converter Peak Current Mode Control Example

Peak Current Mode Control Slope Compensation Settings. More...

#include <power_control/devices/dev_buck_typedef.h>

+ Inheritance diagram for BUCK_SLOPE_COMP_SETTINGS_s:
+ Collaboration diagram for BUCK_SLOPE_COMP_SETTINGS_s:

Data Fields

volatile uint16_t dac_instance
 Digital-to-analog converter instance used to generate the the slope compensation ramp. More...
 
volatile uint16_t cmp_instance
 Analog comparator triggering on the peak current feedback signal. More...
 
volatile uint16_t cmp_input
 Analog comparator input option A to D (0=A, 1=B, 2=C, 3=D) More...
 
volatile uint16_t pwm_trigger_input
 PWM current limit PCI input source (must match comparator declared by cmp_instance) More...
 
volatile uint16_t slew_rate
 Integer equivalent of compensation ramp slew rate in [V/µs]. More...
 
volatile uint16_t slope_start_trigger
 Period counter value at with the slope start is triggered. More...
 
volatile uint16_t slope_stop_trigger
 Period counter value at with the slope stop is triggered. More...
 
volatile uint16_t initial_dac_value
 Initial Digital-to-Analog converter reference value (used when peripheral is enabled or being reset) More...
 
volatile uint16_t * ptr_duty_cycle
 Pointer to switch node duty cycle register. More...
 
volatile uint16_t duty_cycle_limit
 Switch node duty cycle limit value. More...
 
- Data Fields inherited from BUCK_CONVERTER_s
volatile struct BUCK_CONVERTER_STATUS_s status
 BUCK operation status bits. More...
 
volatile struct BUCK_STATE_ID_s state_id
 BUCK state machine operating state ID. More...
 
volatile struct BUCK_CONVERTER_STARTUP_s startup
 BUCK startup timing settings. More...
 
volatile struct BUCK_CONVERTER_SETTINGS_s set_values
 Control field for global access to references. More...
 
volatile struct BUCK_CONVERTER_DATA_s data
 BUCK runtime data. More...
 
volatile struct BUCK_FEEDBACK_SETTINGS_s feedback
 BUCK converter feedback settings. More...
 
volatile struct BUCK_SWITCH_NODE_SETTINGS_s sw_node [BUCK_NO_OF_PHASES]
 BUCK converter switch node settings. More...
 
volatile struct BUCK_GPIO_SETTINGS_s gpio
 BUCK converter additional GPIO specification. More...
 
volatile struct BUCK_LOOP_SETTINGS_s v_loop
 BUCK voltage control loop object. More...
 
volatile struct BUCK_LOOP_SETTINGS_s i_loop [BUCK_NO_OF_PHASES]
 BUCK Current control loop objects. More...
 

Detailed Description

Peak Current Mode Control Slope Compensation Settings.

Generic power converter switch-node specifications.

Settings covered in this sub data structure are only used in peak current mode control (PCMC) and are ignored in all other control modes such as voltage mode control (VMC) or average current mode control (ACMC). Peak current mode control is enabled by setting

buck.set_values.control_mode = BUCK_CONTROL_MODE_PCMC.
volatile struct BUCK_CONVERTER_s buck
Global data object for a BUCK CONVERTER.
enum BUCK_CONTROL_MODE_e control_mode
Fundamental control mode.
volatile struct BUCK_CONVERTER_SETTINGS_s set_values
Control field for global access to references.

By enabling peak current mode control, an on-chip analog comparator with integrated ramp generator DAC will be initialized and configured to truncate the active duty cycle of the main PWM generator instance, declared in the switch node settings of the buck converter object. The compensation ramp is controlled by the PWM generator triggers 1 and 2, where the setting of Trigger 1 determines the starting point of the ramp and Trigger 2 determines the stop-point of the ramp. The ramp will automatically reset when the analog comparator has tripped or when the stop-point has been reached without, whatever event occurs first.


Definition at line 388 of file dev_buck_typedef.h.

Field Documentation

◆ cmp_input

volatile uint16_t cmp_input

Analog comparator input option A to D (0=A, 1=B, 2=C, 3=D)

Definition at line 392 of file dev_buck_typedef.h.

◆ cmp_instance

volatile uint16_t cmp_instance

Analog comparator triggering on the peak current feedback signal.

Definition at line 391 of file dev_buck_typedef.h.

◆ dac_instance

volatile uint16_t dac_instance

Digital-to-analog converter instance used to generate the the slope compensation ramp.

Definition at line 390 of file dev_buck_typedef.h.

◆ duty_cycle_limit

volatile uint16_t duty_cycle_limit

Switch node duty cycle limit value.

Definition at line 399 of file dev_buck_typedef.h.

◆ initial_dac_value

volatile uint16_t initial_dac_value

Initial Digital-to-Analog converter reference value (used when peripheral is enabled or being reset)

Definition at line 397 of file dev_buck_typedef.h.

◆ ptr_duty_cycle

volatile uint16_t* ptr_duty_cycle

Pointer to switch node duty cycle register.

Definition at line 398 of file dev_buck_typedef.h.

◆ pwm_trigger_input

volatile uint16_t pwm_trigger_input

PWM current limit PCI input source (must match comparator declared by cmp_instance)

Definition at line 393 of file dev_buck_typedef.h.

◆ slew_rate

volatile uint16_t slew_rate

Integer equivalent of compensation ramp slew rate in [V/µs].

Definition at line 394 of file dev_buck_typedef.h.

◆ slope_start_trigger

volatile uint16_t slope_start_trigger

Period counter value at with the slope start is triggered.

Definition at line 395 of file dev_buck_typedef.h.

◆ slope_stop_trigger

volatile uint16_t slope_stop_trigger

Period counter value at with the slope stop is triggered.

Definition at line 396 of file dev_buck_typedef.h.


The documentation for this struct was generated from the following file: