Hello,
I can recommend 2 boards off the top of my head
1. An STM32F446RET6 (has 2xCAN so maybe not quite up to your spec of 3+ can bus controllers) based board - you can look at the spec here-> https://www.aliexpress.com/item/1005006051651136.html?pdp_npi=4%40dis%21SEK%21SEK%2060.34%21SEK%2055.74%21%21%2138.83%2135.87%21%40211b618e17341880756385929eeaee%2112000035503740771%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005006051651136
2. An STM32H723VGT6 (has 3 can controllers) based board - specs are here -> https://www.aliexpress.com/item/1005005872938104.html?pdp_npi=4%40dis%21SEK%21SEK%20208.33%21SEK%20194.53%21%21%21134.06%21125.18%21%40211b618e17341883428135326eeaee%2112000034654506457%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005005872938104
Not entirely sure if any of them are automotive recommended though.
They both can be programmed with STM32Cube IDE (which also includes examples).
Ilya
If you are going to make a gateway for one slave device, you can easily do it using Arduino. If you are planning to make a universal filter that can be placed in the CAN break from the ECU, then you will not have enough power of any controller, and you will never do it. More precisely, there is a theoretical possibility, but it will be more difficult than using FPGA. 10 devices will send you messages to one end of the filter, and from the other end of the filter the ECU module will continuously send messages, for which there will be visibility of a free bus. You will not be able to debug such arbitration and it will not be universal.
.. I’m grafting some newer automotive modules to an older vehicle, so these newer modules need some of the data converted to a different format then transmitted on the appropriate bus.
... I don’t necessarily need 4 CAN controllers in one chip, I could do it with 2 or 3 separate controllers if need be.
I do have a pickit 4 so I’ll order a few PIC32MK1024GPE064 to try out.
Also found that NXP has a few options like the FS32K144HAT0MLFT, though I don’t hear many people using them in the DIY world, I’m not sure if they have an IDE or what their programmers cost. The mcu above looks promising and they do free samples on it, maybe worth trying if the programmer isn’t crazy expensive.
Most automotive boards I’ve seen look the same after 10-15 years, they use a fairly heavy conformal coating and glue large components down, a lot of connectors aren’t even soldered anymore, they are just pressed into the board. The biggest thing I’ve seen with the automotive approved stuff is it’s been certified for the harsher environment of automotive life and noise and has a higher temperature rating of 125C. My application is going to be inside the cab and under the dash so I’m expecting the highest ambient temp to be around 50(ish)C.
if you in the future will still decide on STM32 for your can development, then there is this (https://www.aliexpress.com/item/1005005303809188.html?spm=a2g0o.store_pc_home.promoteWysiwyg_6000122603282.1005005303809188) debugger/programmer from the same webshop i linked to earlier for not a lot of money (about 5 bucks us). STM32Cube ide is free of charge
Why 4 separate CAN?
Yes, why? If you need to translate CAN messages for 3 (or any other number) external devices, why not to put all these devices on the same CAN bus (assuming they all require CAN of the same speed). They won't hurt each other. And you only need 2 CAN modules then - the main CAN, and one CAN bus for all your devices together.
Even if different devices need different formats of the same CAN message from the main CAN, you can put two different messages onto the external CAN. The external nodes will see messages that they cannot understand, but they will simply ignore such messages.
.... I’m really trying to avoid having to make messages to go between microcontrollers that are on different busses to get the info over, as an example: bus1 —> gateway —> gateway—> gateway —> bus3. ....
Hello,
I can recommend 2 boards off the top of my head
1. An STM32F446RET6 (has 2xCAN so maybe not quite up to your spec of 3+ can bus controllers) based board - you can look at the spec here-> https://www.aliexpress.com/item/1005006051651136.html?pdp_npi=4%40dis%21SEK%21SEK%2060.34%21SEK%2055.74%21%21%2138.83%2135.87%21%40211b618e17341880756385929eeaee%2112000035503740771%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005006051651136
2. An STM32H723VGT6 (has 3 can controllers) based board - specs are here -> https://www.aliexpress.com/item/1005005872938104.html?pdp_npi=4%40dis%21SEK%21SEK%20208.33%21SEK%20194.53%21%21%21134.06%21125.18%21%40211b618e17341883428135326eeaee%2112000034654506457%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005005872938104
Not entirely sure if any of them are automotive recommended though.
They both can be programmed with STM32Cube IDE (which also includes examples).
Ilya
.... I’m really trying to avoid having to make messages to go between microcontrollers that are on different busses to get the info over, as an example: bus1 —> gateway —> gateway—> gateway —> bus3. ....I finally understood the deep meaning.
video->video-gateway->sound-gateway->sound.
240volt->voltage-gateway->water-gateway->water.
Grandly.
Hello,
I can recommend 2 boards off the top of my head
1. An STM32F446RET6 (has 2xCAN so maybe not quite up to your spec of 3+ can bus controllers) based board - you can look at the spec here-> https://www.aliexpress.com/item/1005006051651136.html?pdp_npi=4%40dis%21SEK%21SEK%2060.34%21SEK%2055.74%21%21%2138.83%2135.87%21%40211b618e17341880756385929eeaee%2112000035503740771%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005006051651136
2. An STM32H723VGT6 (has 3 can controllers) based board - specs are here -> https://www.aliexpress.com/item/1005005872938104.html?pdp_npi=4%40dis%21SEK%21SEK%20208.33%21SEK%20194.53%21%21%21134.06%21125.18%21%40211b618e17341883428135326eeaee%2112000034654506457%21sh%21SE%21891317837%21X&spm=a2g0o.store_pc_allItems_or_groupList.new_all_items_2007524327660.1005005872938104
Not entirely sure if any of them are automotive recommended though.
They both can be programmed with STM32Cube IDE (which also includes examples).
Ilya
Those Aliexpress boards are no good. Genuine STM Nucleo dev boards with break-out ST Link on them are $20 on Amazon with next day delivery.
.... I’m really trying to avoid having to make messages to go between microcontrollers that are on different busses to get the info over, as an example: bus1 —> gateway —> gateway—> gateway —> bus3. ....I finally understood the deep meaning.
video->video-gateway->sound-gateway->sound.
240volt->voltage-gateway->water-gateway->water.
Grandly.
What kind of truck is that? .....
Not trying to do flow control, just pass messages from one bus to another. ....
... Some like STM32F105,407,446 are -40 to 105 C but not AEC-Q100 automotive grade qualified. ..... there is no better than NXP in my opinion. ...
You'll not find MCU with more than one CAN in DIL package to be easy to hand solder. Majority of MCUs with 2 CAN controllers are available in 64-pin packages with 0.5mm pitch. Those with 4-6 CAN controllers are 100 or 144 pin packages, LQFP or similar. Cheaper, more accessible and with available documentation are those from STM. Some like STM32F105,407,446 are -40 to 105 C but not AEC-Q100 automotive grade qualified. Automotive grade Microchip MCUs with more than 2 CAN are quite hard to find, but do exist and documentation is available.
In terms of reliability, performance and automotive grade, there is no better than NXP in my opinion. It's my first choice, since I do automotive only. Problem is, documentation is not available but they provide some code examples. All their dev boards come with a programmer/debugger, that you can reuse. Those dev boards are not cheap. Don't be surprised when you see $400-500 price tag on them. Look them up on eBay first.
To daisy-chain multiple MCUs to get to the desired number of CAN will not be that simple in terms of coding. I suggest to use external CAN controllers like your MCP1525 instead, if you decide to go that route.
.... I’m really trying to avoid having to make messages to go between microcontrollers that are on different busses to get the info over, as an example: bus1 —> gateway —> gateway—> gateway —> bus3. ....
What kind of truck is that? The only IC that serves as a gateway I can think of is the one in VAG cars, so I guess that's what you're dealing with here?
You can't translate messages with one ID into messages with a made up ID.
As far as I understand, you're trying to retrofit modules from a newer generation of the same model. the IDs are most-likely the same, and new ones are added to the newer model for modules that didn't exist in the old model. but that will have to be confirmed.
A great 2-CH CAN adapter compatible with PCAN View and Busmaster is this:
https://www.amazon.com/dp/B0CGPRPZN8?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
for $20-30 more you can get the same one with 2x LIN from Aliexpress or Ebay, if youre willing to wait.
.... In 2017 Ford changed architecture again but made a separate gateway module that has 5 CAN busses going to it, This module is exactly what I need but uses a Freescale SC667303VLH4 MCU that I can not find any info on and according to what I could find, any MCU starting with SC is a custom chip that only Ford has info about so that's out of the picture.
.... Those dev boards are not cheap. Don't be surprised when you see $400-500 price tag on them. ...
Most of the stuff I'm hand soldering is surface mount 0603 size, as long as it has legs (even QFN) i can solder no problem, its the BGA stuff i haven't tried or tooled up for yet.
The issue I'm having with the MCP2515 is the lack of filters (5 I believe), which ends up with me having to do the filtering in the cpu.