-
1. Data: 2011-05-01 20:09:14
Temat: STM32F103 - podłączenie pamięci SRAM i zagadka...
Od: Konop <k...@g...pl>
Witam
Tak czytam dokumentację, czytam i połapać się nie mogę... jakoś to
wszystko nieprecyzyjnie napisane...
Mam mikrokontroler STM32F103VE lub -ZE (jeden w TQFP100, drugi w
TQFP144). Chcę do niego podłączyć pamięć SRAM... Sprawa wydaje się
banalna, a jednak nie... Pytania, jakie mi się nasuwają, są następujące:
1) Czy mikrokontrolery te mogą współpracować z pamięcią SRAM o 8-bitowej
szynie danych?? Z jednej strony w 'Reference Manual' jest tabelka 107 w
dziale 21.5.2 i tam wyszczególnione są obsługiwany typy pamięci...
wszystkie 16-bitowe... Z drugiej strony na początku rozdziału 21.5 też
są wymienione obsługiwane typy pamięci i tam piszą, że SRAM to 8, 16 i
32 bity... W rejestrze FSMC_BCR można ustawić 8 lub 16 bitów tylko...
Więc jak to z tym jest?? Pociągnie pamięć 8-biotwą?? Jak ją podłączyć??
Rozumiem, że pinów "Lower Byte" i "Upper Byte" podłączać nie muszę,
reszta standardowo, tak??
A jak podłączyć pamięć 32-bity?? ;>;>;>...
2) Czy do mikrokontrolera 100-pinowego mogę podłączyć pamięć SRAM??
(Dla niewtajemniczonych - 100-pinowy procek nie ma wszystkich sygnałów
wyprowadzonych i może pracować w trybie współdzielenia magistrali...)
W 'Application Note 2784' podane są sposoby podłączania pamięci NAND
Flash i NOR Flash do mikrokontrolerów 100-pinowych, nie ma słowa o SRAM...
Podobnie w 'Reference Manual' w 21.5 wymieniają typy pamięci
obsługiwanych przez stosowny kontroler, i słowa "multiplexed or
nonmultiplexed" padają tylko w kontekście NOR Flash, przy SRAM o tym nie
piszą...
Czy ktoś przerabiał temat?? Rzeczywiście się nie da tego pożenić??
Trochę jest to dla mnie dziwne, czy faktycznie obsługa pamięci SRAM w
tym trybie byłaby niemożliwa bądź utrudniona? Czy o co chodzi??
Z góry dziękuję za pomoc bardziej doświadczonych osób, gdyż to moja
pierwsza przygoda z tymi mikrokontrolerami i nie chcę czegoś spartaczyć
na samym początku pracy... A dodatkowo, muszę ciąć koszty, więc tańsza
wersja uC bardziej by mi pasowała, tak samo jak tańszy, 8-bitowy RAM...
--
Pozdrawiam
Konop
-
2. Data: 2011-05-01 22:21:11
Temat: Re: STM32F103 - podłączenie pamięci SRAM i zagadka...
Od: mk <m...@o...pl>
W dniu 2011-05-01 22:09, Konop pisze:
> Witam
>
> Tak czytam dokumentację, czytam i połapać się nie mogę... jakoś to
> wszystko nieprecyzyjnie napisane...
> Mam mikrokontroler STM32F103VE lub -ZE (jeden w TQFP100, drugi w
> TQFP144). Chcę do niego podłączyć pamięć SRAM... Sprawa wydaje się
> banalna, a jednak nie... Pytania, jakie mi się nasuwają, są następujące:
>
> 1) Czy mikrokontrolery te mogą współpracować z pamięcią SRAM o 8-bitowej
> szynie danych??
Tak.
> Z jednej strony w 'Reference Manual' jest tabelka 107 w
> dziale 21.5.2 i tam wyszczególnione są obsługiwany typy pamięci...
> wszystkie 16-bitowe... Z drugiej strony na początku rozdziału 21.5 też
> są wymienione obsługiwane typy pamięci i tam piszą, że SRAM to 8, 16 i
> 32 bity... W rejestrze FSMC_BCR można ustawić 8 lub 16 bitów tylko...
> Więc jak to z tym jest?? Pociągnie pamięć 8-biotwą??
Pociągnie 8-bit.
> Jak ją podłączyć??
> Rozumiem, że pinów "Lower Byte" i "Upper Byte" podłączać nie muszę,
> reszta standardowo, tak??
Chyba "przejęzyczyłeś się".
"Lower Byte" musisz...
Reszta standardowo.
> A jak podłączyć pamięć 32-bity?? ;>;>;>...
>
>
> 2) Czy do mikrokontrolera 100-pinowego mogę podłączyć pamięć SRAM??
> (Dla niewtajemniczonych - 100-pinowy procek nie ma wszystkich sygnałów
> wyprowadzonych i może pracować w trybie współdzielenia magistrali...)
Klasyczną pamięć SRAM bezpośrednio - nie.
> W 'Application Note 2784' podane są sposoby podłączania pamięci NAND
> Flash i NOR Flash do mikrokontrolerów 100-pinowych, nie ma słowa o SRAM...
> Podobnie w 'Reference Manual' w 21.5 wymieniają typy pamięci
> obsługiwanych przez stosowny kontroler, i słowa "multiplexed or
> nonmultiplexed" padają tylko w kontekście NOR Flash, przy SRAM o tym nie
> piszą...
>
> Czy ktoś przerabiał temat?? Rzeczywiście się nie da tego pożenić??
> Trochę jest to dla mnie dziwne, czy faktycznie obsługa pamięci SRAM w
> tym trybie byłaby niemożliwa bądź utrudniona? Czy o co chodzi??
Podłączenia pamięci SRAM do STM32 w wersji 100-pin nie przerabiałem w
praktyce, choć rozważałem taką możliwość. Nie pamiętam szczegółów, czy
rozstrzygała prostota rozwiązania (tj. wybrałem 144-pin), czy
komplikacje związane z koniecznymi dodatkowymi układami
multipleksująco-zatrzaskowymi.
pzdr
mk
-
3. Data: 2011-05-02 10:36:33
Temat: Re: STM32F103 - podłączenie pamięci SRAM i zagadka...
Od: Konop <k...@g...pl>
W dniu 2011.05.02 00:21, mk pisze:
> Pociągnie 8-bit.
Dzięki za informację :)
>> Jak ją podłączyć??
>> Rozumiem, że pinów "Lower Byte" i "Upper Byte" podłączać nie muszę,
>> reszta standardowo, tak??
>
> Chyba "przejęzyczyłeś się".
> "Lower Byte" musisz...
> Reszta standardowo.
Hmmm... A do czego go podłączyć?? Jeśli pamięć ma 8 bitów, to raczej nie
ma wejść w stylu "Lower Byte" i "Upper byte" :)... . Ma pewnie OE, WE i
CE, podłączam je odpowiednio do NOE, NWE i NEx procesora... i wtedy NBL0
i NBL1 zostają niepodłączone... Ale w sumie, skoro pamięć ma 8 bitów i
kontroler pamięci o tym "wie", to w ogóle tych pinów chyba nie powinien
wykorzystywać... albo ja czegoś nie kumam :D...
> Klasyczną pamięć SRAM bezpośrednio - nie.
> Podłączenia pamięci SRAM do STM32 w wersji 100-pin nie przerabiałem w
> praktyce, choć rozważałem taką możliwość. Nie pamiętam szczegółów, czy
> rozstrzygała prostota rozwiązania (tj. wybrałem 144-pin), czy
> komplikacje związane z koniecznymi dodatkowymi układami
> multipleksująco-zatrzaskowymi.
Że bezpośrednio, to rozumiem... typowo wykorzystuje się tutaj jakiś
'Latch', jak w starszych prockach... Ale, jak pisałem, dokumentacja
wspomina coś na temat podłączania pamięci Flash, natomiast milczy w
kwestii podłączania pamięci SRAM. Stąd zastanawiam się, czy jest to
możliwe i czemu nie :)...
--
Pozdrawiam
Konop
-
4. Data: 2011-05-03 11:12:56
Temat: Re: STM32F103 - podłączenie pamięci SRAM i zagadka...
Od: "Marcin Wasilewski" <j...@a...pl>
Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
news:ipm1f3$jvg$1@inews.gazeta.pl...
> W dniu 2011.05.02 00:21, mk pisze:
>> Reszta standardowo.
> Hmmm... A do czego go podłączyć?? Jeśli pamięć ma 8 bitów, to raczej nie
> ma wejść w stylu "Lower Byte" i "Upper byte" :)... . Ma pewnie OE, WE i
> CE, podłączam je odpowiednio do NOE, NWE i NEx procesora... i wtedy NBL0
Ale szynę danych opisaną w stylu D0-D7, czy Dx0-Dx7 to pewnie ma.
> i NBL1 zostają niepodłączone... Ale w sumie, skoro pamięć ma 8 bitów i
> kontroler pamięci o tym "wie", to w ogóle tych pinów chyba nie powinien
> wykorzystywać... albo ja czegoś nie kumam :D...
Jeśli masz pamięć 16 bitową to w jednym cyklu przekazywane jest słowo 16
bitowe. Górna połówka jest w Upper Byte, a dolna w Lower Byte. Jeśli masz
pamięć 8 bitową, to magistrala danych ma 8 bitów, więc wykorzystujesz tylko
Lower Byte.
> Że bezpośrednio, to rozumiem... typowo wykorzystuje się tutaj jakiś
> 'Latch', jak w starszych prockach... Ale, jak pisałem, dokumentacja
> wspomina coś na temat podłączania pamięci Flash, natomiast milczy w
> kwestii podłączania pamięci SRAM. Stąd zastanawiam się, czy jest to
> możliwe i czemu nie :)...
Latch jest po to aby zaoszczędzić ilość linii potrzebną do obsługi pamięci.
Każdy kontroler (mający odpowiednią ilość wolnych portów) obsłuży Ci pamięć
SRAM, tylko czasami trzeba to robić programowo, podobnie jak komunikację z
pamięciami typu: 24Cxx, czy PCF8563, HD44780 (wbrew pozorom to również są
pamięci).
-
5. Data: 2011-05-03 13:48:14
Temat: Re: STM32F103 - podłączenie pamięci SRAM i zagadka...
Od: Konop <k...@g...pl>
W dniu 2011.05.03 13:12, Marcin Wasilewski pisze:
> Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
> news:ipm1f3$jvg$1@inews.gazeta.pl...
>> W dniu 2011.05.02 00:21, mk pisze:
>
>>> Reszta standardowo.
>> Hmmm... A do czego go podłączyć?? Jeśli pamięć ma 8 bitów, to raczej
>> nie ma wejść w stylu "Lower Byte" i "Upper byte" :)... . Ma pewnie OE,
>> WE i CE, podłączam je odpowiednio do NOE, NWE i NEx procesora... i
>> wtedy NBL0
>
> Ale szynę danych opisaną w stylu D0-D7, czy Dx0-Dx7 to pewnie ma.
No ale szynę danych podłącza się normalnie ;)...
>> i NBL1 zostają niepodłączone... Ale w sumie, skoro pamięć ma 8 bitów i
>> kontroler pamięci o tym "wie", to w ogóle tych pinów chyba nie
>> powinien wykorzystywać... albo ja czegoś nie kumam :D...
>
> Jeśli masz pamięć 16 bitową to w jednym cyklu przekazywane jest słowo 16
> bitowe. Górna połówka jest w Upper Byte, a dolna w Lower Byte.
To rozumiem :). Ale to działa tak - jeśli jest zapisywany słowo
16-bitowe, to kontroler podaje oba sygnały... Jeśli zapisywane jest
słowo 8-bitowe, to kontroler wystawia jeden z sygnałów UB lub LB i w ten
sposób modyfikuje tylko odpowiednią część słowa w pamięci 16-bitowej...
> Jeśli
> masz pamięć 8 bitową, to magistrala danych ma 8 bitów, więc
> wykorzystujesz tylko Lower Byte.
No dokładnie, w pamięci 8-bitowej sygnał UB nie ma sensu, zaś LB
powinien być "zawsze aktywny". Chodzi mi o praktyczną realizację - czy
sygnał NBL0 procesora do czegoś podłączam, czy nie??
> Latch jest po to aby zaoszczędzić ilość linii potrzebną do obsługi
> pamięci. Każdy kontroler (mający odpowiednią ilość wolnych portów)
> obsłuży Ci pamięć SRAM, tylko czasami trzeba to robić programowo,
> podobnie jak komunikację z pamięciami typu: 24Cxx, czy PCF8563, HD44780
> (wbrew pozorom to również są pamięci).
Wiem, do czego służy latch i jak działa. Że można programowo, też
wiem... Mi chodzi o wykorzystanie hardwareowego kontrolera pamięci
(FSMC), który jest wbudowany w ten mikrokontroler ;)... Po prostu
dokumentacja jest trochę nieprecyzyjna i chcę spytać, czy ktoś czegoś
takiego kiedyś używał :).
--
Pozdrawiam
Konop