bjonnh / owon-sds7102-protocol

A GNU/Linux software suite for handling Owon oscilloscopes
33 stars 6 forks source link

Continuous Data Capture #3

Open agg1 opened 4 years ago

agg1 commented 4 years ago

Is it possible to continously(!) capture all measurement data from owon oscilloscopes? Such as an audio signal is catpured with the scope through it's A/D converter and the data in turn is send via USB to the PC (for D/A conversion or otherwise processing/analyzing a continous signal). The API documentation and sources are simply not clear on this issue if this is possible in principle with Owon scopes, or if only signal snapshots can be captured which is useless for my desired use case. I would implement continous data capture myself and provide the feature but won't buy a scope in question if continous capture is not possible.

bjonnh commented 4 years ago

No as far as I know you'll not be able to do realtime A/D conversion (unless you are talking about multiseconds sampling rate and not worried about jitter). Depending on the bandwidth you need, there are several other type of options. For anything < 44khz or <96khz (but >10 or 20Hz), you can just make an impedance adapter for a sound card (there are really cheap usb ones). There are a lot of A/D options out there for higher freqs as well.

agg1 commented 4 years ago

Thanks for the quick response! De-coding sampled audio data was just one example for an initial playing ground. I stumbled upon xoscope too for which APIs exist even to feed sampled data into, among other options. Strangely Owon specifies an amazing sample rate of 1GS/s, at 8bit for each of the two channels even. So i ordered an Owon scope which may support a function call to fiddle with. 8bit@20MHz (~10MB/s, or twice that for two channels) certainly will hit max. USB data rate. Some I/O latency to synchronize and buffer the stream is unavoidable. But I wouldn't understand why USB would limit sampling rate and jitter to multiseconds. Anyway, I've got the documentation, debugger and the sources ready at hand. And interestingly even far more expensive scopes don't reveal precise and conclusive information leave alone some source code to begin with.

bjonnh commented 4 years ago

Yet is has a really high sample rate, but this is never a continuous rate, it has nothing to do with the display rate or the transfer bandwidth. You can get a triggered acquisition of a few nanoseconds of a signal at 1GS/s, but you will not get that continuously sent through USB or ethernet. The limitation is not just USB or ethernet bandwith per se but also that they are packet based and you can get delays and losses plus jitter due to all of that. If you don't want real time you may abstract that part away, but 1GS/s at 8 bits with no control data is already 8Gb/s add to that the protocol overhead plus the sync times, you are above USB bandwidth and above most ethernet bandwidth. And I can assure you that the USB and ethernet controllers of the Owon will never reach those speeds.

The only way to get those scopes to spit you 1GS/s on any kind of link would be to modify their firmware. IIRC, they are based on FPGA so there may be ways to get that done. And to use some kind of encoding of the data such as RLE. But if your signal is noisy, you may not have any benefit at all.

If you really want an ADC in continuous mode at 1GS/s, you have to look into PCI cards that do that, and their cost is higher than the Owon.

You can find <$1,000 cards on ebay: such as GE Fanuc ICS-1650/001 that can do continuous acquisition of signals around 200MHz.

There are many brands and cards of that type. If you have any accurate sampling need, I highly recommend going that route.

bjonnh commented 4 years ago

For an audio play ground, just buy one of those cheap USB soundcards there is already a lot to play with if you are <44.1khz or <96khz for the more expensive ones.