HF-MAX22200 Driver 0.1.0-dev
HF-MAX22200 C++ Driver
Loading...
Searching...
No Matches
max22200::CfgDpmReg Namespace Reference

CFG_DPM register bit field definitions. More...

Variables

constexpr uint32_t DPM_ISTART_SHIFT = 8
 DPM_ISTART bit shift (bits 14:8)
 
constexpr uint32_t DPM_ISTART_MASK = (0x7Fu << 8)
 DPM_ISTART mask (7-bit)
 
constexpr uint32_t DPM_TDEB_SHIFT = 4
 DPM_TDEB bit shift (bits 7:4)
 
constexpr uint32_t DPM_TDEB_MASK = (0x0Fu << 4)
 DPM_TDEB mask (4-bit)
 
constexpr uint32_t DPM_IPTH_SHIFT = 0
 DPM_IPTH bit shift (bits 3:0)
 
constexpr uint32_t DPM_IPTH_MASK = 0x0Fu
 DPM_IPTH mask (4-bit)
 

Detailed Description

CFG_DPM register bit field definitions.

The CFG_DPM register configures the Detection of Plunger Movement (DPM) algorithm parameters. DPM settings are global and apply to all channels.

Register Layout

Bits Field Description
31:21 RSVD Reserved (write 0)
20:16 RSVD Reserved (write 0)
15 RSVD Reserved (write 0)
14:8 DPM_ISTART[6:0] Starting current for DPM monitoring
7:4 DPM_TDEB[3:0] DPM debounce time
3:0 DPM_IPTH[3:0] DPM current dip threshold

DPM Algorithm Parameters

  • ISTART: Starting current for DPM monitoring
    • ISTART = DPM_ISTART[6:0] × (IFS / 127)
    • Set ISTART just below the minimum current where the plunger movement dip is expected
  • TDEB: Debounce time (minimum dip duration to be recognized)
    • TDEB = DPM_TDEB[3:0] / fCHOP
    • Lower values = more sensitive (may false-trigger on noise)
    • Higher values = less sensitive (may miss valid dips)
  • IPTH: Current dip threshold (minimum dip amplitude)
    • IPTH = DPM_IPTH[3:0] × (IFS / 127)
    • Lower values = more sensitive
    • Higher values = less sensitive

DPM Algorithm Behavior

The DPM algorithm monitors current above ISTART until either:

  • The programmed IHIT level is reached, OR
  • The HIT time (tHIT) ends

A valid plunger movement is detected if:

  • A current dip with amplitude > IPTH occurs, AND
  • The dip duration > TDEB

If no valid dip is detected, a DPM fault is signaled (if DPM_EN is set for that channel and M_DPM is not masked).

Note
DPM accuracy becomes less reliable if the dip is not pronounced enough.
The current slope above ISTART must be slower than 700mA/ms for reliable detection (to allow the internal ADC to track).
Per datasheet section "Detection of Plunger Movement (DPM)" and "Detection of Plunger Movement Register Description (CFG_DPM)".

Variable Documentation

◆ DPM_IPTH_MASK

constexpr uint32_t max22200::CfgDpmReg::DPM_IPTH_MASK = 0x0Fu
constexpr

◆ DPM_IPTH_SHIFT

◆ DPM_ISTART_MASK

constexpr uint32_t max22200::CfgDpmReg::DPM_ISTART_MASK = (0x7Fu << 8)
constexpr

◆ DPM_ISTART_SHIFT

◆ DPM_TDEB_MASK

constexpr uint32_t max22200::CfgDpmReg::DPM_TDEB_MASK = (0x0Fu << 4)
constexpr

◆ DPM_TDEB_SHIFT