10-16-2008 09:36 AM
How can I also write the Timeelements into an Aray? Every timvalue should be a new field in the 1DArray. After the Signal is done I would like to see which timevalues are received. The timevalues now to short. And how can I received the Values in my hostVI? I havent jet received any Timvalue from the fifo! P
Do you know other Method I can try?
Thank you very much!
Martin
10-16-2008 09:41 AM
I don't now the binary range of the AI0 for your card. You can place defined voltages to the input and measure the range, in that case you know to correct value for 3V.
If I understand correctly you send a burst on DO0 and measure the pulse width by measuring the time difference between a digital and an analog channel? Or are you measuring something completely different.
What version of LV are you using by the way?
10-19-2008 12:25 PM
Hi,
I use in the company LabVIEW 8.6. I want to measure a little bit another thing. I want measure howlong does it take til the IR-Reciver recognize the signal an turn turn the Outputvoltage from 5V to 0V ( measure threshold by 3V) an the pulsewidth form the response of the IR-Receiver. I need this Information to for checking how constancy the IR-Receiver recognize the emitted singnal from the infareddiode. After the measure I want asses the delaytime til the IR-Reiver jump form 0V to 5V. This times are especially information to test the Receiver. Later I want count the responsed pulses to know how constancy the IR-Receiver is. But before the counting I must receive the singal corectly and measure the delaytimes. The voltage of maximum voltage of the targe is 10V an as the scaled Value it is 32768 so I thought the threshold is 8200 for a 3V Value on the AI0. I response the received signal from the Reiver on the analog input.
Sorry for my bad English. I' m not so good in English. I'm german.
Martin
10-20-2008 02:17 AM
Hi ,
now I have made some scopepictures that you can see what I want measure. I the first picture you can see the whole burstsignal and in the second one you see the times that I want analyse and save for later aplication. How can I write the timevalues in an array? I want know which times are received. If I use an array only the first element is changing, but every time must be written as separate element in a 1D-Array.
Martin
10-20-2008 02:38 AM
10-20-2008 03:48 AM
I have discussed it with my collegue and we came to a conclusion.
See the edge detection of both signals as a different task.
Task 1
Wait for a falling edge on AI0 and store the time AIt0
Wait fot a rising edge on AI0 and store the time AIt1
Start over again.
Task 2
Wait for the first rising edge on DI1 and store the time. DIt0
Wait for falling edges and store, replace the previous falling edge with the latest. DIt1
After receiving the rising edge on AI0 start over again.
Task 3
When the rising edge on AI0 has been detected send all four values (DIt0, AIt0, DIt1 and AIt1) to the host for further processing.
You would have to program the edge detcetion of the AI yourself, but the DI1 can be programmed using a FPGA IO method.
If the application proves to be too difficult, outsourcing part of it wouldn't be a bad idea. I'm based in the Netherlands.
10-20-2008 04:25 AM
Ok I try this. Now there is another Problem do you know why I could not start the Signal via the Host? I Want sart it form the host and put the values in an Array. How can I save the Values in an array, on wich every value is a seperate element? Before I write you I meen it worked rightly but now I couldn't start it from the host. It sends the parameters in the read/write but on the scope isn't a signal. What is wrong? The other things I would try an tell you if I have a Problem.
Martin
10-20-2008 04:47 AM
The default value of stop should be set to false and it should be set to false before setting start to true.
Build array function. The FPGA only supports fixed size arrays. You need to exapnd the build array function to 4 elements.
10-20-2008 05:22 AM
Hi I thought the same and the default value of the stop is false. But the signal doesn' start. Waht can I also try? Could be the "MELDUNG an Benutzer" the Problem? Can you maybe send me a host, that you know it must work and start the send_command inthe background on the FPGA?
That ist right that an array on the FPGA supports fixed size. I didn't thought at this at the moment. Thanks for remember. The elements form the build array function should I wire to DATA (Involke Method) on the host or better ild firstly a array on the FPGA and wire the 4 elements with ement in the local FIFO in the send_command.vi?
Martin
Thanks for the patience with me!!
10-20-2008 05:37 AM
Can you explain the logic for "start" in words?
I think the STOP condition is not necessary in the FPGA code, leave it out and wire a constant "false". You can use the ABORT method to stop the FPGA code or RESET to reset it to the default state.
You need to write the value to the DMA.FIFO one by one in a FOR-loop. Maybe add a special number before to indicate to the host a new set of values in available. You will have to rebuild the array and/or calculate the required time parameters.