This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS1227: TI SPI mode vs Motorola SPI mode

Part Number: TMS570LS1227

Hello,

I'm experimenting some issues regarding an SPI comunication between two devices: a TMS570LS1227 and an IMX6 processor. The TMS570 is configured as SPI slave and the IMX6 as master.

Both the devices have been configured with clock polarity = 1 and clock phase = 1. The SPI communication happens, but there is a shift in the received bits (the first one and last one are sometimes wrong).

After looking into the configuration we might have found the problem:

the TMS570 is configured as clock polarity = 1 and clock phase = 1 under the TI mode, while the IMX6 processori s configured as clock polarity = 1 and clock phase = 1 under the Motorola mode.

I have understood that there is a translation table, as follows:

Motorola mode 0 (Polarity 0 Phase 0) = TI Polarity 0 Phase 1

Motorola mode 1 (Polarity 0 Phase 1) = TI Polarity 0 Phase 0

Motorola mode 2 (Polarity 1 Phase 0) = TI Polarity 1 Phase 1

Motorola mode 3 (Polarity 1 Phase 1) = TI Polarity 1 Phase 0

Could you please confirm that

1) the TMS570 follows the TI spi mode? Does it have a Motorola mode?

2) the translation table (Motorola to TI mode) I have reported is correct ?

3) why in the TMS570 TRM or datasheet this topic about the SPI mode is not emphasized? It could be a topic prone to errors, since some TI devices follow the Motorola mode, some not.

4) two devices belonging to the same Group (Motorola or TI) must have the same configuration (clock rate, size, clock polarity, clock phase) in order to communicate?

5) two devices belonging to different Groups (Motorola and TI) must match the configuration in the translation table in order to communicate

Thank you very much for your valuable support,

best regards