logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak działa dostęp do pamięci NAND ? Teoria i praktyka.

Sebastian.R 27 Lip 2011 15:39 3266 0
REKLAMA
  • #1 9764656
    Sebastian.R
    Poziom 20  
    Posty: 525
    Pomógł: 14
    Ocena: 41
    Witam . Mam pytanie dotyczące działania pamięci NAND FLASH. Chodzi mi o teorię dotyczącą działania bym mógł napisać program do obsługi tych pamięci. Programatory są mega drogie i nie każdego stać na kupno profesjonalnego sprzętu , a dodając że miałoby się zaprogramować tylko jeden układ to wogóle cała inwestycja byłaby nie rentowna. Także proszę o pomoc kogoś kto ma pojęcie jak działają te pamięci i mógłby tu krok po kroku wyjasnić jak zachowują się poszczególne sygnały wejściowe do danych wchodzących/wychodzących przez I/O0-I/O7.
    W NAND dostepne sygnały są : I/O1 - 8 ,/CE (chip enable),/WE(zezwolenie na zapis),/RE(zezwolenie odczytu),CLE command latch enable,ALE address latch enable, /WP write protect,RY /BY ready/busy , GND,Vcc,Vss (masa wejściowych sygnałów).
    Rozumiem że /CE to pin który wprowadzony w stan "0" spowoduje włączenie się chipa do pracy. Musi być zawsze włączony. Chyba, że korzystamy z kilku podobnych układów - wtedy on staje się jakby włącznikiem aktywnego układu w danym czasie.
    /WE to pin zezwalający na zapis -musi być w stanie "0" jeśli chcemy coś zapisać.
    /RE podobnie do /WE tyle, że tyczy się odczytu. Oba piny mogą być jedynie w stanie wysokim "1" jak mi się zdaje. Jeden z nich musi być w niskim stanie by było OK. Chyba że się mylę ? Proszę mnie poprawić.=Dziękuję=
    /WP write protect - blokada zapisu. Gdy nie chcemy by układ został zapisany wtedy ten pin dajemy do GND. Normalnie poprzez np. rezystor 10K do Vcc.
    RY /BY - inaczej READY /BUSY - czyli gotowy /zajęty . Wyjście z układu , pin przerwania uniemożliwiający wysłanie komendy odczytu lub zapisu przez zewnętrzny kontroler (np.AVR).
    GND ,Vcc ,Vss - to chyba jest znane oznaczenie masy i zasilania .
    I tu moja wiedza się kończy.
    Do czego służą CLE command latch enable,ALE address latch enable to już wyczytałem, ale nie mam pojęcia w jakiej kolejności muszą łapać "0" i "1", w jakim czasie, by możliwy był odczyt czy zapis NAND ?
    Czy jest możliwe że pojawi się ktoś obznajomoony z tym tematem i mi wyjaśni?
    Czy są jakieś procedury init , tak jak to jest w przypadku wyświetlacza do S65 (Kranz) do odczytu i zapisu?
    =DZIĘKUJĘ= za wszelkie uwagi dotyczące tego tematu.
    Do moderatorów tego forum : proszę nie usuwać tego tematu, przejrzałem to forum i nie znalazłem żadnej istotnej informacji w tym kierunku. A chyba ostatnio temat stał się dosyć ciekawy. Jeśli umieściłem go w złej kategorii to proszę o przeniesienie.Dziękuję.

    Oto znalazłem parę ciekawych informacji:
    Jak działa dostęp do pamięci NAND ? Teoria i praktyka.
    Z rysunku - czyli z 2 diagramów: Basic Read Page i Basic Page Write/Program wynika że :
    a)dla odczytu:
    stan początkowy : /CE -"1",CLE - "0", ALE- "0", /WE- "1",/RE-"1"

    zmieniamy /CE z "1" na "0" CLE -"0" , ALE - "0" , /WE -"1"
    następnie zmieniamy CLE na "1" i /WE na "0" , na I/O(7:0) wysyłamy komendę 00H - znaczy że chcemy oczytać
    kolejny krok to zmiana /WE na "1" i CLE na "0" włączamy ALE zmieniając stan na "1" , krótko /WE na "0",na I/O(7:0) podajemy adres do odczytu np.15H ,podnosimy /WE do stanu "1"
    pin /RE na "0" , odczytujemy na I/O (7:0) zawartość naszej komórki pamięci pod adresem np.15H .

    b)dla zapisu:
    stan początkowy : /CE -"1",CLE - "0", ALE- "0", /WE- "1",/RE-"1"

    /RE niezmiennie stan "1" - przez cały czas zapisu
    reszta prawie tak samo jak dla odczytu , tylko komendę mamy inną bo 80H.

    Dobrze rozumuję ?
    Do moderatora forum : Proszę nie kasować, wiem że na pewno rzuciło się w oczy że mam drugi podobny temat w dziale z AVRami ale jak zobaczę że tu jest bryndza - znaczy nikt nie zajrzy i nie napisze to sam skasuje ten temat. OK ?
  • REKLAMA
REKLAMA