cancel
Showing results for 
Search instead for 
Did you mean: 

CAN Node not able to transmit when on an existing bus

Mohit Aggarwal
Associate II
Posted on May 25, 2018 at 09:34

Hello Everyone,

I,am having a issue with my can node.

The communication bw two can nodes built on STM32L4 works perfectly fine. But that's just for testing purpose. I don't intend to use it that way.

When I introduce it to an existing CAN bus, TX stops. Node is able to read the messages on the bus.

Please let me know what all things i can try or i might be missing.

Hope someone has already been down this road and can help me out..

CAN settings are as follow

hcan1.Instance = CAN1;

hcan1.Init.Prescaler = 6;

hcan1.Init.Mode =

CAN_MODE_NORMAL

;

hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;

hcan1.Init.TimeSeg1 = CAN_BS1_13TQ;

hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;

hcan1.Init.TimeTriggeredMode = DISABLE;

hcan1.Init.AutoBusOff = DISABLE;

hcan1.Init.AutoWakeUp = DISABLE;

hcan1.Init.AutoRetransmission = ENABLE;

hcan1.Init.ReceiveFifoLocked = DISABLE;

hcan1.Init.TransmitFifoPriority = DISABLE;

#can #can-interface #can-examples #problem-can
28 REPLIES 28
Posted on May 29, 2018 at 09:33

I too started with schematic in transreceiver datasheet. but no luck.. 

Posted on May 29, 2018 at 09:42

Hi TJ,

Have attached the block diagram of my setup.

The car if from FORD . and it has can bus.(have checked that with a scanner. and i am also able to read internal communication through the mentioned setup and the data makes sense too. ) 

0690X0000060KzVQAU.png

Hope this clarifies the setup

Posted on May 29, 2018 at 10:20

I have no direct experience with OBD either, but I can help with CanBus.

In the time Quanta, Try Seg1 at 14, Seg2 at 1

I haven't used a L4 processor but on the F0 and F7, you must pull CanRx up if you don't have the transceiver.

So that is confusing to start. It may be a bus state from the vehicle.

Tell me you have a proper scope and analyzer.

Tell me it is not a $6 Ebay analyser.

Do you have the FORD OBD msg list ?

What msg are you trying to send ?

just to clarify, you have a nucleo board,

one Canbus is for the FORD and the other Canbus is to another Nucleo board.

between the Nucleo boards, you can Receive and Transmit, are you using transceivers ?

The Ford Canbus, you are using a transceiver, you can Receive but not Transmit.

is that where we are ?

Posted on May 29, 2018 at 10:29

I would try to connect CAN-GND of your Nucleo board / transceiver to pin 5 of the OBD connector, 'signal ground'.

Posted on May 29, 2018 at 10:33

Control pin S allows two operating modes to be selected:  High-speed mode or Silent mode.

The high-speed mode is the normal operating mode and is selected by connecting pin S to ground.

In the silent mode, the transmitter is disabled.

how did you connect pin 8 of the transceiver chip ?

Posted on May 29, 2018 at 10:52

That is Connected. Forgot to show in the diagram. 

Posted on May 29, 2018 at 10:55

That is a 

valuable 

input.

As of now its left floating. will connect it to ground. 

Posted on May 29, 2018 at 11:01

floating is supposed to be default as ground...

Mohit Aggarwal
Associate II
Posted on May 30, 2018 at 09:41

Marsh.Nick

meyer.frank

Hi,

Thank you for helping me throughout the issue.

Finally the issue is resolved.

Hacked in 0 ohm resistor on the CAN H and CAN L lines with 120 ohm(termination) resistor b/w them.