Memorii

download Memorii

of 12

description

operare PC

Transcript of Memorii

  • Laborator 13 2008/2009

    1

    MEMORII SEMICONDUCTOARE

    13.1. INTRODUCERE Memoriile semiconductoare reprezint circuite de stocare a informaiei, n format electronic. Uzual, informaia este memorat sub forma unor secvene binare, pe unul sau mai muli bii, n locaii de memorie cu adresa specificat de ctre utilizator. Clasificarea memoriilor se poate realiza att dup modul de citire/scriere a datelor ct i dup modul de funcionare din punct de vedere electric al acestora. Scopul lucrrii este expunerea modului de utilizare a unor clase de memorii semiconductoare, a procedeelor de citire/scriere a informaiei, familiarizarea utilizatorului cu parametrii de catalog uzuali precum i a criteriilor de proiectare a aplicaiilor practice utiliznd memoriile semiconductoare.

    13.2. TIPURI DE MEMORII SEMICONDUCTOARE O prim clasificare a memoriilor se poate realiza dup modul de meninere a informaiei memorate. Distingem clasa memoriilor non-volatile: ROM (Read Only Memories), PROM (Programmable ROM), EPROM( Erasable PROM), EEPROM (Electrically Erasable PROM), Flash (EEPROM rapide) i a memoriilor volatile: RAM (Random Access Memories). n cazul memoriilor EEPROM/Flash putem distinge categorii n funcie de modul de citire/scriere a datelor: paralel sau serial. Memoriile RAM se mpart n SRAM (Static RAM) care se utilizeaz similar cu EEPROM exceptnd volatilitatea informaiei la deconectarea tensiunii de alimentare i memorii DRAM (Dynamic RAM) care necesit circuite auxiliare pentru utilizare (generarea semnalului de remprosptare a informaiei, semnale RAS, CAS

    13.3. MEMORII NEVOLATILE

    13.3.1 Memorii EEPROM Exist dou modaliti de accesare a informaiei dintr-o memorie EEPROM: paralel i serial. Dup nscrierea informaiei n locaia de memorie dorit, aceasta se pstreaz chiar i dup deconectarea tensiunii de alimentare. Pentru a nlocui informaia din aceeai locaie, este suficient o suprascriere cu valoarea nou. Modul paralel este similar cazului aferent memoriei SRAM. Modul serial respect protocoale de comunicaie standardizate: SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit) sau 1-Wire. Pentru programarea memoriilor EEPROM/Flash se pot utiliza dispozitive externe (programatoare de memorii), de obicei conectate la un calculator pe portul serial, paralel sau

  • Laborator 13 2008/2009

    2

    USB. Modul de conectare al programatorului(serial/paralel) nu are legtur cu modul de accesare al memoriei (serial/paralel). Figura 13.1 ilustreaz configuraia generic a pinilor unei memorii EEPROM paralel de 64K x 8. - A0 - A12 linii de adres; - /W write enable; - /E chip enable; - /G output enable; - R/B ready/busy (opional); - DQ0 - DQ7 data in/out

    Figura 13.1 Reprezentarea simbolic a unei memorii de EEPROM de 64Kx8. Pentru citirea unei valori numerice de la o anumit locaie, trebuie s existe o combinaie valid i stabil la liniile de adres i apoi prin activarea pinului Output Enable (/G n cazul nostru) la liniile de date DQ0-DQ7 se va obine n binar valoarea dorit. Figura 13.2 ilustreaz diagramele temporale pentru un ciclu de citire.

    Figura 13.2 Diagrame temporale aferente unui ciclu de citire a datelor. Pentru a nscrie o valoare numeric ntr-o locaie de memorie, se stabilete n binar valoarea adresei, apoi la liniile de date se stabilete valoarea n binar al numrului de memorat i apoi se aplic nivel logic corespunztor pe pinul /W n timp ce pinul /G este invalidat. Mai precis, exist o combinaie specific ntre valorile logice aplicate simultan pe pinii /E, /G i /W, figura 13.3 ilustrnd acest lucru.

    Figura 13.3 Diagrame temporale aferente unui ciclu de nscriere a datelor. Dezavantajul memoriilor paralele este numrul relativ ridicat de pini fa de o memorie serial. La un EEPROM paralel, numrul de pini crete odat cu mrirea capacitii de memorare. La o memorie serial numrul de pini rmne neschimbat la modificarea capacitii de memorare. n schimb, durata de programare i de accesare a datelor la o memorie serial este n principiu mai mare fa de o memorie paralel.

  • Laborator 13 2008/2009

    3

    n principiu memoriile seriale dispun de 8 pini, dintre care de obicei doar 4 sunt utilizai. Figura 13.4 exemplific cele trei tipuri uzuale de memorii EEPROM seriale.

    Memorie I2C 24C256 Memorie SPI 25xx010 Memorie 1-Wire DS 2433 Figura13.4 Diverse tipuri de memorii EEPROM seriale.

    n cazul memoriilor I2C acestea utilizeaz 2 pini, SCL (Serial Clock) i SDA (Serial Data) i funcioneaz conform protocolului de comunicaie I2C. Memoriile SPI prezint trei linii: SCK (Serial Clock), SI (Serial data IN) i SO (Serial data Out). ntreruperea comunicrii se poate realiza prin activarea pinului /HOLD. Memoriile SPI se pot utiliza prin intermediul magistralei SPI. Standardul de comunicare 1-Wire permite transferul de date pe un singur fir, conform unui protocol adecvat. Indiferent de tipul constructiv, memoriile seriale necesit comenzi specializate pentru realizarea operaiilor de citire/scriere. Acestea se regsesc n datele de catalog furnizate de ctre productor.

    13.3.1 Programarea memoriilor EEPROM n general, pentru programarea unei memorii EEPROM se utilizeaz un computer i un programatorde memorii conectat pe portul serial, paralel sau USB. Datele care se transfer sunt stocate ntr-un fiier text, cu form standardizat (de obicei Intel Hex), care conine o list cu adresele i valorile numerice stocate la fiecare adres. Un exemplu de fiier hex este redat n figura 13.5. :020000001128C5 :100008008C0003088D000B11023085060630810034 :100018000D0883008C0E0C0E090000306500831655 :100028006400003081008312A0308B0001308E0AFA :0A00380003198F0A031985061B281F :08400000500053006F00660040 :02400E0011009F :024010000100AD :1042000000000000000000000000000000000000AE :00000001FF

    Figura13.5 Formatul fiierelor Hex. Valorile sunt nscrise sub forma octet inferior, octet superior. Deoarece fiecare adres poate conine n acest format doar 8 bii, valorile acestora apar dublate n list. Fiecare linie din fiier ncepe cu un prefix de 9 caractere i se ncheie cu o sum de verificare pe 2 caractere, dup cum urmeaz:

    :BBAAAATTHHHH ...... HHHHCC unde: BB - reprezint un numr hexazecimal, pe dou cifre, indicnd numrul octeilor de date ce urmeaz n cadrul liniei; AAAA - reprezint un numr hexazecimal, pe patru cifre, indicnd adresa de nceput a datelor de pe linie;

  • Laborator 13 2008/2009

    4

    TT - este un numr pe dou cifre care indic dac linia este ultima din fiier. n acest caz valoarea sa este "01", n rest este "00"; HH - este un numr hexazecimal pe dou cifre, reprezentnd valoarea octetului de date n succesiunea octet inferior - octet superior; CC - reprezint o sum de verificare, pe dou cifre, n hexa-zecimal, fiind egal cu complementul lui doi a sumei tuturor octeilor anteriori de pe linie. Softul utilizat n tandem cu interfaa hardware permite ncrcarea fiierului hex, vizualizarea acestuia pe ecran (eventual modificarea manuala a valorilor), selectarea dispozitivului de memorie programat i efectuarea operaiei de nscriere. Pe lng nscriere se poate verifica/citi coninutul memoriei i apoi salva ntr-un fiier pe computer (figura 13.6).

    Figura 13.6 Captur PonyProg. Soft-uri uzuale exist i freeware pe Internet: ICProg, PonyProg etc. Schema electronic a unei interfee de programare pentru memorii seriale I2C, compatibil cu PonyProg, este redat n figura 13.7.

    Figura 13.7 Programator memorii I2C, pe portul paralel. Se observ utilizarea liniilor SCL, SDA i modul de interfaare cu portul paralel.

    13.4. MEMORII RAM

    13.4.1 Memorii SRAM n general, o memorie SRAM este caracterizat din punctul de vedere al interfarii cu alte circuite prin linii de adres, linii de date i linii de control (figura 13.8).

  • Laborator 13 2008/2009

    5

    Figura 13.8 Reprezentarea simbolic a unei memorii SRAM. Parametrul m reprezint numrul liniilor de adres iar n numrul liniilor de date (pe ci bii sunt memorate datele). Exist o legtur direct ntre m i numrul locaiilor de memorare, astfel nct: N = 2m , unde N reprezint numrul locaiilor de memorare. De exemplu, pentru un numr de locaii de memorare de 1K (1024) avem nevoie de m=10 linii de adres, deoarece 210=1024. Similar, pentru 4K avem nevoie de 22 210 =212 , deci 12 linii de adres. Parametrul n indic numrul de bii de date care se memoreaz simultan ntr-o singur locaie de memorie, la un singur proces de nscriere, sau care se pot citi simultan la un proces de citire. Astfel, exprimarea corect a capacitii unei memorii trebuie s indice att capacitatea de memorare ct i numrul de bii de date, de exemplu memorie de 1K x 8 bii care nseamn 1024 de locaii de memorare a cte 8 bii fiecare. Liniile de control permit comanda momentelor de citire/scriere a memoriei (WE=Write Enable, OE=Output Enable) precum i activarea/dezactivarea capsulei (CS=Chip Select). Modul de comand a operaiilor de citire/scriere rezult din combinaiile logice aplicate pinilor de control /WE, /CS i /OE, conform tabelului de adevr de mai jos. Configuraia pinilor unei memorii SRAM de 32K x 8 este redat n figura 13.9.

    Figura 13.9 Configuraia pinilor pentru o memorie de 32K x 8 bii. De obicei, n aplicaii, memoriile SRAM sunt utilizate pentru stocarea temporar a informaiei i furnizarea acesteia pentru o prelucrare ulterioar.

    Adr Data /WE /OE /CS

    m n

  • Laborator 13 2008/2009

    6

    Aplicatiile memoriilor SRAM: produse de uz general:

    cu interfaare asincron, de exemplu 32K x 8, cu denumirea uzual xxC256, mergnd pn la capaciti de 16Mbii per chip;

    cu interfaare sincron, utilizate la memorii cache sau alte aplicaii care necesit transfer n bloc a datelor, pn la o capacitate de 18Mbii per chip (256K x 72).

    integrate n chip sub form de: memoria RAM sau cache a unui microcontroler; memoria cache primar a unui microprocesor performant (exemplu seria x86); n cadrul ASIC (Application Specific Integrated Circuits); n circuite FPGA i CPLD (de ordinul a mai puin de civa Koctei).

    O aplicaie simpl n domeniul audio o poate constitui o linie de ntrziere a informaiei vocale, care utilizeaz o memorie SRAM de 64K x 1 bit pentru memorarea i retransmiterea unui ir de bii provenii dintr-o conversie analog-numeric a informaiei audio. De remarcat este faptul c n orice aplicaie cu memorie SRAM trebuie s existe circuite de generare a adreselor, n binar. Uzual se utilizeaz numrtoare binare, pe mai muli bii, afereni numrului de linii de adres a memoriei, comandai de la un generator de tact.

    13.4.2 Memorii DRAM O caracteristic important n utilizarea memoriilor DRAM este necesitatea elaborrii unor blocuri electrice care furnizeaz semnalele /RAS (Row Address Strobe), /CAS (Column Address Strobe) i Refresh (remprosptare). Figura 13.10 ilustreaz configuraia pinilor la o memorie DRAM de 256K x 8 bii. Se observ reducerea numrului liniilor de adres datorit utilizrii /RAS i /CAS.

    Figura 13.10 Memorie DRAM 256Kx8. Schema bloc de principiu pentru generarea semnalelor care intervin n exploatarea unui DRAM este redat n figura 13.11.

    Figura 13.11 Scema blog pentru generare RAS, CAS.

  • Laborator 13 2008/2009

    7

    Din figura 13.11 se observ o modalitate simpl de generare a semnalului /CAS din /RAS, prin utilizarea unei linii de ntrziere. Pentru decodarea liniilor de adres se utilizeaz multiplexoare 74157.

    13.5. DESFURAREA LUCRRII 1. Se vor studia datele de catalog pentru memoriile prezentate n Anexa 1; 2. Pe baza schemei din Anexa 2, se va edita un fiier Hex cuprinznd 32 combinaii numerice pe 8 bii pentru alctuirea unui joc de lumini; se va simula circuitul; 3. Fiierul Hex se va ncrca ntr-o memorie EEPROM paralel cu ajutorul programatorului din dotare; se studiaz funcionarea plcii experimentale; 4. Utiliznd interfaa de programare din Anexa 3 i PonyProg, se va studia modul de citire/scriere a unei memorii seriale 24C16. Se utilizeaz analizorul logic pentru urmrirea tranziiilor pe liniile SCL, SDA.

  • Laborator 13 2008/2009

    8

    Anexa 1 Memorii semiconductoare diverse

    CY7C187 SRAM 64K x 1 Cypress Features High speed 15 ns CMOS for optimum speed/power Low active power 495 mW Low standby power 220 mW TTL compatible inputs and outputs Automatic power-down when deselected Functional Description The CY7C187 is a high-performance CMOS static RAM organized as 65,536 words x 1 bit. Easy memory expansion is provided by an active LOW Chip Enable (CE) and three-state drivers. The CY7C187 has an automatic power-down feature, reducing the power consumption by 56% when deselected. Writing to the device is accomplished when the Chip Enable (CE) and Write Enable (WE) inputs are both LOW. Data on the input pin (DIN) is written into the memory location specified on the address pins (A0 through A15). Reading the device is accomplished by taking the Chip Enable (CE) LOW, while Write Enable (WE) remains HIGH. Under these conditions, the contents of the memory location specified on the address pin will appear on the data output (DOUT) pin. The output pin stays in high-impedance state when Chip Enable (CE) is HIGH or Write Enable (WE) is LOW. The CY7C187 utilizes a die coat to insure alpha immunity.

  • Laborator 13 2008/2009

    12

    Anexa 3 Interfa programator-memorii EEPROM

    seriale

    Placa de baz, conectat pe portul serial al unui PC

    Adaptoare pentru memorii SPI (1) i I2C (2)

    (1) (2) Placa de baz permite att alimentare din surs extern (Pwr_Sel=1+2) ct i direct de pe portul serial n cazul memoriilor cu consum redus (Pwr_Sel=2+3). Se pot utiliza diverse adatoare ataate la placa de baz, pentru programarea unor circuite diverse (microcontrolere i alte tipuri de memorii seriale). Softul de comand aferent este PonyProg, freeware, disponibil pe diverse pagini internet.