Author Topic: HP 3478A: How to read/write cal SRAM  (Read 74786 times)

0 Members and 1 Guest are viewing this topic.

Offline TaylorD93

  • Regular Contributor
  • *
  • Posts: 140
  • Country: gb
Re: HP 3478A: How to read/write cal SRAM
« Reply #200 on: September 07, 2024, 12:24:58 pm »
Just wanted to say thank you to all the work you guys have done, ive been able to backup my SRAM data via the GPIB

O@@@CHABCLOCM@@@
@@CFBBEOLMB@@@@@
DBBEMBNCIIIIICBB
@LDKKIIIIIIBBODC
JO@@@@@@@@@@@OO@
@@CEGBAODLLNIIII
HBAL@DEKKIIIIIHA
LONCIM@@@@@@ALOL
EMBIIIIII@EDN@KB
IIIIII@EDC@KM@@@
@@@@EDE@OAIIIIII
@EAMBKD@@@BBBCEN
@@NC@@@@BCCELLOL
K@@@@@@@@@@@OO@@
@CEGCC@O@MK@@@@@
@@@@@@OO@@@@@@@@

Now i just need to work out how the data is split up to complete the checksum.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 915
  • Country: ca
Re: HP 3478A: How to read/write cal SRAM
« Reply #201 on: September 07, 2024, 12:49:48 pm »
You're good.   All records have valid checksums.
See my verify.sh (Linux) script here.
It produces the following output with your cal data.
Code: [Select]
$ ./verify.sh TaylorD93.cal
000001 40 40 40 43 48 41 42 43 4c 4f 43 4d 40  >@@@CHABCLOCM@< 00: raw_offset=000381 raw_gain=23cf3 offset=+000381 gain=1.022593 cksum=ff (pass)  30 mV DC
00000e 40 40 40 40 43 46 42 42 45 4f 4c 4d 42  >@@@@CFBBEOLMB< 01: raw_offset=000036 raw_gain=225fc offset=+000036 gain=1.022486 cksum=ff (pass)  300 mV DC
00001b 40 40 40 40 40 44 42 42 45 4d 42 4e 43  >@@@@@DBBEMBNC< 02: raw_offset=000004 raw_gain=225d2 offset=+000004 gain=1.022472 cksum=ff (pass)  3 V DC
000028 49 49 49 49 49 43 42 42 40 4c 44 4b 4b  >IIIIICBB@LDKK< 03: raw_offset=999993 raw_gain=220c4 offset=-000007 gain=1.021964 cksum=ff (pass)  30 V DC
000035 49 49 49 49 49 49 42 42 4f 44 43 4a 4f  >IIIIIIBBODCJO< 04: raw_offset=999999 raw_gain=22f43 offset=-000001 gain=1.021943 cksum=ff (pass)  300 V DC
000042 40 40 40 40 40 40 40 40 40 40 40 4f 4f  >@@@@@@@@@@@OO< 05: raw_offset=000000 raw_gain=00000 offset=+000000 gain=1.000000 cksum=ff (pass)  <not used>
00004f 40 40 40 43 45 47 42 41 4f 44 4c 4c 4e  >@@@CEGBAODLLN< 06: raw_offset=000357 raw_gain=21f4c offset=+000357 gain=1.020936 cksum=ff (pass)  AC V
00005c 49 49 49 49 48 42 41 4c 40 44 45 4b 4b  >IIIIHBAL@DEKK< 07: raw_offset=999982 raw_gain=1c045 offset=-000018 gain=1.006045 cksum=ff (pass)  30 Ohm 2W/4W
000069 49 49 49 49 49 48 41 4c 4f 4e 43 49 4d  >IIIIIHALONCIM< 08: raw_offset=999998 raw_gain=1cfe3 offset=-000002 gain=1.005883 cksum=ff (pass)  300 Ohm 2W/4W
000076 40 40 40 40 40 40 41 4c 4f 4c 45 4d 42  >@@@@@@ALOLEMB< 09: raw_offset=000000 raw_gain=1cfc5 offset=+000000 gain=1.005865 cksum=ff (pass)  3 kOhm 2W/4W
000083 49 49 49 49 49 49 40 45 44 4e 40 4b 42  >IIIIII@EDN@KB< 10: raw_offset=999999 raw_gain=054e0 offset=-000001 gain=1.005380 cksum=ff (pass)  30 kOhm 2W/4W
000090 49 49 49 49 49 49 40 45 44 43 40 4b 4d  >IIIIII@EDC@KM< 11: raw_offset=999999 raw_gain=05430 offset=-000001 gain=1.005430 cksum=ff (pass)  300 kOhm 2W/4W
00009d 40 40 40 40 40 40 40 45 44 45 40 4f 41  >@@@@@@@EDE@OA< 12: raw_offset=000000 raw_gain=05450 offset=+000000 gain=1.005450 cksum=ff (pass)  3 MOhm 2W/4W
0000aa 49 49 49 49 49 49 40 45 41 4d 42 4b 44  >IIIIII@EAMBKD< 13: raw_offset=999999 raw_gain=051d2 offset=-000001 gain=1.005072 cksum=ff (pass)  30 MOhm 2W/4W
0000b7 40 40 40 42 42 42 43 45 4e 40 40 4e 43  >@@@BBBCEN@@NC< 14: raw_offset=000222 raw_gain=35e00 offset=+000222 gain=1.034800 cksum=ff (pass)  300 mA DC
0000c4 40 40 40 40 42 43 43 45 4c 4c 4f 4c 4b  >@@@@BCCELLOLK< 15: raw_offset=000023 raw_gain=35ccf offset=+000023 gain=1.034559 cksum=ff (pass)  3A DC
0000d1 40 40 40 40 40 40 40 40 40 40 40 4f 4f  >@@@@@@@@@@@OO< 16: raw_offset=000000 raw_gain=00000 offset=+000000 gain=1.000000 cksum=ff (pass)  <not used>
0000de 40 40 40 43 45 47 43 43 40 4f 40 4d 4b  >@@@CEGCC@O@MK< 17: raw_offset=000357 raw_gain=330f0 offset=+000357 gain=1.032990 cksum=ff (pass)  300 mA/3A AC
0000eb 40 40 40 40 40 40 40 40 40 40 40 4f 4f  >@@@@@@@@@@@OO< 18: raw_offset=000000 raw_gain=00000 offset=+000000 gain=1.000000 cksum=ff (pass)  <not used>
0000f8 40 40 40 40 40 40 40 40                 >@@@@@@@@< 19: <padding>
« Last Edit: September 07, 2024, 12:51:43 pm by pqass »
 
The following users thanked this post: TaylorD93

Offline TaylorD93

  • Regular Contributor
  • *
  • Posts: 140
  • Country: gb
Re: HP 3478A: How to read/write cal SRAM
« Reply #202 on: September 07, 2024, 12:56:17 pm »
thanks!

One question i do have, the first line of my data started with O@@@ but i see the export from you script has removed that first character.

Why was the first character removed? how did you know?
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 915
  • Country: ca
Re: HP 3478A: How to read/write cal SRAM
« Reply #203 on: September 07, 2024, 01:44:42 pm »
One question i do have, the first line of my data started with O@@@ but i see the export from you script has removed that first character.

Why was the first character removed? how did you know?
The 13 byte cal records begin on the 2nd byte.
The 1st byte is used to detect if the (front panel) cal switch is in the write position.
The cal switch enables/disables the /WR line to the cal RAM so if the meter can change the 1st byte then the cal switch is in "calibrate" mode.
 
The following users thanked this post: voltsandjolts, TaylorD93


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf