Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

TPS23881 Datasheet Reference

Texas Instruments TPS23881 - Type-4 4-Pair 8-Channel PoE 2 PSE Controller with SRAM and 200 mOhm RSENSE

Datasheet: SLVSF02E - MARCH 2019 - REVISED MAY 2023

This document is used as a reference for driver validation. All register addresses, bit fields, enumerations, and conversion formulas are sourced from the TPS23881 datasheet.


Device Overview

  • 8-channel PSE controller (4 ports, each port = 2 channels)
  • IEEE 802.3bt Type 3/4 compliant (2-pair and 4-pair)
  • I2C interface, up to 400 kHz
  • RSENSE = 0.200 Ohm
  • 2-Pair PCUT range: 2 W to 65 W
  • 4-Pair PCUT range: 4 W to 127 W
  • 4-Pair PCUT accuracy: +/-2.5%
  • Capacitance measurement range: 1 uF to 12 uF
  • 16 kB programmable SRAM
  • ULA packaging available (TPS23881A)
  • VDD: 3.0 V to 3.6 V (typ 3.3 V)
  • VPWR: 44 V to 57 V
  • Junction temperature: -40 C to 125 C

I2C Addressing

  • Address pins: A1-A4 (internally pulled up to VDD)
  • Configuration A (8-bit, nbitACC=0): Two 4-channel devices with 2 consecutive slave addresses
  • Configuration B (16-bit, nbitACC=1): Single device address (A0=0)
  • Broadcast address available

Operating Modes

Value Mode Description
0b00 OFF Channel is off
0b01 Manual/Diagnostic Manual control of detection, classification, and power
0b10 Semi-Auto Detection/classification cycle with manual power-on (PWON command)
0b11 Auto Fully automatic detection, classification, and power-on

Complete Register Map

Interrupt Registers

Address Name R/W Bytes Reset Description
0x00 INTERRUPT RO 1 0x80 Interrupt status (active high)
0x01 INTERRUPT MASK R/W 1 0x80 Interrupt mask

Event Registers

Address Name R/W Bytes Reset Description
0x02 POWER EVENT RO 1 0x00 Power good/enable change events
0x03 POWER EVENT (CoR) CoR 1 0x00 Clear on Read version of 0x02
0x04 DETECTION EVENT RO 1 0x00 Detection/classification events
0x05 DETECTION EVENT (CoR) CoR 1 0x00 Clear on Read version of 0x04
0x06 FAULT EVENT RO 1 0x00 Disconnect/PCUT fault events
0x07 FAULT EVENT (CoR) CoR 1 0x00 Clear on Read version of 0x06
0x08 START/ILIM EVENT RO 1 0x00 Inrush/current limit events
0x09 START/ILIM EVENT (CoR) CoR 1 0x00 Clear on Read version of 0x08
0x0A SUPPLY/FAULT EVENT RO 1 0x00 Supply and 4P fault events
0x0B SUPPLY/FAULT EVENT (CoR) CoR 1 0x00 Clear on Read version of 0x0A

Discovery/Status Registers

Address Name R/W Bytes Reset Description
0x0C CHANNEL 1 DISCOVERY RO 1 0x00 Ch1 detection result + requested class
0x0D CHANNEL 2 DISCOVERY RO 1 0x00 Ch2 detection result + requested class
0x0E CHANNEL 3 DISCOVERY RO 1 0x00 Ch3 detection result + requested class
0x0F CHANNEL 4 DISCOVERY RO 1 0x00 Ch4 detection result + requested class
0x10 POWER STATUS RO 1 0x00 Power good and power enable status
0x11 PIN STATUS RO 1 - I2C address pin status

Configuration Registers

Address Name R/W Bytes Reset Description
0x12 OPERATING MODE R/W 1 0x00 Operating mode per channel (2 bits each)
0x13 DISCONNECT ENABLE R/W 1 0x0F DC disconnect enable per channel
0x14 DETECT/CLASS ENABLE R/W 1 0x00 Detection and classification enable per channel
0x15 POWER PRIO / PCUT DISABLE R/W 1 0x00 OSS priority and PCUT disable per channel
0x16 TIMING CONFIGURATION R/W 1 0x00 TLIM, TSTART, TOVLD, TMPDO timing
0x17 GENERAL MASK R/W 1 0x00 INTEN, nbitACC, MbitPrty, CLCHE, DECHE

Command Registers (Push-Button)

Address Name R/W Bytes Reset Description
0x18 DETECT/CLASS RESTART R/W 1 0x00 Restart detection/classification per channel
0x19 POWER ENABLE R/W 1 0x00 Power on/off command per channel
0x1A RESET R/W 1 0x00 Reset commands (CLRAIN, CLINP, RESAL, RESPn)

