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.

MSP432WARE: MSP432P401R - Problems with multiple devices sharing one EUSCI_Bx SPI channel?

Part Number: MSP432WARE

Hi folks,

I’m hoping that you may have some leads about using one of the EUSCI_Bx SPI channels to communicate with more than one device on the MSP432.

In our application, we have an MSP432P401R, and I am using one of the EUSCI_Bx channels in SPI mode.  I am communicating with an FTDI FT800 graphics/touchscreen controller that talks to a 4.3” resistive touchscreen LCD display from NewHaven.  It needs to be initialized at 8MHz, and then can be communicated with at 16Mhz (that’s the fastest I can go with an MSP432 – the FT800 could actually go a bit faster).  All of that has been working great.  The FT800 has its own chip select, active low, which I control in software.

The product user interface has evolved, and there are now so many icons, fonts, and other graphics “assets” that they may not all fit within the available Flash of the MSP432.  To prepare for this, we left provision for a micro SD card slot, connected to the same SPI channel as the FT800, but with its own chip select.  SD cards apparently need to be initialized at a very low speed (<400 kHz), and can then be cranked up to 25 MHz max (or 16 MHz in our case).  Whenever we are communicating with the SD card, its chip select is active and the FT800 is disabled, and vice versa.

However, we found that when both the SD card and FT-800 are on the same SPI bus, we were able to initialize and get some data from the SD card, but then started having communications issues with the FT800.  I suspect some type of loading or signal-integrity issue, but do not have any proof yet.

I was wondering if you had other users who have multiple devices on the same SPI bus, and if they have run into any problems with read/write capabilities or signal integrity in such a configuration.

 There are some options, all of which are ugly and time-consuming, and may hold up getting boards on order.  I could move the SD card to a different SPI port.  We could try to add pullups/pulldowns to MISO/MOSI/SCLK/CS# to see if that helps.  I could punt the SD card and put a different kind of memory on there (a large EEPROM, FRAM, or SPI Flash).  All of this will require either board changes or non-trivial software changes.

Have any of you seen issues with more than one device on the same SPI bus with an MSP432?  If so, how did you solve the problem?

Any help you can provide would be greatly appreciated.  Being a low-power device, I’m not sure if the MSP432 has the same kind of drive input/output capability as other microcontrollers.  My EE counterpart and I have both used SPI bus at speeds up to 25MHz with multiple devices on the bus without any buffers, pullups, etc., so we are quite baffled at this problem right now.

Thanks for listening and any advice!

Best regards,

Scott

  • Scott Whitney80914 said:
    Have any of you seen issues with more than one device on the same SPI bus with an MSP432?  If so, how did you solve the problem?

    Usually first thing we do - look at the signals using scope.

    Scott Whitney80914 said:
    My EE counterpart and I have both used SPI bus at speeds up to 25MHz with multiple devices on the bus without any buffers, pullups, etc., so we are quite baffled at this problem right now.

    Drive strength could be source of the problems, or bus capacitance or impedance mismatch that causes reflections. You really shall see all the data and clock signals on the (fast) scope, then decide what to do next.

**Attention** This is a public forum