05-23-2017 09:58 AM
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
05-30-2017 12:36 PM
This post here discusses how to set up a acceptance mask for the 8473. I would start by giving that approach a try.
06-07-2017 03:05 AM
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
06-07-2017 07:29 AM
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.
06-07-2017 09:53 AM
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
06-08-2017 09:06 AM
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
06-09-2017 03:48 AM
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
06-09-2017 10:18 AM
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.
06-16-2017 04:31 AM
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