Products > Test Equipment

Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)

<< < (48/91) > >>

joeqsmith:

--- Quote from: garrettm on February 10, 2021, 12:40:15 pm ---I found the secret! This may also work for joeqsmith's bit serial interface since he said he received the first binary payload when entering into HS mode.
...
I assume the serial interface can be tricked into sending binary data using the Q1 trigger as I did with my gimped GPIB bus.
...

--- End quote ---

Thanks.  I'll give it a try.   

garrettm:

--- Quote from: joeqsmith on February 10, 2021, 12:56:37 pm ---Thanks.  I'll give it a try.

--- End quote ---

If that doesn't work, try turning off the display and toggling ! twice (off, and back on) for each reading received. A bit of a hack, but you should see more than 60 samples per second this way.

So

D! 
//save reading

Then loop

!
!
//save reading

Seemed to work okay when I tried it.

SilverSolder:

--- Quote from: garrettm on February 10, 2021, 12:40:15 pm ---I found the secret! This may also work for joeqsmith's bit serial interface since he said he received the first binary payload when entering into HS mode.

Since I can't directly put the remote instrument into talk mode, I used the "talk-back on time out" feature of the Serial488A and the Q1 triggering feature to avoid sending ? commands that pull the instrument out of talk mode.

By using an external signal generator I was able to trigger the DMM to 360 samples/s! A new record! However, I have an issue where it pauses on occasion that I need to look into. But I've proven that high speed transfers are possible and might actually achieve the touted 500 samples per second with some massaging.

To test, send

S0JT1@<CR>
%Q1@<CR>
!

and use the external trigger input while monitoring the scan advance.

I assume the serial interface can be tricked into sending binary data using the Q1 trigger as I did with my gimped GPIB bus.

Fast acquisition on the 8505/6A is not a fantasy anymore!

--- End quote ---

Nice one - congratulations on cracking the nut!  :)

I only just got my GPIB bus back together last night, hobbling along with a Putty session - more like 1 message per ten minutes than 500 per second!  :D

I also use a serial GPIB adapter, it may also have to be "tricked" like you are doing.

garrettm:
Been doing a little work on figuring out the 3-byte binary data. Here's what I came up with to turn it into a double using C++ unions and structs. One could do it all with bitwise operations, masking etc. but this looks the cleanest to me. At 500 samples/s max, speed really isn't a concern. Due to floating point denormals, the conversion operations need to be in the order shown, otherwise it's a mess figuring out the exponent and I merged part of the exponent with the mantissa to get the array. The err variable is, what I assume, to be used for determining overflow at the ADC. So it probably should be checked before committing to any further work decoding the binary payload.


--- Code: ---#include <inttypes.h>

typedef union {
  struct {
uint32_t f;    // b0-b31
        uint8_t  b[3]; // b32-b55
uint8_t  e :7; // b56-b62
bool     s :1; // b63
  };
  double r = 1;        // set FP exponent bits
} adc_t;

typedef union {
  struct {
    uint8_t f :4; // fraction bits
    bool    i :1; // integer bit
    bool    e :1; // error bit
    bool    s :2; // sign bits
  };
  uint8_t b;
} msb_t;

msb_t B1;
adc_t val;
   
        B1.b = 0b00001000;    // 1st binary byte
bool    err  = !B1.s == B1.e; // ADC overflow check
uint8_t B2   = 0b01000000;    // 2nd binary byte
uint8_t B3   = 0b00000001;    // 3rd binary byte

val.b[0]  =  B3;   // fraction bits, b0-b7
val.b[1]  =  B2;   // fraction bits, b8-b15
val.b[2] |=  B1.f; // fraction bits, b16-b19
val.r    -= !B1.i; // integer portion / FP exponent, b20
val.s     =  B1.s; // sign, b21
--- End code ---

m k:

--- Quote from: SilverSolder on February 08, 2021, 01:01:31 am ---
By the way, what is the recommended method for pulling and inserting these kinds of chips out of / into their sockets?  It seems a challenge to avoid bending pins...

--- End quote ---

I've used simple IC crowbar extractor through the decades.
Just a plate that is bent twice, long L and sharp corner on the other side.
Seems to be so simple that my search is failing.

One other thing is that old sockets are bad.
Sometimes their single side spring inserts are coming out with the pin and then it's not good ever again.

Putting them back is without any tools and pins bent against the table if needed.
Extractor and pliers can do the other directions, sharply sideways can be one before the last.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod