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