Electronics > Repair
HP 3478A: How to read/write cal SRAM
<< < (36/41) > >>
WaveyDipole:
Having "slept on it" I concur that Prologix compatibility should be maintained as this was the intention from the start. Since the filter was ineffective in 0.49.14 and earlier and that didn't seem to do any harm, yet when 'fixed', it did cause unexpected problems, it seems the logical choice is to simply remove it. To that end the program statement in question has been simplified to just send the byte to GPIB. I have left the old line commented out in the code with a note to remind me not to re-enable it again! An update has now been published to the Github repository. Hopefully someone can tell me whether the cal data is now retrieved correctly as it was previously without needing to use ++eoi 1 ?
djrm:

--- Quote from: WaveyDipole on March 18, 2024, 07:22:11 pm ---Having "slept on it" I concur that Prologix compatibility should be maintained as this was the intention from the start. ... Hopefully someone can tell me whether the cal data is now retrieved correctly as it was previously without needing to use ++eoi 1 ?

--- End quote ---
Greetings,
Seems to work ok now, any particular test I should perform? attached is pulseview trace of successful data transfer from HP3478A.exe using Wine on Linux Mint.
 pulseview-hexdump-rawbytes-HP3478A-read-cal-AR488-v0.51.29.txt (17.18 kB - downloaded 95 times.)
Kind regards, David.
WaveyDipole:
Thanks for confirming. As regards tests, the only other checks I would do would be to make sure that the correct readings are returned and that the meter can be remote controlled. I doubt however, that the this change will have had any effect on those functions. I would expect them to continue working OK.

radar_macgyver:
I have a 3478A prototype version (at least, I think it's a 3478A, it has no label or serial number). I used a Prologix GPIB to Ethernet adapter and a Python script to read the calibration RAM, and it looks rather different from what others have posted here. Almost looks like it's "partially" calibrated, though it doesn't report an error on startup.

0000: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
0010: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
0020: 42 42 44 42 41 4c 4e 48  49 49 49 49 49 41 42 45 BBDBALNH IIIIIABE
0030: 4d 43 42 4b 48 40 40 40  40 40 40 42 44 44 41 44 MCBKH@@@ @@@BDDAD
0040: 4f 40 40 40 40 40 40 40  40 40 40 40 40 40 40 49 O@@@@@@@ @@@@@@@I
0050: 49 47 44 43 46 42 44 41  4c 45 4c 41 49 49 49 44 IGDCFBDA LELAIIID
0060: 42 47 41 4c 45 4c 42 4b  47 49 49 49 49 48 46 41 BGALELBK GIIIIHFA
0070: 4c 4c 42 41 4b 41 49 49  49 49 49 45 40 45 43 49 LLBAKAII IIIE@ECI
0080: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
0090: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00a0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00b0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00c0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00d0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00e0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII
00f0: 49 49 49 49 49 49 49 49  49 49 49 49 49 49 49 49 IIIIIIII IIIIIIII

Any ideas why it doesn't report an error? Or is this a quirk of the Prologix GPIB-Ethernet adapter? I did escape CR,NL,ESC and '+' (my code is attached).
pqass:
Radar, most of your cal records fail checksum. 
If it is a prototype then the software probably isn't the final release version; checksum validation likely disabled.
What does the sticker on the U502 ROM say?  Mine says: "03478-65501", next line: "D/C 8841"
However, have you compared it to another meter for each of the ranges?

Note: crc=ff means record passes validation.

--- Code: ---$ ./verify.sh radar.cal
000001 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 00: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  30 mV DC
00000e 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 01: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  300 mV DC
00001b 49 49 49 49 49 42 42 44 42 41 4c 4e 48  >IIIIIBBDBALNH< 02: raw_offset=999992 raw_gain=2421c offset=-000008 gain=1.024206 crc=12c  3 V DC
000028 49 49 49 49 49 41 42 45 4d 43 42 4b 48  >IIIIIABEMCBKH< 03: raw_offset=999991 raw_gain=25d32 offset=-000009 gain=1.024732 crc=ff  30 V DC
000035 40 40 40 40 40 40 42 44 44 41 44 4f 40  >@@@@@@BDDADO@< 04: raw_offset=000000 raw_gain=24414 offset=+000000 gain=1.024414 crc=ff  300 V DC
000042 40 40 40 40 40 40 40 40 40 40 40 40 40  >@@@@@@@@@@@@@< 05: raw_offset=000000 raw_gain=00000 offset=+000000 gain=1.000000 crc=00  <not used>
00004f 49 49 47 44 43 46 42 44 41 4c 45 4c 41  >IIGDCFBDALELA< 06: raw_offset=997436 raw_gain=241c5 offset=-002564 gain=1.024065 crc=ff  AC V
00005c 49 49 49 44 42 47 41 4c 45 4c 42 4b 47  >IIIDBGALELBKG< 07: raw_offset=999427 raw_gain=1c5c2 offset=-000573 gain=1.006462 crc=ff  30 Ohm 2W/4W
000069 49 49 49 49 48 46 41 4c 4c 42 41 4b 41  >IIIIHFALLBAKA< 08: raw_offset=999986 raw_gain=1cc21 offset=-000014 gain=1.005621 crc=ff  300 Ohm 2W/4W
000076 49 49 49 49 49 45 40 45 43 49 49 49 49  >IIIIIE@ECIIII< 09: raw_offset=999995 raw_gain=05399 offset=-000005 gain=1.005223 crc=e5  3 kOhm 2W/4W
000083 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 10: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  30 kOhm 2W/4W
000090 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 11: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  300 kOhm 2W/4W
00009d 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 12: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  3 MOhm 2W/4W
0000aa 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 13: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  30 MOhm 2W/4W
0000b7 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 14: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  300 mA DC
0000c4 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 15: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  3A DC
0000d1 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 16: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  <not used>
0000de 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 17: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  300 mA/3A AC
0000eb 49 49 49 49 49 49 49 49 49 49 49 49 49  >IIIIIIIIIIIII< 18: raw_offset=999999 raw_gain=99999 offset=-000001 gain=0.922223 crc=fc  <not used>
0000f8 49 49 49 49 49 49 49 49                 >IIIIIIII< 19: <padding>

--- End code ---
Attached is my verify.sh script (slightly updated from my #123 post; added switch to od command to show duplicate lines). 
Remove the .txt ending.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod