How to make the transferring speed faster in DSO6104A oscilloscope?
Oscilloscope used: Agilent DSO6104A. It is set to trigger on either edge to record all edges.
Pulse generated: a double-pulse(as shown in Fig.1). The rising or falling time is about 1 us, and Tpeak or Tdelay is about 1~500 ms. It is also a trigger source. Besides this pulse, another two Channels need to be recorded as well.
Programming language and IO Library: Visual Basic 6.0 and VisaCom. The oscilloscope is connected with PC by USB cable.
Aim: Capture edge 1, 2, 3 and 4 and get the records of all these four edge. The points on each edge should be at least 1000. And I don’t care the records during Tpeak and Tdelay.
Method: As shown in Fig.2, capture one edge on screen(Fig.3), transfer the records to PC, then ready for capturing next edge. So the key point is during Tpeak or Tdelay, all waveform records of one edge must be transfered to controller PC and preparing to capture next edge.
Problem: Tpeak(Tdelay)=1~500 ms is not enough to transfer all records to PC and ready to trigger next edge.
My questions:
1. Is USB the fastest way to transfer data to PC? From the manual, I know USB(3.5M/s) is faster GPIB(500k/s) and LAN(1M/s). In my system, I use cable to connect the USB ports of oscilloscope and PC. Is that means this is the fastest to transfer data from oscilloscope to PC? But even using USB cable, the minimum Tpeak(Tdelay) is about 1 second to assure all records could be transferred to PC and ready for trigger next edge. Definitely, 1 second is not agree our requirement, Tpeak(Tdelay) is within 1ms~500ms.
2. If we choose capture the whole pulse on screen once(Fig.4), and use :WAVeform:POINts:MODE RAW to get all records in internal memory, the maximum permitted Tpeak(Tdelay) is about 500us when considering points on edge is at least 1000 and internal memory depth. Obviously, it is not agree our requirement that Tpeak(Tdelay) is within 1ms~500ms.
So anybody would like to give me any idea to achieve my experiment requirements?
Oscilloscope used: Agilent DSO6104A. It is set to trigger on either edge to record all edges.
Pulse generated: a double-pulse(as shown in Fig.1). The rising or falling time is about 1 us, and Tpeak or Tdelay is about 1~500 ms. It is also a trigger source. Besides this pulse, another two Channels need to be recorded as well.
Programming language and IO Library: Visual Basic 6.0 and VisaCom. The oscilloscope is connected with PC by USB cable.
Aim: Capture edge 1, 2, 3 and 4 and get the records of all these four edge. The points on each edge should be at least 1000. And I don’t care the records during Tpeak and Tdelay.
Method: As shown in Fig.2, capture one edge on screen(Fig.3), transfer the records to PC, then ready for capturing next edge. So the key point is during Tpeak or Tdelay, all waveform records of one edge must be transfered to controller PC and preparing to capture next edge.
Problem: Tpeak(Tdelay)=1~500 ms is not enough to transfer all records to PC and ready to trigger next edge.
My questions:
1. Is USB the fastest way to transfer data to PC? From the manual, I know USB(3.5M/s) is faster GPIB(500k/s) and LAN(1M/s). In my system, I use cable to connect the USB ports of oscilloscope and PC. Is that means this is the fastest to transfer data from oscilloscope to PC? But even using USB cable, the minimum Tpeak(Tdelay) is about 1 second to assure all records could be transferred to PC and ready for trigger next edge. Definitely, 1 second is not agree our requirement, Tpeak(Tdelay) is within 1ms~500ms.
2. If we choose capture the whole pulse on screen once(Fig.4), and use :WAVeform:POINts:MODE RAW to get all records in internal memory, the maximum permitted Tpeak(Tdelay) is about 500us when considering points on edge is at least 1000 and internal memory depth. Obviously, it is not agree our requirement that Tpeak(Tdelay) is within 1ms~500ms.
So anybody would like to give me any idea to achieve my experiment requirements?
Control Program written in VEE
Waveform generator: 2 cycle square wave, burst mode, 100mv p-p
Scope: MSO6054, 2ns div
With the following SCPI commands I can capture all four edges down to a
square wave period of ~30ms(32Hz).
:trig:edge:slope pos
:single
:wav:data?
read binblock
:trig:edge:slope neg
:single
:wav:data?
read binblock
...repeat above...
The need to retireve data from the other channels would definitely
slow this process down and the re-triggering would probably destroy
that data on those channels. The results were the same both for
GPIB and USB; probably because of the small amount of data x'ferred.
I observed about a 15ms process to set the trigger, acquire the data
and transfer the data. If you can't use the multiple trigger method then
you may have to post process the entire acquisition record.
If you are checking the TER status to determine when to read results
this could be causing a problem. The TER status is slow to assert itself
in the current firmware.