Podłączenie RAM 62256 do 89C51/52 Atmela: Jak korzystać z portów równocześnie?
51 i zewnętrzny RAM
From: "Jarek" <jarek_a_at_nospam_interia.pl>
Subject: 51 i zewnętrzny RAM
Date: Thu, 24 Aug 2000 01:21:52 +0200
Witam
Czy do 89C51/52 Atmela mogę podpiąć zewnętrzny RAM (np 62256)
ale w taki sposób, abym mógł korzystać jednocześnie z portów
do których jest ona podpięta ? Oczywiście jako pamięć programu
byłby wykorzystywany wewnętrzny flash.
Jeśli jest to możliwe proszę o podpowiedz jak to zrobić.
Z góry dzięki
Jarek
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: 51 i zewnętrzny RAM
Date: Thu, 24 Aug 2000 01:58:58 GMT
"Jarek" <jarek_a_at_nospam_interia.pl> wrote in message
news:39a463d5$1_at_nospam_news.vogel.pl...
Witam
Czy do 89C51/52 Atmela mogę podpiąć zewnętrzny RAM (np 62256)
ale w taki sposób, abym mógł korzystać jednocześnie z portów
do których jest ona podpięta ? Oczywiście jako pamięć programu
byłby wykorzystywany wewnętrzny flash.
Jeśli jest to możliwe proszę o podpowiedz jak to zrobić.
62256 zajmie ci polowe przestrzeni adresowej. Masz najstarszy bit adresu
wolny. Nim bedziesz sterowal druga polowka twoich rejestrow. Trzeba tam dac
jakies zatrzaski chociazby w stylu 573, 373 czy cos podobnego. Dalej trzeba
zrobic arbitraz magistrali z dekoderem adresow. Najlepiej na GAL-u to zrobic
i sterowac nim wejscia /OE oraz zatrzaskiwania tych latchy. Z tym, ze jesli
juz decydujesz sie na PLD to lepiej CPLD i od razu wszystko wsadzic do
jednej kostki.
Zeby bylo prosciej to dla zewnetrznych rejesterow nie uzywasz mlodszych
linii adresowych, bo i po co. Wszystkie scalaki, za wyjatkiem pamieci, beda
uaktywniane jesli A(15)=1 plus dowolna kombinacja A[8..14], z ktorej bedzie
wynikalo do ktorego scalaka gadasz.
Oczywiscie A(15) musi takze blokowac SRAM poprzez chocizby sterowanie
sygnalem /CE pamieci.
Ja proponuje jednak generowac wlasne /RD i /WR SRAM-u (bramkowac je) w
zaleznosci od wystawionego adresu. Na wykresach timingow dokladnie widac
kiedy procesor wystawia adres, a kiedy odbywa sie zapis czy odczyt.
Wystarczy nie wystawic /RD czy /WR do pamieci i jej magistrala danych jest w
stanie "Z" lub zapis sie nie odbywa. Nawet nie trzeba uzywac /CE. Daj go na
stale do GND.
Zrob tak:
A[0..15] i dane podlacz do pamieci normalnie przez latcha
A[15..12] podlacz do wejsc GAL'a (chyba wystarczy adresow ?)
/WR, /RD podlacz tez do GAL'a
ALE podlacz do wejscia CLK GAL'a
Magistrale scalakow podlacz razem jak tam chcesz
Z GAL'a wyprowadz sygnaly do henszejkow pamieci i zatrzaskow - wszystkich.
Tylko /CE pamieci daj do masy na stale.
Jak to zrobisz to powiem ci co dalej :-)
Juliusz
From: "Jarek" <jarek_a_at_nospam_interia.pl>
Subject: Re: 51 i zewnętrzny RAM
Date: Thu, 24 Aug 2000 22:11:51 +0200
Użytkownik Juliusz <jul_at_nospam_fom.pl> w wiadomości do grup dyskusyjnych
napisał:Cj%o5.10624$Yl4.242571_at_nospam_news.tpnet.pl...
Witam, dzieki za odpowiedz.
62256 zajmie ci polowe przestrzeni adresowej. Masz najstarszy bit adresu
wolny. Nim bedziesz sterowal druga polowka twoich rejestrow. Trzeba tam
dac
jakies zatrzaski chociazby w stylu 573, 373 czy cos podobnego. Dalej
trzeba
zrobic arbitraz magistrali z dekoderem adresow. Najlepiej na GAL-u to
zrobic
i sterowac nim wejscia /OE oraz zatrzaskiwania tych latchy. Z tym, ze
jesli
juz decydujesz sie na PLD to lepiej CPLD i od razu wszystko wsadzic do
jednej kostki.
Wynika z tego, ze bedzie to 573, GAL, SRAM.
Raczej niechetnie zastosowalbym GAL'a ze wzgledu
na pobor pradu, a poza tym nie znam sie na GAL'ach,
nie mowiac o CPLD.
Prosciej jako pamiec danych chyba zastosowac cos po IIC. (EEPROM)
(Wiem, ze duuuuuzo wolniej, ale chyba zdecydowanie wygodniej)
Zrob tak:
A[0..15] i dane podlacz do pamieci normalnie przez latcha
A[15..12] podlacz do wejsc GAL'a (chyba wystarczy adresow ?)
/WR, /RD podlacz tez do GAL'a
ALE podlacz do wejscia CLK GAL'a
Czy przy takim polaczeniu linie portow P0 i P2 mozna w programie
wykorzystywac jako wejscia albo wyjscia ?
Jak to zrobisz to powiem ci co dalej :-)
Dzieki !!! Jesli beda dostepne P0 i P2 bez zadnych konsekwencji
to chyba sie zdecyduje na takie rozwiazanie. Gdyby tylko
mozna bylo bez GAL'a :) Ma to byc rozwiazanie "na stale"
raczej bez przekonfigurowywanie calosci. Jak napisales SRAM
bylby w gornej polowce adresow. W dolnej pamiec programu
4k dla 89c51, 8k dla 89c52, 20k dla 89c55.
Wlasciwie to starczyloby w zupelnosci 6264.
Moze jest jakies proste rozwiazanie komutacji tego wszystkiego ?
Jarek
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: 51 i zewnętrzny RAM
Date: Fri, 25 Aug 2000 00:10:45 GMT
Dzieki !!! Jesli beda dostepne P0 i P2 bez zadnych konsekwencji
to chyba sie zdecyduje na takie rozwiazanie. Gdyby tylko
mozna bylo bez GAL'a :) Ma to byc rozwiazanie "na stale"
raczej bez przekonfigurowywanie calosci. Jak napisales SRAM
bylby w gornej polowce adresow. W dolnej pamiec programu
4k dla 89c51, 8k dla 89c52, 20k dla 89c55.
Wlasciwie to starczyloby w zupelnosci 6264.
Moze jest jakies proste rozwiazanie komutacji tego wszystkiego ?
Chyba nie rozumiesz jak dziala C51 :-) Tym bardziej nie rozumiesz co
napisalem :-) To jest Harward, ma osobno pamiec programu i pamiec danych.
P0 i P2 nie da sie uzywac tak sobie. Dotatkowe porty beda wirtualne w
przestrzeni adresowej pamieci danych i dostepne przez MOVX.
Bez GAL'a sie nie obejdzie, bo nie poradzisz sobie z layoutem PCB przy
zastosowaniu dwudziestu TTL-i
Moze wez AT-Mega 103. Ma wystarczajaco duzo pamieci i linii we/wy :-)
Juliusz
From: tzurek_at_nospam_kki.net.pl (=?iso-8859-2?B?VG9tZWsgr/NyYXdza2k=?=)
Subject: =?iso-8859-2?Q?RE:_51_i_zewn=EAtrzny_RAM?=
Date: 25 Aug 2000 06:35:30 +0200
Na 20 TTL'ach to można zaadresować, ale pocztę do św. Mikołaja :))
-----Original Message-----
From: owner-pl-misc-elektronika_at_nospam_newsgate.pl
[mailto:owner-pl-misc-elektronika_at_nospam_newsgate.pl]On Behalf Of Juliusz
Sent: Friday, August 25, 2000 2:11 AM
To: pl-misc-elektronika_at_nospam_newsgate.pl
Subject: Re: 51 i zewnętrzny RAM
Dzieki !!! Jesli beda dostepne P0 i P2 bez zadnych konsekwencji
to chyba sie zdecyduje na takie rozwiazanie. Gdyby tylko
mozna bylo bez GAL'a :) Ma to byc rozwiazanie "na stale"
raczej bez przekonfigurowywanie calosci. Jak napisales SRAM
bylby w gornej polowce adresow. W dolnej pamiec programu
4k dla 89c51, 8k dla 89c52, 20k dla 89c55.
Wlasciwie to starczyloby w zupelnosci 6264.
Moze jest jakies proste rozwiazanie komutacji tego wszystkiego ?
Chyba nie rozumiesz jak dziala C51 :-) Tym bardziej nie rozumiesz co
napisalem :-) To jest Harward, ma osobno pamiec programu i pamiec danych.
P0 i P2 nie da sie uzywac tak sobie. Dotatkowe porty beda wirtualne w
przestrzeni adresowej pamieci danych i dostepne przez MOVX.
Bez GAL'a sie nie obejdzie, bo nie poradzisz sobie z layoutem PCB przy
zastosowaniu dwudziestu TTL-i
Moze wez AT-Mega 103. Ma wystarczajaco duzo pamieci i linii we/wy :-)
Juliusz
--
!!! Najlepszy ZEWNETRZNY modem w Polsce !!!
Modem ZyXEL Omni 56K za 272,95 zl http://www.promocja.kki.pl
--
Chcesz otrzymywac newsy poczta elektroniczna ? Sprawdz http://www.newsgate.pl
From: "Tomek" <tlodek_at_nospam_polbox.com>
Subject: =?iso-8859-2?Q?Re:_51_i_zewn=EAtrzny_RAM?=
Date: Sat, 26 Aug 2000 10:13:33 GMT
zajrzyj na uklad Dallasa DS5000 (T) ma osobne magistrale do obslugi pamieci
przez co nie zajmuje portow PO i P2. Cena nie byla bardzo kosmiczna.
Pozdrawiam
Tomek