Readme

Example Summary

This example implements an SMBus target using the MSPM0 SMBus software library. This example will respond to a variety of SMBus commands sent by a SMBus controller (see smb_controller00_all_protocols).

Peripherals & Pin Assignments

Peripheral Pin Function
GPIOB PB22 Standard Output
GPIOB PB26 Standard Output
SYSCTL
TIMG0
I2C1 PB3 I2C Serial Data line (SDA)
I2C1 PB2 I2C Serial Clock line (SCL)
ADC0 PA27 ADC12 Channel 0 Pin
EVENT
DEBUGSS PA20 Debug Clock
DEBUGSS PA19 Debug Data In Out

BoosterPacks, Board Resources & Jumper Settings

Visit LP_MSPM0G3507 for LaunchPad information, including user guide and hardware files.

Pin Peripheral Function LaunchPad Pin LaunchPad Settings
PB22 GPIOB PB22 J27_5
  • PB22 can be connected to LED2 Blue
    • J5 ON Connect to LED2 Blue
    • J15 OFF Disconnect from LED2 Blue
PB26 GPIOB PB26 J27_8
  • PB26 can be connected to LED2 Red
    • J6 ON Connect to LED2 Red
    • J6 OFF Disconnect from LED2 Red
PB3 I2C1 SDA J1_10
  • PB3 can be connected to an on-board pull-up resistor
    • R60 is not soldered by default
    • Solder R60 to use on-board pull-up
PB2 I2C1 SCL J1_9
  • PB2 can be connected to an on-board pull-up resistor
    • R59 is not soldered by default
    • Solder R59 to use on-board pull-up
PA27 ADC0 A0 J1_8
  • PA27 can be connected to photodiode D1
    • J17 OFF Disconnect from photodiode D1
PA20 DEBUGSS SWCLK N/A
  • PA20 is used by SWD during debugging
    • J101 15:16 ON Connect to XDS-110 SWCLK while debugging
    • J101 15:16 OFF Disconnect from XDS-110 SWCLK if using pin in application
PA19 DEBUGSS SWDIO N/A
  • PA19 is used by SWD during debugging
    • J101 13:14 ON Connect to XDS-110 SWDIO while debugging
    • J101 13:14 OFF Disconnect from XDS-110 SWDIO if using pin in application

Device Migration Recommendations

This project was developed for a superset device included in the LP_MSPM0G3507 LaunchPad. Please visit the CCS User’s Guide for information about migrating to other MSPM0 devices.

Low-Power Recommendations

TI recommends to terminate unused pins by setting the corresponding functions to GPIO and configure the pins to output low or input with internal pullup/pulldown resistor.

SysConfig allows developers to easily configure unused pins by selecting BoardConfigure Unused Pins.

For more information about jumper configuration to achieve low-power using the MSPM0 LaunchPad, please visit the LP-MSPM0G3507 User’s Guide.

Example Usage

Connect SMBCLK (SCL), SMBDAT (SDA) and GND to the corresponding pins on a second MSPM0 LaunchPad running the smb_controller00_all_protocols example. Note that I2C requires pull-up resistors. Internal pull-ups can be enabled in SysConfig (see datasheet for resistance specification), but external pull-ups might be required based on I2C speed and capacitance. External pull-ups can be connected or enabled using the LaunchPad.

Compile, load and run the example.

The target example waits for each command from the SMBus controller and processes it. A GPIO connected to LED_DEMO will toggle if Quick Command is received. A GPIO connected to LED_ERROR is used to signal SMBus errors. Optionally, an I2C sniffer can be used to observe the SMBus protocol.