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.

MCU-PLUS-SDK-AM273X: SPI signals on J16 and J7 of AM273x EVM

Part Number: MCU-PLUS-SDK-AM273X
Other Parts Discussed in Thread: LMX2595

Tool/software:

Hello support team,

When I test SPI port of AM273x chipset, I use MSS_SPIB signals switching to J16 by adjusting the S2 on the EVM. However, it looks like that the MISO data on the J16 has issue and makes the SPI read function not working. If I switch the SPI signal to J7 of the EVM, everything is fine.

Could you help me to verify it? Why is there such difference for SPI on J16 and J7?

Looking forward to your reply

Best regards,

Lin

  • Lin,

    To observe the SPI signals on J16, in addition to toggling S2, you also need to ensure the resistors in the schematic snippet below are populated.  These are not populated by default.

    Also, please keep in mind that when S2 is toggled to connect MSS_SPIB to the PMIC_SPI lines that connect to J16, the PMIC is also connected to the MSS_SPIB SPI bus.  The purpose of J16 is not to be an alternate output for MSS_SPIB outside of the board, but to be a way to externally talk to the PMIC (if S2 is configured to route MSS_SPIB to J7), or to use a scope to monitor the SPI traffic between the SOC and PMIC.  You cannot have multiple devices share a SPI CS, and note that the same MSS_SPIB CS goes to both J16 and the PMIC.

    Thanks,
    Mike

  • Hi Mike,

    Oh, my... I really should create this post earlier. Thank you so much for the detailed description of the purpose of J16.

    Yes, I did add those 4 resistors to get the SPI signal on J16. However, by only reading AM273x EVM user guide and AM273x datasheet, I couldn't realize that J16's SPI was not for external use. I know MSS_SPIB can also be wired to J7 by switch the S2. As the J7 is 60 pin connector, it's hard to get the pin connected to the other board. So I choose the J16 and got the signal. Also the SPI write to the slave chip worked well. So I never thought J16's SPI signals were not suitable for output use. Currently I met SPI read back issues from multiple salve chipsets. So I checked external loopback function of the SPI on J16 and then created this post.

    Thanks again for your help and explanation. Now it makes sense to me totally. If the user guide could more clearly describe this, that would save a lot of our time and effort.

    Best regards,

    Lin

  • Hi Mike,

    Here I would like to ask another question about the Mode of SPI or specifically the MSS_SPIB.

    It seems to me that the MSS_SPIB mode setting in the example.syscfg does not match with the actual SPI signals on J7. I verified this with Saleae Logic 2.

    For example, LMX2595 chipset needs SPI mode 0 (CPOL = 0, CPHA = 0), however to make it works in the AM273x EVM MCU+ SDK sample code mibspi_loopback, I have to set SPI mode to 1 (CPOL = 0, CPHA = 1). And for AD7380-4 chipset, the SPI mode is 2 (CPOL = 1, CPHA = 0), in the AM273x .syscfg file I have to set to mode 3 (CPOL = 1, CPHA = 1).

    Is there any reason for that? Or any suggestion?

    Best regards,

    Lin

  • Lin,

    Please open a new thread instead of asking tangentially related followup questions on the same thread.  The idea is that each thread focuses on a single topic (i.e. connecting SPI signals to J16 on the EVM in the original post).

    Thanks,
    Mike

  • Hi Mike,

    Understood. I will do it.

    Thanks,

    Lin