Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Forcing node on CAN to bus off state

Hello All,
 
I was trying to force a node on CAN into bus off state. Can you suggest a procedure ? Its really urgent. Waiting eagerly for reply.
 
Thanks in advance and wish you all a very happy new year.
0 Kudos
Message 1 of 9
(25,945 Views)
To describe further, I have a fully functioning ECU, which happens to be a node on CAN bus. I would like to force the node to get into BUS-OFF mode. I cant play with status bits/status code, nor with the baud rate.
 
The means I prefered, is to leave the node alone on the bus. On not getting Dominant ACK, it will soon get into passive mode. But as a part of CAN Protocol, this node will remain in passive state and cant get into off state on its own. From here, how can I force it to next level ?
 
If therez any other method altogether, pls let me know.
 
Thanks in advance
 
0 Kudos
Message 2 of 9
(25,941 Views)

Hi Anil Kumar,

 

I would like to suggest few things (from LabVIEW perspective) for you,

 

1. To make a CAN Bus Off state thro' program - Make such (relay setup) arrangement to short the CAN High & Low terminals to induce the Bus Off state. LabVIEW program can detect the Bus Off scenario by monitoring the error code (-1074388821, etc...). Execute "CAN Clear VI" after detecting the bus off error code for closing the communication and re-establish the CAN communication by reinitialize the CAN messages (point no. 2).

 

2. To retrieve CAN bus from the Bus Off state thro' program - Make such (relay setup) arrangement to open the short terminals (CAN High & Low). LabVIEW program should reinitialize the CAN messages by using these VIs (CAN Initialize, Start, Write/Read and CAN Clear). Execute this VIs till the error code becomes zero.

 

Note: Sometimes, CAN Bus will take some time for coming back to normal state from Bus Off; user needs to continue this normal process like CAN Initialize, Start, Write/Read and CAN Clear.

 

Hope the above information’s will help you out to solve your problems... 🙂 🙂

 

Regards,

-Baskar

Satyam, Bangalore

Message 3 of 9
(25,919 Views)
Hi Bhaskar,
 
Nice to see your reply. The fact is, I am not familiar with Lab View :mansad: (heard a bit from my collegues though).
 
I have an idea, like adding a fictious a node to the bus using a Signal Generator. On getting any data from ECU (after Arb field), it can send dominant bits for a while... equivalent to an active error frame. Source will automatically increment its Tx_count and retransmit the data. This loop can be continued till Tx_count reaches the threshold. Am not sure how realistic it sounds... any suggestions ?
 
The basic idea was to study ECU-CAN Controller status while the node is in bus-off. So, I cant play its software.
 
Thanks n regards,
Anil Srivatsav
0 Kudos
Message 4 of 9
(25,902 Views)

Hello Anil,

In a simple way you can short the CAN High and CAN Low to generate Bus Off.

But this is not the exact way to simulate. 

 

If you can use the tool loke Vector CANStress, you can exactly manipulate the bits

before transmission to ensure a proper bus off.

 

Regards,
Prathap

0 Kudos
Message 5 of 9
(25,115 Views)

Can you tell me how do i make the relay arrangement ? I am using the neo radi/o. I am not sure where I need to connect the Common and the NC connections ?

0 Kudos
Message 6 of 9
(21,185 Views)

Using XNET I was trying for test purposes to also set put NI PXI NIXNET CAN into BUS OFF STATE.

I Loopbacked port CAN1 -> CAN2 and set CAN2 to LISTEN_ONLY STATE with NO ACKNOWLEDGE,

which cause CAN1 to repeat transmition and get to ERROR PASIVE with TX ERROU CUNTER  = 128,

but don't how to achieve error counter = 255 to go to bus off.

 

Also I would like to know if there is any way to insert wrong CRC into the frame.

 

Please advice,

 

Radek Pozdnicek

Honeywell Aerospace Brno

0 Kudos
Message 7 of 9
(19,139 Views)

Force one of the nodes to be a different baud rate.. You should start to get stuff errors or other form errors and go bus off.

0 Kudos
Message 8 of 9
(19,137 Views)

It doesn't matter if CAN+ or CAN- is on NO/NC (I'd use NO).  

 

I would also hope that you have two seperate CAN busses (1 for your DUT and 1 to control your RADI/O).  I'm not sure what the RADI/O would do.

0 Kudos
Message 9 of 9
(19,081 Views)