AVR ile multi external Ram

Başlatan fatihvelid, 27 Haziran 2008, 10:57:15

fatihvelid

Merhaba,

ATmega128 ile bus üzerinde birden fazla RAM adreslemek istiyorum.
Örneğin;
1 adet normal SRAM
1 adet RTL8019AS
1 adet KS108 gibi donanımları aynı bus üzerinde çalıştırmaya ve ram alanlarına erişmeye kalksam bu işi nasıl yapabileceğim konusunda sizden öneri almak isterim.

Benim düşüncem şu;

Her seferinde 1 tanesini CS ile aktif edip, diğerlerini disable etmek. Ve adrese erişim yapılacaksa 0x1100 üzerine o adresi eklemek sorunu çözer diye düşünüyorum.

RTL8019AS'nin CS pini hangisi bu arada ? :D

Ve kafamda oluşan daha büyük bir soru;

2048 byte'lık bir veri bloğunu external ram' üzerinde oluşturmak  istiyorum. Ama bus üzerinde birden SRAM olduğundan buralar biraz kafamı karıştırdı.

Malum, AVR'de yeniyim :D
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

fatihvelid

Örneğin burda, bellek bölgelerini ard arda adreslemiş. Aslında benim yapmak istediğim de böyle birşey.

http://www.hw-group.com/products/charon2/index_en.html#oid




Konuyla ilgili bir devre şeması
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

controller

74138/139 gibi demux kullanabilirsin. demux'un her bir çıkışna kullanmak istediğin chiplerin CS pinlerini bağlayacaksın. demux select girişlerini hangi adres hatlarına bağlayacağını hafıza haritası çıkartarak bulabilirsin.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

fatihvelid

SRAM ile haberleşirken RTL8019AS'u devre dışı bırakmak lazım. Yukarıdaki devrede, RTL8019AS'i enable ve diable için kullanabileceği CS veya benzeri işlemi yapan pini göremedim.

Yukarıdaki projede RTL8019AS'u nasıl aktif edip kapatıyor ? Orda RAM haritası verilmiş. ATmega128'de istenen external RAM'a
(0x1100+(erişilecek adres))  ile erişiliyor.
Örneğin (0x1100 + a) adresine erişileceği zaman  aynı anda RTL8019 ve 62256'nın aynı RAM bölgesi adreslenmiş olmaz mı?
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

picusta

Plug and Play'in "özelligi bu abi".
Reset'ten sonra (RTL RST), bir takim veri /adres giriyorsun, böylece baslangiç adresini belirtmis oluyorsun.
Geriye sadece SRAM'lara çip select yaptirmak kaliyor.