Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

HSDIO - How are errors interpreted? Example HSDIO Hardware Compare - Error Locations.vi

How are the errors interpreted?

I see the 2 arrays listed, but I don't see the coorelation between the errors found in the example files.

Are the two arrays indexed to the same error index? 

We are using a PXIe-6555 HSDIO card to test a DUT

 

HW Error ExampleResults wit Errors.jpg

 

 

0 Kudos
Message 1 of 10
(5,718 Views)

Hello,

 

So how this works is that 'Error Sample Numbers' returns the sample numbers in which an error occurred.  So in the example you posted, errors were found in samples 5, 100, and 1020.  'Error Bit Mask' returns an array showing which channels the error occurred on for all samples which contained an error.  The first value in this array is for sample 5, and it shows that errors occurred on channels 0, 2, 4, and 6.

------------------------------------------------------------------------------------------

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 10
(5,680 Views)

I thought that was the case but I also get signal line 100 and line 1020  has error but the signal in NI Waveform Editor of the same file show 7 signals, so this does not make sense.HW Error ExampleResults with Errors - DEW3_0.jpg

0 Kudos
Message 3 of 10
(5,671 Views)

That's the compare waveform, not the driven waveform. The bit errors are intentially injected via driveWfm_8BitCountUpWithErrors.hws. The compare is the expected response without errors, hence why you see no error in that particular HWS file.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 4 of 10
(5,667 Views)

These numbers don't seem to match the waveform values though. Errors are at signals 1,3,5,7

 

Example Files in DWE.jpg

0 Kudos
Message 5 of 10
(5,627 Views)

The left image is data driven; the right image is the compared result. The mismatch between the left and the right generates an error, because the left file generated a 1 where the right file expected a 0. All other places are generated and compared as expected, producing no errors.

 

It can be difficult to interpret, I apologize for that. However, it does seem to be indicating the correct error location in accordance to the HWS files posted.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 6 of 10
(5,625 Views)

I agree that the HSDIO 6555 card is catching the correct errors, but the interpretation of the Bit Mask does not follow easliy. It seems Error at sample 100 is 15 bits not 16 bits. If you read right to left from 16 bits then Sample 5 makes sense but Sample 100 is missing the LSB bit from the result.

 

Example Files- errors Found in Signals.jpg

0 Kudos
Message 7 of 10
(5,622 Views)

This card example use case assumes that 16 channels are used for this test (8 Drive and 8 Compare) but I need to use all 24 channels.

How is the bit mask interpreted when using 24 channels?

If I were to use multiple cards how does the compare span across the cards?

If I exceed the channels of the card for my DUT that requires 48 channels of testing, should my test design then be 12 channels drive and 12 Channels Compare for all the cards and check results from each card separately? 

0 Kudos
Message 8 of 10
(5,620 Views)

For your first post, LabVIEW indicators can truncate zero's that are on the left side based on the display format of the indicator. I would try right clicking the indicator and selecting Display Format, then Default Editing Mode to see how you can influence the "Use Minimum Field Width" property. I would set that to be 16 bits wide, and to pad left size with zeros.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 9 of 10
(5,612 Views)

The second post, the bits map to each channel, so a U16 maps to 16 channels and a U32 maps to 24 channels (8 bits are unused). A 1 is still indicative of an error on the channel that the bit location represents. A 0 indicates no error.

 

The function won't expand over several cards. It will mask the errors for its individual board that it is addressing via acquisition session handle. You can still see per board what the errors are, based on the channels used, and combine them in your VI as needed.

 

Really, the best answer is "it depends". You can use lines bidirectionally which would cut the board count down to two for 48 channels. You could also generate on two boards and receive on two boards, where you only have to deal with two sessions of error location data rather than four sessions. I would think bidirectionally would reduce the cost the most, but if you cannot communicate bidirectionally, then my second suggestion should make the error location information easier to manipulate.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 10 of 10
(5,610 Views)