Sari la conținut
ELFORUM - Forumul electronistilor

PIC cu EEPROM


Mar

Postări Recomandate

Am facut un program care salveaza citeva valori analogice in eepromul PIC-ului. Problema e ca, cu 256 octeti de memorie nu ma descurc si m-am gindit sa pun o memorie eeprom la pic si sa comunic prin I2C. Va rog sa-mi spuneti daca ideia este buna, ce tip de eeprom sa cumpar, de unde sa cumpar si date tehnice (cum pot sa salvez datele in aceasta memorie) Va multumesc

Link spre comentariu
  • Răspunsuri 10
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Mar

    4

  • bogdanm

    3

  • XAN77

    2

  • lucicop

    1

Top autori în acest subiect

pai poti folosi foarte bine orice memorie pe i2c gen 24Cxx, xx fiinf functie de capacitatea memoriei. Accesarea o faci conform standardului i2c, implementand comunicarea in asm sau alt limbaj, nu ai zis nimic de ce limbaj de programare folosesti . Dupa ce te axezi ce capacitate vrei sa aibe, cel mai bine citesti datashetul memoriei ca unel memorii i2c folosesc paginatie, deci meoria de 512 octeti de exemplu are 2 pagini de 256 ceea ce conteaza la adresare si mai sunt si alte situatii dar este facila si usoara conectarea unei memorii la PIC . Poti lua de xemplu un 24C128 (16Kocteti) sau 24C256 de 32K care se adreseaza normal farea paginare, cu cuvantul de adresa pe 16 biti. Capacitatea cred ca iti e de ajuns scopului tau .

Link spre comentariu

Nu stiu la ce s-a referit XAN77, dar in conceptia mea, paginare inseamna o zona de memorie care poate fi scrisa/stearsa in acelasi timp. Un driver care sa stie paginare ti-ar fi util pentru ca in felul asta poti scrie mult mai rapid valorile in EEPROM (mai ales daca scrii multe valori la un moment dat). Nu am intalnit memorii cu alt tip de paginare. Trebuie sa calculezi cam care este capacitatea de care ai avea nevoie si sa alegi un 24LCxx, unde xx este dimensiunea in Kbits a memoriei (deci imparti la 8 pentru a obtine Koctetii). Poti cauta pe site-ul Microchip Application Notes despre cum comunici cu o memorie I2C.

Link spre comentariu

Vezi ca sunt PIC-uri ( 16F873,16F876,16F877,....) care au implementate standardurile de comunicatie I2C si SPI , deci trebuie doar sa le activezi , nu mai trebuie sa le creezi din soft ; eu as folosi in locul tau SPI avantaj : viteza de comunicatie mult mai mare , dar asta depinde de aplicatie , poate nu ai nevoie de viteza .

Link spre comentariu

pai eu am conectat la pic mai multe feluri de eeprom pe i2c, si prin paginare ma refeream ca memoria 24LC16 de exemplu care are 2KB teoretic are 8 blocuri de 256 bytes practic. Iar in cuvantul de dupa START (conditia de incepere comunicare i2c) langa 1010 (codul memoriilor i2c) se afla 3 biti ce indica blocul (pagina) selectata pentru citire sau scriere functie de ultimul bit ; adica memoria are 2kB dar din mai multe pagini de 256, dar nu toate memoriile i2c folosesc accesarea asta tampita .

Link spre comentariu

Cea mai importanta diferenta intre ele e granularitatea operatiei de stergere:- EEPROM : 1 byte- FLASH: 1 bloc (care poate avea diverse dimensiuni)Treaba cu blocul te cam incurca cand trebuie sa stergi ceva. Trebuie sa faci asa:- identifici blocu in care e octetu pe care vrei sa-l modifi- citesti blocu in RAM- schimbi IN RAM octetu- stergi TOT BLOCU- scrii TOT BLOCU din RAMDaca n-ai RAM suficient ca sa faci operatiile de mai sus, e o mare problema.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări