RTV forum PL | NewsGroups PL

Szczegółowy opis działania pamięci SDRAM (SDR) dla projektów konstrukcyjnych

opis SDRAM

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Szczegółowy opis działania pamięci SDRAM (SDR) dla projektów konstrukcyjnych

Goto page Previous  1, 2, 3  Next

John Smith
Guest

Wed Sep 13, 2006 2:55 pm   



Quote:
a tak calkiem na chlopski rozum,
Też próbuję chłopskiego rozumu.


to moze masz zwarty
Quote:
bit A0 do czegos, co steruje zawsze na '1'
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.

Quote:
[niekoniecznie do vcc];
wiem, ze to nie tlumaczy w pelni opisanego objawu,
ale moze Twoj opis tez nie jest 100% poprawny ... Smile
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

JA
Guest

Wed Sep 13, 2006 2:56 pm   



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

JA


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Greg(G.Kasprowicz)
Guest

Wed Sep 13, 2006 2:57 pm   



Quote:
ale po doswiadczeniach z pisaniem i uruchamianiem
kontrolera sdram twierdze ze po sdram mozna sie
spodziewac takiego zachowania

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]

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

mk
Guest

Wed Sep 13, 2006 3:29 pm   



Newsuser "John Smith" wrote:
Quote:
Może na początek:
Betty Prince, "Nowoczesne pamięci półprzewodnikowe".

Sądząc po spisie trześci:
Wstęp
[ciach]
6. Nowa architektura szybkich pamięci dynamicznych

6 rozdział to, ten właśnie rozdział.
Tu masz bardziej szczegółowy spis treści:
http://www.amazon.com/gp/reader/0471986100/ref=sib_dp_top_toc/104-4541865-6235930?ie=UTF8&p=S008#reader-link
Uwaga! 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

JA
Guest

Wed Sep 13, 2006 7:05 pm   



John Smith:

Quote:
Nie zrozumiałem jaki test (niestety).

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 Smile]

JA




--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

John Smith
Guest

Wed Sep 13, 2006 8:41 pm   



Quote:
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 Smile]


Na tę chwilę mam podłączoną tylko młodszą połówkę D0-D15.
Po wpisaniu
adres dana
0x00000000 0x00000000
0x00000004 0x00000004
0x00000008 0x00000008
....
0x00000010 0x00000010

gdzie słowo jest czterobajtowe
otrzymuję (dla CAS=3 ECLKOUT)
0x00000000 0x000000EC - wartość taka sama jak z pustego adresu
0x00000004 0x00000000
0x00000008 0x00000004
0x0000000C 0x00000008
0x00000010 0x0000000C
0x00000014 0x00000010
itd. przez całą pamięć

Dziś siedzę już za długo i mam zwidy. Dla CAS=2 napiszę jutro. Coś
jeszcze dziwniejszego wychodzi.
K.

JA
Guest

Wed Sep 13, 2006 10:12 pm   



John Smith:

Quote:
Na tę chwilę mam podłączoną tylko młodszą połówkę D0-D15.

no wlasnie, o tym za chwile;

Quote:
Po wpisaniu
adres dana
0x00000000 0x00000000
0x00000004 0x00000004

chcialem tak:
0x00000004 0x00040004
by zobaczyc, gdzie laduje gorna polowka,
choc moze - by sie dalo rozroznic polowki
lepiej by bylo: 0x40000004

wydaje mi sie, ale to tylko moje gdybanie,
za na skutek zlego wpisania rejestrow sterujacych
w kontrolerze sytuacja wyglada tak:

piszesz dana 0xaaaabbbb, masz 16 bitowa pamiec, wiec
kontroler uklada dane tak:

xxxx adres pamieci N
bbbb N+1

ew. cos podobnego przy czytaniu, albo oba efekty
naraz;

na razie wiecej wywrozyc nie umiem;

JA

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

John Smith
Guest

Thu Sep 14, 2006 7:59 am   



JA wrote:

Quote:
John Smith:


Na tę chwilę mam podłączoną tylko młodszą połówkę D0-D15.


no wlasnie, o tym za chwile;


Po wpisaniu
adres dana
0x00000000 0x00000000
0x00000004 0x00000004


chcialem tak:
0x00000004 0x00040004
by zobaczyc, gdzie laduje gorna polowka,
choc moze - by sie dalo rozroznic polowki
lepiej by bylo: 0x40000004

