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 |
|
| PB26 | GPIOB | PB26 | J27_8 |
|
| PB3 | I2C1 | SDA | J1_10 |
|
| PB2 | I2C1 | SCL | J1_9 |
|
| PA27 | ADC0 | A0 | J1_8 |
|
| PA20 | DEBUGSS | SWCLK | N/A |
|
| PA19 | DEBUGSS | SWDIO | N/A |
|
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 Board→Configure 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.