Keithley 7703 module eeprom image needed(from 2700 series DMM) - Page 1
Forum section: electronics / repair

author: TheSteve
author_rank: Unknown
timestamp: February 05, 2017, 06:21:04 am
content: I have a Keithley 2700 6.5 digit bench DMM that has two plugin modules - a 7703 and a 7705. The 7703 is never detected but the 7705 is. If I load the eeprom image from the 7705 into the 7703 then it detects it. I experimented a little and determined that the image is checksum protected. I am thinking the eeprom image in my 7703 card is corrupted. It looks fine in a hex editor but it would only take one bit/byte to mess it up.The eeprom is a 24C164 but can be easily read as a 24C16 by connecting power(5 volts)/ground and the two wires needed for I2C to the card connector. I can supply the pinouts if anyone has a 7703 card that can read the eeprom for me.Or if anyone wants to check out the two images and try to figure out how the checksum is calculated I have attached the files.

author: Smith
author_rank: Frequent Contributor
timestamp: February 05, 2017, 07:14:24 am
content: Unfortionately I cannot help you with the 7703 firmware. I think I still have a spare 7702 laying around at work. I might take a look at it's firmware the upcomming week IF my planning alows it.One verry far fetched option, but have you updated the 2700 firmware? If I remember correctly, some keithley FW updates where released to support newer cards.Have you tried contacting someone from Keithley/Tektronix? They helped me out with some firmware issues in the past.

author: TheSteve
author_rank: Unknown
timestamp: February 05, 2017, 07:27:24 am
content: The meter has the newest firmware already I do believe - B09Also at some point I am sure this meter used these cards so they should be supported.The 7705 which is working didn't work originally either. At some point it started working and being recognized. I read the eeprom image before and after and two bytes were changed. If I change it back to the original data it isn't recognized. Change the two bytes and it works perfect. So it seems like there is some magic combo that might get the 2700 to correct the cards. I have looked at the I2C data with my scope and the 2700 reads the eeproms from both plugins each boot. The 2700's calibration eeprom is also on the same bus, it never fails to read/work.I have attached the pinout to read the eeprom in case anyone can help out - read it as a 24C16

author: rx8pilot
author_rank: Super Contributor
timestamp: February 05, 2017, 07:58:50 am
content: I have a 7700 card in mine. Not sure if it would help at all.Sent from my horrible mobile....

author: picburner
author_rank: Frequent Contributor
timestamp: February 12, 2017, 09:33:39 am
content: The checksum is fine for both eeprom, it is calculated from address 200H to 667H, it is 6992H for 7703 and 8B77H for 7705 but could be something wrong outside of this range... or the checksum is calculated right but a byte inside could be out of range...

author: TheSteve
author_rank: Unknown
timestamp: February 12, 2017, 10:55:03 pm
content: Quote from: picburner on February 12, 2017, 09:33:39 ampicburner - thank you for your reply. I can confirm that data in other areas will prevent the card from being recognized/acknowledged by the 2700.My original 7705 file didn't work, then for some reason it started working. I have an eeprom dump from when it didn't work. It has two bytes changed outside of the checksummed area you listed compared to a working image.I have tried writing the original file back and sure enough the 2700 says it isn't installed. At some point the 2700 changed those bytes and it started working, how or why I don't know. I have experimented with a lot of button combos when turning the 2700 on hoping there is something to reset the cards. I may have gotten lucky once.I have attached the non-working 7705 file so it can be compared to working file.edit - I believe the problem is something in the first part of the file 0x000-1FFEdit 2 - I got it working!There is a two byte checksum verifying 0x10-0x66.It is a standard 16 bit checksum subtracted from FFFF and stored at 0x67 and 0x68I corrected the checksum(wonder what was changed or corrupted) and it is recognized and I can enable/disable channels).Edit 3 - well I got it recognized. I can tell it to open/close channels but the relays don't actually change. So either there is something corrupted in the config or there is a hardware fault. I can believe there is a config error as the checksum was so far off and the bytes in the header tell the 2700 what functions the card has. The 7705 has 40 channels and we see a 0x28, the 7703 has 32 channels and we see a 0x20. Without a good image it may never function properly even if recognized.

author: picburner
author_rank: Frequent Contributor
timestamp: February 13, 2017, 08:10:27 am
content: perfect, I had not seen the second checksum, that there is also a third at this point?Have you tried to talk to the card by GPIB?There are all the calibration commands for the plug-in module in the service manual at page 152 section B16.

author: TheSteve
author_rank: Unknown
timestamp: February 13, 2017, 08:27:25 am
content: If the rest of the eeprom is altered it seems to give an error at boot and clears it itself so there are just the two checksums.I have experimented with the front panel as well as via GPIB. With the checksum corrected I can tell it to close a relay but it doesn't do anything. For fun I tried the 7705 image and that does allow me to toggle some of the relays, so they do work but the card doesn't work properly.Had a look at the calibration of the 7700 card - it seems to be the only module that needs cal and it is for the temp sensor on it.