ID and Policing Registers

Address Name R/W Bytes Reset Description
0x1B ID R/W 1 0x55 Manufacturer ID (bits 7-3) and IC version (bits 2-0)
0x1C CONN CHECK / AUTO CLASS STATUS RO 1 0x00 Connection check result + auto class status
0x1E 2-PAIR POLICE CH1 R/W 1 0xFF 2-pair policing threshold Ch1 (0.5 W/LSB)
0x1F 2-PAIR POLICE CH2 R/W 1 0xFF 2-pair policing threshold Ch2 (0.5 W/LSB)
0x20 2-PAIR POLICE CH3 R/W 1 0xFF 2-pair policing threshold Ch3 (0.5 W/LSB)
0x21 2-PAIR POLICE CH4 R/W 1 0xFF 2-pair policing threshold Ch4 (0.5 W/LSB)

Detection/Fault/Remapping Registers

Address Name R/W Bytes Reset Description
0x22 CAPACITANCE DETECTION R/W 1 0x00 Enable capacitance detection per channel
0x24 POWER-ON FAULT RO 1 0x00 Power-on fault status (2 bits per channel)
0x25 POWER-ON FAULT (CoR) CoR 1 0x00 Clear on Read version of 0x24
0x26 PORT RE-MAPPING R/W 1 0x00 Physical channel remapping (2 bits each)

Priority and Power Allocation Registers

Address Name R/W Bytes Reset Description
0x27 MULTI-BIT PRIORITY CH 1&2 R/W 1 0x00 3-bit priority for channels 1 and 2
0x28 MULTI-BIT PRIORITY CH 3&4 R/W 1 0x00 3-bit priority for channels 3 and 4
0x29 PORT POWER ALLOCATION R/W 1 0x00 4-pair wired config + power allocation

4-Pair Policing and Fault Registers

Address Name R/W Bytes Reset Description
0x2A 4-PAIR POLICE CH 1&2 R/W 1 0xFF 4-pair policing threshold Ch1&2 (0.5 W/LSB)
0x2B 4-PAIR POLICE CH 3&4 R/W 1 0xFF 4-pair policing threshold Ch3&4 (0.5 W/LSB)
0x2C TEMPERATURE RO 1 0x00 Die temperature measurement
0x2D 4-PAIR FAULT CONFIG R/W 1 0x00 NLM, NCT, 4PPCT, DCDT per channel pair
0x2E INPUT VOLTAGE RO 2 0x0000 VPWR input voltage measurement

Channel Current and Voltage Registers

Address Name R/W Bytes Reset Description
0x30 CHANNEL 1 CURRENT RO 2 0x0000 Ch1 current (14-bit, LSByte first)
0x32 CHANNEL 1 VOLTAGE RO 2 0x0000 Ch1 voltage (14-bit, LSByte first)
0x34 CHANNEL 2 CURRENT RO 2 0x0000 Ch2 current (14-bit, LSByte first)
0x36 CHANNEL 2 VOLTAGE RO 2 0x0000 Ch2 voltage (14-bit, LSByte first)
0x38 CHANNEL 3 CURRENT RO 2 0x0000 Ch3 current (14-bit, LSByte first)
0x3A CHANNEL 3 VOLTAGE RO 2 0x0000 Ch3 voltage (14-bit, LSByte first)
0x3C CHANNEL 4 CURRENT RO 2 0x0000 Ch4 current (14-bit, LSByte first)
0x3E CHANNEL 4 VOLTAGE RO 2 0x0000 Ch4 voltage (14-bit, LSByte first)

Configuration/Others Registers

Address Name R/W Bytes Reset Description
0x40 2x FOLDBACK SELECTION R/W 1 0x00 2xFBn and MPOLn per channel
0x41 FIRMWARE REVISION RO 1 0x00 SRAM firmware revision (0xFF = safe mode)
0x42 I2C WATCHDOG R/W 1 0x16 Watchdog configuration (2 sec timeout)
0x43 DEVICE ID RO 1 0x22 Device ID (bits 7-4) and silicon revision (bits 3-0)

Signature Measurement Registers

Address Name R/W Bytes Reset Description
0x44 CH1 DETECT RESISTANCE RO 1 0x00 Channel 1 detection resistance
0x45 CH2 DETECT RESISTANCE RO 1 0x00 Channel 2 detection resistance
0x46 CH3 DETECT RESISTANCE RO 1 0x00 Channel 3 detection resistance
0x47 CH4 DETECT RESISTANCE RO 1 0x00 Channel 4 detection resistance
0x48 CH1 DETECT CAPACITANCE RO 1 0x00 Channel 1 capacitance (requires SRAM)
0x49 CH2 DETECT CAPACITANCE RO 1 0x00 Channel 2 capacitance (requires SRAM)
0x4A CH3 DETECT CAPACITANCE RO 1 0x00 Channel 3 capacitance (requires SRAM)
0x4B CH4 DETECT CAPACITANCE RO 1 0x00 Channel 4 capacitance (requires SRAM)

