cancel
Showing results for 
Search instead for 
Did you mean: 

Fastest inter MCU communication.

Slina
Associate III

I'm planning to make a multi MCU system where one MCU will act as a video driver, so I need a fast communication between two of them (al least 20MB/s). What is the best way to do that without active MCU involvement? Busy waiting on port inputs sounds like a stupid idea, but all the other suggested solutions that I've come across are way too slow. I've read somewhere that someone did it with QSPI? That would work, since it says 50MB/s can be achieved, but how to use QSPI for anything else than for flash?

26 REPLIES 26
Slina
Associate III

This sounds promising. What's the MAX transfer speed for a single SPI for 400 Mhz STM32H?

Or (event better), how do you configure second MCU to act as external SRAM?

SF??r
Associate III

If you have an sender MCU and a receiver only MCU you could speed up the SPI to 100 MHz.

Slina
Associate III

Well one MCU will be receiving most of the data (99.99%) but here and there I would have to send something back the other way too (maybe some address or sync or smth).

So that means up to 100 MBits per SPI channel?

A dual-core, with RAM shared between the cores?

Couldn't you just use a dual-core H7 part? And share a common-view of memory?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hell yeah. I wasn't aware of it's existence till now. That solves all my problems.

Do you know if it supports also mobile SDRAM? ​

What is mobile SDRAM? External? Then yes.

-- pa

Slina
Associate III

SDRAM for mobile devices. Has a bit lower supply voltage, but logic levels seem OK.

turboscrew
Senior III

I guess ethernet is quite fast too... If you have a device that supports gigabit ethernet.

flyer31
Senior

FMC should work nicely, including standard memory DMA ... . Quite straight forward.

20MB/sec means 20MHz for 8 Bit FMC, this should be no challenge at all .. . You should NOT need external RAM / Buffer RAM/ for this ... . Just connect the FMC interfaces together quite straight forward... . You can also nicely isolate this with such typical inductive isolation devices... .(I assume that the fast transfer is mainly from one "source" to one "client" ... if the CPU's have to exchange data in both directions with this speed, it will get more tricky, alone due to the handshaking... also in case of isolation you then have to be careful with the delay ... (often such isolation devices have very high speed, so they can transfer very short pulses, but with quite an apprecialbe delay... you best should use them only in one direction).