Jak pamięć RAM SIMM 30pin podłączyć do AVR
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
Jak pamięć RAM SIMM 30pin podłączyć do AVR
Witam, Z uwagi na to ze pamięci RAM SIMM 30pin są stosunkowo tanie bo można je kupić za kilka złotych na popularnym serwisie aukcyjnym, to dają możliwość rozbudowy naszego projektu o bardzo dużą ilość dodatkowej pamięci ram.
Trudno o jakiekolwiek informacje na temat tych pamięci, to co znalazłem to jest to pamięć 8-bitowa, napięcie zasilania 5V, idealna do naszego AVR.
Google nie pomaga, nic nie mogłem znaleźć, może nie da się podłączyć tej pamięci z AVR??
Proszę o pomoc i wszystkie sugestie.
Serdecznie pozdrawiam.
Trudno o jakiekolwiek informacje na temat tych pamięci, to co znalazłem to jest to pamięć 8-bitowa, napięcie zasilania 5V, idealna do naszego AVR.
Google nie pomaga, nic nie mogłem znaleźć, może nie da się podłączyć tej pamięci z AVR??
Proszę o pomoc i wszystkie sugestie.
Serdecznie pozdrawiam.
W prosty sposób się nie da, bo jest to pamięć DRAM, Trzeba więc albo zbudować kontroler takiej pamięci, albo napisać specjalny program sterujący (odświeżający ją). Jedynie chyba XMEGI mają sprzętowy interfejs, do takiej pamięci, ale też typu SDRAM. a nie SIMM/EDO, które są pamięciami asynchronicznymi.
PS. W pierwszych komputerach PC, do odświeżania DRAMu korzystano z jednego kanału DMA.
Podsumowując.
Da się to zrobić,, ale w grę wchodzi tylko metoda programowa, odświeżania pamięci DRAM typu SIMM, wiąże się to jednak, z poświęceniem do tego celu jednego Timera, i pewnego czasu CPU (ok 2%). Dodatkowo trzeba i tak zbudować układ sprzętowy, który podzieli adres, na kolumny i wiersze, a to oznacza, że trzeba wytwarzać dodatkowe sygnały.
Układu całkowice sprzętowego dostępu do pamięci (MMU) nie opłaca się bardzo budować.
Z Googla też trzeba umieć korzystać.

PS. W pierwszych komputerach PC, do odświeżania DRAMu korzystano z jednego kanału DMA.
Podsumowując.
Da się to zrobić,, ale w grę wchodzi tylko metoda programowa, odświeżania pamięci DRAM typu SIMM, wiąże się to jednak, z poświęceniem do tego celu jednego Timera, i pewnego czasu CPU (ok 2%). Dodatkowo trzeba i tak zbudować układ sprzętowy, który podzieli adres, na kolumny i wiersze, a to oznacza, że trzeba wytwarzać dodatkowe sygnały.
Układu całkowice sprzętowego dostępu do pamięci (MMU) nie opłaca się bardzo budować.
Z Googla też trzeba umieć korzystać.

