EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: c4757p on April 24, 2014, 01:35:13 pm
-
Simple question, but I haven't been able to find much of an answer:
I have an oscilloscope with a 17-year-old DS1644 Timekeeping RAM in it - well past the promised lifespan, and I want to replace it. I've got the new chip, and I've already verified that my programmer can read and write it with no problems.
Since the battery and RAM are sealed, and no external connections appear to exist to the internal battery rail, is it possible to just desolder the original chip, and expect to be able to read off its contents? Or should I be doing something more careful? I could try to hook something into the memory bus and capture the read transactions as the scope boots, but with the size of the memory, it would be seriously difficult to capture all of it. I don't have a logic analyzer with that kind of capture depth; I'd probably have to build something with a CPLD and some SRAM...
Has anyone done this before?
-
If the battery is good you can just lift it being careful not to short out the supply pins but make sure your programmer dose not do something stupid like short the pins on start of programming. I had this issue with a arcade board a while ago and it took me ages to borrow one to repair mine.
Its easy to check by programing some data onto your new device and checking it wont happen to the new one. The programer I used at the time was an old parallel Willem. You could also keep the old chip if you can remove the cover and get to the battery to replace it. If you want to know how to do that search Google for things like "suicide battery replacement".
Hope that helps
-
Yup, I did try programming the new device, it works fine. I was more wondering - what is the chance that the heat will cause data loss, and can the data (not power) pins be safely shorted while it's powered down?
-
Not sure shorting any of the pins on the Dallas chip will cause data loss but im pretty certain that shorting the power pins is a bad idea and my only explanation as to why my arcade board lost its data.
I wouldn't worry to much about heat if your used to un-soldering things the traces on the board will probably go before the chip. Just go easy on it.
-
How can you short the power pins since the host device is powered down that essentially would do exactly the same thing. Normally such an internal battery powered device has diodes protecting any leakage.
I would rather suspect an error in your programmer accidently erasing or modding the contents of the chip. That is why you should test your programmer first with the new chip, write a random verifiable pattern in it remove it wait a minute and read back and verify the data. Repeat a few times till you are sure then use the original chip.
-
Since the battery and RAM are sealed, and no external connections appear to exist to the internal battery rail, is it possible to just desolder the original chip, and expect to be able to read off its contents?
Yes. Doing this is pretty foolproof because the NVSRAM will remain disabled while no external power is applied no matter what the state is of its other pins including -CS.
Or should I be doing something more careful?
Take normal ESD precautions.
Has anyone done this before?
I have and failed but only because my programmer had issues reading the Dallas NVSRAM which I would have known had I tested it first. My programmer *did* work with the replacement memories that I used but they were of a different type.
-
How about connecting a new coin cell to the bottom of the PCB in parallel with the old battery pins? Those on-chip diodes should isolate you from the other sealed celll?
-
How about connecting a new coin cell to the bottom of the PCB in parallel with the old battery pins? Those on-chip diodes should isolate you from the other sealed celll?
The internal battery is isolated under all conditions but the on-chip diodes will not isolate an external battery from the rest of the external circuits.
I considered doing this before finding a better alternative but as it ends up, it will not work anyway. Internally the Dallas NVSRAMs may operate the supervisory circuit from only the internal battery so once it goes dead, the NVSRAM becomes inoperable whether external power is applied or not even though the contents remain. I tested this later on the Dallas NVSRAMs that I removed and could not make it work. The standby current was much too large and I assume the problem was the internal supervisory circuit.
-
There is another way but if you already have another original chip I would go that way as described earlier.
Then keep the old part and modify it like these guys below have done for future use (over another 17 years you probably can not get a new chip anymore as with so many other Dallas obsolete EOL parts :(
I have the same job to do this year on my old Tektronix scope, it has a RTC and SRAM from Dallas. It should have been forbidden to design electronics with such parts ;)
http://www.mcamafia.de/mcapage0/dsrework.htm (http://www.mcamafia.de/mcapage0/dsrework.htm)
http://www.walshcomptech.com/ps2/dallasrework.html (http://www.walshcomptech.com/ps2/dallasrework.html)
-
When I did it, it was with my Tektronix 2440 which uses a pair of Dallas DS1230AB-120 NVSRAMs which are 8kx8. I hate the whole concept of integrated batteries so my solution was to replace them with EEPROM base NVSRAMs from Cypress Semiconductor.
Of course that will not work if they are 2kx8 memories or if they include timekeeping functions.
Another alternative is to just forgo the timekeeping functions and replace them with NVSRAMs that lack them.
-
Thanks for all the replies :-+
I'll give this a try this weekend - hopefully you all are right and my cal data won't vanish! :P (Hmm - I wonder if there's a way to retrieve the constants in software. To the service manual!)
I'm not going to cut open the chip, as I plan to sell this scope in the somewhat near future and don't want it to look like an illustration out of Bodging for Dummies! (It /is/ a good solution for when they're not available anymore, though - I like the idea of modding the old one as a backup for when the new one fails.)
over another 17 years you probably can not get a new chip anymore as with so many other Dallas obsolete EOL parts
That's for damn sure - the $40 price tag it currently has is a very small step from "piss off!"
-
I'll give this a try this weekend - hopefully you all are right and my cal data won't vanish! :P (Hmm - I wonder if there's a way to retrieve the constants in software. To the service manual!)
I think this is possible over the GPIB interface but do not know the details. You might ask over on the Yahoo Tektronix email list.
On my 2440 I did not spend extra effort to preserve the calibration data because its calibration process is relatively easy.
-
On my 2440 I did not spend extra effort to preserve the calibration data because its calibration process is relatively easy.
The TDS380 might be as well - ridiculously so... Looking at the adjustment procedure in the service manual, it's actually very simple and straightforward. But it almost looks too simple to me, and there's no mention (not in the service manual nor the technical reference¸ which actually has schematics etc) of what you're supposed to do when the NVRAM dies or otherwise needs replacement. I'm worried there's an extra factory adjustment step or three not listed in the manual... :scared:
-
Bending nWE pin and shorting it to nearby VCC should prevent any ocassional write cycles in prommer
-
Bending nWE pin and shorting it to nearby VCC should prevent any ocassional write cycles in prommer
This was what I should have done when I did this procedure but it would not have saved me since my programmer was not able to read the NVSRAMs anyway. I suspect there was a timing problem but it worked with the replacement memories that I used.
-
Bending nWE pin and shorting it to nearby VCC should prevent any ocassional write cycles in prommer
use an "extender" socket in this case then you don't have to bend the pin too far. It prevents the pin a bit more from metal fatigue.
-
Half success.
Took out the old RAM, let it cool a bit, and stuck it in the programmer. It read all 0xff. It was still a bit warm, so I let it cool more - still read 0xff. So I figured that heat from desoldering killed it - maybe the battery only had a tiny bit of charge left (seven years past expectancy) and the heat increased leakage currents and drained it or something.
Went ahead and soldered in the new one, figuring I'd have to re-cal. No big deal if it's as easy as the manual indicates - I really just kind of assumed I wouldn't be able to do it because it's a 400 MHz scope, but a lot of it seems to be self-calibrating anyway.
Tried reading again, with success. I guess it shuts down when it gets hot or something, then comes back. Bit annoying, that I've already soldered in the new one...
But really, I'm happy - I have the data. If calibrating it is a failure, I can always build up an in-system programmer to stick onto the exposed memory bus and write the data in somehow. And if calibrating it is a success, I'll have a fresh cal! :-+
-
Tried reading again, with success. I guess it shuts down when it gets hot or something, then comes back. Bit annoying, that I've already soldered in the new one...
No socket? I would shame you but nobody mentioned it (I just assumed you would use one.) and maybe a high profile socket would not have fit anyway.
-
I do deserve shame for that one, yes. Honestly it didn't even occur to me. Though it would have been tricky to do properly - the chip mounts upside down, so it would be prone to sliding out unless something could hold it in place, but there's not much headroom above it for anything to do that.
Oh well - calibration does appear to be really easy.
I'll take solace in the fact that I can share any shame with the Tektronix engineer who selected that part, and also didn't choose to socket it, or for that matter give any way to backup and restore calibration...
-
No room for a socket and no convenient places to drill the 2 holes through the board to tie it to the socket?
-
I won't drill through the board because I'm not sure that I can see all the internal layers. It appears to have quite a few.
I probably could fit a socket, but I'm not going to desolder the chip again just to do it.
-
Just hold it to the light and see if there is a clear area......
-
Ground plane. Can't see what's behind it...
Anyway, like I said I'm not yanking the chip again. That was a $40 module, I'm not playing with it any more than I need to. It's in and it works.
-
Some of the other TDS oscilloscopes lack enough height for the rather tall Dallas NVSRAM in its "EDIP" package *and* a normal profile socket but a low profile socket will work. I did not have that problem with my 2440 if only because the replacement memory I used was in a standard 0.6" wide DIP package.
Leaf spring sockets usually have pretty good retention but I would have used a collet pin socket anyway and they have no problem grabbing on tightly.
With that said, I would not unsolder the part a second time either just to add a socket. Just do the calibration and declare victory.
-
How come the chip got so hot? Desolder one pin at a time and wait awhile in between.