wydaje mi sie, ale to tylko moje gdybanie,
za na skutek zlego wpisania rejestrow sterujacych
w kontrolerze sytuacja wyglada tak:

piszesz dana 0xaaaabbbb, masz 16 bitowa pamiec, wiec
kontroler uklada dane tak:

xxxx adres pamieci N
bbbb N+1

ew. cos podobnego przy czytaniu, albo oba efekty
naraz;

na razie wiecej wywrozyc nie umiem;

To akurat nie problem. Pamięć o której dyskutujemy jest już drugim
projektem. W pierwszym nie dbałem o połączenia, dając pole do popisu
autorouterowi. Efektem było niestabilne działanie.
Po poprawieniu ścieżek (choć nie sa identycznej długości), pamięć działa
stabilnie.
Po włożeniu w gniazdo starej, i wpisaniu 0x01234567 mam taką wartość
tyle, że w komórce N+1.
Nie lutuję jeszcze starszej połowy, gdyż szyna adresowa i sterująca jest
podłączona równolegle co pogorszy dynamikę. Jest ok. 5pF na wejście.

Inni też mają podobne problemy z SDRAM:
http://www.dsprelated.com/groups/c6x/show/2419.php
choć jeszcze nie dokopałem się jak je rozwiązali.

Dzięki za zainteresowanie. Ja muszę kopać problem do skutku.
Pozdrawiam,
K.

Greg(G.Kasprowicz)
Guest

Thu Sep 14, 2006 8:32 am   



Quote:
To akurat nie problem. Pamięć o której dyskutujemy jest już drugim
projektem. W pierwszym nie dbałem o połączenia, dając pole do popisu
autorouterowi. Efektem było niestabilne działanie.
Po poprawieniu ścieżek (choć nie sa identycznej długości), pamięć działa
stabilnie.
Po włożeniu w gniazdo starej, i wpisaniu 0x01234567 mam taką wartość tyle,
że w komórce N+1.
Nie lutuję jeszcze starszej połowy, gdyż szyna adresowa i sterująca jest
podłączona równolegle co pogorszy dynamikę. Jest ok. 5pF na wejście.

Inni też mają podobne problemy z SDRAM:
http://www.dsprelated.com/groups/c6x/show/2419.php
choć jeszcze nie dokopałem się jak je rozwiązali.


poczytalem, dziwne ludzie maja pomysly, by podlaczac SDRAM przez FPGA -
spore opoznienia przeciez beda i sie moze nei wyrabiac.
jakby co, to mam DSK TI 6711 z pamieciami Microna, moge podejrzec w zrodlach
(o ile gdzies wogle sa w postaci jawnej) jak jest konfigurowana..
sprawdzales ustawienia latency zarowno w pamieci, jak i w kontrolerze?
dobrze wyliczyles ich wartosc dla konkretnej pamieci?

mk
Guest

Thu Sep 14, 2006 9:27 am   



Newsuser "JA" wrote:
Quote:
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

Ależ dlaczego nie mogła by być taka regularność?
Takie właśnie zachowanie miało by miejsce przy różnicy jednego taktu między
CAS latency w kontrolerze i pamięci.
Chyba, że czegoś ja nie rozumiem...

Jedynie na co można jeszcze zwrócić uwagę to, to iż, jeśli pamięć jest
taktowana zegarem bliskim maksymalnemu, to zmniejszenie CAS latency w
pamięci może spowodować, że pamięć nie będzie zdolna podać danych tak szybko
(szczegółowe dane jakie ustawienia CAS latency są możliwe dla jakich zegarów
powinny być podane w nocie aplikacyjnej).

pzdr
mk

JA
Guest

Thu Sep 14, 2006 9:38 am   



Quote:
Nie lutuję jeszcze starszej połowy,

czyli gorne 16 bitow idzie w powietrze ?
zle zrozumialem, myslalem ze kontroler
musi rozlozyc 32 bity na 2 x 16 i tu robi
sie blad;

Quote:
Inni też mają podobne problemy z SDRAM:
http://www.dsprelated.com/groups/c6x/show/2419.php

z jakim zegarem to chodzi ?
na potrzeby testu, nie mozna zejsc z czestotliwoscia
do jakichs 50 MHz ?

przy okazji - uzycie fpga samo w sobie moze
i glupie, ale do uruchamiania daje calkiem dobry
analizator logiczny;
nie masz pod reka jakiejs altery, ktora moznaby
wlozyc zamiast pamieci i uzyc jej do monitorowania
sygnalow ?


