LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Wie kann ich ereignisgesteuerte Stopuhr programmieren?

The logic is that the start should be a short time true and then should the FPGAVi generate the signal like the parameters. At the moment the start is wired to read/write control from the FPGA and in the FPGAVi send_command the start is on a casestructure (you know).

 

I hope that is what you mean.

 

 

Martin

0 Kudos
Message 31 of 41
(1,718 Views)
I mean the condition under which start becomes true and when start become false again. To be more certain about the number of burst you can also replave the start boolean with a numeric. When start is pressed to numeric to 1 and have the FPGA count down to zero. In that case when the count is not equal to zero the burst function will be executed until counter is zero again, then the bursts will stop.
Regards,
André (CLA, CLED)
0 Kudos
Message 32 of 41
(1,712 Views)

start becomes true if the user press the startbutton to start the measure. The start becomes false again if the isn't pressing the startbutton anymore.

 

Later the fpga should count the sended burtspackages and stop if the count is equal then N + N Burst.

 Do you know a well version of a Counter for that problem? 

I made the Array with a schieberegister to know 5 Values to verify the times. Is that a good idear fo get time values?

 

Now I try to separate the task how you told me some hour before.

 

Martin

0 Kudos
Message 33 of 41
(1,707 Views)

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.

 

 


 

 

Hi,

 

can yo explain more what you meant in this answer? Wht do you men is the best way to measure the times and save them? Now I start a counter and later I make a calculation. first timer minus last timer. I don't know if I can even measur the right time by this way.

 

Martin

0 Kudos
Message 34 of 41
(1,705 Views)

Could you re-post the code you have now?

 

I meant what I said. Its a high level representation of a (not the) solution to your problem.

If I go in more detail it will take more time than I have, it's like doing your work for you for free.

That's why I ask for your code to give you pointers not complete solutions.

 

Pointers are free of charge, solutions not.

 

I do these kinds of projects commercially as a LabVIEW integrator as you can see if you click the link in my signature.

Message Edited by andre.buurman@carya on 10-20-2008 04:06 PM
Regards,
André (CLA, CLED)
0 Kudos
Message 35 of 41
(1,703 Views)

Here is my code.

 

Martin

0 Kudos
Message 36 of 41
(1,698 Views)
0 Kudos
Message 37 of 41
(1,697 Views)

It seems you want to create the solution of your problem from scratch without knowing answers to all teh sub-problems. I would suggest that you analyse your problem and break it up in little sub-problems and try to create a simple solution for each of the sub-problems, once you know the solutions to your sub-problem you can design a solution to your problem (which is to build measurement functionality for the timing properties of your outputted burst signal.

 

I would suggest that you start over with your FPGA code and focus on change detection of the digital line. Try to create code that measures all rising edges in the digital line signal. If they correspond to the scope

measurements goto the next step, etc.

Regards,
André (CLA, CLED)
0 Kudos
Message 38 of 41
(1,681 Views)

all right!

 

Now I only programm the subproblem timemeasure with a eventbased Stopwatch. After that I want go to a other Problem. Please could you give me a little help for that problem. It isn' t easy for a new Programmer on LV to do this, but I must it so you would help me. If you need some details about Infraredreceiver you could write to me or to thomas.mistele@vishay.com and I try to help you.

 

Martin

0 Kudos
Message 39 of 41
(1,654 Views)

Hi,

 

on this way I found out that the time (183 µs) seems to be  correct if I wire the stop in the second case of the sequenz, but if I used a constant so that every tdon from the received Pulses to measure there tdon the time is wrong (4µs). Why is it so? I also don't understand why it stop after the calculation of the time?  Could it be possible that it measure by the repetion not the first rising edge? What do you mean can I do to measure every tdon?

  

I added the code. Just take a look on test.vi. The rest isn't interessting at the moment and only a subVi could be need from it.

 

Martin

0 Kudos
Message 40 of 41
(1,649 Views)