Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

HELP The Internal EEPROM Life-Cycle For PIC16F873A 876A

Status
Not open for further replies.

HUANFAI

Newbie level 2
Joined
Jul 5, 2006
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,298
pic16f873a register

I want to use the PIC16F873A and PIC16F876A to make my project as a counter and it can count until 1Billion.

I use the Program like below to save the count each time.
If the input frequency is 30Hz , every year count about 946,080,000 Counts.
Is it possible to run for 1.5 year(1,419,120,000 Count) and Without a eeprom corrouption ?

Are there any information for the PIC DATA EEPROM Life-Cycle?
The main Programme is like this : (Proton Plus)

IF CNT = 0 AND PORTA.0 = 0 THEN CNT = 1
IF CNT = 1 AND PORTA.0 = 1 THEN A = A + 1 :CNT = 0:EWRITE 0,[A]
IF A = 10 THEN A = 0 : B = B + 1:EWRITE 1,
IF B = 10 THEN B = 0 : C = C + 1:EWRITE 2,[C]
IF C = 10 THEN C = 0 : D = D + 1:EWRITE 3,[D]
IF D = 10 THEN D = 0 : E = E + 1:EWRITE 4,[E]
IF E = 10 THEN E = 0 : F = F + 1:EWRITE 5,[F]
IF F = 10 THEN F = 0 : G = G + 1:EWRITE 6,[G]
IF G = 10 THEN G = 0 : H = H + 1:EWRITE 7,[H]
IF H = 10 THEN H = 0 : I = I + 1:EWRITE 8,
IF I = 10 THEN I = 0 : J = J + 1 : EWRITE 9,[J]
IF J = 10 THEN J = 0
 

eprom lifecycle

In the datasheet, the duration of EEPROM is 1 million program/erase cycles (typical). Why don't you use RAM, and update the EEPROM at a lower rate?

Cheers,
 

eeprom data life

namqn said:
....Why don't you use RAM, and update the EEPROM at a lower rate? Cheers,

I make the program like that because i want to keep the data even power down.
Actualy , when i test the Data EEPROM it can go >10 Million cycle (':p') dont have enought time to finish test ( 20 Hrs)
 

eeprom lifecycle

Well, 1 million is a typical number. You definitely can go higher than that.

However, because you are not using a lot of memory cells, I suggest you to modify your code to use different memory cells for the least significant digits when you pass some thresholds, say 10,000,000, 100,000,000, and so on. That might keep your memory cells in specification.

That means for each 10,000,000 counts, you will move to a new memory cell for your least significant digit. For each 100,000,000 counts, you will move to another new memory cell for your next least significant digit. And so on,

Cheers,
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top