opis SDRAM

Sep 13, 2006 30 Replies

Witam, Poszukuję _dobrego_ (szczegółowego) opisu działania SDRAM (SDR) do celów konstrukcyjnych. Informacje zawarte w danych katalogowych jakoś nie wystarczają do zrozumienia zasady działania tych pamięci. Pozdrawiam, K.



Użytkownik John Smith napisał:

Jeżeli szukasz literatury typu " SDRAM krok po kroku" lub " SDRAM nie tylko dla orłów" to raczej nie znajdziesz.

Poszukaj jakiś przykładów na stronie producenta

Adam Górski

to napsiz jaki masz problem? czego nei rozumeisz w datasheet'cie? pytales google? jest sporo opisow dzialania SDRAM dla laikow ostatnio czytalem o roznicach pomiedy DDR i DDRII - bede przerabial moj kontroler sdram na DDR-II tu masz podsumowanie roznic- prosciej chyba sie nei da

formatting link
znajdziesz na temat SDR SDRAM na stronach prducentow czasami umeiszczane sa podstawowe wiadomosci na temat podzespolow - kiedys znaazlem na temat SDRAM takze

Mo¿e na pocz±tek: Betty Prince, "Nowoczesne pamiêci pó³przewodnikowe".

pzdr mk

Dołączam pamięć V54C3256164VDI7PC do SDK TMS320C6713B. Pamięc działa bardzo stabilnie, ale z dziwnym efektem. Po zapisie pod adres N, wartość mogę odczytać pod adresem N+1. Wartość pod adresem N jest nietknięta. Błędy w sofcie zostały wykluczone. Dzwonienie na liniach ograniczone do nieznaczących wartości. Szumy na masie i zasilaniu, również.

Mając na uwadze powyższe, czegoś nie wiem.

Nie zadaję pytania na grupie nie pytając wcześniej Googli. Jest pełno opisów dla laików i na tym poziomie się niestety zatrzymują.

Pytam, bo może ktoś przerabiał ten temat. K.

Sądząc po spisie trześci: Wstęp

  1. Przegląd szybkich pamięci statycznych
  2. Zastosowania pamięci o dużej wydajności
  3. Szybkie pamięci statyczne o dostępie swobodnym (SRAM)
  4. Szybkie pamięci podręczne
  5. Rozwój szybkich asynchronicznych pamięci dynamicznych
  6. Nowa architektura szybkich pamięci dynamicznych
  7. Pamięci dynamiczne zorientowane graficznie
  8. Problemy dotyczące zasilania, interfejsu i testowania
  9. Techniki montażu układów scalonych o dużej szybkości działania Skorowidz

brak jest opisu synchronicznych pamięci dynamicznych SDRAM. Jeżeli możesz to potwierdzić, to poproszę. Działanie pamięci SRAM i DRAM jest mi znane. K.

nie znajdziesz wytlumaczenia tego zjawiska w opisie sdram, [przynajmniej wg. mnie] raczej w kontrolerze, ewentualnie w timingu na pinach pamieci; mozesz oscyloskopem sprawdzic jak sa wczasie polozone sygnaly cas, we address w stosunku do clock ?

swoj test zrobiles dla jednego wpisu odczytu ? moze na poczatek wypelnij kilkanascie lokacji wartosciami adresu, tzn. pod adres 0 wpisz 0, pod adr. 1 dana 1 itd; jaki masz bus adresowy - 8, 16, 32 bity ? moze masz zly 'endian' ?

JA

Zacznę sprawdzać oscyloskopem. Trochę potrwa, bo brak szybkiego analizatora logicznego.

Zachowanie dotyczy całej pamięci, przy czym adresu 0 (zero) jakby nie było.

Pamięć 32 bity, endianness domyślny czyli little.

Na tę chwilę odczuwam jedynie braki w wiedzy o SDRAM. Schemat logiczny jest starannie przeczesany i zgodny z spru266a.pdf . Dzięki, K.

pamiec do zapisu uzywa pipeline, zapis trwa zazwyczaj 1 cykl, odczyt 2,3 lub

4 i byc moze kontroler pamieci wystawia adres w zlym momencie lub zla (poprzednia) jego wartosc. Sprawdzilbym czy dobrze ustawione sa Cas Latency i Ras Latency zarowno w pamieci i kontrolerze wyglada mi to na ten problem

nie sadze, w takim przypadku odczytywalby cos przypadkowego, a nie wartosc z sasiedniej lokacji;

JA