Quote:
choć jeszcze nie dokopałem się jak je rozwiązali.

a ti nie ma supportu ?
powinni wiedziec, skoro to problem szerzej znany;

Quote:
Dzięki za zainteresowanie. Ja muszę kopać problem do skutku.

jak sie dokopiesz, to napisz w czym jest problem;

JA



--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

John Smith
Guest

Thu Sep 14, 2006 6:24 pm   



Greg(G.Kasprowicz) wrote:
Quote:
To akurat nie problem. Pamięć o której dyskutujemy jest już drugim
projektem. W pierwszym nie dbałem o połączenia, dając pole do popisu
autorouterowi. Efektem było niestabilne działanie.
Po poprawieniu ścieżek (choć nie sa identycznej długości), pamięć działa
stabilnie.
Po włożeniu w gniazdo starej, i wpisaniu 0x01234567 mam taką wartość tyle,
że w komórce N+1.
Nie lutuję jeszcze starszej połowy, gdyż szyna adresowa i sterująca jest
podłączona równolegle co pogorszy dynamikę. Jest ok. 5pF na wejście.

Inni też mają podobne problemy z SDRAM:
http://www.dsprelated.com/groups/c6x/show/2419.php
choć jeszcze nie dokopałem się jak je rozwiązali.



poczytalem, dziwne ludzie maja pomysly, by podlaczac SDRAM przez FPGA -
spore opoznienia przeciez beda i sie moze nei wyrabiac.
jakby co, to mam DSK TI 6711 z pamieciami Microna, moge podejrzec w zrodlach
(o ile gdzies wogle sa w postaci jawnej) jak jest konfigurowana..
sprawdzales ustawienia latency zarowno w pamieci, jak i w kontrolerze?
dobrze wyliczyles ich wartosc dla konkretnej pamieci?

Myślę, że przeliczyłem dobrze. Próbowałem też "metodą małpy".
Na DSK C6713 jest już SDRAM i na niej też wykonałem masę prób.
Dzisiaj próbuję dalej. Są nowe pomysły które trzeba sprawdzić.
K.

John Smith
Guest

Thu Sep 14, 2006 6:36 pm   



Sorry, że tak późno odpowiadam. Taki dziś był dzień.


Quote:
Nie lutuję jeszcze starszej połowy,

czyli gorne 16 bitow idzie w powietrze ?
zle zrozumialem, myslalem ze kontroler
musi rozlozyc 32 bity na 2 x 16 i tu robi
sie blad;
W pierwszym modelu wlutowane są dwie kostki obsadzające D0-D31.

W nowej tylko jedna, z miejscem na drugą.

Quote:

Inni też mają podobne problemy z SDRAM:
http://www.dsprelated.com/groups/c6x/show/2419.php


z jakim zegarem to chodzi ?
na potrzeby testu, nie mozna zejsc z czestotliwoscia
do jakichs 50 MHz ?
Zegar zmniejszam ile popadnie z oryginalnych 75MHz nawet na 15MHz.

Efekt stabilny i ten sam.


Quote:
przy okazji - uzycie fpga samo w sobie moze
i glupie, ale do uruchamiania daje calkiem dobry
analizator logiczny;
nie masz pod reka jakiejs altery, ktora moznaby
wlozyc zamiast pamieci i uzyc jej do monitorowania
sygnalow ?
W PFGA/CPLD poruszam się tylko w ISE Xilinxa.

Ale jeszcze ChipScope nie próbowałem. Warto popróbować?


Quote:

a ti nie ma supportu ?
powinni wiedziec, skoro to problem szerzej znany;
Jak się poddam to do nich napiszę.


Quote:


Dzięki za zainteresowanie. Ja muszę kopać problem do skutku.


jak sie dokopiesz, to napisz w czym jest problem;
Nie ma sprawy.

K.

JA
Guest

Fri Sep 15, 2006 7:17 am   



John Smith:

wcielo pierwsza odpowiedz, z gory przpraszam,
jesli ukaza sie dwie;

Quote:
Zegar zmniejszam ile popadnie z oryginalnych 75MHz
nawet na 15MHz. Efekt stabilny i ten sam.

jesli z powodu routingu zegar jest spozniony
nawet o ulamek ns, to i przy 10Hz bedzie blad,
wiec warto sprawdzic oscyloskopem;


Quote:
W PFGA/CPLD poruszam się tylko w ISE Xilinxa.
Ale jeszcze ChipScope nie próbowałem. Warto popróbować?

