Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica
DESCRIEREA MEMORIEI FLASH AM29F040B

DESCRIEREA MEMORIEI FLASH AM29F040B


Descrierea memoriei Flash AM29F040B

1 Caracteristici generale

pentru operatii de citire/scriere - 5V;

performanta inalta - 55ns;



consum de putere redus:

q      20mA -tipic pentru citire ;

q      30mA -tipic pentru programare/stergere;

q      1μA -tipic pentru modul standby;

arhitectura flexibila de sectoare:

q      8 sectoare egale de 64 kbiti fiecare;

q      orice combinatie de sectoare poate fi stearsa;

q      se potate sterge si cipul in intregime;

q      protectia sectoarelor : printr-o metoda hardware de blocare a unui sector prevenind orice operatie de programare sau stergere in acel sector;

algoritmi inclusi:

q      de reprogramare sau stergere automata a intregului cip sau a oricarei combinatii de sectoare;

q      de programare automata de citire si de verificare a bitilor specifici de adrese;

garantare minima de 1.000.000 de cicli de programare/stergere pe un sector;

timp de functionare de 20 de ani la 125°C;

obtiuni de capsule:

q      32-pini PLCC, TSOP sau PDIP;

compatibila cu standardul JEDE:

q      pinii si software-ul compatibili cu o singura sursa de alimentare al memoriei standard Flash;

q      protectie superioara la citire;

suspendarea /reluarea citirii: suspendarea operatiei de stergere a unui sector pentru a citi date intr-un alt sector fara stergere, iar apoi se reia operatia de stergere.

2 Descriere generala

Am29F040B este o memorie flash de 4 Mbiti la 5V impartita in 524.288 kbiti de cate 8 biti fiecare. Cei 512 kbiti de date sunt impartiti in 8 sectoare de 64 kbiti fiecare si cu o capacitate de stergere flexibila. Cei 8 biti de date apar pe magistrala de date D0-D7.

Cipul de memorie Am29F040B este o capsula de 32 de pini de tipul PLCC, TSOP si PDIP.Aceasta memorie este proiectata sa poata fi programata la VCC=5V. Tensiunea Vpp= 12V nu este recomandata pentru operatiile de scriere si citire.Memoria poate fi programata si in standarul EPROM.

Standarul Am29F040B ofera timpi de acces de 55, 70, 90, 120ns, permitand microprocesorulu viteza mai mare si sa functioneze fara stari de asteptare. Pentru a elimina continutul bus-ului are semnalele de control separate : chip enable (CE #), write enable (WE#) si output enable (OE#).

Memoria are nevoie de o sursa de tensiune de 5V pentru ambele functii de scriere si de citire.

Instructiunile sunt scrise in registrul de comanda utilizand timpii de scriere standard ai microprocesorului. Cicli de scriere sunt niste latch-uri de adrese si de date necesare pentru operatiile de programare si stergere. Citirea datelor de la iesire sunt similare cu citirea altor tipuri de memorii flash sau EPROM.

Arhitectura de stergere a memoriei permite stergerea si reprogramarea sectoarelor fara a afecta continutul de date al altor sectoare.Cipul este complet sters din fabricatie.

Protectia hardware a sectoarelor permite orice combinatie de programare si stergere a diferitelor sectoare.

Procesul de intrerupere permite utilizatorului sa suspende stergerea unui sector pentru o perioada de timp in care se poate citi sau programa un alt sector care nu e selectat pentru stergere, iar apoi procesul se va relua de unde a ramas.

Sistemul poate pune memoria in modul standby. Consumul de putere este mult redus in acest mod de functionare.

3 Configurtia pinilor

A0-A18 = adrese de intrare

DQ0-DQ7 = date de intrare/iesire

CE# = Chip Enable

WE#  = Write Enable

OE # = Output Enable

Vss = masa de semnal

Vcc = 5V

Simbolul logic

4 Operatiile bus-lui

In acest capitol sunt descrise instructiunile si modul de folosire a bus-lui, care sunt initializate in registrul intern de comanda. Comanda registrului nu trebuie sa ocupe locatiile de adrese ale memoriei. Registrul este compus din latch-uri care memoreaza instructiunile cu informatiile de adrese si de date necesare pentru executia instructiunilor. Urmatoarele subcapitole descriu mai detaliat aceste operatii.


4.1 Cerinte pentru citirea datelor

Pentru a citi datele de la iesire sistemul trebuie sa aduca semnalele de control CE# si OE# la tensiunea VIL. CE# este semnalul de control al puterii si selecteaza dispozitivul. OE# este semnalul de control de iesire si aduce datele la iesirea pinilor. WE# va ramane la VIH.

Starea interna a memoriei este setata sa citeasca datele dupa ce puterea dispozitivului a crescut sau dupa un reset hardware. Aceasta masura de siguranta a fost luata pentru a nu afecta continutul memoriei in timpul tranzitiilor de putere. Nu este nesesara nici o comanda in acest mod pentru a obtine datele. Standardul ciclilor de citire al acestui microcontroler care confirma adrese valide la intrarile de adrese ale memoriei, aduce date valide la iesirile de date ale acestuia. Pana cand continutul registrului nu este alterat, memoria poate fi citita.

4.2 Comenzi / secvete de scriere

Pentru a scrie o comanda sau o secventa de comenzi (care includ programarea de date sau stergerea lor pe sectoarele memoriei), sistemul trebuie sa aiba semnalele WE# si CE# la VIL si semnalul OE# la VIH.

O operatie de stergere poate sterge un singur sector, mai multe sau chiar toate sectoarele. Tabelul adreselor de sectoare indica spatiul ocupat de fiecare sector in parte. O « adresa de sector » este o adresa pe biti prin care se selecteaza sectorul dorit. Aceasta este unica pentru fiecare sector.

Dupa ce sistemul scrie secventa de comanda cu autoselectare, memoria intra in modul de autoselectare. Sistemul poate apoi sa citeasca codurile autoselectate din registrul intern de date DQ7-DQ0.

ICC2 din tabelul caracteristicilor DC prezinta specificatii pentru curentul activ, la modul de citire. Tabelul caracteristicilor AC prezinta specificatii pentru timpii necesari la operatiile de citire. De asemenea sunt prezentate si diagramele de timp.

4.3 Starea operatiilor de programare si de stergere

In timpul operatiilor de stergere si programare, sistemul verifica starea operatiei prin citirea bitilor de date DQ7-DQ0.

4.4 Modul standby

Cand sistemul nu citeste sau scrie date, se trece in modul standby.In acest mod, consumul de putere este mult redus, iar iesirile sunt puse pe inalta impedanta, independent de semnalul OE#.

Memoria intra in modul standby CMOS cand pinul CE# este tinut la VCC=+(-) 0.5V. In modul standby TTL se intra cand pinul CE# este tinut la VIH. Memoria cere un timp de acces (tCE), inainte de a fi capabila sa citeasca date.

4.5 Modul Output Disable

Cand OE# este tinut la VIH, iesirile memoriei sunt dezactivate. Iesirea pinilor este pusa la inalta impedanta.

Tabelul adreselor de sectoare

Nota : toate sectoarele sunt de 64 kbiti

4.6 Modul autoselectare

In acest mod cu autoselectie, identificarea cipului si verificarea protectiei sectoarelor sunt furnizate din fabricatie, impreuna cu identificarea codului de la iesirea datelor pe DQ7-DQ0. Acest mod intentioneaza in primul rand programarea cipului cu algoritmul corespunzator. Oricum codurile cu autoselectie pot fi accesate in sistem si prin registrul de comanda.

Pentru programarea echipamentului, modul cu autoselectie cere VID(11.5 V pana la 12.5V) la pinul A9 si la semnalul de control OE#.Adresele pinilor A6, A1 si A0 trebuie puse ca si in tabelul de mai jos. Pe langa acestea la verificarea protectiei sectoarelor, adresa sectorului trebuie sa apara cea mai apropiata ordine a bitilor de adresa. Tabelul de definire a comenzilor arata adresele de biti care nu conteaza. Dupa ce toti bitii au fost setati corespunzator, programul echipamentului poate sa citeasca codul corespunzator pe DQ7-DQ0.

Tabel cu coduri de autoselectare

4.7 Protejarea/neprotejarea sectoarelor

Protectia hardware a sectoarelor dezactiveaza ambele operatii de programare si de stergere in oricare sector. Neprotejarea hardware a sectoarelor reactiveaza cele doua operatii de programare si de stergere a sectoarelor care au fost anterior protejate.

Protejarea/neprotejarea sectoarelor trebuie sa fie implementata folosind programarea echipamentului. Procedura cere o tensiune inalta (VID) la pinul A9 si la pinul de control OE#.

Memoria este livrata din fabrica cu toate sectoarele neprotejate.

Exista posibilitatea de determina daca sectoarele sunt protejate sau neprotejate.

4.8 Protectia datelor prin hardware

Secventele de comanda cerute de deblocarea ciclilor , de progamare sau de stergere identifica protectia datelor impotriva scrierilor inadvertente. Pe langa acestea, urmatoarele masuri hardware de prevenire a stergerii si progamarii accidentale care sunt cauzate de nivelele false ale semnalelor sistemului in timpul tranzitiilor de putere sau din cauza zgomotului sistemului.

a) Inhibarea scrierii la tensiune VCC prea scazuta

Cand VCC este mai mica decat VLKO dispozitivul nu accepta nici un ciclu de scriere.Acest lucru protejeaza datele in timpul variatiilor tensiunii VCC. Registrul de comanda si toate circuitele interne de programare si stergere sunt dezactivate si componenta se reseteaza. Subrutinele de citire sunt ignorate pana ce tensiunea VCC este mai mare decat VLKO. Sistemul trebuie sa identifice proprietatiile semnalelor de la pinii de control pentru a se preveni scrierile din greseala cand VCC este mai mare decat VLKO.

b)Protectia scrierii glicth-uri

La semnalele de zogomot de cel putin 5 ns la semnalele de control OE#, CE# si WE# sa nu inceapa un ciclul de scriere.

c)Inhibarea logica

Ciclii de scriere sunt inhibati daca unul din semnalele de control OE# =VIL, CE# =VIH, WE# =VIH. Pentru a incepe un ciclu de scriere, semnalele CE# si WE# trebuie tinute pe  «0» logic, in timp ce semnalul OE# este pe «1» logic.

d) Inhibarea scrierii la cresteri de tensiune

Daca WE# = CE# = VIL si OE# = VIH, atunci in timpul cresterii puterii dispozitivul nu accepta comenzi si se reseteaza .

5 Definirea comenzilor

Daca in registrul de comanda se scriu adrese specifice si comenzi sau secvente de date dispozitivul incepe operatiile. Tabelul de definire al comenziilor defineste rutinele valide ale registrului de comanda. Scrierea incorecta a adreselor si a datelor sau scrirea lor in subrutine improprii reseteaza dispozitivul.

Toate adresele sunt memorate pe frontul coborator al semnalelor de comanda WE# si CE#, care oricum se intampla mai tarziu. Toate datele sunt memorate pe frontal crescator al semnalelor de comanda WE# si CE#, care oricum se intampla mai intai.

5.1 Citirea datelor

Citirea datelor se face automat dupa cresterea puterii. Nu e necesara nici o comanda pentru salvarea datelor. Dispozitivul este pregatit de asemenea sa citeasca date dupa un algoritm complet de programare sau de stergere.

Dupa ce dispozitivul accepta comanda de suspendare a stergerii, el intra in modul Erase Suspend. Sistemul poate sa citeasca datele folosind timpii standard de citire, exceptie facand adresele sectoarelor suspendate la stergere. Dupa o operatia completa de programare in modul Erase Suspend , sistemul poate sa citeasca date, dar cu aceeasi exceptie.

Sistemul trebuie sa dea comanda de reset pentru a reactiva comanda de citire a datelor daca DQ5 este pe «1» sau daca este in modul autoselect.

5.2 Comanda de reset

Scriind comnda de reset dispozitivul se reseteaza. Bitii de adresa nu conteaza pentru aceasta comanda.

Comanda de reset poate fi scrisa intre subrutine de stergere inainte de a inceapa o stergere. O data inceputa o subrutina de stergere, dispozitivul ignora comenziile de reset pana cand operatia este completa .

Comanda de reset poate fi scrisa intre subrutine de programare inainte de a inceape o programare. Aceasta reseteaza dispozitivul ca sa citesca datele. O data inceputa o subrutina de programare, dispozitivul ignora comenziile de reset pana cand operatia este completa .

Comanda de reset poate fi scrisa intre subrutine de comenzi cu autoselectie. O data intrat in modul cu autoselectie , comanda de reset trebuie scrisa pentru a returna datele citite.

De asemenea daca DQ5 este pe « 1 » logic in timpul unei operatii de programare sau de stergere , scriere unei comenzi de reset returneaza datele citite.

5.3 Subrutinele comenzii de autoselectie

Subrutina de autoselectie permite intregului sistem sa acceseze codurile din fabricatie a componentei si sa determine daca un sector este protejat sau nu.Tabelul de definire a comenziilor arata cerintele de adresa si de date.Acesta metoda este o alternativa la ceea ce se arata in tabelul codurilor cu autoselectie si este speciala pentru programatoare PROM si cere la pinul A9 tensiunea VID.

Subrutina comenzii de autoselectie este inceputa prin 2 cicluri masina iar apoi, urmeaza comanda de autoselectie propriu-zisa.Apoi dispozitivul intra in modul cu autoselectie si poate sa citeasca la orice adresa de nenumarate ori, fara a initializa alta subrutina de comanda.

Un ciclu de citire la adresa xx00h salveaza codul din fabricatie.Un ciclu de citire la adresa xx01h returneaza codul componentei.Un ciclu de citire continand un sector de adrese (SA) si adresa 02h returneaza 01h daca sectorul este protejat, sau 00h daca sectorul este neprotejat.

Sistemul trebuie sa scrie comanda de reset pentru a iesi din modul cu autoselectie si pentru a se reintoarce la citirea de date.

5.4 Subrutina comenzii de programare a bitului

Programarea dureaza 4 cicluri masina. Subrutina incepe prin a scrie 2 cicluri masina,urmand comanda de setare a programului . Sistemul nu cere sa identifice mai departe semnalele de control sau timpii de functionare. Definitiile comenzilor arata cererile de adrese si date pentru subrutina de programarea a bitului.

Cand algoritmul programului este complet componenta returneaza datele si adresele citite care nu au fost inca memorate.Sistemul poate sa determine starea operatiei de programare utilizand DQ7 si DQ6.Orice comanda scrisa in timpul algoritmului de programare este ignorata.

Un bit nu poate fi reprogramat de la 0 logic innapoi la 1 logic.Incercand sa faca mai mult de jumatate din operatie si sa seteze DQ5 pe 1 logic sau sa se justifice algoritmul Data Polling, pentru a indica ca operatia s-a terminat cu succes. Oricum, o citire succesiva va arata ca dat este inca pe 0 logic. Numai o operatie de stergere poate sa converteasca un 0 logic in 1 logic.

Fig.1 Schema logica a programarii

5.5 Subrutina de stergere a intregului cip

Stergere intregului cip este o operatie de ­6 cicluri masina.Subrutina de stergere a cipului incepe prin scrierea a doua cicluri de deblocare, urmata de setarea comenzii de stergere. Dispozitivul nu cere o preprogramare inainte de o stergere. Algoritmul de stergere prepro-grameaza automat si verifica intreaga memorie de toti bitii care sunt pe 0 logic, innainte de a incepe o stergere elecrica.

Orice comanda de citire de pe cip in timpul algoritmului de stergere este ignorata.

Sistemul poate sa determine starea operatiei de stergere utilizand DQ7, DQ6, sau DQ2.Cand algoritmul de stergere este complet, memoria returneaza adresele si datele citite care nu au fost memorate.

Figura 2 arata algoritmul operatiei de stergere.

5.5.1 Subrutina comenzii de stergere a unui sector

Stergerea unui sector dureaza 6 cicli masina. Subrutina de comanda pentru stergerea unui sector incepe prin scrierea a doua cicluri de deblocare, urmata de setarea comenzii de stergere a unui sector. Apoi urmeaza declarare adresei sectorului care urmeaza a fi sters si comanda de stergere a sectorului respectiv.

Memoria nu cere sistemului o preprogramare a memoriei inainte de a fi stearsa. Algoritmul de stergere preprogrameaza automat si verifica intregul sector de toti bitii care sunt pe 0 logic, innainte de a incepe o stergere elecrica. Sistemul nu cere sa se identifice in timpul operatiei de stergere semnalele de control sau timpii de acces.

Dupa ce subrutina de comanda este scrisa , stergerea sectorului incepe dupa 50 us. Dupa aceasta perioada adresele de sector si comanda de stergere a sectorului pot fi scrise. Incarcarea buffer-ul de stergere a sectorului poate fi facuta in orice subrutina, iar numarul de sectoare poate sa fie de la unul la toate sectoarele. Timpul intre acesti ciclii trebuie sa fie mai putin decat 50 us, in caz contrar ultima adresa si comanda s-ar putea sa nu fie acceptata si stergerea poate sa inceapa. Este recomandat ca toate subrutinele de intrerupere sa fie dezactivate in acest timp, pentru ca sa se asigure ca toate comenziile au fost acceptate. Intreruperile pot fi reactivate dupa ce ultima comanda de stergere a unui sector a fost scrisa. Daca timpul dintre comenzile de stergere a unui sector se poate presupune ca este mai mic decat 50 us, sistemul nu trebiue sa monitorizeze DQ3. Orice alta comanda decat o stergere a unui sector sau de suspendare a stergerii in aceasta perioada reseteaza dispozitivul. Sistemul trebuie sa rescrie subrutina de comanda si adresele de sector.

Sistemul poate sa monitorizeze DQ3 pentru a determina daca timpul pentru stregerea unui sector a depasit time-out-ul. Time-out-ul incepe la frontul crescator al semnalului de comanda WE#.

O data ce operatia de stergere a inceput , numai comanda de suspendare a stergerii este validata. Toate celelalte comenzi sunt ignorate.

Cand algoritmul de stergere este complet, componenta returneaza datele si adresele citite care nu au fost inca memorate. Sistemul poate determina starea operatiei de stergere utilizand DQ7 , DQ6, sau DQ2.

Figura 2 ilustreaza algoritmul operatiei de stergere

Fig. 2 Algoritmul operatiei de stergere

5.5.2 Comenzile pentru suspendarea/reluarea stergerii

Comanda de suspendare a stergerii permite sistemului sa intrerupa o operatie de stergere a unui sector si apoi sa citeasca sau sa programeze date in orice sector care nu e selectat sa fie sters. Aceasta comanda este valida doar in timpul operatiei de stergere a unui sector,incluzand perioada de time-out de 50 us, in timpul subrutinei de stergere a unui sector. Suspendarea comenzii de stergere este ignorata in timpul operatiei de stergere a intregului cip sau in timpul algoritmului de programare. Comanda de scriere a suspendarii stergerii in timpul unui time-out, termina imediat aceasta perioada de time-out si suspenda operatia de stergere. Adresele nu conteaza in timpul scrierii comenzii de suspendare a stergerii.

Cand este data comanda de suspendare a stergerii in timpul unei operatii de stergere, dispozitivului ii trebuie maxim 20 us pentru a suspenda stergerea. Suspendarea stergerii in timpul unui time-out, memo-ria termina imediat perioada de time-out si suspenda operatia de stergere.

Dupa ce operatia de stergere a fost suspendata , sistemul poate sa citeasca din memoria de program datele din oricare sector care nu a fost selectat pentru a fi sters.

Se aplica comenzile definite si timpii normali de citire si de scriere.

Citirea oricarei adrese dintr-un sector suspendat de la stergere da starea datelor la DQ7-DQ0. Sistemul poate sa folosesca DQ7 sau DQ6 si DQ2 impreuna, pentru a determina daca un sector este supus unei stergeri sau a unei suspendari de la stergere.

Dupa ce operatia de suspendare a stergerii este completa , sistemul poate din nou sa citeasca date din celelalte sectoare. Sistemul poate sa determine starea operatiei de progamare utilizand starea bitilor DQ7 sau DQ6, la fel ca si la operatia standard de progarmare.

Sistemul mai poate sa scrie o subrutina de autoselectare cand memoria este in timpul suspendarii stergerii. Memoria permite citirea codurilor de autoselectie chiar la o adresa dintr-un sector supus stergerii, pana cand codurile sunt memorate in aria de memorie. Cand dispozitivul iasa din modul cu autoselectie, revine la modul cu suspendare a stergerii si este pregatit pentru o alta operatie valida.

Sistemul trebuie sa scrie comanda de reluare a stergerii (bitii de adresa nu conteaza) pentru a iesi din modul de suspendare a stergerii si continua cu operatia de stergere a unui sector. Mai departe comenzile de scriere ale reluarii stergerii sunt ignorate. O alta comanda de suspendare a stergerii poate fi scrisa doar dupa ce dispozitivul a reluat stergerea.

Tabelul 4 Definirea comenziilor ale memoriei AM29F040B

Legenda : x = nu conteaza

RA = adresa locatiei de memorie citita

RD = date citite de la locatia RA in timpul operatiei de citire

PA = adresa locatiei de memorie care trebuie progamata

PD = date care trebuie programate la locatia PA

SA = adresa sectorului care trebuie verificat (in modul cu autoselectie). Bitii de adresa A18-A16 selecteaza doar un sector.

