EEPROM Serial
Memoriile EEPROM (Electrically Erasable Programmable Read-Only Memory) cu interfață serială sunt folosite într-un spectru larg de aplicatii, de ex. diferiti consumatori, industria auto, telecomunicații, aparate medicale, industriale și precum si pe piața destinata calculatoarelor de uz personal. Utilizate în principal pentru a stoca datele cu caracter personal și datele de configurare, memoriile EEPROM Seriale sunt cele mai flexibile tipuri de memorie non-volatile utilizate astăzi. În comparație cu alte soluții NVM, dispozitivele EEPROM Seriale ofera un numar mai mic pini, pachete mai mici, tensiuni mai mici, precum și un consum mai redus de energie.
Atmel este lider în furnizarea de dispozitive EEPROM Seriale care suportă protocoale 2-wire, 3-wire și SPI, densități de memorie de la 1K-bit până la 1M-bit, tensiuni de la 1.8V la 5.5V, și standardul industriei PDIP, SOIC și pachete de tip TSSOP, precum și pachete LAP, MAP, TAP și dBGA.
Memoriile Seriale
[modificare | modificare sursă]Mulți dintre noi vor să folosească microcontrolerele mici, cu un singur cip. Ele sunt relativ ieftine, ușor de conectat și de făcut să funcționeze, și peste toate foarte convenabile de utilizat. Un dezavantaj al folosirii acestor controlere cu un singur cip este lipsa unor cantități mari de memorie. Desigur, puteți adăuga memorie externa la cele mai multe dintre ele, dar care necesită multă muncă, și consumă, de obicei, alte resurse valoroase, în principal pini de I / O care fac cipul mai util.
Dar exista o solutie! Există mai multe forme de memorie care nu necesită magistrala standard de adrese și conectarea la magistrala de date. Aceste memorii se numesc memorii seriale, și ele sunt soluția care vă permite să stocați cantități mari de informații fără a renunța la prețioasele linii I / O. Există mai multe tipuri diferite de EEPROM serial, cum ar fi cele 1-wire, 2-wire, 3-wire și SPI.
Descrierea Memoriei
[modificare | modificare sursă]Memoriile EEPROM Seriale sunt disponibile într-o varietate de dimensiuni diferite. Ele variază de la 128 de octeți chiar și până la 32k octeți. Atmel are, de asemenea, un dispozitiv de 128k octeți care se potrivește aceluiași factor de formă. Toate aceste piese sunt compatibile din punct de vedere electric. Cu toate acestea, unele necesită modificări minore de software. De exemplu, unele permit scrierea a 32 de octeți în același timp, iar altele permit scrierea a 64 de octeți în același timp. Aceste diferențe minore sunt tratate cu ușurință în software.
Memoriile EEPROM Seriale sunt disponibile de la producători diferiți. Cel puțin doi producatori, Microchip si Atmel, au cip-uri compatibile. Acestea sunt, de asemenea, disponibile în mai multe pachete, inclusiv o DIP cu 8 pini, precum și suprafață de montare SOIC.
Structura
[modificare | modificare sursă]Există 8 pini pe una dintre aceste capsule. Aici este o listă și funcțiile lor:
1 | CS* | Selectarea Cip-ului. Acesta este un pin cu rol critic pe aceste părți. Linia CS nu numai că activează acea parte, dar, de asemenea, acționează ca sfârșit de operație. |
2 | SO | Pinul de Ieșire Serială. În terminologia SPI, acesta ar fi Slave Out, și ar trebui conectat la pinul MISO din port-ul SPI. Date de ieșire din EEPROM serial sunt cronometrate pe această linie. |
3 | WP* | Pinul WP permite protecția la scriere pe hardware. Dacă biții corespunzători din registrul de control sunt setați, atunci pinul WP va dezactiva orice operație de scriere când pinul este ținut pe low. Acest lucru ar fi necesar atunci când doriți o protecție suplimentară împotriva bug-urilor software, sau atunci când intenționați ca partea să fie read-only. Cealaltă opțiune este să-l conectați pe high și să-l lăsați în acest fel. |
4 | GND | Sursa de alimentare GND |
5 | SI | Pinul de Intrare Serială. În terminologia SPI, acesta ar fi Slave In, și ar trebui conectat la pinul MOSI din port-ul SPI. Datele de ieșire din CPU sunt cronometrate pe această linie. |
6 | SCK | Ceasul Serial. Aceasta este linia Ceasului Serial SPI. Fiecare ciclu al ceasului determină registrii de date sa shift-eze atât înainte cât și înapoi 1 bit. |
7 | HOLD* | Acest pin interesant plasează starea părții pe 'HOLD'. Acest lucru este util dacă aveți rutine de tratare a întreruperii care au nevoie sa acceseze alte părți de pe magistrala SPI. Ținând aceasta linie pe low, partea va ignora linia SCK, fapt care va determina partea să își mențină starea curenta. Rutina ta de întrerupere va putea apoi să folosească magistrala SPI pentru a accesa o parte diferită, apoi se întoarce la operația curentă ridicând linia de HOLD. Dacă nu aveți de gând să faceți acest lucru, pur și simplu conectați-o pe high. |
8 | VCC | Linia de alimentare. De obicei, conectată la 5 volți, deși gama de tensiuni poate merge până la 2.2 volți, în funcție de partea pe care o utilizați |
Avantaje
[modificare | modificare sursă]- În primul rând, memoriile seriale EEPROM au un număr mic de pini, de obicei, 8 pini și sunt disponibile în capsule foarte mici. Există, de asemenea, și opțiuni cu 5 - 6 pini, și au fost introduse recent și memorii EEPROM cu 3 pini.
- În al doilea rând, memoria EEPROM poate atât sa scrie cât și să citească un octet la un moment dat. Acest lucru este în contrast cu tehnologia flash care este de obicei limitată la operații de sector.
- Memoriile EEPROM Seriale sunt disponibile într-o gama larga de temperaturi și de tensiune. Cele mai multe din Memoriile EEPROM Seriale sunt disponibile începând cu 1.8 volți, ceea ce este excelent pentru aplicații cu alimentare de la baterie. Ele de asemenea lucrează până la 5.5 volți și până la o temperatura de 125°C.
- Memoriile EEPROM Seriale sunt foarte eficiente din punct de vedere al costului deoarece acestea sunt dispozitive mici, și sunt de asemenea cunoscute pentru robustețea lor mare.
Ciclul de viață
[modificare | modificare sursă]Memoriile EEPROM Seriale sunt de obicei evaluate să suporte in jur de un milion operații de scriere pe octet. Acest lucru este destul de acceptabil. Cu toate acestea, încă mai trebuie să fiți atent aici, că sa nu scrieți date în mod constant pe chip. EEPROM-ul nu este un substitut pentru memoria RAM de uz general. Dacă ați scrie pe aceste chipuri într-o buclă strânsă, ar fi nevoie de aproximativ o oră pentru a depăși 1 milion de operații de scriere. Software-ul trebuie scris ținand seama de acest lucru.
Funcții ale memoriei EEPROM Seriale
[modificare | modificare sursă]Cele mai comune tipuri de interfețe seriale sunt SPI, I²C, Microwire, UNI/O și 1-Wire. Aceste interfețe necesită între 1 și 4 semnale de control pentru operare, rezultând într-un dispozitiv de memorie într-un pachet de 8 sau mai putini pini.
EEPROM serial de obicei funcționează în trei etape: OP-Code Phase, Address Phase și Data Phase. Faza OP-CODE este de obicei prima intrare de 8 biți la pinul de intrare serială al dispozitivului EEPROM (sau cu cele mai multe dispozitive I ² C, este implicit); urmat de 8 la 24 de biți de adresare în funcție de adâncimea dispozitivului, apoi datele pentru a fi citite sau scrise.
Fiecare dispozitiv EEPROM are de obicei propriul set de instrucțiuni OP-Code pentru a înfățișa sub formă de plan diferite funcții. Unele dintre operațiile uzuale pe dispozitivele SPI EEPROM sunt:
- Activează Scrierea (WREN)
- Dezactivează Scrierea (WRDI)
- Citește Registrul de Stare (RDSR)
- Scrie Registrul de Stare (WRSR)
- Citește Datele (READ)
- Scrie Datele (WRITE)
Tabel de funcții
[modificare | modificare sursă]Instrucțiune | Codul Instrucțiunii | Descriere |
---|---|---|
READ
|
0000 0011
|
Citește date din matricea de memorie începând cu adresa selectată |
WRITE
|
0000 0010
|
Scrie date în matricea de memorie începând cu adresa selectată |
WREN
|
0000 0110
|
Setează latch-ul de 'write enable' (activează scrierea) |
WRDI
|
0000 0100
|
Eliberează latch-ul de 'write enable' (dezactivează scrierea) |
RDSR
|
0000 0101
|
Citește Registrul de Stare |
WRSR
|
0000 0001
|
Șterge Registrul de Stare |
Fiecare cod de instrucțiune are propriile argumente. Read/Write, de exemplu, sunt urmate de o adresă. Scrierea registrului de stare necesita un argument de 8 biți, și așa mai departe. Un set complet de instrucțiuni și formatele lor sunt disponibile în foaia de catalog corespunzătoare chipului.
Alte operatii
[modificare | modificare sursă]Alte operații, suportate de unele dispozitive EEPROM sunt:
- Programare
- Ștergere Sector
- Comenzi de Ștergere a Cip-ului
Registrul de stare
[modificare | modificare sursă]O parte importantă din memoria EEPROM Seriala este registrul de stare. Acest registru nu numai că deține date de configurare pe care va trebui să scrieți, dar mai conține și un bit foarte important denumit WIP (Write In Progress). EEPROM Serial necesită timp de scriere în timp ce salvează datele în matrice. Asta poate dura până la 5 milisecunde, dar poate fi și mai puțin. Mai degrabă decât să vă bazați pe cronometrul de pe microcontroler-ul dvs., puteți verifica starea acestui flag WIP pentru a ști când s-a terminat de scris pagina și este pregătit pentru a primi date noi.
Concluzie
[modificare | modificare sursă]Memoria EEPROM Serial oferă o modalitate foarte bună de a stoca date non-volatile pe un proiect de microcontroler mic. Ele necesită câteva linii I / O, au operații de citire / scriere destul de rapide, și cele mai multe funcționează de pe o singură sursă de alimentare de 5 volți. Rutinele software pentru a le programa nu sunt foarte complexe. Următoarea dată când aveți nevoie pentru a stoca unele date non-volatile, cum ar fi informațiile de configurare sau hărți de navigație, luați în considerare memoria EEPROM Serial.
Vezi și
[modificare | modificare sursă]- ro Memorie cu acces aleator
- ro Memoria ECC
- ro Memorie cache
- ro EPROM
- ro EEPROM
- ro Memorie flash
Legături externe
[modificare | modificare sursă]- EEPROM
- Serial Memories Arhivat în , la Wayback Machine.
- video Microchip WebSeminars intitulat Serial EEPROM Overview
- Materiale media legate de EEPROM Serial la Wikimedia Commons