Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Pamięci komputerowe RAM

bartekgajos
-
-
Posty:57
Rejestracja:10 lis 2006, o 11:50
Lokalizacja:Gdansk

Postautor: bartekgajos » 26 gru 2006, o 21:10

Witam

Zapis do rejestru sterujacego powinien byc wykonany po wlaczeniu napiecia zasilajacego pamiec. Nie jestem w stanie odpowiedziec co bedzie gdy nie zapiszemy tego rejestru, prawdopodobnie producent scalaka przewidzial taka ewentualnosc i ustawil fabrycznie jakies ustawienia ( informacja o ustawieniach fabrycznych powinna byc umieszczona w karcie katalogowej ).

Jedna kolumna to 512,1024,2048,8192 bajty - w zaleznosci od konfiguracji sprzetowej pamieci, jest to informacja podstawowa, która jest na pewno umieszczona w karcie katalogowej, wybor kolumny jest aktywowany sygnalem #RAS, a komorka w kolumnie jest aktywowana sygnalem #CAS.

4 bajty lub 32 bity to jest ropzmiar komorki pamieci.

Sprawa odswierzania: rownierz informacja musi byc zawarta w karcie katalogowej, szukaj czegos w stylu 1024/8ms, 2048/16ms, jest to informacja ile cykli jeden za drugim musi byc wykanana w danym czasie, kazdy cykl to jest aktywowanie sygnalu #RAS przy jednoczesnym ustawieniu adresu kolumny ( chyba ze ustawisz tryb odswierzania "SELF REFRESH ", to wtedy nie podajesz adresu, tylko uaktywniasz sygnal #RAS, a licznik w srodku pamieci sam poda ktora kolumna jest odswierzana ).

Jezeli chodzi o odswierzanie reczne przy odczycie, wiem na pewno ze w pamieciach DRAM asynchronicznych wystarczylo odczytac jedna komorke z danej kolumny zeby odswierzyc cala kolumne, niestety nie mam takiej iformacji na temat SDRAM.

Podczas odsierzania automatycznego nie nalezy liczyc na to ze w buforze wyjsciowym beda jakies sensowne dane.

Sprawa #CS i BS, Chip select aktywuje caly uklad scalony, BS aktywuje jeden z bankow pamieci, ale tylko gdy #CS jest aktywny, jezeli na przyklad masz dwa sygnaly BS, to aktywuj #CS dla calego ukladu i wybierz ktory bank chcesz odczytywac lub zapisywac sygnalami BS.

Mam nadzieje ze troche pomoglem

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 27 gru 2006, o 12:32

Bardzo pomogłeś :)

Poszukałem dokumentacji w necie i mam taką: http://pj.wroclaw.pl/ftp/SD8_16C8_16x64AG.pdf

Odnośnie rejstru MODE REGISTER i uruchomienia kostki piszą tak:
Initialization

SDRAMs must be powered up and initialized in a
predefined manner. Operational procedures other
than those specified may result in undefined operation.
Once power is applied to Vdd and VddQ (simultaneously)
and the clock is stable (stable clock is
defined as a signal cycling within timing constraints
specified for the clock pin), the SDRAM requires a
100µs delay prior to issuing any command other than a
COMMAND INHIBIT or NOP. Starting at some point
during this 100µs period and continuing at least
through the end of this period, Command Inhibit or
NOP commands should be applied.
Once the 100µs delay has been satisfied with at least
one Command Inhibit or NOP command having been
applied, a PRECHARGE command should be applied.
All device banks must then be precharged, thereby
placing the device in the all banks idle state.
Once in the idle state, two AUTO refresh cycles must
be performed. After the AUTO refresh cycles are complete,
the SDRAM is ready for mode register programming.
Because the mode register will power up in an
unknown state, it should be loaded prior to applying
any operational command.
mam nadzieję, że jeśli sie przedłuży ten okres komendy NOP lub COMMAND INHIBIT a potem nada się dopiero np po 1sek ustawienie MODE REGISTER także się nic nie stanie.
Sprawa odswierzania:

Self Refresh Mode: 64ms, 4,096-cycle refresh
(15.625µs refresh interval)
Jezeli chodzi o odswierzanie reczne przy odczycie, wiem na pewno ze w pamieciach DRAM asynchronicznych wystarczylo odczytac jedna komorke z danej kolumny zeby odswierzyc cala kolumne, niestety nie mam takiej iformacji na temat SDRAM.
Też nie wiem, bo w pamięciach asynchronicznych DRAM do FPM lub EDO przepisywany był cały wiersz, więc odczytanie jednej kolumny i tak spowodowało przepisanie całego wiersza - czyli odświerzenie. Wydaje mi się, że SDRAM chyba podobnie pobiera informacje ponieważ musi odczytać cały wiersz aby potem odzyskać jedną kolumne nadal przecież jest to Dynamic RAM- fakt w tych pamięciach nieco inaczej zachodzi odbieranie danych jedna za drugą, autor tego kursu też zaznaczył, że SDRAMy są tak dobrze zorientowane w swojej strukturze, że nawet nie muszą podawać danych pokolei jak są zapisane - jesli ktoś wie czy jest tak samo w obu typach pamięci proszę dać znać


Czy dobrze rozumiem(opieram się o schemat ze stroniy nr 6 który dodałem w załączniku), ze czip obejmuje dwa banki, a jeden bank składa się z pary matryc pamięciowych 8bitowych:
Figure 3:
do czipa S0 należy bank nr 0 od DQ0 do DQ15 i bank nr 1 od DQ32 do DQ47 a do czipa S2 należy bank nr 0 od DQ16 do DQ31 i bank nr 1 od DQ48 do DQ63. Aktywność czipa zgłaszam przez aktywację bitu CS(Chip select) - czy mogę jednocześnie operować na dwóch chipach? - domyślam się, że tak, ponieważ dla dwóch czipów są dwa oddzielne bity(piny) a dodatkowo przecież kolumna to 32bity - więc te dane muszą sie jakoś "rozejść" po nóżkach wyjśćiowych ramu. Domyślam się także, że nie jest możliwe operowanie jednocześnie dwoma bankami z tego samego czipa, ponieważ do wyboru banków jest tylko jeden bit BA - więc to jakby wyklucza taką możliwość.
Załączniki
pamiec.gif

bartekgajos
-
-
Posty:57
Rejestracja:10 lis 2006, o 11:50
Lokalizacja:Gdansk

Postautor: bartekgajos » 27 gru 2006, o 15:08

Witam

Sprawa konfiguracji:

Przed zapisaniem rejestru MODE REGISTER musisz wykonac co najmniej dwa cykle odswierzania ( odpowiednia komenda ) AUTO REFRESH


Sprawa bankow:

sygnaly BA0 i BA1 - pamiec wewnatrz jest podzielona na 4 obszary ( o szerokosci 64 bitow )
sygnaly DQMB0 do DQMS7 - sygnaly maskowania ( wyboru ) odpowiednich 8 bitowych slow w jednym cyklu ( cala szyna danych to 64 bity, wiec DQMB0..7 odpowiadaja 8x8bitow = 64 bity )

Chcac zrobic cos ( po zaprogramowaniu rejestru MODE REGISTER ) musisz:
Aktywowac sygnaly CKE0 i CKE1 ( sygnaly te powinny byc aktywowane przed zapisaniem danych do rejestru MODE REGISTER i powinny byc aktywne caly czas )
Aktywowac pamiec sygnalami S0 do S3 ( rownoczesnie S0 i S2, lub S1 i S3 )
Wystawic adres na szynie A0 do A11
Wybrac obszar sygnalami BA0 do BA1
Wybrac ktore bajty odczytac, sygnalami DQMB0 do DQMB7
Podac komende sygnalami RAS,CAS,WE
Odczytac lub zapisac dane

Nie sugeruj sie schematem, widze pewne niescislosci w nim, powinny byc cztery sygnaly S0, S1,S2,S3, a sa namalowane tylko S0 i S2, na nastepnym schemaciemasz to rozrysowane lepiej, proboj sterowac odczytem bajtow sygnalami DQMB0 do DQMB7.

Idealnie by bylo gdybys sprobowal zaprzac jakis CPLD lub FPGA do tej roboty, bo wtedy masz duzo wiecej mozliwosci poprawek, jak cos nie pojdzie.

Sprawa odswierzania:

musisz wykonac 4096 cykli odswierzania w czasie 64ms, to znaczy ze musisz wystawic 4096 adresow ( kolejnych, poczawszy od 0000 ) w czasie 64 ms. lub zlecic odswierzanie samym kosciom SDRAM, ale uwzgledniajac czas potrzebny do przeprowadzenia calej operacji,
Jesli moge zadac pytanie, to jakiego masz zamiar uzyc sterownika do sterowania tymi pamieciami?????

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 28 gru 2006, o 11:30

Co do sterowania to będe zmuszony zastosować układy CPLD lub FPGA ale totalnie się na tym nie znam. W jakich językach to sie programuje - może macie jakieś kursy?

Odświerzanie da się zrobić w takim czasie - planuję wyświetlać 50klatek na sekundę, czyli pamięc w której będą zapisane dla mnie istotne dane będzie w całości odczytywana przez 20ms. Problem tylko się pojawia, że jeśli dana jest na wyjściu tylko przez jeden takt to muszę albo podkręcić czestotliwość matrycy LCD albo zejść z częstotliwością kostek. Np takie PC66 można taktować sygnałem zegarowym 40MHz?

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 58 gości