Assigned Class Registers

Address Name R/W Bytes Reset Description
0x4C CH1 ASSIGNED CLASS RO 1 0x00 Assigned class + previous class Ch1
0x4D CH2 ASSIGNED CLASS RO 1 0x00 Assigned class + previous class Ch2
0x4E CH3 ASSIGNED CLASS RO 1 0x00 Assigned class + previous class Ch3
0x4F CH4 ASSIGNED CLASS RO 1 0x00 Assigned class + previous class Ch4

Auto Class Registers

Address Name R/W Bytes Reset Description
0x50 AUTO CLASS CONTROL R/W 1 0x00 MACn (manual trigger) and AACn (auto adjust)
0x51 CH1 AUTO CLASS POWER RO 1 0x00 Channel 1 autoclass power measurement
0x52 CH2 AUTO CLASS POWER RO 1 0x00 Channel 2 autoclass power measurement
0x53 CH3 AUTO CLASS POWER RO 1 0x00 Channel 3 autoclass power measurement
0x54 CH4 AUTO CLASS POWER RO 1 0x00 Channel 4 autoclass power measurement

Miscellaneous Registers

Address Name R/W Bytes Reset Description
0x55 ALTERNATIVE FOLDBACK R/W 1 0x00 ALTFBn (foldback curve) and ALTIRn (inrush)
0x56-0x5F RESERVED R/W - 0x00 Reserved

SRAM Registers

Address Name R/W Bytes Reset Description
0x60 SRAM CONTROL R/W 1 0x00 SRAM programming control
0x61 SRAM DATA R/W - - SRAM data read/write (continuous)
0x62 SRAM START ADDRESS (LSB) R/W 1 0x00 Programming start address LSB
0x63 SRAM START ADDRESS (MSB) R/W 1 0x00 Programming start address MSB
0x64-0x6F RESERVED R/W - 0x00 Reserved

Detailed Register Bit Fields

0x00 - INTERRUPT Register (RO)

Active high, each bit corresponds to a particular event. Reading the corresponding event register clears the associated interrupt bit.

Bit Field Reset Description
7 SUPF 1 Supply Event Fault or SRAM memory fault. SUPF = TSD || VDUV || VDWRN || VPUV || RAMFLT
6 STRTF 0 tSTART Fault on at least one channel. STRTF = STRT1 || STRT2 || STRT3 || STRT4
5 IFAULT 0 tOVLD or tLIM Fault. IFAULT = PCUT1-4 || PCUT34 || PCUT12 || ILIM1-4
4 CLASC 0 Classification cycle occurred. CLASC = CLSC1 || CLSC2 || CLSC3 || CLSC4
3 DETC 0 Detection cycle occurred. DETC = DETC1 || DETC2 || DETC3 || DETC4
2 DISF 0 Disconnect event occurred. DISF = DISF1 || DISF2 || DISF3 || DISF4
1 PGC 0 Power good status change. PGC = PGC1 || PGC2 || PGC3 || PGC4
0 PEC 0 Power enable status change. PEC = PEC1 || PEC2 || PEC3 || PEC4

0x01 - INTERRUPT MASK Register (R/W)

Bit Field Reset Description
7 SUMSK 1 Supply event mask (1=enabled)
6 STMSK 0 Start fault mask
5 IFMSK 0 Current fault mask
4 CLMSK 0 Classification mask
3 DEMSK 0 Detection mask
2 DIMSK 0 Disconnect mask
1 PGMSK 0 Power good mask
0 PEMSK 0 Power enable mask

0x02/0x03 - POWER EVENT Register (RO / CoR)

Bit Field Reset Description
7 PGC4 0 Power good status change Ch4
6 PGC3 0 Power good status change Ch3
5 PGC2 0 Power good status change Ch2
4 PGC1 0 Power good status change Ch1
3 PEC4 0 Power enable status change Ch4
2 PEC3 0 Power enable status change Ch3
1 PEC2 0 Power enable status change Ch2
0 PEC1 0 Power enable status change Ch1

0x04/0x05 - DETECTION EVENT Register (RO / CoR)

