File syn_pmbus.h¶
FileList > proto > syn_pmbus.h
Go to the source code of this file
PMBus (Power Management Bus 1.2 / 1.3) Protocol Engine & Linear Format Converters. More...
#include "../common/syn_defs.h"#include "syn_smbus.h"#include <stdbool.h>#include <stdint.h>
Public Functions¶
| Type | Name |
|---|---|
| void | syn_pmbus_encode_read_cmd (SYN_SMBUS_Packet * pkt, uint8_t slave_addr, uint8_t cmd, bool use_pec) Encode a PMBus telemetry read request into an SMBus packet. |
| uint16_t | syn_pmbus_float_to_linear11 (float val) Convert floating-point value to PMBus 16-bit Linear11 format. |
| uint16_t | syn_pmbus_float_to_linear16 (float val, uint8_t vout_mode) Convert floating-point output voltage to PMBus 16-bit Linear16 format. |
| float | syn_pmbus_linear11_to_float (uint16_t raw) Convert PMBus 16-bit Linear11 format (5-bit exponent + 11-bit mantissa) to float. |
| float | syn_pmbus_linear16_to_float (uint16_t raw, uint8_t vout_mode) Convert PMBus 16-bit Linear16 format (unsigned 16-bit mantissa + VOUT_MODE exponent) to float. |
Macros¶
Detailed Description¶
Provides PMBus standard command definitions, telemetry status decoding, and Linear11 / Linear16 numeric data converters.
Public Functions Documentation¶
function syn_pmbus_encode_read_cmd¶
Encode a PMBus telemetry read request into an SMBus packet.
void syn_pmbus_encode_read_cmd (
SYN_SMBUS_Packet * pkt,
uint8_t slave_addr,
uint8_t cmd,
bool use_pec
)
Parameters:
pktOutput SMBus packet.slave_addr7-bit PMBus slave address.cmdPMBus command code (e.g., SYN_PMBUS_CMD_READ_VIN).use_pecEnable Packet Error Checking (PEC).
function syn_pmbus_float_to_linear11¶
Convert floating-point value to PMBus 16-bit Linear11 format.
Parameters:
valFloating-point value.
Returns:
Encoded 16-bit Linear11 word.
function syn_pmbus_float_to_linear16¶
Convert floating-point output voltage to PMBus 16-bit Linear16 format.
Parameters:
valFloating-point voltage value.vout_modeVOUT_MODE byte (or raw 5-bit signed exponent N).
Returns:
Encoded 16-bit Linear16 raw mantissa word.
function syn_pmbus_linear11_to_float¶
Convert PMBus 16-bit Linear11 format (5-bit exponent + 11-bit mantissa) to float.
Parameters:
raw16-bit raw Linear11 word.
Returns:
Decoded floating-point value.
function syn_pmbus_linear16_to_float¶
Convert PMBus 16-bit Linear16 format (unsigned 16-bit mantissa + VOUT_MODE exponent) to float.
Parameters:
raw16-bit raw mantissa word.vout_modeVOUT_MODE byte (or raw 5-bit signed exponent N).
Returns:
Decoded floating-point output voltage.
Macro Definition Documentation¶
define SYN_PMBUS_CMD_CAPABILITY¶
Bus speed and alert capabilities
define SYN_PMBUS_CMD_CLEAR_FAULTS¶
Clear fault flags
define SYN_PMBUS_CMD_ON_OFF_CONFIG¶
On/off switch configuration
define SYN_PMBUS_CMD_OPERATION¶
On/off and margin control
define SYN_PMBUS_CMD_PAGE¶
Select page/channel
define SYN_PMBUS_CMD_PHASE¶
Phase selection
define SYN_PMBUS_CMD_PMBUS_REVISION¶
PMBus spec version
define SYN_PMBUS_CMD_READ_DUTY_CYCLE¶
Read PWM duty cycle
define SYN_PMBUS_CMD_READ_FAN_SPEED_1¶
Read fan speed 1 (RPM)
define SYN_PMBUS_CMD_READ_FREQUENCY¶
Read switching frequency
define SYN_PMBUS_CMD_READ_IIN¶
Read input current
define SYN_PMBUS_CMD_READ_IOUT¶
Read output current
define SYN_PMBUS_CMD_READ_PIN¶
Read input power
define SYN_PMBUS_CMD_READ_POUT¶
Read output power
define SYN_PMBUS_CMD_READ_TEMPERATURE_1¶
Read primary temperature
define SYN_PMBUS_CMD_READ_TEMPERATURE_2¶
Read secondary temperature
define SYN_PMBUS_CMD_READ_VIN¶
Read input voltage
define SYN_PMBUS_CMD_READ_VOUT¶
Read output voltage
define SYN_PMBUS_CMD_RESTORE_DEFAULT_ALL¶
Restore default settings from NVM
define SYN_PMBUS_CMD_STATUS_BYTE¶
Summary status byte
define SYN_PMBUS_CMD_STATUS_CBUFFER¶
Communication/logic status
define SYN_PMBUS_CMD_STATUS_FANS_1_2¶
Fan 1 & 2 status flags
define SYN_PMBUS_CMD_STATUS_INPUT¶
Input status flags
define SYN_PMBUS_CMD_STATUS_IOUT¶
Output current status flags
define SYN_PMBUS_CMD_STATUS_MFR_SPECIFIC¶
Manufacturer status flags
define SYN_PMBUS_CMD_STATUS_OTHER¶
Other status flags
define SYN_PMBUS_CMD_STATUS_TEMPERATURE¶
Temperature status flags
define SYN_PMBUS_CMD_STATUS_VOUT¶
Output voltage status flags
define SYN_PMBUS_CMD_STATUS_WORD¶
Summary status word
define SYN_PMBUS_CMD_STORE_DEFAULT_ALL¶
Store default settings to NVM
define SYN_PMBUS_CMD_VOUT_COMMAND¶
Output voltage setpoint
define SYN_PMBUS_CMD_VOUT_DROOP¶
Voltage droop rate
define SYN_PMBUS_CMD_VOUT_MARGIN_HIGH¶
High margin voltage setting
define SYN_PMBUS_CMD_VOUT_MARGIN_LOW¶
Low margin voltage setting
define SYN_PMBUS_CMD_VOUT_MAX¶
Maximum output voltage limit
define SYN_PMBUS_CMD_VOUT_MODE¶
Output voltage mode & exponent
define SYN_PMBUS_CMD_VOUT_TRANSITION_RATE¶
Voltage slew rate
define SYN_PMBUS_CMD_WRITE_PROTECT¶
Write protect configuration
define SYN_PMBUS_STATUS_BYTE_BUSY¶
define SYN_PMBUS_STATUS_BYTE_CBUF_FAULT¶
define SYN_PMBUS_STATUS_BYTE_IOUT_OC¶
define SYN_PMBUS_STATUS_BYTE_NONE_OF_ABOVE¶
define SYN_PMBUS_STATUS_BYTE_OFF¶
define SYN_PMBUS_STATUS_BYTE_TEMP_FAULT¶
define SYN_PMBUS_STATUS_BYTE_VIN_UV¶
define SYN_PMBUS_STATUS_BYTE_VOUT_OV¶
The documentation for this class was generated from the following file src/syntropic/proto/syn_pmbus.h