| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions
LTC3589.cpp File Reference
Switching Regulators, Battery Chargers, and LED Drivers » LTC3589: 8-Output Regulator with Sequencing and I2C

Library for LTC3589: 8-Output Regulator with Sequencing and I2C. More...

## Detailed Description

Library for LTC3589: 8-Output Regulator with Sequencing and I2C.

Definition in file LTC3589.cpp.

Go to the source code of this file.

## Functions
int8_t | LTC3589_register_read (uint8_t i2c_address, uint8_t register_address, uint8_t *register_data)
| Reads an 8-bit register from the LTC3589 using the standard repeated start format. More...
int8_t | LTC3589_register_write (uint8_t i2c_address, uint8_t register_address, uint8_t register_data)
| Writes to an 8-bit register inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_set (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Sets any bit inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_clear (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Clears any bit inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_write (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number, uint8_t bit_data)
| Writes any bit inside the LTC3589 using the standard I2C repeated start format. More...
uint8_t | LTC3589_bit_is_set (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Reads the value of any bit in any register or the LTC3589. More...
float | LTC3589_set_ldo2_output_voltage (uint8_t i2c_address, uint8_t register_address, float output_voltage)
| Sets the output voltage of LDO2. More...
float | LTC3589_set_buck_output_voltage (uint8_t i2c_address, uint8_t register_address, float output_voltage)
| Sets the output voltage of any buck. More...
float | LTC3589_set_ldo2_fb_ref (uint8_t i2c_address, uint8_t register_address, float fb_ref_voltage)
| Writes the Feedback Reference Voltage of LDO2. More...
float | LTC3589_set_buck_fb_ref (uint8_t i2c_address, uint8_t register_address, float fb_ref_voltage)
| Writes the Feedback Reference Voltage of any buck. More...
float | LTC3589_ldo2_vout_max ()
| Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors. More...
float | LTC3589_ldo2_vout_min ()
| Calculates the minimum output voltage of LDO2 mV based on the feedback resistors. More...
float | LTC3589_buck_vout_max (uint8_t buck_number)
| Calculates the maximum output voltage of any buck in mV based on the feedback resistors. More...
float | LTC3589_buck_vout_min (uint8_t buck_number)
| Calculates the minimum output voltage of any buck in mV based on the feedback resistors. More...
int8_t | LTC3589_select_ldo2_reference (uint8_t i2c_address, int8_t ref_char)
| Selects the reference for LDO2. More...
int8_t | LTC3589_select_buck_reference (uint8_t i2c_address, uint8_t buck_number, int8_t ref_char)
| Selects the reference for the specified buck regulator(s). More...
int8_t | LTC3589_set_buck_mode (uint8_t i2c_address, uint8_t buck_number, uint8_t mode)
| Sets the switching mode for the specified buck regulator(s). More...
int8_t | LTC3589_set_buckboost_mode (uint8_t i2c_address, uint8_t mode)
| Sets the switching mode for the buck-boost regulator. More...
int8_t | LTC3589_set_startup_mode (uint8_t i2c_address, uint8_t startup_bit)
| Sets the start-up mode for all regulators. More...
int8_t | LTC3589_set_pgood_mask (uint8_t i2c_address, uint8_t pgood_bit)
| Sets the PGOOD mask bit for all bucks and LDO2. More...
int8_t | LTC3589_set_ldo4_voltage (uint8_t i2c_address, uint8_t ldo4_output_voltage_code)
| Sets LDO4 output voltage on the LTC3589. More...
int8_t | LTC3589_set_regulator_slew (uint8_t i2c_address, uint8_t regulator_mask, uint8_t slew_rate)
| Sets the dynamnic reference slew rate for the regulator(s). More...
int8_t | LTC3589_set_switch_dvdt_control (uint8_t i2c_address, uint8_t dvdt_control_bits)
| Sets the switch DV/DT control for the buck regulators. More...
int8_t | LTC3589_set_go_bits (uint8_t i2c_address)
| Sets all of the GO bits in the VCCR register. More...

## Function Documentation

## ◆ LTC3589_bit_clear()

int8_t LTC3589_bit_clear | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Clears any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  bit_number | Address of the bit to set within the register.

Definition at line 113 of file LTC3589.cpp.

## ◆ LTC3589_bit_is_set()

uint8_t LTC3589_bit_is_set | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Reads the value of any bit in any register or the LTC3589.

Returns
  Bit value at the passed register subaddress and bit location.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be read. This is also known as the "command byte".
  bit_number | Bit location (0-7) to be read.

Definition at line 140 of file LTC3589.cpp.

## ◆ LTC3589_bit_set()

int8_t LTC3589_bit_set | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Sets any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  bit_number | Bit location (0-7) to be written.

Definition at line 100 of file LTC3589.cpp.

## ◆ LTC3589_bit_write()

int8_t LTC3589_bit_write | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number,
|  | uint8_t | bit_data
| ) |  |

Writes any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be written.
  bit_number | Bit location (0-7) to be written.
  bit_data | Bit data (0 or 1) to be written.

Definition at line 126 of file LTC3589.cpp.

## ◆ LTC3589_buck_vout_max()

float LTC3589_buck_vout_max | ( | uint8_t | buck_number | ) |

Calculates the maximum output voltage of any buck in mV based on the feedback resistors.

Returns
  Maximum possible output voltage for the selected buck.

Parameters

  buck_number | Number (1-3) of buck.

Definition at line 229 of file LTC3589.cpp.

## ◆ LTC3589_buck_vout_min()

float LTC3589_buck_vout_min | ( | uint8_t | buck_number | ) |

Calculates the minimum output voltage of any buck in mV based on the feedback resistors.

Returns
  Minimum possible output voltage for the selected buck.

Parameters

  buck_number | Number (1-3) of buck.

Definition at line 246 of file LTC3589.cpp.

## ◆ LTC3589_ldo2_vout_max()

float LTC3589_ldo2_vout_max | ( |  | ) |

Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors.

Returns
  Maximum possible output voltage for LDO2.

Definition at line 217 of file LTC3589.cpp.

## ◆ LTC3589_ldo2_vout_min()

float LTC3589_ldo2_vout_min | ( |  | ) |

Calculates the minimum output voltage of LDO2 mV based on the feedback resistors.

Returns
  Minimum possible output voltage for LDO2.

Definition at line 223 of file LTC3589.cpp.

## ◆ LTC3589_register_read()

int8_t LTC3589_register_read | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t * | register_data
| ) |  |

Reads an 8-bit register from the LTC3589 using the standard repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be read. This is also known as the "command byte".
  register_data | returns 8-bit value read from the LTC3589 register.

Definition at line 84 of file LTC3589.cpp.

## ◆ LTC3589_register_write()

int8_t LTC3589_register_write | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | register_data
| ) |  |

Writes to an 8-bit register inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  register_data | Value that will be written to the register.

Definition at line 92 of file LTC3589.cpp.

## ◆ LTC3589_select_buck_reference()

int8_t LTC3589_select_buck_reference | ( | uint8_t | i2c_address,
|  | uint8_t | buck_number,
|  | int8_t | ref_char
| ) |  |

Selects the reference for the specified buck regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  buck_number | Number (1-3) of the buck whose reference will be selected. Enter 0xFF for all bucks.
  ref_char | Reference to select (A or B).

Definition at line 275 of file LTC3589.cpp.

## ◆ LTC3589_select_ldo2_reference()

int8_t LTC3589_select_ldo2_reference | ( | uint8_t | i2c_address,
|  | int8_t | ref_char
| ) |  |

Selects the reference for LDO2.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  ref_char | Reference to select (A or B).

Definition at line 263 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_fb_ref()

float LTC3589_set_buck_fb_ref | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | fb_ref_voltage
| ) |  |

Writes the Feedback Reference Voltage of any buck.

Returns
  New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 Buck FB reference register to be written.
  fb_ref_voltage | New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.

Definition at line 202 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_mode()

int8_t LTC3589_set_buck_mode | ( | uint8_t | i2c_address,
|  | uint8_t | buck_number,
|  | uint8_t | mode
| ) |  |

