-
1. Data: 2016-03-28 16:46:45
Temat: SDRAM do ARM Cortex M4
Od: Pszemol <P...@P...com>
Witam, potrzebuję pomocy kogoś, kto ma doświadczenie przy podłączaniu
swojego processora do 32-bitowej kostki pamięci SDRAM.
Używam procka ARM/CortexM4 firmy NXP, oznaczenie procka LPC4088
i pojedynczej kostki pamięci SDRAM firmy ISSI model IS42S32800D-7.
Datasheet pamięci: http://www.issi.com/WW/pdf/42-45S32800D.pdf
Tam wyczytałem że pamięć moja jest 256 megabit, zorganizowana w 4 banki po
64 megabitowe tablice po 4096 wiersze i 512 kolumn słów 32-bitowych.
Kostka ma 2 piny do wyboru banku (BA0 i BA1),
32 piny danych (D0-D32) i 4 bity maski bajtów danych (DQM0-DQM3).
Kostka ma tylko 12 pinów wyboru adresu wiersza z których 9 służy do wyboru
kolumny.
Datasheet procesora: http://cache.nxp.com/documents/user_manual/UM10562.p
df
Na stronie 190 jest tam tabelka 135, którą próbuję zaimplementować w swoim
kodzie...
Z tego co rozumiem, są tam 4 części tabelki, dwie pierwsze dla konfiguracji
z 16-bitową szyną danych i dwie dla mojej konfiguracji z 32-bitową szyną
danych.
Ponieważ mam jedną kostkę 32-bitową (a nie np. 2 kostki 16-bit ani nie 4
kostki 8 -bit) to skupiam się na wierszu tabelki opisanym ,,256Mbits (8M x
32)" ale wtedy otrzymuję konfigurację 4 banki po 13 bitów dla wyboru
wiersza i 8 bitów dla wyboru kolumny.
Ale w opisie kostki pamięci mam 12 pinów dla wyboru wiersza i 9 dla wyboru
kolumny więc nie obsłużę 13 bitów adresu wiersza bo brak mi A12.
Czego ja tu nie rozumiem?
-
2. Data: 2016-03-28 21:45:08
Temat: Re: SDRAM do ARM Cortex M4
Od: Pszemol <P...@P...com>
Pszemol <P...@P...com> wrote:
> Witam, potrzebuję pomocy kogoś, kto ma doświadczenie przy podłączaniu
> swojego processora do 32-bitowej kostki pamięci SDRAM.
>
> Używam procka ARM/CortexM4 firmy NXP, oznaczenie procka LPC4088
> i pojedynczej kostki pamięci SDRAM firmy ISSI model IS42S32800D-7.
>
> Datasheet pamięci: http://www.issi.com/WW/pdf/42-45S32800D.pdf
>
> Tam wyczytałem że pamięć moja jest 256 megabit, zorganizowana w 4 banki po
> 64 megabitowe tablice po 4096 wiersze i 512 kolumn słów 32-bitowych.
> Kostka ma 2 piny do wyboru banku (BA0 i BA1),
> 32 piny danych (D0-D32) i 4 bity maski bajtów danych (DQM0-DQM3).
> Kostka ma tylko 12 pinów wyboru adresu wiersza z których 9 służy do wyboru
> kolumny.
>
> Datasheet procesora: http://cache.nxp.com/documents/user_manual/UM10562.p
df
>
> Na stronie 190 jest tam tabelka 135, którą próbuję zaimplementować w swoim
> kodzie...
> Z tego co rozumiem, są tam 4 części tabelki, dwie pierwsze dla konfiguracji
> z 16-bitową szyną danych i dwie dla mojej konfiguracji z 32-bitową szyną
> danych.
>
> Ponieważ mam jedną kostkę 32-bitową (a nie np. 2 kostki 16-bit ani nie 4
> kostki 8 -bit) to skupiam się na wierszu tabelki opisanym ,,256Mbits (8M x
> 32)" ale wtedy otrzymuję konfigurację 4 banki po 13 bitów dla wyboru
> wiersza i 8 bitów dla wyboru kolumny.
>
> Ale w opisie kostki pamięci mam 12 pinów dla wyboru wiersza i 9 dla wyboru
> kolumny więc nie obsłużę 13 bitów adresu wiersza bo brak mi A12.
>
> Czego ja tu nie rozumiem?
Patrzę sobie właśnie na notę aplikacyjną dla innego proca (LPC32xx)
http://www.nxp.com/documents/application_note/AN1093
5.pdf
i widzę tam na stronie 23, rozdział 2.11, że zalecają niestandardowe
ustawienia dla liczby bitów wierszy i kolumn, niedozwolone w standardowym
User Manual procesora...
Dla kostek 32-bitowych o gęstości 256Mbit (8M x 32) proponują ustawienie
takie jak dla kostek 16-bitowych 128Mbit!
Ustawiłem 1 0 010 01 jak dla 128Mbit (8M x 16), 4 bank, 12 row, 9 colums i
działa...
No co za skórkowańcy...
Jak z tym żyć panie premierze??
Jak żyć? :-)
-
3. Data: 2016-03-28 21:52:52
Temat: Re: SDRAM do ARM Cortex M4
Od: Artur Miller <n...@n...com>
W dniu 2016-03-28 o 21:45, Pszemol pisze:
>
> Patrzę sobie właśnie na notę aplikacyjną dla innego proca (LPC32xx)
> http://www.nxp.com/documents/application_note/AN1093
5.pdf
> i widzę tam na stronie 23, rozdział 2.11, że zalecają niestandardowe
> ustawienia dla liczby bitów wierszy i kolumn, niedozwolone w standardowym
> User Manual procesora...
>
> Dla kostek 32-bitowych o gęstości 256Mbit (8M x 32) proponują ustawienie
> takie jak dla kostek 16-bitowych 128Mbit!
>
> Ustawiłem 1 0 010 01 jak dla 128Mbit (8M x 16), 4 bank, 12 row, 9 colums i
> działa...
>
> No co za skórkowańcy...
> Jak z tym żyć panie premierze??
> Jak żyć? :-)
>
get over it :) NXP daje w miarę realne datasheety, TI to w przypadku
bardziej skomplikowanych układów lista pobożnych życzeń :)
a.
-
4. Data: 2016-03-28 23:05:43
Temat: Re: SDRAM do ARM Cortex M4
Od: Waldek Hebisch <h...@a...uni.wroc.pl>
Pszemol <P...@p...com> wrote:
> Pszemol <P...@P...com> wrote:
> > Witam, potrzebuj? pomocy kogo?, kto ma do?wiadczenie przy pod??czaniu
> > swojego processora do 32-bitowej kostki pami?ci SDRAM.
> >
> > U?ywam procka ARM/CortexM4 firmy NXP, oznaczenie procka LPC4088
> > i pojedynczej kostki pami?ci SDRAM firmy ISSI model IS42S32800D-7.
> >
> > Datasheet pami?ci: http://www.issi.com/WW/pdf/42-45S32800D.pdf
> >
> > Tam wyczyta?em ?e pami?? moja jest 256 megabit, zorganizowana w 4 banki po
> > 64 megabitowe tablice po 4096 wiersze i 512 kolumn s??w 32-bitowych.
> > Kostka ma 2 piny do wyboru banku (BA0 i BA1),
> > 32 piny danych (D0-D32) i 4 bity maski bajt?w danych (DQM0-DQM3).
> > Kostka ma tylko 12 pin?w wyboru adresu wiersza z kt?rych 9 s?u?y do wyboru
> > kolumny.
> >
> > Datasheet procesora: http://cache.nxp.com/documents/user_manual/UM10562.p
df
> >
> > Na stronie 190 jest tam tabelka 135, kt?r? pr?buj? zaimplementowa? w swoim
> > kodzie?
> > Z tego co rozumiem, s? tam 4 cz??ci tabelki, dwie pierwsze dla konfiguracji
> > z 16-bitow? szyn? danych i dwie dla mojej konfiguracji z 32-bitow? szyn?
> > danych.
> >
> > Poniewa? mam jedn? kostk? 32-bitow? (a nie np. 2 kostki 16-bit ani nie 4
> > kostki 8 ?bit) to skupiam si? na wierszu tabelki opisanym ?256Mbits (8M x
> > 32)? ale wtedy otrzymuj? konfiguracj? 4 banki po 13 bit?w dla wyboru
> > wiersza i 8 bit?w dla wyboru kolumny.
> >
> > Ale w opisie kostki pami?ci mam 12 pin?w dla wyboru wiersza i 9 dla wyboru
> > kolumny wi?c nie obs?u?? 13 bit?w adresu wiersza bo brak mi A12.
> >
> > Czego ja tu nie rozumiem?
>
> Patrz? sobie w?a?nie na not? aplikacyjn? dla innego proca (LPC32xx)
> http://www.nxp.com/documents/application_note/AN1093
5.pdf
> i widz? tam na stronie 23, rozdzia? 2.11, ?e zalecaj? niestandardowe
> ustawienia dla liczby bit?w wierszy i kolumn, niedozwolone w standardowym
> User Manual procesora...
>
> Dla kostek 32-bitowych o g?sto?ci 256Mbit (8M x 32) proponuj? ustawienie
> takie jak dla kostek 16-bitowych 128Mbit!
>
> Ustawi?em 1 0 010 01 jak dla 128Mbit (8M x 16), 4 bank, 12 row, 9 colums i
> dzia?a...
>
Ta tabelka wyglada dziwnie, ale chyba da sie ja rozsadnie przeczytac:
32 bitowe slowo i kosc 128Mbit (8M x 16) oznacza faktycznie dwie
kosci -- dwie zeby dostac 32 bitowe slowo z dwu 16 bitowych
kawalkow. Liczac linie adresowe widac ze to jedyna sensowna
interpretacja, w przeciwnym razie linii adresowych byloby
za duzo.
No a dla procesora dwie kosci 128Mbit z 16 bitowym slowem to
prawie to samo co jedna 256Mbit z 32 bitowym slowem.
--
Waldek Hebisch
-
5. Data: 2016-03-29 01:16:49
Temat: Re: SDRAM do ARM Cortex M4
Od: "Pszemol" <P...@P...com>
"Waldek Hebisch" <h...@a...uni.wroc.pl> wrote in message
news:ndc6b7$i7q$1@z-news.wcss.wroc.pl...
> Pszemol <P...@p...com> wrote:
>> Pszemol <P...@P...com> wrote:
>> > Witam, potrzebuj? pomocy kogo?, kto ma do?wiadczenie przy pod??czaniu
>> > swojego processora do 32-bitowej kostki pami?ci SDRAM.
>> >
>> > U?ywam procka ARM/CortexM4 firmy NXP, oznaczenie procka LPC4088
>> > i pojedynczej kostki pami?ci SDRAM firmy ISSI model IS42S32800D-7.
>> >
>> > Datasheet pami?ci: http://www.issi.com/WW/pdf/42-45S32800D.pdf
>> >
>> > Tam wyczyta?em ?e pami?? moja jest 256 megabit, zorganizowana w 4 banki
>> > po
>> > 64 megabitowe tablice po 4096 wiersze i 512 kolumn s??w 32-bitowych.
>> > Kostka ma 2 piny do wyboru banku (BA0 i BA1),
>> > 32 piny danych (D0-D32) i 4 bity maski bajt?w danych (DQM0-DQM3).
>> > Kostka ma tylko 12 pin?w wyboru adresu wiersza z kt?rych 9 s?u?y do
>> > wyboru
>> > kolumny.
>> >
>> > Datasheet procesora:
>> > http://cache.nxp.com/documents/user_manual/UM10562.p
df
>> >
>> > Na stronie 190 jest tam tabelka 135, kt?r? pr?buj? zaimplementowa? w
>> > swoim
>> > kodzie?
>> > Z tego co rozumiem, s? tam 4 cz??ci tabelki, dwie pierwsze dla
>> > konfiguracji
>> > z 16-bitow? szyn? danych i dwie dla mojej konfiguracji z 32-bitow?
>> > szyn?
>> > danych.
>> >
>> > Poniewa? mam jedn? kostk? 32-bitow? (a nie np. 2 kostki 16-bit ani nie
>> > 4
>> > kostki 8 ?bit) to skupiam si? na wierszu tabelki opisanym ?256Mbits (8M
>> > x
>> > 32)? ale wtedy otrzymuj? konfiguracj? 4 banki po 13 bit?w dla wyboru
>> > wiersza i 8 bit?w dla wyboru kolumny.
>> >
>> > Ale w opisie kostki pami?ci mam 12 pin?w dla wyboru wiersza i 9 dla
>> > wyboru
>> > kolumny wi?c nie obs?u?? 13 bit?w adresu wiersza bo brak mi A12.
>> >
>> > Czego ja tu nie rozumiem?
>>
>> Patrz? sobie w?a?nie na not? aplikacyjn? dla innego proca (LPC32xx)
>> http://www.nxp.com/documents/application_note/AN1093
5.pdf
>> i widz? tam na stronie 23, rozdzia? 2.11, ?e zalecaj? niestandardowe
>> ustawienia dla liczby bit?w wierszy i kolumn, niedozwolone w standardowym
>> User Manual procesora...
>>
>> Dla kostek 32-bitowych o g?sto?ci 256Mbit (8M x 32) proponuj? ustawienie
>> takie jak dla kostek 16-bitowych 128Mbit!
>>
>> Ustawi?em 1 0 010 01 jak dla 128Mbit (8M x 16), 4 bank, 12 row, 9 colums
>> i
>> dzia?a...
>>
>
> Ta tabelka wyglada dziwnie, ale chyba da sie ja rozsadnie przeczytac:
>
> 32 bitowe slowo i kosc 128Mbit (8M x 16) oznacza faktycznie dwie
> kosci -- dwie zeby dostac 32 bitowe slowo z dwu 16 bitowych
> kawalkow. Liczac linie adresowe widac ze to jedyna sensowna
> interpretacja, w przeciwnym razie linii adresowych byloby
> za duzo.
>
> No a dla procesora dwie kosci 128Mbit z 16 bitowym slowem to
> prawie to samo co jedna 256Mbit z 32 bitowym slowem.
No fajowo, ale zauważ, że User Manual procesora wyraźnie tezę stawia,
że kombinacje nie wymienione w tabelce nie są obsługiwane...
I ja nie mam dwu kości pamięci żeby wybierać konfig dla 128Mbit :-)
A tabelka nie pisze nic o pamięci 256Mbit co ma 4 banki po 2Mx32bit
i chce tylko 12 bitów na wiersze i 9 na kolumny.
Więc jak chcę podłączyć do tego procesora JEDNĄ kostkę 32-bitową
pamięci 256Mbit, która ma tylko 12 pinów adresowych to według
User Manual dla LPC4088 nie mam takiej opcji, czy źle kombinuję?
Dopiero posiłkując się jakąś przypadkową Application Note i do tego
dla innego procesora, która wyraźnie zachęca do zignorowania tego
ostrzeżenia i ustawienia innych, niewspieranych kombinacji, zadziałało.
Niezbyt ładnie ze strony NXP. I na dodatek ten procesor nie jest jakoś
specjalnie nowy, więc argument że może to poprawią chyba tu niezbyt
ich obroni...
No nic - na 60MHz już mi to już dziś działa. Jutro pokombinuję z 96
i może nawet 120MHz, bo w manualu NXP znowu coś ględzi że 80MHz
to maksymalny zegar dla tej szyny pamięci (sam cpu jest 120MHz max)
ale widzę w sieci pełno relacji że się ludziom udało ten procesor
podłączyć dużo szybciej...