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.11.01.00
SDK Release: 2.03.00.xx
Updates:
Fix PMB_BLOCK_READ #define
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.