10-20-2008 06:42 AM
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
10-20-2008 08:05 AM
10-20-2008 08:23 AM
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
10-20-2008 08:58 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.
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
10-20-2008 09:05 AM - edited 10-20-2008 09:06 AM
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.
10-20-2008 09:12 AM
Here is my code.
Martin
10-20-2008 09:13 AM
10-20-2008 09:43 AM
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.
10-21-2008 02:09 AM
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
10-21-2008 03:58 AM
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