Can Bus, Combine two inputs into one output

Hello all

I'm after a bit of project advice. I have a vehicle with multiple can bus interfaces. I want to take two of those (the engine & lighting interfaces) and combine them into one output to feed a dash display.

The problem is that the two outputs (Engine & lighting) both run at 500kpbs and the input on the dash runs at 1Mbps. What hardware do i need to make this work? I'm not asking for the hardware to make any changes, all they need to do is pass through the communications both ways to the 1 output.

So basically two 500kpbs inputs to one 1Mbps output with can messages going both ways. I believe i will need 3 transceivers for this, two set at 500kpbs and one at 1Mbps.

Thanks!

If they are all independent CAN buses and you're after a 'single' board type solution, then a teensy like one of these would most likely do:

else x3 MCP3515 sheilds + an arduino board you would need as mininum.

hope that helps...

Hi Sherzaad

Thank you for the reply.
The teensy board looks like it would work, but the problem seem to be actually getting hold of one. It's out of stock everywhere.

I assume you mean MCP2515? They are easier to find that's for sure but is it possible to connect 3 of them to a single Arduino? Two also need to run at 500kbps and one at 1mbps.

It is possible to do what you want. The transceivers will not do much as most of the Arduino's would not have the ability to process that much data and the CAN protocol. With a CAN controller chip such as the MPC2515 which in turn will control the transceiver will work. Corry Fowler has a great library for the Arduinos and the MPC2515 module which also has the transceiver on it. I have not tried this but I believe three modules could be controlled with an Arduino but at your data rates probably not likely. Use something with a higher bandwidth, you could be processing 2 megabits a second. On the Arduino they would all share the same SPI bus.

Yes, the MCP2515 was what I was talking about( typo! :stuck_out_tongue: )

and yes, you can connect multiple of test boards to the same arduino to do just that task

A care point though....
depending on the amount of traffic you need to pass across/to the respective CAN buses, your arduino may struggle a bit with that resulting in latancy and potential message dropout issues.
Hence why the teensy was my first suggestion.

but if you have only a couple of messages you need to move about, an arduino + CAN sheilds might just do the trick! :wink:

Good Luck!

Thanks all. I have just ordered a Teensy 4.1 (It's all i could get hold of at the moment) along with 3 of the SN65HVD230 so hopefully i can i can hook this all up.
I don't know how much data will be transferred back and forth from the dash to the ECU etc so i might as well go for the higher end hardware so that does not become a limitation in the future.

I hope it's simple to program all of this. I just need it to pass through the two 500kbps inputs into the one 1mbps output so the code side of it should be pretty simple....hopefully!

maybe have a look at this git for that :wink:

Good Luck!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.