1
\$\begingroup\$

How to read 8-bit digital signal through an Agilent DSO? I just want to use the oscilloscope as a 8-bit ADC,so how to read the 8-bit digital signal from the DSO? Please help me, thank you very much!

It's DSO90254A, I just want to use the 8-bit digitalized binary signal, for example, 10100111.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Which Agilent DSO? They do about 50 different models. Please give us more information, like what model, a link to it's manual / data sheet, how you want to access the data, etc. \$\endgroup\$
    – Majenko
    Commented Nov 8, 2011 at 9:50
  • \$\begingroup\$ What do you want to do with the data, what is the context? \$\endgroup\$
    – starblue
    Commented Nov 8, 2011 at 12:39
  • \$\begingroup\$ It's DSO90254A, I just want to use the 8-bit digitalized binary signal, for example, 10100111. \$\endgroup\$
    – Polaris
    Commented Nov 8, 2011 at 13:09
  • \$\begingroup\$ ADC's are intended for reading analog signals (including the analog characteristics of "digital" signals.) What is the source you are trying to measure - analog? serial digital? parallel digital? In the parallel case you will need 8 or 9 ADC channels, in the serial case you may need 2 (or 3) if there is a clock or framing signal associated with the data needed to decode it. \$\endgroup\$ Commented Nov 8, 2011 at 14:54
  • \$\begingroup\$ the source is analog,i don't want the analog data get from the oscilloscope,but i want the 8bit data after ADC in the scope. \$\endgroup\$
    – Polaris
    Commented Nov 9, 2011 at 5:22

2 Answers 2

1
\$\begingroup\$

The manual for that scope is 2 gigabytes, so I'm not about to download it. That being said...

Most scopes, including a different Agilent scope, have a variety of ways to save the waveform to a USB thumb drive. Most of the time you'd save the waveform as a BMP or JPG file, although saving raw data as a text file or CSV file is common too. Play around with those settings to see if there is one that you'd like.

\$\endgroup\$
1
\$\begingroup\$

First, I'll assume you know how to send commands and receive data back from your scope using GPIB, USB, LAN, or RS-232. If you can't get the expected response from the "*IDN?" command, then you need to work out how to do that before you try to grab waveform data.

The key programming commands to do what you want are :WAVeform:FORMat and :WAVeform:DATA? (Lower case letters in GPIB commands in Agilent documentation indicate optional letters that make the command easier for people to read, but the instrument itself will ignore)

You'll have to read the manual to get a complete information about these, but basically :WAV:FORM BYTE will tell the scope to give you data as 8-bit integers, instead of scaled floating-point numbers. :WAV:DATA? will tell the scope to actually send you the data.

When reading the data in BYTE format, you will get the data in a packed binary format, which is described in the manual. Without knowing what programming language you are using to control the scope, its hard to give more information about how to decode it.

Another option that doesn't involve decoding the GPIB binary format, is to use :WAV:DATA? with ASCii format to get the floating-point ("analog") data, then use :WAVeform:YORigin? and :WAVeform:YINCrement? to get the scaling factors. From those, you can reverse the scaling operation to turn the floating-point data back into 8-bit integers that you seem to want.

Notice that this scope actually seems to support 16-bit raw data rather than 8-bit, which will affect how you interpret the :WAV:YINC? information. It's not clear if the 8 lsb's in the 16-bit data format are actually coming from the ADC's, if they're generated by correcting for known sampling errors, if they're all set to 0, or what.

\$\endgroup\$
2
  • \$\begingroup\$ Agilent also has the Agilent IO Libraries Suite, which provide programming interfaces from a PC (Windows at least). It can handle communication over a GPIB card, RS-232, Ethernet, and USB without the programmer having to directly interface with them in code. \$\endgroup\$
    – Joshua
    Commented Dec 12, 2011 at 22:03
  • \$\begingroup\$ Rather than fiddle with libraries, I found it much easier to use the scope as a webserver when tied to Ethernet: you can issue HTTP GET commands that issue GPIB-type requests and just receive the raw data that way. \$\endgroup\$
    – Jason S
    Commented Dec 12, 2011 at 22:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.