So, i've embarked on the repair of a TDS540B. This one is in good cosmetic condition, and after some work and tweaking all the controls now behave, and all the channels are working, with SPC succeeding giving me perfectly useable channels.
So if I ignore some issues, it's a working scope...
However, the reality is there are issues lurking, specifically around the area of the EEPROM calibration data, and whatever should be stored in the Dallas chips looks to be potentially dodgy.
The symptoms are a '250 nv storage too small, more bytes requested than available' message in the logs along with 'diagnostic test failure, extended cal librarian reset'. I believe these indicate problems talking to the EEPROMs, so maybe I should be replacing the 24C02s and attempting to backup their current contents...
However, i've dumped the dalas chips, and both dumps fail the checksum tests when 'TDSNvramChecksumVerifier' is run against them (from the tektools github repo).
So my questions for those who've been here before are:
1) Do I first try and track down suitable replacement images for the Dalas chips, and could the fact these are failing CRC checks cause some issues with the EEPROMs to appear (but in reality not be the case)? No point removing and potentially deleting the calibration data if this is the case.
2) I soldered connections to the I2C bus for the 24C02 chips in order to see if the scope accessed them, and what exactly was going on. The results were that there was an initial attempt to read 0xA0/0x08, which succeeded, but a second attempt to set the address to 0xA1 failed was not acknowledged by the chip, and it looks like the scope retries 6 times before failing. Am I right to assume this is a startup problem that is likely to be the cause of the failure to read the calibration data (probably a failed 24C02)?
I've attached images from the first part of the read that succeeds, then the failure case:
If this is the case, i'm not sure which of the two chips the failure corresponds to, but chances are, replacing both is the right course of action in this situation...
3) If I do replace the 24C02 chips, what should I program into them? My understanding is that I can probably dump default calibration values via GPIB, and this is likely to be what the scope is currently running with given the failure i'm seeing at startup? If however, having removed the chips I find that I can extract the data from one of them but not the other, should I mix and match, and use this extracted data for one of the chips and the default image for the other?
4) Annoyingly when the CPU gives up reading the data from the 24C02 chips, it keeps the clock line low, so this means I can't inject my own clock and data and extract the data from the chips after the instrument has booted. Is there any other way to get the instrumented booted up but to keep the processor off the I2C bus, so that I can inject and capture the data with the chips in situ? If so, i'd be able to attempt to extract the data before I desolder them and possibly damage them, giving me another safety net in case I damage them in the extraction process. Could I run the scope, for example, with the link between the processor and acquisision boards removed without causing any problems?
Anyhow, thanks for any advice, and if anyone can point me at clean 540B NVRAM images for me to push into the Dallas chips, that would be a great help (i'll need these even if I do this after the acquisition board replacement)