Re: CAT Support uBITX Firmware CEC Version 1.0 Release #ubitx
toggle quoted messageShow quoted text
Thanks for very important information.
The lifetime of the eeprom guaranteed by the vendor is 100,000 write cycle. read cycle is unlimited.
One thing to note is 100,000 times per memory address.
It is not important how many eeprom addresses are used, but how much is written to one eeprom address is important.
There is no problem with using a typical eeprom. 100,000 times more than thought is very large.
Some people say that they have used more than 100,000 through the experiment, but it is better to use the range that the vendor guarantees.
Experience has shown that the eeprom lifetime error is one case.
It is a periodic write to one memory address.
The most vulnerable is to use eeprom in loops like for and while, or to use the eeprom periodically in the timer.
In case of uBITX, cyclic frequency(with mode) storage to eeprom will be a problem to automatically display the frequency that was used previously when the radio is turned on and off.
If you save every 5 seconds, 720 writes occur in 1 hour. The life of the eeprom guaranteed by the vendor is only 138 hours. If use it for 2 hours every day, the life time of 70 days is over.
Of course, the actual life of the eeprom is much longer than the number of times it is guaranteed by the business. Because we are not always lucky, i will not discuss it here.
So, I am actively agreeing with ron's important information.
I have put some of safeguards in my firmware to take into account the life of the eeprom.
The first is virtual eeprom. I created the same variable as eeprom that I had to write periodically and put it in memory.
Compared to the contents of memory before writing to eeprom, I made it write if it changed.
This avoids unnecessarily wasting the write cycle on a periodic basis and preventing the CPU usable
Another was to identify the intent of the user. In other words, if the frequency is changing rapidly, the user is turning the knob.
That is, if the frequency is changing, it will skip even if the periodic storage time is reached.
Always be careful when using eeprom in loop statements or timers.
2018-02-08 8:49 GMT+09:00 Ronald Pfeiffer via Groups.Io <w2ctx@...>: