A hole in HP 3577A HPIB code? - Page 1
Forum section: electronics / testgear

author: precaud
author_rank: Frequent Contributor
timestamp: May 09, 2019, 11:55:31 am
content: I'm looking at the HP 3577A HPIB command set, in preparation for writing a driver to dump results of log mag and phase sweeps to a computer for post-processing.Transferring the sweep results is done via the "Dump Trace" commands, DT1 and DT2.What I'm not seeing is any instruction for dumping the frequency array associated with the log sweep points.Am I missing something?Seems like a bizarre oversight to not provide that.Just for grins, I looked at the 3577B manual and I don't see it there, either.

author: free_electron
author_rank: Super Contributor
timestamp: May 09, 2019, 12:42:24 pm
content: i remember doing that using the cursor.set the cursor to start frequency and then execute the move to next grid command. then read the datapoint there

author: precaud
author_rank: Frequent Contributor
timestamp: May 09, 2019, 12:49:17 pm
content: That would be very slow for the entire 401-point sweep!I tried calculating each freq using ( log(stopfreq) - log(startfreq)) / 400 ) for the increment, but the frequencies didn't match the cursor readout. Close, but not exact.Also odd that they only allow 401-points for log sweeps. You can't define # of sweep points in log mode.

author: precaud
author_rank: Frequent Contributor
timestamp: May 11, 2019, 04:56:46 pm
content: Quote from: free_electron on May 09, 2019, 12:42:24 pmI tried several variations on this. It moves the marker correctly, but then the read doesn't fetch the correct freq value. What it returns is always the last value displayed on the crt.I assume by "move to next grid command" you meant "move (right or left) to target". But those don't make any difference.Any idea what command you used?The HPIB code for this thing is among the worst I've seen. It's as if they purposely crippled it.

author: precaud
author_rank: Frequent Contributor
timestamp: May 11, 2019, 05:54:33 pm
content: Never mind, I just got it. For log sweep, use "MKP" to position to first and last displayed points (MKP 0 and MKP 400) and dump marker position (MP1). No intermediate commands needed.

author: bson
author_rank: Unknown
timestamp: May 11, 2019, 07:18:48 pm
content: There's also DCH to read the display info, which includes the start freq, stop freq, marker, and more. The result looks something like this:'REF LEVEL 0.000dBm,/DIV 10.000dB,,,MARKER 101 049 500.000Hz,MAG(R) -15.668dBm,,,START 100 000.000Hz,STOP 200 000 000.000Hz,START 100 000.000Hz,STOP 200 000 000.000Hz,AMPTD -15.0dBm,,'The values are (amp = amplitude):QuoteBut they change depending on the function used (amplitude becomes phase data, etc).As a heads-up, at least my instrument returns oddly formed trace data for reflection measurements. The two traces become oddly interleaved, which may be firmware bug or it's documented someplace, but either way if the data doesn't make sense this is probably why.

author: precaud
author_rank: Frequent Contributor
timestamp: May 11, 2019, 07:46:00 pm
content: Thx for the heads-up, bson. I don't plan on doing any reflection measurements but you never know.DCH would have been a good last resort, but is definitely TMI for this app.I need to read up on the phase cal, one of the input channels has a gradual phase shift, maxing at about -35º at 200MHz.