SLAAE82 March   2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

 

  1.   1
  2.   2

Description

This example demonstrates how to interface with signals up to 5 V using open-drain IOs (ODIOs) on an MSPM0 device. With the use of external pullup resistors, the open-drain IOs allow for communication across multiple voltage domains at voltage levels higher than the MSPM0 VDD supply voltage.

Figure 1-1 displays a functional block diagram of the peripherals used in this example.

GUID-20230224-SS0I-CLXW-H5DX-ZKFSMDLQSDBW-low.svg Figure 1-1 Subsystem Functional Block Diagram

Required Peripherals

This application can use up to two open-drain IOs.

Table 1-1
Sub-block Functionality Peripheral Use Notes
IO 2 GPIO pins PA0 and PA1, can only use 5-V tolerant open-drain IOs

Compatible devices

Based on the requirements in Table 1-1, this example is compatible with the devices in Table 1-2. The corresponding EVM can be used for prototyping.

Table 1-2
Compatible Devices EVM
MSPM0Lxxx LP-MSPM0L1306
MSPM0Gxxx LP-MSPM0G3507

Design steps

  1. Connect appropriate jumpers.
  2. Determine the pullup resistance needed for your application.
    1. The required pullup strength depends on the timing requirements of your application and the capacitance of your connections. For greater capacitance, you need to have a stronger (that is, low resistance) pullup. A discussion on determining the exact resistance of a pullup is beyond the scope of this document but can be found in the I2C Bus Pullup Resistor Calculation application note.
  3. Configure peripherals that are used on these pins in software (for example, UART, I2C, or Timer) in SysConfig.
  4. Write application code, dependent on peripherals used.

Design considerations

  1. Pullup resistor: A pullup resistor is required to output high for I2C and UART functions on ODIOs.
  2. Drive strength control: This is not available for ODIO types.

Additional Resources