Which serial communication protocol best fit for multi microcontroller communication within a PCB?

Thread Starter

Sudip Mandal 2

Joined Mar 29, 2017
32
I am working on a project where circuit contains one main controller, 3 sub controller. So, there should be some communication bus among such that master can communicate with all sub controller. Our micro controllers has only I2C, SPI and UART. I want to use a single communication protocol for all and My preference is 12C communication because it support multi muster multi slave protocol and use only two line all other features are available like Clock stretching, data Arbitration etc. over SPI.

Please correct me or if you have any suggestion to use any other communication protocol like CAN but MCU should have can stack within it. Thank you
 

nsaspook

Joined Aug 27, 2009
7,851
What's your speed, duplex and data transfer requirements? SPI could be much faster if you need bulk data transfers between controllers using full-duplex transfers. Higher speeds will require more advanced hardware using DMA and FIFO buffers to reduce controller usage. If you're adjusting parameters (RTC timing, tuning, control points) between controllers then I2C is a good choice.

https://www.eetimes.com/interfacing-processors-to-audio-and-video-devices/
https://www.embedded.com/serial-protocols-compared/
 
Last edited:

Thread Starter

Sudip Mandal 2

Joined Mar 29, 2017
32
What's your speed, duplex and data transfer requirements? SPI could be much faster if you need bulk data transfers between controllers using full-duplex transfers. Higher speeds will require more advanced hardware using DMA and FIFO buffers to reduce controller usage. If you're adjusting parameters (RTC timing, tuning, control points) between controllers then I2C is a good choice.

https://www.eetimes.com/interfacing-processors-to-audio-and-video-devices/
https://www.embedded.com/serial-protocols-compared/
Thank you for reply. I would like transfer data in 1mbps that is fair enough and I2C capable to do that is why I chosed the I2C over SPI.
 
Top