Electronics > Repair
HP 3478A: How to read/write cal SRAM
<< < (10/41) > >>
pigrew:
Sounds good. Ivi.Visa is the library I use to connect to the equipment. It's a fairly new library (within the last two years), and I linked with version 5.8 which may mean that you'd need to update your GPIB drivers (Keysight or NI) to get my binary to work. The GPIB drivers should also install IVI.Visa library.
Squiddaddy:
Miti,
Did you replace your battery while powered on, or did you back up the ram, change battery, and then restore ram?
I backed up my ram, but haven't changed out the battery yet. Guess I'm chicken. LOL :D
fenugrec:
Nice !
can't wait to try this on my unit. In the meantime I've written a small utility that verifies checksums and dumps each cal "entry" . Not super useful yet but it's mainly a starting point for when we figure out what each cal entry does.

Code is here for anyone interested : https://github.com/fenugrec/hp3478a_utils

Miti:

--- Quote from: Squiddaddy on March 08, 2018, 05:35:39 pm ---Miti,
Did you replace your battery while powered on, or did you back up the ram, change battery, and then restore ram?
I backed up my ram, but haven't changed out the battery yet. Guess I'm chicken. LOL :D

--- End quote ---

I replaced the batteries on two meters with the power on, after I saved the RAM using both, Python and Windows applications. I plugged the soldering station into a UPS disconnected from AC. Make sure that you also disconnect any other load from the UPS otherwise you may have grounding through that load. For example if a PC is connected to the UPS but the monitor is plugged into the wall, you're grounded.
I didn't need to restore after, all went well. I used Kapton tape to isolate everything around the battery terminals on the PCB, only the "operation" site was exposed like you see in surgeries. :-DMM
The funny thing is that less than an hour after the "surgery" we had a power outage for about a minute.  :-DD Man that was close!
Before I had the guts to do it, I tried the backup/restore on another meter from work that is not used anymore, the type with transformers, mine are newer, with opto couplers and the C application works.
I modified the file and I've got an "Uncalibrated", then I restored it and I've got "Self test OK". One little detail though, when you copy/paste the data from the application window into a text file, place the cursor one row below the last row of data. Do the same when you restore the data, basically copy the last new line or carriage return, otherwise it doesn't work.
I've got the batteries from Sayal (in Toronto) STOCK No. BCC-4194, 3.6V.
I'm not sure if they needed replacement though, both old Panasonic batteries measured over 3.3V and the date code seem to be 2003 . Anyway, it's done,they should be good for another 10 -15 years at least.
The next project, replacing my Tek. 2445B battery backed calibration RAM with F-RAM.
lmester:

--- Quote from: MarkL on April 03, 2017, 02:33:56 pm ---I found a way to read and write the cal SRAM on the 3478A via the GPIB interface.  It's an old question on how to (easily) backup the calibration on these devices, and I'm not aware that anyone has figured it out yet.

I was inspired to look for hidden GPIB commands by this post:


--- End quote ---

MarkL,

Great job! I'll no longer have to worry about a dead battery killing my 3478A calibration!

I've just recently found this thread.  I don't check EEVBLOG very often. Im very late geting to this party  :(

The user "fenugrec" brought this topic back up to the top of the list. That's how I noticed it. Even better, "fenugrec" has a link to a C program that he wrote that can decode/verify the checksums for the 3478A calibration data. I've added his checksum algorithm into my meter control software. I'm using BBC BASIC for my windows program. This was not just a code copy & paste. I had to convert  his C code into BBC BASIC code. So far, my tests are good. Checksums are correct.

 Below are the 256 nibbles of cal data from my meter and, next, some debug data from a test of  my version of "fengurec" 's checsum algorithm.


I can put up a link to my HP3478A program if anyone is interested.  My software will only work with Prologix adapters or clones that support the Proligix commands.


--- Code: ---@@@@CA@BLLLNLG@@@@CABLLCOLO@@@@@DBLLOELMIIIIIDAEBAOKF@@@@@@AEBMNML@@@@@@@@@@@OOIIIE@BADODEL@IIII@D@E@MNKGIIIIIA@EDNNJLIIIIII@ECDDKIIIIIII@EABLKEIIIIII@EBBOKAIIIIII@EBMAKDIIIIII@EBDOJO@@@BF@CNOE@MB@@@@BECN@@MMJ@@@@@@@@@@@OOIIIE@BCLCOBKJ@@@@@@@@@@@OO@@@@@@@@




Calibration data checksum test:
@@@CA@BLLLNLG : CkSum = (199 + 56) Checksum OK.
@@@@CABLLCOLO : CkSum = (207 + 48) Checksum OK.
@@@@@DBLLOELM : CkSum = (205 + 50) Checksum OK.
IIIIIDAEBAOKF : CkSum = (182 + 73) Checksum OK.
@@@@@@AEBMNML : CkSum = (220 + 35) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.
IIIE@BADODEL@ : CkSum = (192 + 63) Checksum OK.
IIII@D@E@MNKG : CkSum = (183 + 72) Checksum OK.
IIIIIA@EDNNJL : CkSum = (172 + 83) Checksum OK.
IIIIII@ECDDKI : CkSum = (185 + 70) Checksum OK.
IIIIII@EABLKE : CkSum = (181 + 74) Checksum OK.
IIIIII@EBBOKA : CkSum = (177 + 78) Checksum OK.
IIIIII@EBMAKD : CkSum = (180 + 75) Checksum OK.
IIIIII@EBDOJO : CkSum = (175 + 80) Checksum OK.
@@@BF@CNOE@MB : CkSum = (210 + 45) Checksum OK.
@@@@BECN@@MMJ : CkSum = (218 + 37) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.
IIIE@BCLCOBKJ : CkSum = (186 + 69) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 + 0) Checksum OK.


--- End code ---
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