Sets the switching mode for the specified buck regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  buck_number | Number (1-3) of the buck to set. Enter 0xFF for all bucks.
  mode | Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)

Definition at line 294 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_output_voltage()

float LTC3589_set_buck_output_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | output_voltage
| ) |  |

Sets the output voltage of any buck.

Returns
  New buck output voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 Buck FB reference register to be written.
  output_voltage | New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.

Definition at line 164 of file LTC3589.cpp.

## ◆ LTC3589_set_buckboost_mode()

int8_t LTC3589_set_buckboost_mode | ( | uint8_t | i2c_address,
|  | uint8_t | mode
| ) |  |

Sets the switching mode for the buck-boost regulator.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  mode | Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)

Definition at line 313 of file LTC3589.cpp.

## ◆ LTC3589_set_go_bits()

int8_t LTC3589_set_go_bits | ( | uint8_t | i2c_address | ) |

Sets all of the GO bits in the VCCR register.

Parameters

  i2c_address | I2C address of the LTC3589.

Definition at line 392 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo2_fb_ref()

float LTC3589_set_ldo2_fb_ref | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | fb_ref_voltage
| ) |  |

Writes the Feedback Reference Voltage of LDO2.

Returns
  New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 LDO2 FB reference register to be written.
  fb_ref_voltage | New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.

Definition at line 187 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo2_output_voltage()

float LTC3589_set_ldo2_output_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | output_voltage
| ) |  |

Sets the output voltage of LDO2.

Returns
  New LDO2 output voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 LDO2 FB reference register to be written.
  output_voltage | New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.

Definition at line 151 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo4_voltage()

int8_t LTC3589_set_ldo4_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | ldo4_output_voltage_code
| ) |  |

Sets LDO4 output voltage on the LTC3589.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  ldo4_output_voltage_code | Voltage code for new LDO4 output voltage (varies by part option).

Definition at line 347 of file LTC3589.cpp.

## ◆ LTC3589_set_pgood_mask()

int8_t LTC3589_set_pgood_mask | ( | uint8_t | i2c_address,
|  | uint8_t | pgood_bit
| ) |  |

Sets the PGOOD mask bit for all bucks and LDO2.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  pgood_bit | Data to write to PGOOD bit (0=PGOOD low when slewing, 1=PGOOD not forced low when slewing)

Definition at line 336 of file LTC3589.cpp.

## ◆ LTC3589_set_regulator_slew()

int8_t LTC3589_set_regulator_slew | ( | uint8_t | i2c_address,
|  | uint8_t | regulator_mask,
|  | uint8_t | slew_rate
| ) |  |

Sets the dynamnic reference slew rate for the regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  regulator_mask | Mask of the regulator to set. Enter 0xFF for all regulators.
  slew_rate | Slew rate code to set.

Definition at line 359 of file LTC3589.cpp.

## ◆ LTC3589_set_startup_mode()

int8_t LTC3589_set_startup_mode | ( | uint8_t | i2c_address,
|  | uint8_t | startup_bit
| ) |  |

Sets the start-up mode for all regulators.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  startup_bit | Data to write to start-up bit (0=enable at any output, 1=enable only if output <300mV)

Definition at line 322 of file LTC3589.cpp.

## ◆ LTC3589_set_switch_dvdt_control()

int8_t LTC3589_set_switch_dvdt_control | ( | uint8_t | i2c_address,
|  | uint8_t | dvdt_control_bits
| ) |  |

Sets the switch DV/DT control for the buck regulators.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  dvdt_control_bits | Two-bit DV/DT control code to set.

Definition at line 380 of file LTC3589.cpp.