Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Read XCP Command response using ECU M&C Toolkit 15

Hi all,

I am trying to send XCP commands and to collect response using NI USB-8473s High Speed CAN (e.g. when received response is 0xFF then send next XCP command). I am trying to do it through following Vi. But could not succeed. With following Vi its possible to read arbitration ID from 200 to 206 but not 40. Your input to solve this issue is very much appreciated.

 

Cheers,

SSD

 

 

 

0 Kudos
Message 1 of 9
(4,148 Views)

This post here discusses how to set up a acceptance mask for the 8473. I would start by giving that approach a try.

Jeff L
National Instruments
0 Kudos
Message 2 of 9
(4,066 Views)

Hi Jeff,

 

Thank you for your reply.

But still I could not understand how to read ID 40 using mask for 8473s.

Just to observe changes in the readable IDs, I tried Series2 Filter Mode example for following configuration

Baud rate: 500k

Series 2 Filter Mode: Single Standard

Series 2 Comparator: FA000000

Series 2 Mask: 1FFFFFF

With this as well there is no change in the IDs. IDs are always from 200 to 206.

Could you please support to read ID 40 from 8473s. Thanks.

 

Cheers,

SSD

0 Kudos
Message 3 of 9
(4,024 Views)

Can you clarify what IDs you are trying to receive? As I understood it you were trying to receive IDs 0d200-0d206 and trying to exclude ID 0d40.

 

Also, can you attach your Test VI? Re-creating VIs to duplicate your code from a picture is time consuming and error prone.

Jeff L
National Instruments
0 Kudos
Message 4 of 9
(4,017 Views)

Hi,

I am trying to receive response on arbitration ID 40. Which is response of XCP commands. I could not read ID 40 instead by default I read always IDs 200 to 206.

Please find attached VI.

 

Thanks.

SSD

0 Kudos
Message 5 of 9
(4,013 Views)

Take a look at the Series2 Filter Mode.vi shipping example. We only care about the "1"s in the ID so set the mask accordingly:

ID 0d40 = 0x28 = 0b00000101000

Mask           = 0b11111010111

MaskSettings.PNG

Jeff L
National Instruments
0 Kudos
Message 6 of 9
(4,006 Views)

Hi,

sorry for misunderstanding the ID is 0x40 and not 0d40

Using Series2 Filter Mode.vi example,

arbitration ID is 0x40=0b00001000000 and 

mask                        =0b11110111111

 

still could not manage to read 0x40 ID 😞

Please find the attached image.

 

Thanks,

SSD

 

0 Kudos
Message 7 of 9
(3,996 Views)

If we set the mask on this example to 0xFFFFFFFF it will read all traffic on the bus regardless of the frame ID. I don't see 0x40 on in the list of frames received before the filter was configured so are we sure the 0x40 frame is being transmitted at all? Are you able to detect it with another tool or do we expect it to be there based on documentation or something?

 

Do you have a 2nd can port to run a output example to transmit a 0x40 frame to test the filter? I have tested your settings with my devices and they work as expected when a 0x40 frame is transmitted.

Jeff L
National Instruments
0 Kudos
Message 8 of 9
(3,991 Views)

Hi now I can read 0x40 without Test Series Filter. The problem wrong initialized array size.  After increasing array size all works fine.

 

Thank you very much.

 

Regards,

SSD

0 Kudos
Message 9 of 9
(3,901 Views)