Electronics > Repair
HP 3478A: How to read/write cal SRAM
ramon:
Thanks for those links, they have very useful information.
I am not looking for other gpib commands. I would like to identify the small set of functions that interface with the floating section. How it initiates requests (ohms, VDC, ...) and gets back the data. Also know all the fields of the calibration RAM, including the CRC/ECC algorithm too.
But as I don't have a logic analyzer it will be difficult.
I can try maybe to find out how the alphanumeric display works. I have seen that it is using Ports P20 to P23 (P23/PWO=1 Update display, P23/PWO=0 No update). That maybe will be the only way I have to find the correct strings into the ROM.
dfrederickson:
--- Quote from: ramon on May 22, 2017, 01:35:55 pm ---The calibration procedure needs so many kinds of expensive calibration devices (in AC,DC,ohms, etc...) that it doesn't make any sense to have such easy-to-turn calibration switch in the front panel. How many devices should have been uncalibrated by mistake?.
--- End quote ---
Our 3478's have a calibration sticker over the front-panel switch, plus, undocumented commands need to be sent, so I'd say not very many.
--- Quote ---Do they did that on purpose to increase earnings from maintenance services?
--- End quote ---
Most folks get their instruments calibrated by a third party, so probably not.
--- Quote from: MarkL on May 23, 2017, 02:30:25 am ---If you're trying to discover the CRC/ECC algorithm, I think you're going to need a logic analyzer attached to a running meter as I described previously.
--- End quote ---
I don't know the algorithm, but I do know the default values for the 3468:
0000000000000000
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000FFFF
000000000000000
So for a default gain of 1 (maybe saved as gain-1) and an offset of zero, the ECC checksum is 0xFFFF.
I suspect the 3478 checksum is similar.
nfmax:
Here is a short Python 3 program to download the calibration RAM and print it to stdout, using the tentatively identified formatting. It uses the PyVISA library and so should run on any platform that has a VISA implementation. I tested it on Windows 7, using the Keysight IO libraries with a 82357B USB/GPIB controller.
The VISA address of my DVM is hard-coded in the source, but it's easy enough to change.
It seems to work OK, but I am a novice Python programmer, and there are no guarantees!
WaveyDipole:
Thanks for this information :-+. Backing up thew CAL data was one of the first questions I asked when I got my meter. It was calibrated but the battery still looked original and a replacement seemed sensible sooner rather than later. Unfortunately this answer didn't come soon enough so after a bit of research I did the replacement without a backup, which was quite nerve racking. I was a major relief when I completed the task and got the 'SELF TEST OK' message on power up! :phew:
I have since written a program to control the 3478A. It still needs a bit of work on it but I am thinking of including the CAL backup/restore functionality into it. The only problem I have, is that I am using an Arduino based GPIB adapter. As far as I know, there is no NI driver for it, so I'm using direct COM port communication. I will upload the source somewhere when its ready though. It is written inn QT and although I'm currently working on Windows, I will also test it on Linux. In the meantime I will keep an eye on this thread for further developments.
dfrederickson:
--- Quote from: WaveyDipole on June 13, 2017, 05:46:51 pm ---As far as I know, there is no NI driver for it, so I'm using direct COM port communication.
--- End quote ---
Looks like an NI driver can be found here: http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=368
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version