0
\$\begingroup\$

I am doing some can bus communication using WCMCU-230 and ESP32, I connect two CAN BUS devices with different CAN BUS addresses, so I join the cable directly, and it's working fine with CAN BUS Device-ESP32, but how can I protect other CAN BUS devices to not interfere each other, so just CAN-A to WCMCU-230 and CAN-B to WCMCU-230, I want CAN-A and CAN-B not communicating?

I have use diode IN4007 in one side CAN device (CAN-A, H and L cable), the result is data from CAN-A not received by CAN Module (WCMCU-230).

I also use diode schottky, and the result is like not using a diode.

enter image description here

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Why there is a expecific need to solve this by hardware and not with software or configurations of the devices? \$\endgroup\$
    – Santiago L
    Commented Jul 28, 2023 at 14:59
  • 1
    \$\begingroup\$ I do not have access to CAN-A/CAN-B Device, i only can read data send by CAN bus protocol \$\endgroup\$
    – HumbleBee
    Commented Jul 31, 2023 at 2:21

1 Answer 1

1
\$\begingroup\$

If multiple CAN nodes are connected to the same bus, they are part of the same network. There needs to be a plan for how every single node and CAN identifier on the network is to communicate, made by the one who designed the bus.

It is a common misconception that you can just toss a new node onto an existing CAN bus of unknown design and think it will work. Diodes are obviously of no help either: this is a serial multi-drop bus transmitting a digital protocol, not some simple on/off GPIO. You also have to consider where to place the bus terminators - the CAN bus needs about 60ohm characteristic impedance normally achieved by placing two 120ohm resistors at each end of the bus, to prevent signal bouncing.

Basically you need to know what you are doing or this will never work. I'd recommend starting by studying the CAN bus.

\$\endgroup\$

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