Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

HSDIO-6541 Hardware Compare Error-1074118626

Hi,
 
I ran example file "Hardware Compare - Error Locations. vi"  and got the following error message:
 
"Error -1074118626 occurred at Property Node (arg 1) in Hardware Compare - Error Locations.vi

Possible reason(s):

This attribute or function is not supported in this session.
Ensure that you are not using an acquisition-only attribute or function in a generation session or a generation-only attribute or function in an acquisition session."

FYI, I used PFI2 and PFI3 for generation and acquisition and wired the two pins together following the instruction in the code. I also wired "DDC CLK OUT" and "STROBE" together in the connector.

Can anybody help me on this issue?

Thanks a lot!

Jing  

0 Kudos
Message 1 of 15
(6,246 Views)

Hi Jing,

You’ll notice in the Example Finder that in the Requirements field for this example that the 6541 is not supported. This error is occurring at the property node that enables hardware comparison. Please note that in the NI Digital Waveform Generator/Analyzer Help that the 6541 doesn’t support hardware comparison.

Please post back if you have any questions. Have a great day!
Ryan D.
District Sales Manager for Boston & Northern New England
National Instruments
Message 2 of 15
(6,241 Views)

Hi Ryan,

Thanks for the link of the thread.

Since I have a PXI-6541, is there anyway that I can compare input signal to the card with the signal in the existing HWS file?

Thanks a lot!

Jing

0 Kudos
Message 3 of 15
(6,228 Views)

Jing,

Yes, you can still compare your acquisition data to the data in your HWS file. The comparison will need to happen in software rather than on the hardware device (like the 655x products). There is a VI in the digital palette called "Digital Comparison.vi". It takes two digital waveforms, compares them, and returns any error information. I've included an example that uses this software compare VI.

You will need to write a VI that does a simple Data Acquistion using your NI-6541 device. There are plenty of examples in the example finder on how to do this. In addition to that, you will need to use NI-HWS file api to read the data from your HWS file. The file api VIs can be found in the HSDIO Palette in LabVIEW. Now that you have your acquisition data, and you have read the data from your HWS file, just pass those two waveforms into the digital compare VI.

-Jared



Message Edited by JaredW on 01-22-2008 01:50 PM
0 Kudos
Message 4 of 15
(6,222 Views)

Hi Jared,

Thank you so much for the example code and the suggestions! I will start working on it now and let you know how it goes. ^_^

Thanks!

Jing

0 Kudos
Message 5 of 15
(6,212 Views)

Hi Jared,

I am trying to do Internal Scan test. Attached please find a simplified VCD-file-converted HWS file. I should send SPI_CLKH into the ASIC. After a certain time, signal IRQ_real is supposed to come out from the ASIC.

I should acquire IRQ_real and compare it with IRQ in the attached HWS file. They should match each other.

Here are my questions:

1. How to set the acquisition trigger so that I can catch the starting point of IRQ_real as soon as they start coming out the ASIC? Which acquisition trigger should I use, considering there are many trigger types in the "HSDIO Configure Trigger" function.

2. I checked the "Acquisition and Generation" examples, both acquisition and generation process used the function "NIConfigure Sample Clock". Shall I use the same "On Board Clock" for both acquisition and generation process? How do I determine the "On Board Clock" frequency?

Thank you so much!

Jing

 

 

0 Kudos
Message 6 of 15
(6,191 Views)

Hello,

Please view the Help document titled Trigger Summary in the NI Digital Waveform Generator/Analyzer.  This document will help you select the proper trigger.  I would recommend looking at the Start – Digital Edge Trigger.  Please read about both start and reference triggers to determine which might better suit your application.

I am assuming that you need to generate and acquire, since you are first sending out the SPI_CLKH and then later acquire the IRQ_Real.  The sample clock functions can be set to the same sample clock resource.  However, if the signal you are generating and the signal you are acquiring are at the same time base, I would not suggest using the same sample clock.  This is because you want to follow Nyquist Theorem.  This states that the acquisition rate should at least be two times the incoming signal’s frequency.  Most people actually do five or ten times to get a cleaner signal.  Thus, you would want to set the sample clock for the generation to the rate at which you want to generate and then set another sample clock to five times the IRQ_Real frequency for the acquisition task.

 

Samantha
National Instruments
Applications Engineer
Message 7 of 15
(6,170 Views)
For your application, the Nyquist theorem doesn't apply.  In most cases where you are generating and acquiring response digital data, you will almost always want to use the same clock for both generation and acquisition.
 
I would recommend reading up on Round Trip Delay elimination in the HSDIO help to get a good understanding of the system you are trying to build. This doc can be found in the NI Digital Waveform Generator/Analyzer help under Programming->Features->Eliminating Round Trip Delay. This will talk about a source synchronous method of generating and acquiring data. This would requir you routing the clock through the ASCI and back into the NI-6541, as well as a synchronous trigger.
 
If you cannot change up your ASIC to do the above, I would then recommend using a pattern match start trigger for acquiring your response data. Here is the programming flow: 1) Configure the generation session using an onboard clock   2) Configure the acquisitin session using an onboard clock and a pattern match trigger that matches when IRQ_Real is HIGH  3) Start the Acquisition session  4) Start the Generation session  5) Wait until Done  6) Read acquistion data from device  7) close both sessions.
 
 Looking at your HWS waveform, I know that the IRQ_Real signal will be low until the ASIC starts generating data to it, which is why I chose to use the pattern match on that signal when it is HIGH. Now to do the software compare, you will need to get the IRQ_Real data out of your HWS file, and remove all of the leading zeros such that the first value is a HIGH. Now your expected response data will be aligned to the pattern matched data. Lastly send both the acquired IRQ_Real data and the modified HWS IRQ_Real data to the software compare VI discussed in the previous post.
 
One last thing that may or may not be an issue (depending on how fast your clock is) is data delay. If the acquired data is totally incorrect, there is a chance it is because the IRQ_real data coming from the ASIC is transitioning at the same time as the onboard clock, thus the 6541 is sampling when the IRQ data is in an invalid state. To get around this, you can use the Data Delay feature to delay when the acquired data is sampled within a clock period. You will have to just coerce this value manually until the data starts looking correct. I would start with 50% delay, then 25% and 75%, etc, until the data looks good. There is an example for using data delay, In the examle finder, go to Modular Instruments->NI-HSDIO->Dynamic Acquisition->Dynamic Acquisition With Data Delay.vi
 
good luck,
Jared
 


Message Edited by JaredW on 01-25-2008 03:57 PM
0 Kudos
Message 8 of 15
(6,165 Views)

Hi Jared and Samantha,

Thanks a lot for your help. Sorry for replying so late. Was pulled to some other projects recently.

I tried the "pattern match" Jared suggested on the simplified version of vectors. The acquisition works pretty well. Thank you so much!

After I tried the real version of vectors, I encountered another problem. In the vectors of driving signals, there are some period of "Z" instead of "0" or "1". As a result, it may cause a short period of "X" in the output signal. As I am storing the acquired signal into a file and comparing it with the existing data, the following error message pops up:

+++++++++++

Error -1074118585 occurred at niHSDIO Write Named Waveform From File (HWS).vi:

Possible reason(s):
Driver Status:  (Hex 0xBFFA4047) A digital state value in the waveform you attempted to write is invalid for this device or for this configuration.

Supported Values: 0, 1

Status Code: -219406

+++++++++++

Could you give me any suggestions?

Thank you so much!

Jing

0 Kudos
Message 9 of 15
(5,910 Views)

Hello,

The error you are receiving is related to the HWS file you are attempting to generate having Z states.  The 6541 cannot generate this state.  To avoid this error please change any Z states in the drive data to a 0 or a 1.  Do you have the NI Digital Waveform Editor?  You can change the Z states by using the Digital Waveform Editor.  In addition, I noticed that you started with a VCD file.  The Digital Waveform Editor has an VCD Import Wizard, which allows to you configure and change the Z state upon import.  The topic titled VCD Import Wizard within the NI Digital Waveform Editor Help outlines this in further detail. 

In summary, the error is occurring at the niHSDIO Write Named Waveform.vi due to the Z states in the HWS file.   There are not any X states acquired since it seems the error occurs prior to acquisition. 

Samantha
National Instruments
Applications Engineer
0 Kudos
Message 10 of 15
(5,884 Views)