Electronics > Repair
Has anyone replaced HP8591(E) SRAM by FRAM?
Miti:
In parallel with the RAM board design I’m thinking of a solution to copy the content of the HP module into my FRAM module. I don’t want to go through the pain of entering the calibration constants and the EMC personality. I’m thinking of two possible (approachable) solutions:
1. Make an adapter from the Molex connector to a DIL connector, together with some logic as needed, and use a programmer, such as TL866, to read and write the memory. Select a 5V 256k x 16 flash for the device.
This would be the preferred solution to save the content in a binary file.
2. Make an adapter with two Molex connectors and a header for an Arduino Mega 2560. I would connect both modules in the same time, data and address lines are connected together, and Arduino would give the address lines and the control signals to copy from the source into the destination. The disadvantage of this approach is that it would be a blind copy.
I would prefer the first approach but for that I would need to know the pinout of the adapter used with TL866. For example AM29F400 is a 5V only flash that seems to be a good candidate but needs an adapter from 44 pin SOP or from 48 pin TSOp to 40 pin ZIF socket and I don’t have the pinout or the schematic.
Does anyone have the schematic of such adapter?
Cheers,
Miti
MarkL:
--- Quote from: Miti on January 15, 2025, 08:13:33 pm ---In parallel with the RAM board design I’m thinking of a solution to copy the content of the HP module into my FRAM module. I don’t want to go through the pain of entering the calibration constants and the EMC personality. I’m thinking of two possible (approachable) solutions:
1. Make an adapter from the Molex connector to a DIL connector, together with some logic as needed, and use a programmer, such as TL866, to read and write the memory. Select a 5V 256k x 16 flash for the device.
This would be the preferred solution to save the content in a binary file.
2. Make an adapter with two Molex connectors and a header for an Arduino Mega 2560. I would connect both modules in the same time, data lines are connected together, and Arduino would give the address lines and the control signals to copy from the source into the destination. The disadvantage of this approach is that it would be a blind copy.
I would prefer the first approach but for that I would need to know the pinout of the adapter used with TL866. For example AM29F400 is a 5V only flash that seems to be a good candidate but needs an adapter from 44 pin SOP or from 48 pin TSOp to 40 pin ZIF socket and I don’t have the pinout or the schematic.
Does anyone have the schematic of such adapter?
Cheers,
Miti
--- End quote ---
I've done approach #2 with a Silabs C8051F581, except I made the processor spit out on its serial port a hex dump of what it was reading and then captured that on a computer. So, I ended up with a binary image of the SRAM. See:
https://www.eevblog.com/forum/testgear/hacking-old-hp-spectrum-analyzers/msg1013805/#msg1013805
I had to do it in 2 or 4 passes because the Silabs part did not have enough GPIO pins. If I were to do it again, I would use something with enough pins to cover all the address and data pins, like a STM32F767 on a NUCELO dev board (NUCLEO-F767ZI, about USD$25). The GPIO pins on the STM32F767 are almost all 5V tolerant (109 out of 112 pins), so you could go with direct jumpers with no intervening logic or current limiting resistors. Since you're dealing with SRAM, there are no timing issues and you can go as slow as you want.
I did not do the SRAM writer part, but once the SRAM binary image was available, it would be easy to plug the connector into the new SRAM and go the other way. The STM32F767 has 2MB of flash, so once you have the SRAM image, you could build it into the binary, load it into the STM32F767, and proceed with the writing.
The EMC personality and flatness correction constants can both be reloaded via GPIB, but I agree it is a pain. The EMC personality can also be copied to an intermediate 128k RAM card (HP 85702A), and then copied back, but they are hard to find for sane prices.
Miti:
--- Quote from: MarkL on January 15, 2025, 09:58:17 pm ---I've done approach #2 with a Silabs C8051F581, except I made the processor spit out on its serial port a hex dump of what it was reading and then captured that on a computer. So, I ended up with a binary image of the SRAM. See:
https://www.eevblog.com/forum/testgear/hacking-old-hp-spectrum-analyzers/msg1013805/#msg1013805
I had to do it in 2 or 4 passes because the Silabs part did not have enough GPIO pins. If I were to do it again, I would use something with enough pins to cover all the address and data pins, like a STM32F767 on a NUCELO dev board (NUCLEO-F767ZI, about USD$25). The GPIO pins on the STM32F767 are almost all 5V tolerant (109 out of 112 pins), so you could go with direct jumpers with no intervening logic or current limiting resistors. Since you're dealing with SRAM, there are no timing issues and you can go as slow as you want.
I did not do the SRAM writer part, but once the SRAM binary image was available, it would be easy to plug the connector into the new SRAM and go the other way. The STM32F767 has 2MB of flash, so once you have the SRAM image, you could build it into the binary, load it into the STM32F767, and proceed with the writing.
The EMC personality and flatness correction constants can both be reloaded via GPIB, but I agree it is a pain. The EMC personality can also be copied to an intermediate 128k RAM card (HP 85702A), and then copied back, but they are hard to find for sane prices.
--- End quote ---
Isn't this more like approach #1 but using the Silabs instead of the programmer?
In approach #2 the Arduino boards does not see the data, it only generates the addresses and the control signals for both, source and destination.
MarkL:
--- Quote from: Miti on January 15, 2025, 11:49:48 pm ---...
Isn't this more like approach #1 but using the Silabs instead of the programmer?
In approach #2 the Arduino boards does not see the data, it only generates the addresses and the control signals for both, source and destination.
--- End quote ---
Yes. I was seeing the difference between your approaches as using a processor vs. using a programmer. But I get it now - #2 goes back-to-back with the modules.
MarkL:
The programmer approach is a good idea.
Since the memory module is writable on a byte basis, you could read/write the image in two slices, first lower bytes and then upper bytes. On the TL866, you could select a 256k x 8 NVRAM chip, such as the 5V Dallas DS1249AB or DS1249Y. The DS1249 is a 32-pin DIP and does not need a mystery adapter, and I think is supported by the TL866 (and a lot of other programmers).
If you wanted a contiguous SRAM image for some reason, there are tools to re-interleave the lower and upper byte-wide images.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version