Author Topic: 3478A FRAM modification  (Read 25793 times)

0 Members and 5 Guests are viewing this topic.

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1742
  • Country: ca
Re: 3478A FRAM modification
« Reply #25 on: March 20, 2024, 03:33:24 pm »
Nicely done mod.  I have a simple change for new builds that will increase endurance 8x.  Might be overkill, but the meter does constantly read the SRAM.

Because the FRAM is organized into 8 byte rows, a read of any byte causes a destructive read/write of all 8 bytes in the row.  Reading 8 consecutive bytes causes 8 destructive read/writes of the same row.

Putting only 1 value on each row eliminates this issue.  Simply use address lines A[10:3] and connect A[2:0] to gnd.

Very interesting and valid point. But… See a screenshot from the FM16W08 data sheet.

2079920-0

Cheers,
Miti
Fear does not stop death, it stops life.
 

Offline Dan N

  • Contributor
  • Posts: 47
  • Country: us
Re: 3478A FRAM modification
« Reply #26 on: April 09, 2024, 08:05:38 pm »
Building on the good work of wolfalex and miti, I designed my own pcb for a couple of reasons:  I want it as small as possible and I want the overhang on the left side keeping the right side free for any future EPROM replacement/upgrade adapter.  I also included my row mod (2 posts above) to put only 1 value on each row.

First day installed and testing:  read/write cal data worked, with 5V rail at 5.069V, SRAM VCC was 4.796V, FRAM VCC is 4.833V so drawing less current through the diode.

For the glue logic I used multi-function logic (74LVC1G57) to get the exact functions I wanted and squeeze everything between the DIP pins.  May have slightly less logic-H margin than an "official" TTL compatible input, but works for now and will see if further testing shows any issues.

As wolfalex mentions on his website, I installed a resistor in place of the battery (see pic) to keep a comparator input from floating.

EDIT:  this pcb shared on OSHPark
« Last Edit: August 03, 2025, 05:47:27 pm by Dan N »
 
The following users thanked this post: Miti, edavid

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1742
  • Country: ca
Re: 3478A FRAM modification
« Reply #27 on: April 11, 2024, 02:56:35 pm »
Thanks Dan, looks good!

Only one concern. On the Reset line, you basically short circuit a 1uF capacitor, potentially charged to 5V. MCP120 data sheet doesn’t seem to specify a maximum output current but it could give a significant spike.
That’s the reason I used a transistor that can take few hundreds mA. Still not ideal, I should have used a current limiting resistor series.

Cheers,
Miti
Fear does not stop death, it stops life.
 

Offline Dan N

  • Contributor
  • Posts: 47
  • Country: us
Re: 3478A FRAM modification
« Reply #28 on: April 11, 2024, 08:15:44 pm »
I was also concerned about the current sink limit.  Top priority is the ability to pull the reset down fast enough to prevent spurious writes on power-down, and even that is only an issue if the cal switch is enabled.

I looked at the current sink chart for the LM339 in the original reset circuit and it maxes out at 16mA before dropping out of saturation and then the voltage rapidly climbs past 1V.  The MCP120 chart shows it's below 600mV at 16mA so the MCP120 should pull reset down faster than the LM339.

I'm less certain of this calculation but peak current shouldn't be an issue.  From the same MCP120 output chart the equivalent resistance is 30-40ohm (increases at higher current).  Discharge time should be <150uS.

EDIT:  I scoped CE2 (reset) and it drops to 2v @ 55uS, 1V @ 80uS, 0V @ 146uS.  My adapter is soldered in so I have no way to compare with the old LM339 reset.

« Last Edit: April 12, 2024, 01:06:20 am by Dan N »
 

Offline Dan N

  • Contributor
  • Posts: 47
  • Country: us
Re: 3478A FRAM modification
« Reply #29 on: April 12, 2024, 03:47:28 pm »
All versions of the FRAM mod add a new reset circuit onto the FRAM VCC supply which comes through a diode from the regulated +5V rail while the original was directly on the unregulated 5V (really 13V).  I assume the regulated rail has more bulk capacitance and drops slower than the unregulated rail, and the diode can keep the FRAM VCC higher than the cpu +5V rail, so the original reset may trigger sooner at power-down.

I wanted to confirm that the new reset circuit shuts down the cpu before its supply falls below 4.5V.  The attached scope screenshot shows that it does.  Yellow is CE2 (reset), purple is ALE (cpu activity), blue is the cpu +5V rail.  The FRAM VCC drops enough for the MCP120 supervisor to trigger reset while the cpu +5v rail is at 4.5V and 89uS (35 instructions) later the cpu halts.  The +5V rail doesn't drop any measurable amount on this trace.

So all versions of this mod should be good.  :-+
« Last Edit: April 12, 2024, 07:53:01 pm by Dan N »
 
The following users thanked this post: edavid

Offline LooseJunkHater

  • Frequent Contributor
  • **
  • Posts: 529
  • Country: de
