Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

How is HEF = EEPROM? Are Microchip doomed?

Status
Not open for further replies.

Pommie

Well-Known Member
Most Helpful Member
Microchip have replaced EEPROM on the newer chips with HEF (High Endurance Flash). However, these are far from equal as the HEF stalls the processor for up to 5mS on every erase and write operation. What is more confusing is that on some chips Microchip are stating that they have EEPROM (see this page but when you download the datasheet it's HEF.

First MPLABX and now this! Are they trying to send us elsewhere!!

Edit, for anyone confused, here is microchips explanation of HEF.

Mike.
 
Last edited:
Flash and EEprom have always has the 5mS write delay... You wouldn't write a block of data like you would to a normal RAM.. The 5mS housekeeping is only once per block... So if you write an entire page... 5mS or a single byte.....5mS..
 
I think the issue Pommie is referring to is that the HEF in the 16F527 and others stops code execution while it does the block erase/write because even though it isn't in the program memory address range it's part of the same physical Flash. This is not the case with EEPROM. Having said that there are newer enhanced mid-range device that still have EEPROM so if it's an issue may be need to look for an alternative device.
 
I think you need to consider why you want to use EEPROM at all. I´d use eeprom when I want to store some calibration data or similar data that need to be written once in a blue moon, and I dont think it really matters whether this is on-chip or elsewhere, unless you really are struggling with board space or BOM cost.
If you need real storage of values that change endlessly and need to survive the lifetime of the whole project, then find external chips that can do it. I don´t think embedded eeproms were ever meant to do such job.
 
I think you need to consider why you want to use EEPROM at all.

EEPROM is very good for saving user settings. They change something, it got written into EEPROM, and if PIC reboots you still have settings. I believe such usage is very common.

If you do time sensitive processing, you may not have 5ms to spare, so you might need to stop your processing every time the user wants to change settings. This might not be possible (for example if you're running an inverter).
 
I agree, if you need to use eeprom in time-critical situation, then you need to plan it carefully and use one such that it doesnt disturb anything. Then it doesnt really matter whether it is on-chip or external, you just need to know how it behaves.
 
Is it that critical that it has a small delay when the PIC boots up?
Worst case, just use an external EEPROM or, as someone else has already mentioned, get a part that still uses EEPROM, rather than HEF.
I can't think of a project i've done where i've been regularly reading / writing to EEPROM, if a user changes a setting that needs to be stored then is the timing overhead really a big deal?

Hmm, just my thoughts.
 
If HEF (High Endurance Flash) is in chips (not just from Microchip) it's because a sizable number of 'buyers' want it. Internal 'real' EEPROM is not going away.
 
Status
Not open for further replies.

Latest threads

Back
Top