Bit Field Reset Description
7 CLSC4 0 Classification cycle completed Ch4 (or class change if CLCHE=1)
6 CLSC3 0 Classification cycle completed Ch3
5 CLSC2 0 Classification cycle completed Ch2
4 CLSC1 0 Classification cycle completed Ch1
3 DETC4 0 Detection cycle completed Ch4 (or detection change if DECHE=1)
2 DETC3 0 Detection cycle completed Ch3
1 DETC2 0 Detection cycle completed Ch2
0 DETC1 0 Detection cycle completed Ch1

0x06/0x07 - FAULT EVENT Register (RO / CoR)

Bit Field Reset Description
7 DISF4 0 DC disconnect fault Ch4
6 DISF3 0 DC disconnect fault Ch3
5 DISF2 0 DC disconnect fault Ch2
4 DISF1 0 DC disconnect fault Ch1
3 PCUT4 0 2-pair PCUT fault Ch4
2 PCUT3 0 2-pair PCUT fault Ch3
1 PCUT2 0 2-pair PCUT fault Ch2
0 PCUT1 0 2-pair PCUT fault Ch1

0x08/0x09 - START/ILIM EVENT Register (RO / CoR)

Bit Field Reset Description
7 ILIM4 0 Current limit fault Ch4
6 ILIM3 0 Current limit fault Ch3
5 ILIM2 0 Current limit fault Ch2
4 ILIM1 0 Current limit fault Ch1
3 STRT4 0 tSTART (inrush) fault Ch4
2 STRT3 0 tSTART (inrush) fault Ch3
1 STRT2 0 tSTART (inrush) fault Ch2
0 STRT1 0 tSTART (inrush) fault Ch1

0x0A/0x0B - SUPPLY/FAULT EVENT Register (RO / CoR)

Bit Field Reset Description
7 TSD 0 Thermal shutdown occurred (junction temp exceeded ~150 C)
6 VDUV * VDD undervoltage event (follows VDD state at POR)
5 VDWRN * VDD undervoltage warning
4 VPUV * VPWR undervoltage event (follows VPWR state at POR)
3 PCUT34 0 4-pair PCUT fault on port 3&4
2 PCUT12 0 4-pair PCUT fault on port 1&2
1 OSSE 0 OSS (over-current shutdown) event occurred
0 RAMFLT 0 SRAM fault detected (device enters safe mode)

Note: When RAMFLT is set, the device enters "safe mode" - all channels are turned off. SRAM must be reloaded and RAMFLT cleared before setting RAM_EN.

0x0C-0x0F - CHANNEL 1-4 DISCOVERY Registers (RO)

Bit Field Description
7-4 REQUESTED CLASS Requested class result (see CLASS enum)
3-0 DETECT Detection result (see DETECTRESULT enum)

DETECTRESULT Enumeration

Value Name Description
0b0000 Unknown Detection not performed or unknown
0b0001 ShortCircuit Short circuit detected
0b0010 Reserved1 Reserved
0b0011 TooLow Resistance too low
0b0100 Valid Valid PD signature detected (23.75 kOhm to 26.25 kOhm)
0b0101 TooHigh Resistance too high
0b0110 OpenCircuit Open circuit
0b0111 Reserved2 Reserved
0b1110 MosfetFault MOSFET fault

RCLASS / Requested Class Enumeration

Value Name Description
0b0000 Unknown Unknown or not classified
0b0001 Class1 Class 1 (3.84 W)
0b0010 Class2 Class 2 (6.49 W)
0b0011 Class3 Class 3 (12.95 W)
0b0100 Class4 Class 4 (25.5 W)
0b0101 Res_cl0 Reserved / Class 0 alternate
0b0110 Class0 Class 0 (12.95 W)
0b0111 Overcurr Over-current during classification
0b1000 Class_5 Class 5 (40 W)
0b1001 Class_6 Class 6 (51 W)
0b1010 Class_7 Class 7 (62 W - single signature)
0b1011 Class_8 Class 8 (71.3 W - single signature)
0b1100 Class4plus Class 4+ (>25.5 W autoclass)
0b1101 Class5d Class 5 dual signature
0b1110 Res Reserved
0b1111 Mismatch Class mismatch

0x10 - POWER STATUS Register (RO)

Bit Field Reset Description
7 PG4 0 Power good Ch4 (DRAIN voltage below threshold)
6 PG3 0 Power good Ch3
5 PG2 0 Power good Ch2
4 PG1 0 Power good Ch1
3 PE4 0 Power enable Ch4 (channel ON/OFF state)
2 PE3 0 Power enable Ch3
1 PE2 0 Power enable Ch2
0 PE1 0 Power enable Ch1

0x11 - PIN STATUS Register (RO)

