0
\$\begingroup\$

I have a project where I need to talk with 2 devices x & y with 125kbps and 500kbps CAN speeds respectively. So I selected an MCU (F446RC) with 2 CAN controllers from ST. The BOM cost went up and I'm not able to meet the target cost.

Is there a way to handle 2 speeds on same bus? or please suggest any cost-effective method.

\$\endgroup\$
11
  • \$\begingroup\$ Even if your device was the master, CAN does not have a clock in data, so you cannot have two different speeds on the same bus. Both devices would be confused. Controller has two CANs so all we are talking about here is tranceiver, some discretes and a connector. Any solution (CAN complient bus switch - if they exist) would have more cost than this. \$\endgroup\$ Commented Sep 17, 2020 at 22:02
  • \$\begingroup\$ @stainlessSteelRat - okay. Can you suggest some alternative ways to optimize bom cost? \$\endgroup\$ Commented Sep 18, 2020 at 1:32
  • \$\begingroup\$ Do you need that much firepower for the MCU itself? DSP, FPU and so on? I'm certain there's smaller Cortex M with 2 or more CAN. Though list price is just $3.3/10k I guess. \$\endgroup\$
    – Lundin
    Commented Sep 18, 2020 at 11:53
  • \$\begingroup\$ Also, how much protection did you add to the CAN lines? TVS, chokes, terminators etc? \$\endgroup\$
    – Lundin
    Commented Sep 18, 2020 at 11:55
  • \$\begingroup\$ @Lundin - I have added ESDCAN02 to CAN lines. \$\endgroup\$ Commented Sep 18, 2020 at 13:01

1 Answer 1

0
\$\begingroup\$

You can't have two speeds on one bus. So I have no idea but using 2 busses. Maybe you can set one device to busoff, then talk to the other and then do the same but with switched devices... but it will not work if the devices expect cyclic communication with the master. CAN is designed for all devices with one speed, as the devices need to know the bit-timing.

\$\endgroup\$
10
  • \$\begingroup\$ Can you suggest some alternative ways to optimize bom cost? \$\endgroup\$ Commented Sep 18, 2020 at 1:34
  • \$\begingroup\$ We are more or less talking about an additional 1,17€ CAN transeiver (from the most expensive dealer I know here) plus a connector plus some board space... lets say 3€ at all. any tricks with some transistors (and resistors) won't be any better or much cheeper. Guess a coffee at starbucks is more expensive. StainlessSteelRat's Comment under your question is absolute right. You have a µC with double CAN already, so just do 2 CAN's. Thats the most easy and least error prone way. And a normal CAN is quite robust, so you normally just need transeiver, termination and connector \$\endgroup\$
    – schnedan
    Commented Sep 18, 2020 at 6:15
  • \$\begingroup\$ conrad.de/de/p/… ...my company uses Microchips 2551 in industrial products. just to mention that. so that device has a good quality \$\endgroup\$
    – schnedan
    Commented Sep 18, 2020 at 6:20
  • \$\begingroup\$ 2551 works on 3.3V logic? \$\endgroup\$ Commented Sep 18, 2020 at 12:59
  • \$\begingroup\$ the datasheet states "Device drivers will function, although outputs are not ensured to meet the ISO-11898 specification". So if the device can not generate standard levels, which are ~5V, you can assume all devices suffer the same problem. What will happen? you will loose cable length and EMI robustness to a certain degree. \$\endgroup\$
    – schnedan
    Commented Sep 18, 2020 at 13:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.