TLE92466ED Driver 2.0.0
API reference
Loading...
Searching...
No Matches
Classes | Functions | Variables
tle92466ed::PERIOD Namespace Reference

PERIOD register bit definitions and helper functions. More...

Classes

struct  PeriodConfig
 Calculate PWM period register values from desired period in microseconds. More...
 

Functions

PeriodConfig CalculateFromPeriodUs (float period_us) noexcept
 Calculate period configuration from desired period in microseconds.
 
constexpr uint16_t BuildRegisterValue (const PeriodConfig &config) noexcept
 Build PERIOD register value from configuration.
 

Variables

constexpr uint16_t MANT_MASK = 0x00FF
 Mantissa mask (bits 7:0)
 
constexpr uint16_t EXP_MASK = 0x0700
 Exponent mask (bits 10:8)
 
constexpr uint16_t EXP_SHIFT = 8
 Exponent shift.
 
constexpr uint8_t EXP_VALUE_MASK = 0x07
 Exponent value mask (3 bits: 0-7)
 
constexpr uint16_t LOW_FREQ_BIT = (1 << 11)
 Low frequency range bit.
 
constexpr uint16_t PWM_CTRL_PARAM_SHIFT = 12
 
constexpr uint16_t PWM_CTRL_PARAM_MASK = 0xF000
 
constexpr uint32_t F_SYS_HZ = 28'000'000UL
 System clock frequency (28 MHz)
 
constexpr float F_SYS_PERIOD_US = 1.0F / 28.0F
 System clock period (≈35.71 ns)
 
constexpr float kSpecMinFrequency_Hz = 110.0F
 Datasheet minimum f_PWM.
 
constexpr float kSpecMaxFrequency_Hz = 4000.0F
 Datasheet maximum f_PWM.
 
constexpr float kSpecMinPeriod_us = 1.0e6F / kSpecMaxFrequency_Hz
 250 µs
 
constexpr float kSpecMaxPeriod_us = 1.0e6F / kSpecMinFrequency_Hz
 9090.9 µs
 
constexpr float kSpecLowRangeMinFreq_Hz = kSpecMinFrequency_Hz / 8.0F
 13.75 Hz
 
constexpr float kSpecLowRangeMaxFreq_Hz = kSpecMaxFrequency_Hz / 8.0F
 500 Hz
 
constexpr float kSpecLowRangeMinPeriod_us
 2000 µs
 
constexpr float kSpecLowRangeMaxPeriod_us
 72727 µs
 
constexpr float kSpecCombinedMinPeriod_us = kSpecMinPeriod_us
 Combined min period across both ranges (250 µs).
 
constexpr float kSpecCombinedMaxPeriod_us = kSpecLowRangeMaxPeriod_us
 Combined max period across both ranges (low-range 72.7 ms).
 

Detailed Description

PERIOD register bit definitions and helper functions.

PWM period configuration for ICC mode.

Bit Map:
* Bit 11   : LOW_FREQ - Low frequency range (8x multiplier)
* Bits 10-8: PERIOD_EXP - Period exponent (0-7)
* Bits 7-0 : PERIOD_MANT - Period mantissa (0-255)
* 

Formulas:

Function Documentation

◆ BuildRegisterValue()

constexpr uint16_t tle92466ed::PERIOD::BuildRegisterValue ( const PeriodConfig &  config)
constexprnoexcept

Build PERIOD register value from configuration.

Parameters
configPeriod configuration
Returns
Register value

◆ CalculateFromPeriodUs()

PeriodConfig tle92466ed::PERIOD::CalculateFromPeriodUs ( float  period_us)
inlinenoexcept

Calculate period configuration from desired period in microseconds.

Parameters
period_usDesired PWM period in microseconds
Returns
PeriodConfig structure, or invalid if period is out of range

Variable Documentation

◆ EXP_MASK

constexpr uint16_t tle92466ed::PERIOD::EXP_MASK = 0x0700
constexpr

Exponent mask (bits 10:8)

◆ EXP_SHIFT