Ostatnio zmieniony 12 lis 2013, 18:19 przez kayron, łącznie zmieniany 3 razy.
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
Właśnie przeglądam neta bo bardzo mnie to interesuje, do odświeżania jeszcze nie dotarłem. Te pamięci nie są czasami w technologi binarnej??, TTL i CMOS wydaje mi się ze nie będą współpracować. Tak Duża pamięć jest mi potrzebna do analizatora kilka kanałowego który chciałem zbudować. Jak często musiałbym odświeżać te dane w tej pamięci aby się nie ulotniły??
Pozdrawiam
Pozdrawiam
Czas odświeżania jest podany w specyfikacji danej pamięci.
Jakiego AVRa używasz ?
Ile potrzebujesz tego RAMu podłączyć ?
Jak XMEGI to lepiej kupić SDRAM do niej. W przypadku mniejszych AVRow i tak się nie obejdziesz bez MMU (Memory Management Unit), bo nie zaadresujesz więcej niż 64KB RAM. Aczkolwiek tutaj można się pokusić o próbę znalezienia sprzętowego układu tego typu, dla jakiegoś starego procesora jak Z80, czy MC68000 i spróbować go zaadaptować do AVRa.
Nawet kiedyś miałem takie MMU w domu 74LS612 dla I286 (PC AT) bodaj było, ale do C64 tez niektórzy wkładali jak chcieli mieć 1MB RAMu.
PS. MMU mozna też zrealizowac programowo, jak masz dosyć pinów w procesorze. Ogólnie 4 dodatkowe piny dla 1MB, 5 dla 2MB, 6 dla 4MB.
Jakiego AVRa używasz ?
Ile potrzebujesz tego RAMu podłączyć ?
Jak XMEGI to lepiej kupić SDRAM do niej. W przypadku mniejszych AVRow i tak się nie obejdziesz bez MMU (Memory Management Unit), bo nie zaadresujesz więcej niż 64KB RAM. Aczkolwiek tutaj można się pokusić o próbę znalezienia sprzętowego układu tego typu, dla jakiegoś starego procesora jak Z80, czy MC68000 i spróbować go zaadaptować do AVRa.
Nawet kiedyś miałem takie MMU w domu 74LS612 dla I286 (PC AT) bodaj było, ale do C64 tez niektórzy wkładali jak chcieli mieć 1MB RAMu.
PS. MMU mozna też zrealizowac programowo, jak masz dosyć pinów w procesorze. Ogólnie 4 dodatkowe piny dla 1MB, 5 dla 2MB, 6 dla 4MB.
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
Na Mega128 żaden problem, Tylko trzeba poświecić jeden port, do stronicowania 16MB po 64KB. Resztę zrobisz programowo. A pamięć. 16MB SRAM kupisz za rozsądne pieniące, w dwóch scalakach po 8MB, nie warto się brudzić starymi SIMMami.
Jak byś chciał dokopcić RAMu do jakiej AMIGI, czy nawet Commodorca, no to można by się jeszcze tym hajtac, ale do AVRa nie warto.
Jak byś chciał dokopcić RAMu do jakiej AMIGI, czy nawet Commodorca, no to można by się jeszcze tym hajtac, ale do AVRa nie warto.
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
Fajnie by było gdy by było około 100K odczytów z 20 kanałów cyfrowych, mam już nowy pomysł aby AVR i 20 pinów z taśmy badanego układu podłączyć prosto pod linie danych pamięci ram. Tylko pamięć musiała by być 32 bitowa, o 24 bitowych nie słyszałem, 12 bitów będzie nie używane, szkoda marnować. Rola procesora to zwiększanie adresu pamięci i później odczyt i zapis do pliku.
Tak można robić w przypadku pamięci bez odświeżania, ale należy zastosować jakieś szybkie bufory z przerzutnikami Schmitta z możliwością wymuszenia na wyjściach stanu wysokiej impedancji. Dzięki temu:
- zabezpieczysz wejścia pamięci i mikrokontrolera,
- przerzutniki Schmitta prawidłowo rozpoznają sygnały cyfrowe,
- będziesz mógł odłączyć wejścia pomiarowe w momencie odczytywania pamięci.
- zabezpieczysz wejścia pamięci i mikrokontrolera,
- przerzutniki Schmitta prawidłowo rozpoznają sygnały cyfrowe,
- będziesz mógł odłączyć wejścia pomiarowe w momencie odczytywania pamięci.
Lepiej do zwiększania adresu pamięci zastosować zwykłe liczniki (ewentualnie w logice programowalnej), bo robienie tego "procesorem" nie pozwoli osiągnąć zbyt wysokich częstotliwości próbkowania. Chyba że nie zależy Ci na dużej częstotliwości próbkowania.mariusz256 pisze:Rola procesora to zwiększanie adresu pamięci i później odczyt i zapis do pliku.