I discover a problem on my design, with a STM32F042K6 MCU and a MCP2561 Can Transceiver. I can send some frames on the CAN Bus but i can't receive any frames. When i put my scope probe on the CAN Rx Line between the MCU and the Transceiver o observe a bad low level voltage like this :

enter image description here

I have checked, this MCU Input is 5V tolerant.

What is the reason of this bad low level voltage ? I think it's why my MCU don't receive any acknowledge and any frames.

Is there a problem on the Transceiver or on the MCU ?

Thank's for your help !

It seems there is a problem on the ACK bit transmission : I don't understand why. Any idea ?

enter image description here

  • \$\begingroup\$ It looks like a ground shift. Check if there are no parasitic resistances between Micro and Transceiver Grounds. Is it supplied from the same power source? \$\endgroup\$ – KJA Jun 20 '19 at 8:16
  • \$\begingroup\$ It's power from two different regulators because the MCP2561 needs 5V and the MCU needs 3.3V. I checked the Tx Line and the levels are good (0V - 3.3V). It seems there is no resistances between MCU Ground and MCP2561 Ground. \$\endgroup\$ – VoltAd Jun 20 '19 at 8:24
  • \$\begingroup\$ MCU ground and MCP2564 ground should be the same. As in, short circuit. Open circuit means this won't work properly. \$\endgroup\$ – Jeroen3 Jun 20 '19 at 8:46
  • \$\begingroup\$ Yes, It's the same Ground !!! ;) \$\endgroup\$ – VoltAd Jun 20 '19 at 8:55

Ok, Thank's guys, i'm so sorry it was due to a bad solder on my MCP2561 Gnd Pin. On the TX Side, i'm facing a problem due to the ACK, i always encountered a timeout issue when i want to send a Can Frame : enter image description here

And the frame is received multiples times on the other CAN Equipment : When i send one frame, the MCU seems to send multiples frames until it reach the timeout.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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