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)

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)

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

  • Host notify protocol

  • Address resolution protocol

  • SMBAlert#

  • SMBSUS#

3. SMBus Example Usage

This software library contains 2 examples that demonstrate communication between a SMBus Controller and SMBus Target using all of the supported SMBus protocols:

  • smb_target00_all_protocols

  • smb_controller00_all_protocols

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

  • 2 LP-MSPM0L1306 LaunchPad evaluation boards

4. SMBus Library API Guide

Details about the SMBus Library APIs can be found in the SMBus Library API Guide