Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

timeout connecting to Demo ECU

I am trying to learn my way around the UDS protocol by using the Demo ECU in the examples and UDS Diagnostic Commander.  This is falling over immediately by throwing a timeout error.  I have checked the front panel parameters, which seem to be fine (see attached), if it's not finger trouble, can anyone suggest where I can go from here?

 

Dave

Download All
0 Kudos
Message 1 of 6
(3,349 Views)

In the screenshots both the Daignostic Demo ECU and UDS Diagnostic Commander are set to the same interface, CAN1. They will need to be used on different interfaces i.e. CAN1 for the Demo ECU and CAN2 for the UDS Commander.

Jeff L
National Instruments
0 Kudos
Message 2 of 6
(3,334 Views)

Once you have the two VIs running on different interfaces so they can acknowledge each others messages the Success? indicator should turn green when you run the Diagnostic Commander VI. You can then try sending a 0x3E request message (tester present) and the Demo ECU should send a positive response.

 

Note that the Demo ECU only supports a small subset of services by default. It supports 0x10, 0x11, 0x14, 0x19, 0x22, 0x23, 0x28, 0x2E, 0x2F, 0x34, 0x36, 0x37, 0x3D, and 0x3E. You may have to add additional bytes to the service ID as parameters otherwise you will get a negative response that the Demo ECU doesn't support said command.

 

You can also try to open up the Demo ECU block diagram and making edits or adding support for other services. I can't remember if it is password protected or not.

Jeff L
National Instruments
0 Kudos
Message 3 of 6
(3,332 Views)

Unfortunately that hasn't solved the issue, I still get

 

Error -8260 at ISOTP Receive.vi

Possible reason(s):

NI Automotive Diagnostics Command Set:
Diagnostic command timeout. A response from the ECU was not received.

 

I also tried connecting the two interfaces together with a cable, which I used in the Loopback Test.vi

0 Kudos
Message 4 of 6
(3,318 Views)

Timeouts at the start of communication often indicate a problem with the physical layer. The loopback example defaults to 125 kBd which is slow enough that the test might pass even without  proper termination. Your screen captures show a baud rate of 500 kBd which is fast enough for termination to be a major factor. I would verify that the termination in your setup is correct at 60 Ohms total (two 120 Ohm resistors in parallel).

 

You can also use the XNET bus monitor with "Bus Error Frames" turned on to see if any bus error frames are being created. If so, that is a good indicator that termination is not correct.

 

You can enable/disable software selectable termination by adding a call to Diag Set Property.vi.

Jeff L
National Instruments
0 Kudos
Message 5 of 6
(3,313 Views)

I think that's it Jeff, when I  turned the baud rate down to 125kbps, I had a successful connection, I'll add some resistors to terminate it properly.  I did look for the PN to activate the internal termination resistor, but I think that is in the CAN session, and this example doesn't open a session in the same way that the loopback one does.

 

Dave

0 Kudos
Message 6 of 6
(3,305 Views)