Bit Field Description
6-3 SLA4-SLA1 I2C address pin A4-A1 status
2 SLA0 Config A: 0 or 1; Config B: 0
7, 1-0 Reserved Reserved

0x12 - OPERATING MODE Register (R/W)

2 bits per channel:

Bits Field Description
7-6 CH4 Operating mode for channel 4
5-4 CH3 Operating mode for channel 3
3-2 CH2 Operating mode for channel 2
1-0 CH1 Operating mode for channel 1

OperatingModes Enumeration

Value Name Description
0b00 OFF Channel powered off
0b01 Manual Manual/Diagnostic mode
0b10 SemiAuto Semi-automatic mode
0b11 Auto Fully automatic mode

0x13 - DISCONNECT ENABLE Register (R/W)

Bit Field Reset Description
7-4 Reserved 0 Reserved
3 DCDE4 1 DC disconnect enable Ch4 (1=enabled)
2 DCDE3 1 DC disconnect enable Ch3
1 DCDE2 1 DC disconnect enable Ch2
0 DCDE1 1 DC disconnect enable Ch1

0x14 - DETECT/CLASS ENABLE Register (R/W)

Bit Field Reset Description
7 CLE4 0 Classification enable Ch4
6 CLE3 0 Classification enable Ch3
5 CLE2 0 Classification enable Ch2
4 CLE1 0 Classification enable Ch1
3 DETE4 0 Detection enable Ch4
2 DETE3 0 Detection enable Ch3
1 DETE2 0 Detection enable Ch2
0 DETE1 0 Detection enable Ch1

0x15 - POWER PRIORITY / 2-PAIR PCUT DISABLE Register (R/W)

Bit Field Reset Description
7 OSS4 0 OSS shutdown priority Ch4 (1-bit mode)
6 OSS3 0 OSS shutdown priority Ch3
5 OSS2 0 OSS shutdown priority Ch2
4 OSS1 0 OSS shutdown priority Ch1
3 DCUT4 0 2-pair PCUT disable Ch4 (1=disabled)
2 DCUT3 0 2-pair PCUT disable Ch3
1 DCUT2 0 2-pair PCUT disable Ch2
0 DCUT1 0 2-pair PCUT disable Ch1

0x16 - TIMING CONFIGURATION Register (R/W)

Bits Field Reset Description
7-6 TLIM 0b00 tLIM timing selection
5-4 TSTART 0b00 tSTART (inrush) timing selection
3-2 TOVLD 0b00 tOVLD (overload) timing selection
1-0 TMPDO 0b00 tMPDO timing selection

TLIMType Enumeration

Value Name Timing
0b00 T58ms 58 ms
0b01 T15ms 15 ms
0b10 T10ms 10 ms
0b11 T06ms 6 ms

TSTARTType Enumeration

Value Name Timing
0b00 T58ms 58 ms
0b01 T15ms 15 ms
0b10 T10ms 10 ms
0b11 T06ms 6 ms

TOVLDType Enumeration

Value Name Timing
0b00 T60ms 60 ms
0b01 T30ms 30 ms
0b10 T120ms 120 ms
0b11 T240ms 240 ms

TMPDOType Enumeration

Value Name Timing
0b00 T360ms 360 ms
0b01 T90ms 90 ms
0b10 T180ms1 180 ms
0b11 T180ms2 180 ms

0x17 - GENERAL MASK Register (R/W)

Bit Field Reset Description
7 INTEN 0 INT output enable. 1=unmasked interrupts can activate INT pin
6 Reserved 0 Reserved
5 nbitACC 0 I2C access config. 1=16-bit (Config B), 0=8-bit (Config A)
4 MbitPrty 0 Multi-bit priority. 1=3-bit priority (reg 0x27/0x28), 0=1-bit (reg 0x15)
3 CLCHE 0 Class change enable. 1=CLSCn only on class change
2 DECHE 0 Detect change enable. 1=DETCn only on detection change
1-0 Reserved 0 Reserved

0x18 - DETECT/CLASS RESTART Register (R/W)

Bit Field Reset Description
7 RCL4 0 Restart classification Ch4
6 RCL3 0 Restart classification Ch3
5 RCL2 0 Restart classification Ch2
4 RCL1 0 Restart classification Ch1
3 RDET4 0 Restart detection Ch4
2 RDET3 0 Restart detection Ch3
1 RDET2 0 Restart detection Ch2
0 RDET1 0 Restart detection Ch1

0x19 - POWER ENABLE Register (R/W)

Bit Field Reset Description
7 POFF4 0 Power off Ch4
6 POFF3 0 Power off Ch3
5 POFF2 0 Power off Ch2
4 POFF1 0 Power off Ch1
3 PWON4 0 Power on Ch4
2 PWON3 0 Power on Ch3
1 PWON2 0 Power on Ch2
0 PWON1 0 Power on Ch1