5.6 Situatiile operatiilor de scriere

Dispozitivul identifica mai multi biti pentru a determina situatia operatiei de scriere : DQ2, DQ3, DQ5, DQ6 si DQ7. Tabelul 5 si urmatoarele subcapitole descriu functiile acestor biti. Fiecare din bitii DQ7 si DQ6 ofera o metoda penru a determina daca o operatie de programare sau de stergere este completa sau in curs de derulare. Acesti trei biti sunt prezentati prima data

5.6.1 DQ7:Data# Polling

Bitul DQ7 indica sistemului sursa daca algoritmul este in progres sau este complet, sau daca este in modul de suspendare a stergerii.Data# Polling-ul este valid pe frontul crescator al semnalului in subrutina de comanda pentru programare sau stergere.

In timpul algoritmului de programare , dispozitivul scoate la iesire complementul lui DQ7,care a fost programat la DQ7. Aceasta stare a lui DQ7 se aplica si in timpul modului de suspendare a stergerii. Cand algoritmul de programare este complet, dispozitivul are la iesire data programata la DQ7. Sistemul trebuie sa identifice adresele de progam pentru a citi starea valida a informatiei de la DQ7. Daca o adresa de program este intr-un sector protejat, Data# Polling-ul pe DQ7 este activ pentru aproximativ 2 us, apoi dispozitivul se reintoarce la citirea de date.

In timpul algoritmului de stergere, Data# Polling-ul pune un «0» logic la DQ7. Cand algoritmul de stergere este complet, sau daca se intra in modul de suspendare a stergerii, Data# Polling-ul pune un «1» logic la DQ7. Functia de stergere schimba toti bitii dintr-un sector pe «1» logic; inainte de aceasta iesirile dispozitivului se complementeaza, sau se pun pe «0» logic. Sistemul trebuie sa identifice adresa oricariu sector selectat pentru stergere pentru a citi starea valida la DQ7.

Dupa ce subrutina de stergere a fost scrisa, daca toate sectoarele selectate pentru stergere sunt protejate, Data# Polling-ul pe DQ7 este activ pentru aproximativ 100 us, iar apoi dispozitivul revine la citirea de date. Daca nu sunt protejate toate sectoarele de la algoritmul de stergere, atunci sectoarele neprotejate sunt sterse, iar cele protejate sunt ignorate.