Re: 3478A FRAM modification
« Reply #30 on: November 24, 2025, 04:35:29 pm »
Building on the good work of wolfalex and miti, I designed my own pcb for a couple of reasons:  I want it as small as possible and I want the overhang on the left side keeping the right side free for any future EPROM replacement/upgrade adapter.  I also included my row mod (2 posts above) to put only 1 value on each row.

First day installed and testing:  read/write cal data worked, with 5V rail at 5.069V, SRAM VCC was 4.796V, FRAM VCC is 4.833V so drawing less current through the diode.

For the glue logic I used multi-function logic (74LVC1G57) to get the exact functions I wanted and squeeze everything between the DIP pins.  May have slightly less logic-H margin than an "official" TTL compatible input, but works for now and will see if further testing shows any issues.

As wolfalex mentions on his website, I installed a resistor in place of the battery (see pic) to keep a comparator input from floating.

EDIT:  this pcb shared on OSHPark

I know this is a bit of an old topic, but I'm considering making this PCB and I'm wondering if you plan to share the other PCB board files, as I'm thinking of modifying the layout slightly.

Additionally, I assume this mod has worked fine for the 1year+ that you've been using it? No problems introduced from adding a resistor to where the battery was previously located?
 

Offline Dan N

  • Contributor
  • Posts: 47
  • Country: us
Re: 3478A FRAM modification
« Reply #31 on: November 24, 2025, 11:38:53 pm »
I know this is a bit of an old topic, but I'm considering making this PCB and I'm wondering if you plan to share the other PCB board files, as I'm thinking of modifying the layout slightly.

Additionally, I assume this mod has worked fine for the 1year+ that you've been using it? No problems introduced from adding a resistor to where the battery was previously located?

My meter with this mod worked with no problems until I traded it in for something else.  I now have another 3478A (sealed with valid calibration until next year, haven't opened it) I got in a trade/package deal.  When the calibration expires I'll add my FRAM mod to it using one of my pcb from the original order.

I know of at least one person in northern Europe that ordered this pcb from the OSHPark link, assembled and installed it, and reports it's working with no problems.  That's probably the cheapest option.

The pcb is very simple--no critical layout or even tight routing spots.  I don't plan to post the KiCad files (would take time to make a clean distributable project).
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1742
  • Country: ca
Re: 3478A FRAM modification
« Reply #32 on: November 25, 2025, 12:05:36 pm »

I know this is a bit of an old topic, but I'm considering making this PCB and I'm wondering if you plan to share the other PCB board files, as I'm thinking of modifying the layout slightly.

Additionally, I assume this mod has worked fine for the 1year+ that you've been using it? No problems introduced from adding a resistor to where the battery was previously located?

See if you like this PCB. It works well in two meters, one used almost daily. It is basically Dan's schematic, with a transistor on the reset line and four sections in the FRAM, selectable through jumpers.
Warning !  0402 parts used...
« Last Edit: November 25, 2025, 12:22:39 pm by Miti »
Fear does not stop death, it stops life.
 
The following users thanked this post: LooseJunkHater, Dan N

Offline LooseJunkHater

  • Frequent Contributor
  • **
  • Posts: 529
  • Country: de
Re: 3478A FRAM modification
« Reply #33 on: November 25, 2025, 05:27:25 pm »

I know this is a bit of an old topic, but I'm considering making this PCB and I'm wondering if you plan to share the other PCB board files, as I'm thinking of modifying the layout slightly.

Additionally, I assume this mod has worked fine for the 1year+ that you've been using it? No problems introduced from adding a resistor to where the battery was previously located?

See if you like this PCB. It works well in two meters, one used almost daily. It is basically Dan's schematic, with a transistor on the reset line and four sections in the FRAM, selectable through jumpers.
Warning !  0402 parts used...

Perfect, thanks! I'll just be increasing the component sizes slightly to 0805 or 1206, and may need to modify routing slightly if the SMD IC's I get have a slightly different footprint/pinout.

What is the purpose of the selectable FRAM jumper thing? I don't see it mentioned elsewhere in this thread? Additionally, I've never used FRAM before, but if I decide to go with a different FRAM IC, aside from VCC & pinout, is there anything else I need to look out for?
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1742
  • Country: ca
Re: 3478A FRAM modification
« Reply #34 on: November 26, 2025, 01:39:34 am »
Perfect, thanks! I'll just be increasing the component sizes slightly to 0805 or 1206, and may need to modify routing slightly if the SMD IC's I get have a slightly different footprint/pinout.

You can't do that, I posted the manufacturing package not the design files and there's not much room for 0603, let alone 0805 or 1206.

What is the purpose of the selectable FRAM jumper thing? I don't see it mentioned elsewhere in this thread?

The FRAM is much larger than the original SRAM in the 3478A, so you can store the calibration constants in multiple locations. If one area becomes corrupted, you can simply select another area and Bob’s your uncle.

Additionally, I've never used FRAM before, but if I decide to go with a different FRAM IC, aside from VCC & pinout, is there anything else I need to look out for?


I don't think you have many options, it must work at 5V. And then why would you change it?
« Last Edit: November 26, 2025, 01:41:38 am by Miti »
Fear does not stop death, it stops life.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf