Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Internal EEprom
#6
Sve zavisi šta želiš raditi sa tim podacima i koliko često.
Tipično vreme upisa EEPROM kod tih MCU koji ga imaju je oko 10mS po bajtu i tipičan broj upisa po lokaciji je oko 1 milion.

Što se brzine čitanja tiče ona je visoka prema mogućnosti konkretnog MCU.

Pri butovanju se paket iz EEPROM digne u neku array u RAM, tim se arbitrira za vreme dok naprava radi i to onom brzinom koliki je takt interne magistrale MCU, a onda kad završi modifikaciju tih parametara, upišeš ih u EEPROM u nekoj nezahtevnoj sekvenci gde ti nije primarna latencija događaja (upis je tipično 10mS po bajtu).

Opcija koja na primer vrši automatski upis kritičnih parametara u slučaju nestanka napajanja, podrazumeva trošenje jednog pina na detekciju power fall i dovoljnu zalihu energije u Elko na napajanju MCU, da potraje Vcc iznad brownout nivoa dok se završi kompletan automatski upis...

Što se tiče brzine tih MCU, to ako je napisano na niskom nivou (asm, Forth, C,) često može biti i ozbiljno brže nego što radi 10 puta moćniji procesor koji se vozi na npr Linux ili slično.
Kod na primer nekog PIC (nisam se bavio Atmel-om) na 40MHz, vreme instrukcije je 100nS (interna magistrala radi na 10MHz) a vreme izvršenja asm primitiva je tipično 100-300nS zavisno od same operacije.

Sve zavisi za šta ti to konačno treba i koliko optimalno pišeš i u koliko visokom jeziku.
Asm je apsolutno najbrži i troši najmanje memorije, potom Forth sa okupiranjem oko 1,2 puta više prostora u memoriji, potom C sa oko 1,3-1,5 puta više upotrebljene memorije u odnosu na asm i to jako zavisi od kompajlera (naravno u sva tri oblika i od načina pisanja).

U par stotina mašina koje vozim sa MCU (uglavnom PIC18F, a imam i mašina sa po 96 in/out sa ekspanderima) čuvam sve potrebne inicijalne parametre naravno u EEPROM i to nekad zna da bude po 1 kilobajt prostora. Radi štednje veka upis vršim samo ako postoji potreba ili urgentno sa power fall a za vreme rada je sve to u RAM.

Ukoliko se upisivanje vrši na primer 100 puta dnevno, vek EEPROM je tipično 27 godina.

Možda ti može pomoći iskustvo sa tim.

Pozz
Reply


Messages In This Thread
Arduino Internal EEprom - by vsavic - 12-17-2016, 12:47 AM
RE: Arduino Internal EEprom - by mikikg - 12-17-2016, 01:02 AM
RE: Arduino Internal EEprom - by vsavic - 12-17-2016, 01:08 AM
RE: Arduino Internal EEprom - by gorankg - 12-17-2016, 12:09 PM
RE: Arduino Internal EEprom - by vojinilic - 12-17-2016, 12:53 PM
RE: Arduino Internal EEprom - by Macola - 12-19-2016, 10:05 AM
RE: Arduino Internal EEprom - by Želja - 12-19-2016, 10:27 AM
RE: Arduino Internal EEprom - by mp3police - 12-19-2016, 10:28 AM
RE: Arduino Internal EEprom - by Macola - 12-19-2016, 01:28 PM
RE: Arduino Internal EEprom - by Želja - 12-19-2016, 01:52 PM
RE: Arduino Internal EEprom - by mikikg - 12-19-2016, 10:25 PM
RE: Arduino Internal EEprom - by mikikg - 12-20-2016, 11:34 AM
RE: Arduino Internal EEprom - by mikikg - 12-20-2016, 11:53 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)