MSPM0 PMBus Library User’s Guide

1. Introduction

The MSPM0 PMBus Library is based on the MSPM0 SMBus library. The MSPM0 PMBus library provides a set of APIs to communicate over PMBus as a controller or a target.

2. PMBus Library Supported Features

This library was developed in compliance with the PMBus 1.3.1 specification.

2.1 PMBus Supported Features

  • Address, memory, communication and capability related commands

  • On, off, and margin testing related commands

  • Output voltage related commands

  • “Other commands” as detailed by the PMBus specification

  • Fault related commands

  • Power good signal limits

  • Output voltage sequencing commands

  • Unit status commands

  • Parametric information commands

  • Manufacturer’s information commands

2.3 PMBus Features Not Currently Implemented

The PMBus features listed below are supported in hardware but have not been implemented in this release:

  • ZONE_READ and ZONE_WRITE protocols

3. PMBus Example Usage

This software library contains an example that demonstrate communication between a PMBus Controller and the TPS544B20EVM-634 evaluation module. The example configures the TPS544B20EVM-634’s behavior during under-voltage or over current events.

  • pmbus_controller_tps544b20evm

The above example contains source code which can be compiled and loaded onto a supported device as-is. Connect SMBCLK and SMBDAT between the controller and the TPS544B20EVM-634. Ensure properly sized pullup resistors are provisioned.

3.1 PMBus Examples Supported Hardware

  • 2 LP-MSPM0L1306 or LP-MSPM0G3507 LaunchPad evaluation boards

4. Library Footprint

The following footprint was obtained with TI Arm Clang compiler v3.2.0 LTS using LP-MSPM0G3507.

PMBus Controller

Example

Module

Optimization Level

Code (bytes)

Const (bytes)

RAM (bytes)

Options

pmbus_controller_tps544b20evm

Total

-O2

2572

323

1279

SMB_CONTROLLER_SUPPORTS_HOST_NOTIFY = true

pmbus.o

304

0

243

smbus_nwk.o

234

0

0

smbus_phy.o

416

0

0

smbus.o

376

0

0

dl_i2c.o

192

0

0

pmbus_controller_tps544b20evm

Total

-Oz -flto*

1734

409

1084

SMB_CONTROLLER_SUPPORTS_HOST_NOTIFY = true

pmbus_controller_tps544b20evm

Total

-O2

2556

323

1279

SMB_CONTROLLER_SUPPORTS_HOST_NOTIFY = false

pmbus.o

304

0

243

smbus_nwk.o

234

0

0

smbus_phy.o

400

0

0

smbus.o

376

0

0

dl_i2c.o

192

0

0

pmbus_controller_tps544b20evm

Total

-Oz -flto*

1718

409

1084

SMB_CONTROLLER_SUPPORTS_HOST_NOTIFY = false

  • Note: Individual modules are not shown for LTO optimization since the linker optimizes modules and might skip them in .map file.

5. Library Versions

  • Version 1.10.00.00

    • SDK Release: 1.30.00.xx

    • Updates:

      • Updates to use SMBus 1.30.00.xx.

      • Remove unimplemented PMBus_processTimeoutInt.

      • Update examples to use I2C boosterPack standard.

  • Version 1.00.00.01

    • SDK Release: 1.10.00.xx

    • Updates:

      • Initial release.