Cand sistemul detecteaza ca DQ7 a fost schimbat de la complement la data, el poate citi datele valide de la DQ7-DQ0 din urmatorul ciclu de citire. Aceasta este pentru ca DQ7 poate fi schimbat asincron cu DQ0-DQ6 in timp ce Output Enable(OE #) este adus la zero.

Fig. 3 Algoritmul Data# Polling

 

Observatii

1. VA = adresa valida pentru programare. In timpul unei operatii de stergere, o adresa vailda este orice adresa dintr-un sector selectat pentru stergere.

2.DQ7 poate fi verificat chiar daca DQ5 este pe 1 logic pentru ca DQ7 se poate schimba simultan cu DQ5 .

5.6.2 DQ6 : Comutare Bit I

Comutarea bit-lui DQ6 se face daca algoritmul de progarmare sau de stergere este in progres sau este complet, sau daca a intrat in modul de suspendare a stergerii. Comutarea bit-lui I poate fi citita la orice adresa si este validata dupa frontul crescator al semnalului WE# in subrutina de comanda, sau in time-out-ul unei stregeri de sector.

In timpul algoritmului de programare sau stergere , ciclii sucesivi de citire de la orice adresa este necesar ca bitul DQ6 sa fie comutat. Dupa ce operatia este completa bitul DQ6 opreste comutarea.

Dupa ce comanda de stergere a fost scrisa , daca toate sectoarele sunt protejate de la stergere, DQ6 este pe comutatie aproximativ 100 us , apoi se reintoarece la citirea de date. Daca nu sunt protejate toate sectoarele, algoritmul sterge toate sectoarele care nu sunt protejate si le ignora pe cele protejate.

Sistemul poate sa determine daca un sector este sters sau este suspendat de la stergere prin DQ6 impreuna cu DQ2. Cand dispozitivul este in stergere activa, DQ7 este in modul comutat, iar cand intra in modul de suspendare a stergerii, DQ6 opeste comutarea. Oricum, sistemul trebuie de asemenea sa foloseasca si DQ2 pentru a determina care sector a fost sters si care a fost suspendat. Alternativ, sistemul poate sa foloseasca si DQ7.

Daca o adresa de progam este intr-un sector protejat, comutarea lui DQ6 dureaza aproximativ 2 us, iar apoi se reintoarce la citirea de date.

5.6.3 DQ2 : Comutare Bit II

Comutarea bit-ului II pe DQ2 , cand este folosit cu DQ7 , indica daca un sector particular este sters activ sau daca este in modul de suspendare a stergerii.Comutarea bit-ului II este valida dupa frontul crescator al semnalului de control WE# .

DQ2 comuta cand sistemul citeste de la adresele acelor sectoare care au fost selectate pentru a fi sterse. Dar DQ2 nu poate sa distinga daca un sector este sters activ sau este in modul de suspendare al stergerii. DQ6 spre deosebire de DQ2 indica acest lucru.

5.6.4 Citirea comutari bitilor DQ6/DQ2

Sistemul pentru citirea comutarii bitilor , trebuie sa citeasca intai bitii DQ0-DQ7 de doua ori la rand pentru a determina daca un bit a fost comutat . Sistemul va retine valoarea bitului comutat dupa prima citire. Dupa a doua citire, sistemul va compara vechea valoare cu cea noua. Daca bitul nu a fost comutat, dispozitivul completeaza programul cu operatia de stergere. Sistemul poate citi din memoria de date la urmatorul ciclu masina .

Oricum daca dupa cea de-a doua citire, sistemul determina ca bitul a fost comutat, trebuie sa verifice daca valoarea lui DQ5 este pe «1» logic. Daca este, sistemul trebuie apoi sa determine din nou daca s-a comutat bitul, pana cand comutarea bitului se opreste pana cand DQ5 va fi pe «1» logic. Daca bitul nu mai comuta dispozitivul a termint cu succes programarea sau stergerea. In caz ca inca comuta, dispozitivul nu a terminat complet operatia si sistemul trebuie sa scrie comanda de reset si sa se reintoarca la citirea de date din memorie.

5.6.5 DQ5 : Depasirea timpilor limita

DQ5 indica daca timpul de stergere sau de programare a depasit pulsul intern specificat. In aceste conditii DQ5 trece pe «1» logic.Aceasta este o conditie de esuare, care arata ca ciclul de programare sau de stergere nu a fost complet. Aceasta conditie poate sa mai apara daca sistemul incearca sa programeze un «1» logic intr-o locatie unde este deja programat un «0» logic. Numai operatia de stergere poate schimba un «0» logic in «1» logic. In aceasta conditie opreste operatia si cand a depasit timpul limita, DQ5 se pune pe «1» logic.

In ambele conditii, sistemul trebuie sa dea comanda de reset pentru a se intoarce la citirea de date.

5.6.6 Timpul de stergere al unui sector

Dupa scrierea unei subrutine de stergere, sistemul poate citi DQ3 pentru a determina daca a inceput operatia de stergere (timpul de stergere pentru un sector nu se aplica si la stergerea intregului cip). Daca sunt selectate si alte sectoare, intregul time-out se aplica dupa fiecare comanda de stergere a fiecarui sector. Cand time-out-ul este complet, DQ3 trece din "0" logic in "1" logic. Sistemul poate sa ignore DQ3 daca el garanteaza ca intre comenzile de stergere vor dura mai putin de 50 us.

Dupa ce subrutina de stergere a fost scrisa, sistemul trebuie sa citeasca starea bitului DQ7 sau a lui DQ6 pentru a asigura dispozitivul ca a fost acceptata si apoi il citeste pe DQ3. Daca DQ3 este pe "1" logic ciclul intern de stergere controleaza daca acesta a inceput. Daca DQ3 este pe «0» logic, sistemul va accepta comenzile de stergere a sectoarelor. Pentru a se asigura ca a fost acceptata comanda, software-ul sistemului trebuie sa verifice in primul rand DQ3 si apoi fiecare subrutina a comenzii de stergere a sectoarelor. Daca DQ3 este pe "1" logic in starea a doua a verificarii, ultima comanda nu trebuie acceptata .

Tabelul 5 Starea operatiilor de scriere

Observatii

1. DQ7 si DQ2 cere o adresa valida cand citeste stare informatiei

2. DQ5 trece pe "1" cand operatiile de programare si de stergere au depasit limitele timpului maxim.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.