moim zdaniem tak, o ile to nie wymaga zakupu
kosci, software i miesiecznych studiow;
fpga daje ci calkiem niezly analizator logiczny,
dzieki ktoremu mozesz obejrzec krok po kroku
aktywnosc na polaczeniach kontroler-pamiec;
w Twoim wypadku warto wygenerowac w fpga pll,
ktora podniesie zegar 4 razy i tym zegarem
pedzic chopscope;
idealem byloby skompilowac kontroler w fpga,
ale ti pewnie nie daje rtl;
ja pracuje a altera, z xilinxem mam malutkie
doswiadczenie;


Quote:
a ti nie ma supportu ?

powinni wiedziec, skoro to problem szerzej znany;
Jak się poddam to do nich napiszę.

moim zdaniem troche bez sensu, rownie dobrze
moglbys przyjac, ze zapytasz grope, albo google
dopiero jak sie poddasz;
chyba wywalono by mnie z roboty z takim nastawieniem;

JA



--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

John Smith
Guest

Fri Sep 15, 2006 8:25 am   



Quote:

Zegar zmniejszam ile popadnie z oryginalnych 75MHz
nawet na 15MHz. Efekt stabilny i ten sam.


jesli z powodu routingu zegar jest spozniony
nawet o ulamek ns, to i przy 10Hz bedzie blad,
wiec warto sprawdzic oscyloskopem;
Zegar też jest na liście podejrzanych. Tym bardziej, że podłączam

do SDK w którym jakiś natchniony projektant wyprowadził szynę danych,
adresową i sterującą na jedno złącze i jedynie CLK na drugie odległe
o 3 cale. Przyczyna routingu może więc leżeć po stronie SDK a nie mojej.
Całość sygnałów jest buforowana przez SN74LVTH16245A. Zegar może mieć
znaczenie! I tutaj pytanie, jak wygodnie przesunąć zegar w fazie?
Przy pomocy RC bym nie chciał bo uzależni to konstrukcję od konkretnej
częstotliwości.



Quote:
W PFGA/CPLD poruszam się tylko w ISE Xilinxa.
Ale jeszcze ChipScope nie próbowałem. Warto popróbować?


moim zdaniem tak, o ile to nie wymaga zakupu
kosci, software i miesiecznych studiow;
fpga daje ci calkiem niezly analizator logiczny,
dzieki ktoremu mozesz obejrzec krok po kroku
aktywnosc na polaczeniach kontroler-pamiec;
w Twoim wypadku warto wygenerowac w fpga pll,
ktora podniesie zegar 4 razy i tym zegarem
pedzic chopscope;
idealem byloby skompilowac kontroler w fpga,
ale ti pewnie nie daje rtl;
ja pracuje a altera, z xilinxem mam malutkie
doswiadczenie;
Skorzystam. Temat drgnie już nawet dziś.




Quote:

a ti nie ma supportu ?


powinni wiedziec, skoro to problem szerzej znany;

Jak się poddam to do nich napiszę.


moim zdaniem troche bez sensu, rownie dobrze
moglbys przyjac, ze zapytasz grope, albo google
dopiero jak sie poddasz;
chyba wywalono by mnie z roboty z takim nastawieniem;
Google pytałem od razu, grupę też dość szybko.

A z TI się jeszcze wstrzymuję. Po pierwsze mają bardzo dużą
bezwładność, po drugie to ich procesor ale nie ich płytka.
W praktyce upływają dni lub tygodnie zanim coś konkretnego się
od nich uzyska. Po prostu zapracowani. Problemy płyną z całego świata.


Kolega doradził mi skupienie się na adresie 0, ten do którego nie mogę
nic zapisać (lub odczytać, to się okaże). Niestety (?!) ponownie
potwierdziłem, że sygnały są ładne, prostokątne jak na cyfrówke
oczywiście. Bez żadnej histerezy która mogłaby powodować dodatkowe
przełączenia. Na końcówce adresu A1 (A3 DSP) jest dodatkowy sygnał
jedynki, czego się nie spodziewałem. W tej chwili jeszcze sprawdzę
soft na poziomie asemblera (na poziomie C jest poprawny).
Jedynka też może wynikać z komend wysyłanych do SDRAM. Też wymaga
sprawdzenia.
Dzięki za dotychczasową pomoc,
K.

Goto page Previous  1, 2, 3  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Szczegółowy opis działania pamięci SDRAM (SDR) dla projektów konstrukcyjnych

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map