mimo wszystko sprobuj zrobic taki test, jesli to nie problem, odczyt moze cos wyjasnic;

mialem na mysli bus danych oczywiscie; jesli dsp <-> controller ma bus 32, a controller <-> sdram jest 16 bitow, to trzeba znalezc, jak kontroler uklada te bajty; transfer jest burst, czy pojedyncze slowa ? moze pamiec jest ustawiona w mode interleave, a dsp oczekuje sekwencyjnie ?

micron mial zawsze bardzo dobre app. notes, zajrzyj tam, nawet data sheet dowolnej pamieci jast napisana burdziej 'user friendly' niz u innych, tez sie nadaje jako zrodlo wiedzy;

ale moje doswiadczenie podpowiada mi, a akurat od dluzszego czasu zajmije sie kontrolerami sdram i ddr ram, ze problem jest w sterowniku, nie w pamieci; ew. w timingu, ale wtedy _raczej_ nie byloby takiej regularnosci

nie mam pojecia, co to spru266 :(

JA

sprawdzic nie zaszkodzi, i ew poeksperymentowac jak sie nie ejst pewien ale po doswiadczeniach z pisaniem i uruchamianiem kontrolera sdram twierdze ze po sdram mozna sie spodziewac takiego zachowania.

a tak calkiem na chlopski rozum, to moze masz zwarty bit A0 do czegos, co steruje zawsze na '1' [niekoniecznie do vcc]; wiem, ze to nie tlumaczy w pelni opisanego objawu, ale moze Twoj opis tez nie jest 100% poprawny ... :)

JA

Greg:

jasne, napisalem 'miekko', ze nie sadze; ale moge sie mylic;

po napisanym wlasnorecznie kontrolerze, mozna sie wszystkiego spodziewac, przynajmniej poki nie spedzi sie miesiecy czy nawet lat na jego testowaniu; ale mowimy [chyba ?] o sterowniku 'fabrycznym', wielokrotnie przetestowanym juz przez producenta; [oczywiscie takie tez moga miec bugi, ale nie tak glupie]

JA

Nie zrozumiałem jaki test (niestety). Z adresu zero (0x00000000) odczytuję takie same wartości jak spoza pamięci. Wartość zapisaną pod tę komórkę mogę odczytać pod adresem 0x00000001.

Tego nie wiem, czy burst czy pojedyńczy. Ale sądząc po testach, to pojedynczy. Mogę zaadresować pojedyńczy bajt i zapisać. Oczywiście z dziwną regułą adresową N+1. Prowadzi to oczywiscie do zaadresowania pojedyńczego bajtu w słowie 32-bitowym.

Dzięki zajrzę, doba zejdzie zanim przebrnę.

Jest zaledwie jedno ustawienie w kontrolerze informujące, że podłączona pamięć ma szyną danych 32-bity. To MTYPE w rejestrze CECTL3.

Dokument spru266a firmy Texas Instruments opisuje jak podłączyć pamięci (w tym SDRAM) do ich procesorów serii 6xxx. Dzięki za rady, K.

Też próbuję chłopskiego rozumu.

to moze masz zwarty

Gdyby było zwarcie/rozwarcie na A0 pamięci (A2 na DSP) to ginełaby nieparzysta/parzysta wartość. Tymaczasem nic takiego się nie dzieje. _Wszystkie_ wartości są dostęne, ale z przesunięciem.

Staram się jak mogę w opisie problemu. Jeśli coś nie jest jasne, to na miare swoich mozliwości, chętnie wyjaśnię. Zwłaszcza, że może doprowadzić do rozwiązania zagadki.

Pozdrawiam, K

na razie koniec, moze jeszcze w drodze do domu mi przyjdzie do glowy, to odpisze jutro;

JA

zgadza sie, ale cos podobnego dostalem, jak zle ustawilem RAS czy CAS latency, stad moja sugestia

[ciach]
6 rozdzia³ to, ten w³a¶nie rozdzia³. Tu masz bardziej szczegó³owy spis tre¶ci:
formatting link
Polskie wydanie jest starsze i spis ró¿ni siê nieco od tego pod linkiem (np. w polskim wydaniu, przynajmniej tym, które posiadam, nie ma nic o DDR SDRAM).

pzdr mk

John Smith:

wpisz w jednej sekwencji:

adres dana

0x0 0x0 0x1 0x10001 0x2 0x20002 ... 0xf 0xf000f

a potem odczytaj obszar od 0x0 do 0xf [i napisz co wyszlo :)]

JA

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required