MSPM0 SMBus Library User’s Guide¶
1. Introduction¶
The MSPM0 SMBus Library provides a simple way to start development of SMBus applications using MSPM0 devices.
2. SMBus Library Supported Features¶
This library was developed in compliance with the SMBus 3.2 specification.
2.1 SMBus Controller Supported Features¶
Clock Timeout detection
PEC
Quick command
Send Byte
Receive Byte
Write byte/word (support for 16bit, 32bit, and 64bit words)
Read byte/word (support for 16bit, 32bit, and 64bit words)
Process call
Block read/write (up to 255 bytes)
Block write-block read process call (up to 255 bytes)
Host notify protocol
2.2 SMBus Target Supported Features¶
Multiple target addresses
Clock Timeout detection
PEC
Quick command (only write is supported)
Send Byte
Receive Byte
Write byte/word (support for 16bit, 32bit, and 64bit words)
Read byte/word (support for 16bit, 32bit, and 64bit words)
Process call
Block read/write (up to 255 bytes)
Block write-block read process call (up to 255 bytes)
Host notify protocol
2.3 SMBus Features Not Currently Implemented¶
The SMBus features listed below are supported in hardware but have not been implemented in this release:
FastMode+ 1MHz operation
Address resolution protocol
SMBAlert#
SMBSUS#
3. SMBus Example Usage¶
This software library contains 4 examples that demonstrate communication between a SMBus Controller and SMBus Target:
Target:
smb_target00_all_protocols: shows the implementation of all basic SMBus protocols
smbus_target_host_notify: shows implementation of host notify protocol
Controller:
smb_controller00_all_protocols: shows the implementation of all basic SMBus protocols
smbus_controller_host_notify: shows implementation of host notify protocol
Each example contains source code which can be compiled and loaded onto a supported device as-is. Connect SMBCLK and SMBDAT on 2 devices running the Controller and Target examples.
3.1 SMBus Examples Supported Hardware¶
LP-MSPM0L1306 LaunchPad evaluation boards
LP-MSPM0G3507 LaunchPad evaluation boards
4. SMBus Library API Guide¶
Details about the SMBus Library APIs can be found in the SMBus Library API Guide