USCI47
USCI Module
Category
Functional
Function
eUSCI SPI slave with clock phase UCCKPH = 1
Description
The eUSCI SPI operates incorrectly under the following conditions:
1. The eUSCI_A or eUSCI_B module is configured as a SPI slave with clock phase mode
UCCKPH = 1
AND
2. The SPI clock pin is not at the appropriate idle level (low for UCCKPL = 0, high for
UCCKPL = 1) when the UCSWRST bit in the UCxxCTLW0 register is cleared.
If both of the above conditions are satisfied, then the following will occur:
eUSCI_A: the SPI will not be able to receive a byte (UCAxRXBUF will not be filled and
UCRXIFG will not be set) and SPI slave output data will be wrong (first bit will be missed
and data will be shifted).
eUSCI_B: the SPI receives data correctly but the SPI slave output data will be wrong (first
byte will be duplicated or replaced by second byte).
Workaround
Use clock phase mode UCCKPH = 0 for MSP SPI slave if allowed by the application.
OR
The SPI master must set the clock pin at the appropriate idle level (low for UCCKPL = 0,
high for UCCKPL = 1) before SPI slave is reset (UCSWRST bit is cleared).
OR
For eUSCI_A: to detect communication failure condition where UCRXIFG is not set, check
both UCRXIFG and UCTXIFG. If UCTXIFG is set twice but UCRXIFG is not set, reset the
MSP SPI slave by setting and then clearing the UCSWRST bit, and inform the SPI master
to resend the data.
USCI50
USCI Module
Category
Functional
Function
Data may not be transmitted correctly from the eUSCI when operating in SPI 4-pin master
mode with UCSTEM = 0
Description
When the eUSCI is used in SPI 4-pin master mode with UCSTEM = 0 (STE pin used as
an input to prevent conflicts with other SPI masters), data that is moved into UCxTXBUF
while the UCxSTE input is in the inactive state may not be transmitted correctly. If the
eUSCI is used with UCSTEM = 1 (STE pin used to output an enable signal), data is
transmitted correctly.
Workaround
When using the STE pin in conflict prevention mode (UCSTEM = 0), only move data
into UCxTXBUF when UCxSTE is in the active state. If an active transfer is aborted
by UCxSTE transitioning to the master-inactive state, the data must be rewritten into
UCxTXBUF to be transferred when UCxSTE transitions back to the master-active state.
Advisory Descriptions
SLAZ657S – FEBRUARY 2015 – REVISED MAY 2021
MSP430F6720A Microcontroller
23
Copyright © 2021 Texas Instruments Incorporated