0x1A - RESET Register (R/W)

Bit Field Reset Description
7 CLRAIN 0 Clear all interrupts. Clears all event registers and INT pin
6 CLINP 0 Clear INT pin without affecting event registers
5 Reserved 0 Reserved
4 RESAL 0 Reset all. Restores I2C registers to POR state (with exceptions)
3 RESP4 0 Reset channel 4 (immediate turn-off)
2 RESP3 0 Reset channel 3
1 RESP2 0 Reset channel 2
0 RESP1 0 Reset channel 1

Note: For 4-pair wired ports, setting RESPn for either channel resets both channels. RESAL preserves: 0x00 (all), 0x0A/B (TSD/VPUV/VDWRN/VPUV), 0x26 (all), 0x2C/0x2E (all), 0x41 (all).

0x1B - ID Register (R/W)

Bit Field Reset Description
7-3 MFR ID 0b01010 Manufacturer ID (Texas Instruments = 0x0A)
2-0 ICV 0b101 IC version number

0x1C - CONNECTION CHECK / AUTO CLASS STATUS Register (RO)

Bit Field Reset Description
7 AC4 0 Auto class supported by PD on Ch4
6 AC3 0 Auto class supported by PD on Ch3
5 AC2 0 Auto class supported by PD on Ch2
4 AC1 0 Auto class supported by PD on Ch1
3-2 CC34 0b00 Connection check result port 3&4
1-0 CC12 0b00 Connection check result port 1&2

ConnCheckResult Enumeration

Value Name Description
0b00 Unknown Not yet determined
0b01 SS Single Signature PD
0b10 DS Dual Signature PD
0b11 Reserved Reserved

0x1E-0x21 - 2-PAIR POLICE CH1-4 Registers (R/W)

8-bit value, conversion: Power (W) = Value x 0.5

  • Default: 0xFF (127.5 W)
  • Range: 2 W to 65 W

0x22 - CAPACITANCE DETECTION Register (R/W)

Bit Field Reset Description
7 Reserved 0 Reserved
6 CDET4 0 Capacitance detection enable Ch4
5 Reserved 0 Reserved
4 CDET3 0 Capacitance detection enable Ch3
3 Reserved 0 Reserved
2 CDET2 0 Capacitance detection enable Ch2
1 Reserved 0 Reserved
0 CDET1 0 Capacitance detection enable Ch1

Note: Capacitance measurement requires SRAM to be programmed. Only supported in Manual/Diagnostic mode. No measurement if resistance detection returns "valid".

0x24/0x25 - POWER-ON FAULT Register (RO / CoR)

2 bits per channel (PF4: bits 7-6, PF3: bits 5-4, PF2: bits 3-2, PF1: bits 1-0)

PowerOnFaultType Enumeration

Value Name Description
0b00 NoFault No fault
0b01 InvalidDetection Detection invalid at power-on
0b10 ClassificationError Classification error at power-on
0b11 InsufficientPower Insufficient power allocation

0x26 - PORT RE-MAPPING Register (R/W)

2 bits per channel mapping logical to physical channel:

Bits Field Reset Description
7-6 CH4 0b00 Physical channel for logical Ch4
5-4 CH3 0b00 Physical channel for logical Ch3
3-2 CH2 0b00 Physical channel for logical Ch2
1-0 CH1 0b00 Physical channel for logical Ch1

PhysicalChannel Enumeration

Value Name
0b00 CH1
0b01 CH2
0b10 CH3
0b11 CH4

0x27 - MULTI-BIT PRIORITY CH 1&2 Register (R/W)

Bits Field Reset Description
6-4 MBP2 0b000 3-bit priority for Ch2 (with bit 7 for OSS action)
2-0 MBP1 0b000 3-bit priority for Ch1 (with bit 3 for OSS action)

0x28 - MULTI-BIT PRIORITY CH 3&4 Register (R/W)

Same layout as 0x27 but for channels 3 and 4.

PrioType Enumeration

Value Name Description
0b000 Prio1 Highest priority (last to be shut down)
0b001 Prio2 Priority 2
0b010 Prio3 Priority 3
0b011 Prio4 Priority 4
0b100 Prio5 Priority 5
0b101 Prio6 Priority 6
0b111 Prio7 Lowest priority (first to be shut down)

0x29 - 4-PAIR WIRED AND PORT POWER ALLOCATION Register (R/W)

Bits Field Reset Description
7 4PW34 0 4-pair wired enable port 3&4
6-4 MC34 0b000 Power allocation for port 3&4
3 4PW12 0 4-pair wired enable port 1&2
2-0 MC12 0b000 Power allocation for port 1&2

PortPowerAllocationType Enumeration

Value Name Power
0b0000 DP15W 2-pair 15.4 W (Class 0-3)
0b0011 DP30W 2-pair 30 W (Class 4)
0b1000 QP15W 4-pair 15.4 W
0b1011 QP30W 4-pair 30 W
0b1100 QP60W 4-pair 60 W (Class 6)
0b1110 QP75W 4-pair 75 W (Class 7)
0b1111 QP90W 4-pair 90 W (Class 8)

0x2A/0x2B - 4-PAIR POLICE CH 1&2 / CH 3&4 Registers (R/W)

8-bit value, conversion: Power (W) = Value x 0.5

  • Default: 0xFF (127.5 W)
  • Range: 4 W to 127 W

0x2C - TEMPERATURE Register (RO)

8-bit temperature measurement.

Conversion: T (C) = -20 + N x 0.652

  • Range: -20 C to ~146 C
  • Update rate: ~1 Hz

0x2D - 4-PAIR FAULT CONFIGURATION Register (R/W)

Bit Field Reset Description
7 NLM34 0 No-load mirror port 3&4: 1=both channels disabled on 2P PCUT fault
6 NLM12 0 No-load mirror port 1&2
5 NCT34 0 No-current trip port 3&4: 1=both disabled on ILIM fault
4 NCT12 0 No-current trip port 1&2
3 4PPCT34 0 4-pair PCUT enable port 3&4
2 4PPCT12 0 4-pair PCUT enable port 1&2
1 DCDT34 0 DC disconnect threshold port 3&4: 1=4.5mA, 0=default
0 DCDT12 0 DC disconnect threshold port 1&2

0x2E - INPUT VOLTAGE Register (RO, 2 bytes)

14-bit measurement (LSByte first, MSByte second).

Conversion: VPWR (V) = N x 3.662 mV

0x30-0x3E - CHANNEL CURRENT Registers (RO, 2 bytes each)

14-bit measurement (LSByte first, MSByte second). Bits 15-14 of MSByte are reserved.

Conversion: I (A) = N x 89.445 uA (with RSENSE = 0.200 Ohm)

Address Channel
0x30 Ch1 Current
0x34 Ch2 Current
0x38 Ch3 Current
0x3C Ch4 Current

0x32-0x3E - CHANNEL VOLTAGE Registers (RO, 2 bytes each)

14-bit measurement (LSByte first, MSByte second). Bits 15-14 of MSByte are reserved.

Conversion: V (V) = N x 3.662 mV

Address Channel
0x32 Ch1 Voltage
0x36 Ch2 Voltage
0x3A Ch3 Voltage
0x3E Ch4 Voltage

0x40 - 2x FOLDBACK SELECTION Register (R/W)

Bit Field Reset Description
7 2xFB4 0 2x foldback mode Ch4 (1=2x curve, 0=1x curve)
6 2xFB3 0 2x foldback mode Ch3
5 2xFB2 0 2x foldback mode Ch2
4 2xFB1 0 2x foldback mode Ch1
3 MPOL4 0 Manual policing lock Ch4 (1=PCUT/2xFB not changed at turn-on)
2 MPOL3 0 Manual policing lock Ch3
1 MPOL2 0 Manual policing lock Ch2
0 MPOL1 0 Manual policing lock Ch1

0x41 - FIRMWARE REVISION Register (RO)

Bit Field Description
7-0 FRV SRAM firmware revision. 0x00=after reset/POR. 0xFF=safe mode. 0x01-0xFE=valid version

0x42 - I2C WATCHDOG Register (R/W)

Bit Field Reset Description
7-5 Reserved - Reserved
4-1 IWDD3-0 0b0110 Watchdog disable code. 0b1011=disabled, any other=enabled
0 WDS 0 Watchdog status. 1=watchdog expired (all channels turned off)

Note: Watchdog timeout is nominally 2 seconds. Timer is reset by any SCL edge.

0x43 - DEVICE ID Register (RO)

Bit Field Reset Description
7-4 DID 0b0010 Device ID number
3-0 SR 0b0010 Silicon revision number

0x44-0x47 - CHANNEL DETECT RESISTANCE Registers (RO)

8-bit detection resistance measurement per channel.

Address Channel
0x44 Ch1
0x45 Ch2
0x46 Ch3
0x47 Ch4

0x48-0x4B - CHANNEL DETECT CAPACITANCE Registers (RO)

8-bit capacitance measurement per channel. Requires SRAM programming.

Address Channel
0x48 Ch1
0x49 Ch2
0x4A Ch3
0x4B Ch4

