Skip to main content
TShet
Associate II
May 28, 2020
Solved

Multiple Slaves Connected to SPI3 in master mode, Fails

  • May 28, 2020
  • 7 replies
  • 1600 views

Hi,

We designed stm32f7 based custom board and it consist 3 slave devices (FPGA) connected to SPI3 in master mode. when three slaves connected simultaneously & try to access one by one, first two slaves are able to read/write & 3rd slave fail to access (read/write)

But if i connect one by one device to SPI at a time, it works as expected without any errors.

Is there any know issue/bug with SPI3, when we interface more than two slaves ?

This topic has been closed for replies.
Best answer by TShet

Sorry for the late response,

We found the issue, the root cause is after programming each FPGA, it will pull the MOSI line to Low. After 2 FPGA program, the pull is very strong and not allowing to program 3 FPGA

We corrected in FPGA, Now no pull in FPGA and able to program all three and as well communicate

7 replies

berendi
Principal
May 28, 2020

No.

The SPI controller neither knows nor cares how many slaves are there.

TShet
TShetAuthor
Associate II
May 28, 2020

Then can you hint, what could be causing issue ?

Tesla DeLorean
Guru
May 28, 2020

Your question is a bit sparse on implementation detail. Present better.

I'd guess the slaves aren't tristating​ the output properly, the load is too high, or some other issue with clock or data lines and timing. Look at selects and data/clocks on a logic analyser to better understand the mode of failure / "not working".

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
TShet
TShetAuthor
Associate II
May 28, 2020

Thanks for response,

We probe in the scope and found that, when try to access third slave, there is no SPI clock output from STM, we still investigating... what will makes clock to stop ?

waclawek.jan
Super User
May 28, 2020

> what will makes clock to stop?

Misconfigured SPI or GPIO

Read out SPI and GPIO registers content and check/compare to working case.

JW

berendi
Principal
May 28, 2020

Or no data written into the data register

TShet
TShetAuthorBest answer
Associate II
June 20, 2020

Sorry for the late response,

We found the issue, the root cause is after programming each FPGA, it will pull the MOSI line to Low. After 2 FPGA program, the pull is very strong and not allowing to program 3 FPGA

We corrected in FPGA, Now no pull in FPGA and able to program all three and as well communicate