Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATMEGA/SIMM30 - Kłopot z zapisem bajtu do pamięci DRAM

czarusgg 17 Lis 2014 08:24 660 1
  • #1 17 Lis 2014 08:24
    czarusgg
    Poziom 12  

    Witam wszystkich!

    Mam problem z obsługą pamięci DRAM typu SIMM30.
    Otóż po zapisie jednego bajtu pod wskazany adres podawany w postaci:

    uint16_t ROW, uint16_t COL

    odczytuję z tej samej komórki w 1/4 przypadków inną wartość niż zapisałem.
    Natomiast, gdy hurtem zapiszę np. 256 komórek tą samą wartością, to zawsze odczytuję prawidłowe wartości.
    Nadmienię, iż przy hurtowym zapisywaniu nie używam metody "FAST-PAGE-MODE EARLY-WRITE CYCLE". Szereg komórek zapisuję tak jak pojedyńczą komórkę.
    Czy po zapisie do pamięci powinienem jeszcze wykonać jakąś operację? Np. wymusić odświeżanie albo wykonać cykl HIDDEN REFRESH? Czy raczej z pamięcią jest coś nie tak?

    0 1
  • #2 18 Lis 2014 01:19
    trol.six
    Poziom 30  

    czarusgg napisał:
    odczytuję z tej samej komórki w 1/4 przypadków inną wartość niż zapisałem.
    Natomiast, gdy hurtem zapiszę np. 256 komórek tą samą wartością, to zawsze odczytuję prawidłowe wartości.
    Nadmienię, iż przy hurtowym zapisywaniu nie używam metody "FAST-PAGE-MODE EARLY-WRITE CYCLE". Szereg komórek zapisuję tak jak pojedyńczą komórkę.
    Czy po zapisie do pamięci powinienem jeszcze wykonać jakąś operację? Np. wymusić odświeżanie albo wykonać cykl HIDDEN REFRESH? Czy raczej z pamięcią jest coś nie tak?

    http://pl.wikipedia.org/wiki/Pamięć_dynamiczna_(informatyka)

    Tak cieżko zgadnąć bez przetestowania całej, najlepiej kilka razy. A metody chyba też nie robią różnicy dla sprawnej kości.

    Polecam jakieś dokumentacje, najlepiej kilka ;). Ja wyczytałem że pamięć wymaga inicjalizacji w postaci odczekania 100-200us po zasilaniu oraz minimum 8 cykli odświeżania.
    Cykle odświeżania trzeba robić, przecież to pamięć dynamiczna. Hidden refresh to zdajesie automatycznie działa podczas dostępu.

    0