Zewnętrzna pamięć operacyjna dla AVR [Bascom]
Zewnętrzna pamięć operacyjna dla AVR [Bascom]
Koledzy... Wynikła mi potrzeba podłączenia do Atmegi8 około 32 kilobajtów zewnętrznego Ramu. Jak to zrobić i obsługiwać z Bascoma? Nie widzę tu żadnych szczególnych materiałów na ten temat. Jakie układy pamięci podłączyć i jak, żeby ten RAM był tak samo szybki jak ten wbudowany RAM procesora? Jak wygląda obsługa z Bascoma? Będę wdzięczny za każdą pomoc.
-
K_o_n_r_a_d
- Użytkownik
- Posty: 123
- Rejestracja: 29 lip 2005, 10:21
- Lokalizacja: Lublin
Do ATmegi8 nie podłączysz pamięci działającej tak szybko, bo atmega8 nie obsługuje sprzętowo pamięci dodatkowej. Nie da się i nie ma znaczenia czy w Bascomie czy w asemblerze. Oczywiście możesz podłączyć dowolną pamięć, szeregową, równoległą, jaką znajdziesz i programowo ją obsłużyć, ale to będzie znacznie wolniej i nie w taki sposób jak zwykłe zmienne.
-
K_o_n_r_a_d
- Użytkownik
- Posty: 123
- Rejestracja: 29 lip 2005, 10:21
- Lokalizacja: Lublin
Tutaj jest wszystko:
http://atmel.com/dyn/resources/prod_doc ... oc2513.pdf
od strony 26. To i pomoc do Bascoma i zrobisz wszystko
Do czego konkretnie potrzebujesz tego? Może jest sens zrobić programowy dostęp do pamięci i wtedy już dowolnego mógłbyś użyć.
No ale przy tych cenach nie wiem czy się opłaci bawić.
http://atmel.com/dyn/resources/prod_doc ... oc2513.pdf
od strony 26. To i pomoc do Bascoma i zrobisz wszystko
Do czego konkretnie potrzebujesz tego? Może jest sens zrobić programowy dostęp do pamięci i wtedy już dowolnego mógłbyś użyć.
No ale przy tych cenach nie wiem czy się opłaci bawić.
Witam!
Główny problem to cykle maszynowe, jakie musi wykonać uP aby dostać się do pamięci (wystawienie "starszej" połowy adresu do jednego rejestru, zatrzaśnięcie w latch młodszego adresu i dopiero odczyt z pamięci). Wbudowany (wewnętrzny ram) rządzi się innymi prawami, bo jest dosłownie scalony z jednostką sterującą. AVRki są w technologii RISC i wykonują instrukcje podczas jednego taktu zegara ("0" i "1"). Jeśli chcesz przy użyciu Megi8 wysterować 23 linie (8 na dane i 15 na adresy) to na pewno musisz użyć chociaż jednego/dwóch zatrzasków. Nie wiem jak jest w Bascomie, bo od dawna nie piszę (tak szczerze to prawie nigdy nie pisałem
), ale w ASM jest łatwo (napewno szybciej niż w Bascomie, bo ten, mój drogi kolego operuje na wewn. RAM i w dodatku robi to niezdarnie, a w asm to TY decydujesz co i jak zrobić).
Jak widzisz, temat jak morze, więc proszę wyjaśnij nam szerzej w czym problem (czyt. do czego Ci potrzebne 32kB), a na forum EdW zawsze otrzymasz odpowiedz (no prawie zawsze
)
PZDR
Główny problem to cykle maszynowe, jakie musi wykonać uP aby dostać się do pamięci (wystawienie "starszej" połowy adresu do jednego rejestru, zatrzaśnięcie w latch młodszego adresu i dopiero odczyt z pamięci). Wbudowany (wewnętrzny ram) rządzi się innymi prawami, bo jest dosłownie scalony z jednostką sterującą. AVRki są w technologii RISC i wykonują instrukcje podczas jednego taktu zegara ("0" i "1"). Jeśli chcesz przy użyciu Megi8 wysterować 23 linie (8 na dane i 15 na adresy) to na pewno musisz użyć chociaż jednego/dwóch zatrzasków. Nie wiem jak jest w Bascomie, bo od dawna nie piszę (tak szczerze to prawie nigdy nie pisałem
Jak widzisz, temat jak morze, więc proszę wyjaśnij nam szerzej w czym problem (czyt. do czego Ci potrzebne 32kB), a na forum EdW zawsze otrzymasz odpowiedz (no prawie zawsze
PZDR
- gwozdex
- Użytkownik
- Posty: 879
- Rejestracja: 24 lut 2006, 10:04
- Lokalizacja: Czechowice-Dziedzice
- Kontakt:
Witam! Mam pełną wersję BASCOMA (1.11.9.1) i w helpie natrafiłem na informację ze są produkowane układy mogace pracować jako zewnętrzny RAM. Nie jestem teraz do końca pewen ale są to bardzo szybkie układy- w każdym razie na pewno jest podany producent tych układów więc jak tylko wrócę do domu to sprawdzę i poinformuję kolegów jak to wygląda.
Jeśli chodzi o obslugę to chyba tylko określasz miejsce umieszczenia zmikennej w pamięci zewnętrznej, a reszta odbywa się "normalnie":
Jeśli chodzi o obslugę to chyba tylko określasz miejsce umieszczenia zmikennej w pamięci zewnętrznej, a reszta odbywa się "normalnie":
Kod: Zaznacz cały
dim nazwa_zmiennej as XRAM
-
K_o_n_r_a_d
- Użytkownik
- Posty: 123
- Rejestracja: 29 lip 2005, 10:21
- Lokalizacja: Lublin