cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Slaves Connected to SPI3 in master mode, Fails

TShet
Associate II

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 ?

1 ACCEPTED SOLUTION

Accepted Solutions
TShet
Associate II

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

View solution in original post

7 REPLIES 7
berendi
Principal

No.

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

TShet
Associate II

Then can you hint, what could be causing issue ?

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 Venmo
Up vote any posts that you find helpful, it shows what's working..
TShet
Associate II

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 ?

> 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

Or no data written into the data register

TShet
Associate II

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