Frequently Asked Questions
General Questions
Q. I have an application for very high speed data acquisition. I have a radar pulse about 500 nanoseconds wide, repeating 1000 times a second. I would like to be able to capture a few thousand of these pulses and store them in PC's memory. Is that possible with any of your CompuScope cards?
A. Yes, it is possible to acquire such pulses using CompuScope cards. In fact, this is a fairly common application in the radar, lidar, NDT and medical ultrasound industries and we laready have a number of customers using CompuScope cards in such configurations.
This application requires that a custom software package be developed for the CompuScope cards. This is very easy, using the source C drivers provided by Gage Applied Sciences Inc.
It is possible to put the CompuScope cards in a software loop where the software sets up a very short Post_Trigger_Depth, e.g. 64 points, arms the CompuScope to wait for a trigger and then just polls the BUSY flag in the STATUS register.
Once the pulse arrives, CompuScope triggers, captures 64 points after trigger and then resets the BUSY flag. The software can now extract the required number of points from the CompuScope memory using the move command in C, which yields transfer rates as high as 1.5 MB/s for CS250, CS220 and CSLITE and 1.5 Mwords/s for CS1012.
After transfering the data, software can re-arm the CompuScope to capture again and keep on going in a tight loop until the required number of pulses have been captured.
The maximum PRF that can be achieved using this method is heavily dependent on how many sample points need to be transferred from the CompuScope memory to PC's memory, i.e. how wide the pulse is. A quick calculation can be made for the maximum achievable PRF for a 130 ns pulse being digitized at 100 MS/s (10 ns per sample).
Initialize Clock
(optional command) |
A few I/O Writes |
10 us |
| Arm Trigger |
A few I/O Writes |
10 US |
{Wait for TRIGGER to happen
and BUSY to come down} |
|
Depends on PRF (see note 1) |
| Get Trigger Address |
6 I/O Reads |
15 us |
| Transfer 15 points |
15 Memory Reads |
15 us (see note 2) |
| Misc Housekeeping |
|
50 us (see note 3) |
| Total Overhead |
|
100 us |
| Pulse Repeat Frequency (PRF) |
|
10,000 Hz (see note 4) |
- If only 64 points are being captured after trigger, BUSY flag will come down with 64*10 = 640ns of the trigger event, which is very small. As such, the delay that this section of the code can cause is really dependent on how quickly the pulses are coming in, e.g. with a PRF of 1 KHz, this delay might be as long as 1ms as a trigger event may not occur for that long. It is also possible on the CompuScope 1012 to use a hardware interrupt to signify a trigger. This is not feasible if the PRF is much higher than 1000 Hz as the ISR overhead becomes more of a problem. A tightly coupled polling loop can provide much higher PRF.
- This time could be as fast as 10us if the host PC can support the 1.5MB/s transfer rate.
- This is the overhead that the standard CompuScope software drivers have. Optimisation is possible.
- This PRF is for a 15 point transfer. If the pulse were 1.4us wide and was still sampled at 100 MS/s, it would have 140 points across it. If 140 points were transferred over the bus, it would take approximately 140us which would increase the total overhead to about 225us, which would yield approximately 4KHz PRF.
It is fairly easy to see that PRF of the order of 10 KHz is achievable using CompuScope cards with software drivers. For PRFs greater than 10KHz, it is recommended that the Multiple Record feature be used. Contact the factory for more information on the availability of this option
back