constexpr uint16_t tle92466ed::PERIOD::EXP_SHIFT = 8
constexpr

Exponent shift.

◆ EXP_VALUE_MASK

constexpr uint8_t tle92466ed::PERIOD::EXP_VALUE_MASK = 0x07
constexpr

Exponent value mask (3 bits: 0-7)

◆ F_SYS_HZ

constexpr uint32_t tle92466ed::PERIOD::F_SYS_HZ = 28'000'000UL
constexpr

System clock frequency (28 MHz)

◆ F_SYS_PERIOD_US

constexpr float tle92466ed::PERIOD::F_SYS_PERIOD_US = 1.0F / 28.0F
constexpr

System clock period (≈35.71 ns)

◆ kSpecCombinedMaxPeriod_us

constexpr float tle92466ed::PERIOD::kSpecCombinedMaxPeriod_us = kSpecLowRangeMaxPeriod_us
constexpr

Combined max period across both ranges (low-range 72.7 ms).

◆ kSpecCombinedMinPeriod_us

constexpr float tle92466ed::PERIOD::kSpecCombinedMinPeriod_us = kSpecMinPeriod_us
constexpr

Combined min period across both ranges (250 µs).

◆ kSpecLowRangeMaxFreq_Hz

constexpr float tle92466ed::PERIOD::kSpecLowRangeMaxFreq_Hz = kSpecMaxFrequency_Hz / 8.0F
constexpr

500 Hz

◆ kSpecLowRangeMaxPeriod_us

constexpr float tle92466ed::PERIOD::kSpecLowRangeMaxPeriod_us
constexpr
Initial value:
=
constexpr float kSpecLowRangeMinFreq_Hz
13.75 Hz
Definition tle92466ed_registers.hpp:726

72727 µs

◆ kSpecLowRangeMinFreq_Hz

constexpr float tle92466ed::PERIOD::kSpecLowRangeMinFreq_Hz = kSpecMinFrequency_Hz / 8.0F
constexpr

13.75 Hz

◆ kSpecLowRangeMinPeriod_us

constexpr float tle92466ed::PERIOD::kSpecLowRangeMinPeriod_us
constexpr
Initial value:
=
constexpr float kSpecLowRangeMaxFreq_Hz
500 Hz
Definition tle92466ed_registers.hpp:727

2000 µs

◆ kSpecMaxFrequency_Hz

constexpr float tle92466ed::PERIOD::kSpecMaxFrequency_Hz = 4000.0F
constexpr

Datasheet maximum f_PWM.

◆ kSpecMaxPeriod_us

constexpr float tle92466ed::PERIOD::kSpecMaxPeriod_us = 1.0e6F / kSpecMinFrequency_Hz
constexpr

9090.9 µs

◆ kSpecMinFrequency_Hz

constexpr float tle92466ed::PERIOD::kSpecMinFrequency_Hz = 110.0F
constexpr

Datasheet minimum f_PWM.

◆ kSpecMinPeriod_us

constexpr float tle92466ed::PERIOD::kSpecMinPeriod_us = 1.0e6F / kSpecMaxFrequency_Hz
constexpr

250 µs

◆ LOW_FREQ_BIT

constexpr uint16_t tle92466ed::PERIOD::LOW_FREQ_BIT = (1 << 11)
constexpr

Low frequency range bit.

◆ MANT_MASK

constexpr uint16_t tle92466ed::PERIOD::MANT_MASK = 0x00FF
constexpr

Mantissa mask (bits 7:0)

◆ PWM_CTRL_PARAM_MASK

constexpr uint16_t tle92466ed::PERIOD::PWM_CTRL_PARAM_MASK = 0xF000
constexpr

◆ PWM_CTRL_PARAM_SHIFT

constexpr uint16_t tle92466ed::PERIOD::PWM_CTRL_PARAM_SHIFT = 12
constexpr

PWM controller proportional gain lives in bits [15:12] of PERIOD per datasheet \u00a75.3.3.3. 4-bit KI value.