Transferring CAN data between Microcontrollers

Thread Starter


Joined Feb 19, 2021
Hi all.

I am new to this forum and relatively new to microcontrollers.

I have been developing a system using a TI micro mainly due to the support package from Matlab Simulink as I am experienced in using Simulink for control systems development.

I am wanting to design some hardware that can communicate over 10 separate CAN busses. The system will replicate various vehicle systems and ECU's therefore using the incoming CAN data, perform some calculations and processing and then communicate back to the main ECU via CAN.

The micro I am using currently has the ability for 2 CAN busses only. What is the best wat to achieve 10? Would it be to use a multiple of micros and then have them communicate to each other all the data? If so how do I go about this? Would SPI communication between the micros be sufficient?



Joined Mar 22, 2019
CAN buss protocol uses packet IDs to address the different ECUs, so all 10 ECUs would be on the same buss and only respond to their programmed PIDs. You likely need to do some more reading about CAN buss, e.g. wikipede

Thread Starter


Joined Feb 19, 2021
Thanks for the response.
I understand the details of CAN.

Think of the unit I am trying to design as the main controller that will need data from all 10 busses.

schmitt trigger

Joined Jul 12, 2010
I once saw something similar to your requirements implemented with a Xylinxs FPGA.
I am not familiar enough with FPGAs to even venture how this was done, but if you have the knowledge you may give it a chance.


Joined Feb 24, 2006
How many total nodes do you have?
If the number is less than say 32 there is no reason not to have them all on the same bus. It was designed for that situation.

John P

Joined Oct 14, 2008
I have some cheap little CAN interface boards that communicate with a processor via SPI. That's how I'd do this project, with a bunch of external interfaces--not knock myself out trying to find and program a processor that already has the 10 interfaces built in.