0x4C-0x4F - CHANNEL ASSIGNED CLASS Registers (RO)

Bits Field Description
7-4 Assigned Class Current assigned class (see CLASS enum)
3-0 Previous Class Previous assigned class

0x50 - AUTO CLASS CONTROL Register (R/W)

Bit Field Reset Description
7 MAC4 0 Manual auto class measurement trigger Ch4
6 MAC3 0 Manual auto class measurement trigger Ch3
5 MAC2 0 Manual auto class measurement trigger Ch2
4 MAC1 0 Manual auto class measurement trigger Ch1
3 AAC4 0 Auto class auto-adjust enable Ch4 (auto PCUT from PAC)
2 AAC3 0 Auto class auto-adjust enable Ch3
1 AAC2 0 Auto class auto-adjust enable Ch2
0 AAC1 0 Auto class auto-adjust enable Ch1

0x51-0x54 - CHANNEL AUTO CLASS POWER Registers (RO)

Auto class power measurement result per channel.

0x55 - ALTERNATIVE FOLDBACK Register (R/W)

Bit Field Reset Description
7 ALTFB4 0 Alternative foldback curve Ch4
6 ALTFB3 0 Alternative foldback curve Ch3
5 ALTFB2 0 Alternative foldback curve Ch2
4 ALTFB1 0 Alternative foldback curve Ch1
3 ALTIR4 0 Alternative inrush enable Ch4
2 ALTIR3 0 Alternative inrush enable Ch3
1 ALTIR2 0 Alternative inrush enable Ch2
0 ALTIR1 0 Alternative inrush enable Ch1

0x60 - SRAM CONTROL Register (R/W)

Bit Field Reset Description
7 PROG_SEL 0 SRAM I2C read/write enable. 1=SRAM access enabled
6 CPU_RST 0 CPU reset. 1=internal CPU held in reset
5 Reserved 0 Reserved
4 PAR_EN 0 SRAM parity check enable
3 RAM_EN 0 SRAM enable. 1=CPU runs from SRAM+ROM. Set after programming
2 PAR_SEL 0 Parity select. 1=parity bits R/W enabled (with R/WZ)
1 R/WZ 0 Read/Write select. 0=SRAM write via 0x61, 1=SRAM read via 0x61
0 CLR_PTR 0 Clear pointer. 1=reset memory address pointer. Toggle 0-1-0 before R/W

0x62/0x63 - SRAM START ADDRESS Registers (R/W)

  • 0x62: Start address LSB (SA[7:0])
  • 0x63: Start address MSB (SA[15:8])

ADC Conversion Formulas

Measurement Formula LSB Resolution
Channel Current I = N x 89.445 uA 89.445 uA (RSENSE=0.200 Ohm)
Channel Voltage V = N x 3.662 mV 3.662 mV
Input Voltage V = N x 3.662 mV 3.662 mV
Temperature T = -20 + N x 0.652 C 0.652 C
2P Police P = N x 0.5 W 0.5 W
4P Police P = N x 0.5 W 0.5 W

SRAM Programming Procedure

  1. Set CPU_RST = 1 (reg 0x60, bit 6) to hold CPU in reset
  2. Set PROG_SEL = 1 (reg 0x60, bit 7) to enable SRAM access
  3. Toggle CLR_PTR (0-1-0) to reset address pointer
  4. Write firmware data to reg 0x61 (continuous writes)
  5. Clear PROG_SEL = 0
  6. If parity is used: Set PAR_SEL = 1, toggle CLR_PTR, write parity data, clear PAR_SEL
  7. Set PAR_EN = 1 if parity was loaded
  8. Set RAM_EN = 1 to enable SRAM execution
  9. Clear CPU_RST = 0 to release CPU
  10. Verify firmware revision (reg 0x41) shows expected version
  11. If reg 0x41 = 0xFF, device is in safe mode - reprogram SRAM

Auto Class Pcut Margins

Measured Power (PAC) PAC_MARGIN
PAC < 18.5 W 0.5 W
19 W < PAC < 25.5 W 1 W
26 W < PAC < 36.5 W 2 W
36.5 W < PAC < 45 W 3 W
45 W < PAC < 51.5 W 4 W
51.5 W < PAC < 58 W 5 W
58 W < PAC < 63 W 6 W
63 W < PAC < 68 W 7 W
68 W < PAC < 73 W 8 W
PAC > 73 W 9 W
  • 2-Pair/Dual Signature: 2P-PCut = PAC + PAC_MARGIN
  • Single Signature 4-Pair: 4P-PCut = PAC_ALTA + PAC_ALTB + PAC_MARGIN
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.