AVR internal i external data memory



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Danielj Jaworski <danielj_at_nospam_poczta.fm>
Subject: AVR internal i external data memory
Date: Wed, 28 Jul 2004 22:24:58 +0200


Jak wygl=B1da sprawa wykorzystywania jednocze=B6nie wewn=EAtrznej i=20
zewn=EAtrznej pami=EAci danych w mikrokontrolerach rodziny AVR (dok=B3=B1=
dniej=20
AT90S8515).
Wed=B3ug noty katalogowej pami=EA=E6 danych (Data Memory) jest podzielona=
tak:
Potrzebuj=EA pod=B3=B1czy=E6 do procesora 32 KB zewn=EAtrznego RAM oraz k=
ilka=20
rejestr=F3w w pozosta=B3ych 32 KB. Jednocze=B6nie chc=EA korzysta=E6 z we=
wn=EAtrznej=20
pami=EAci RAM.
Czy mog=EA pod=B3=B1czy=E6 32KB pami=EA=E6 RAM w "dolnej" po=B3owie przes=
trzeni=20
adresowej? To znaczy A0-A14 do kostki RAM i CS' z A15.
Co si=EA stanie wtedy, gdy zapisz=EA co=B6 pod adresem z przedzia=B3u $00=
00 -=20
$025F? Zostanie to umieszczone w wewn=EAtrznej pami=EAci, w zewn=EAtrznej=
=20
pami=EAci czy w obu?
Pocz=B1tek ext. RAM b=EAdzie zakryty przez int. RAM? A mo=BFe adres $0260=
z=20
przestrzeni adresowej b=EAdzie odpowiada=B3 adresowi kom=F3rki $0000 w=20
zewn=EAtrznej RAM?
Jak to jest rozwi=B1zane?

Pozdrawiam!

--=20
Daniel



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Rafal Baranowski" <rufus_at_nospam_zeus.polsl.gliwice.pl.usun.to>
Subject: Re: AVR internal i external data memory
Date: Wed, 28 Jul 2004 22:51:48 +0200


Początek ext. RAM będzie zakryty przez int. RAM?

Tak, niestety, będzie zakryty przez wewnętrzny RAM, rejestry i
przestrzen i/o.

A może adres $0260 z przestrzeni adresowej
będzie odpowiadał adresowi komórki $0000 w
zewnętrznej RAM?

Nie. Ale - jeśli wykorzystujesz pamięć 32kB (A15 niepodłączone) -
możesz dobrać się do adresów 0x000...0x025F adresując po prostu
poprzez dodanie do tego 2^15, czyli adresując jako 0x8000.. 0x825F.
Proste, ale przyznaję się, że sam na to nie wpadłem tylko wyczytałem
kiedyś w dataszicie. ;-)

Pzdr,
Raf.


========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!pwr.wroc.pl!panorama.wcss.wroc.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Bartosz Sarama <q.uasim_od_at_wp_at_nospam_wp.pl>
Subject: Re: AVR internal i external data memory
Date: Wed, 28 Jul 2004 22:54:27 +0200


Danielj Jaworski napisał(a):
Jak wygląda sprawa wykorzystywania jednocześnie wewnętrznej i
zewnętrznej pamięci danych w mikrokontrolerach rodziny AVR (dokłądniej
AT90S8515).
Według noty katalogowej pamięć danych (Data Memory) jest podzielona tak:
- $0000 - $005F - rejestry;
- $0060 - $025F - InternalSRAM;
- $0260 - $FFFF - External SRAM.
Potrzebuję podłączyć do procesora 32 KB zewnętrznego RAM oraz kilka
rejestrów w pozostałych 32 KB. Jednocześnie chcę korzystać z wewnętrznej
pamięci RAM.

Czy mogę podłączyć 32KB pamięć RAM w "dolnej" połowie przestrzeni
adresowej? To znaczy A0-A14 do kostki RAM i CS' z A15.
Co się stanie wtedy, gdy zapiszę coś pod adresem z przedziału $0000 -
$025F? Zostanie to umieszczone w wewnętrznej pamięci, w zewnętrznej
pamięci czy w obu?

Przecież sam napisałeś to wyraźnie.
Wszelkie zapisy pod adresy do 0x025F będą wpisane odpowiednio do
rejestrów i sram wewnątrz. Jeśli podłączysz sram tak, jak mówisz, to
będziesz miał go pod adresami 0x0260 ... 0x821F, powyżej umieść sobie
inne rzeczy.

--
Pozdrawiam
Bartosz Sarama

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek" <szymek_x_at_nospam_interia.pl>
Subject: Re: AVR internal i external data memory
Date: Thu, 29 Jul 2004 11:35:22 +0200


Cześć.

Jeśli podłączysz pamięć tak jak pisałeś, tzn. adresy A0-A14 procesora do
wejść adresowych A0-A14 pamięci i A15 procesora do CS pamięci, to stracisz
wtedy tą część pamięci zewnętrznej która jest przykryta przez wewnętrzne
rejestry i pamięć ( dla adresu 8000h A15 =1 i pamięć bedzie nieaktywna).
Jeśli zostawisz A15 niepodłączone to będziesz miał dostęp do całych 32KB
ramu zewnętrznego, przy czym blok pamięci zewnętrznej od 0000h do 025fh
będzie widziany pod adresem przesuniętym o 8000h (od 8000h do 825fh). Innym
rozwiązaniem jest np. podłączenie A15 procesora przez negator do CS pamięci
(zakładam, że CS jest aktywne w stanie niskim). Będziesz ją wtedy widział
pod adresami od 8000h do ffffh. Zapewne znalazło by się jeszcze kilka
pomysłów, wybór należy do Ciebie.

Pozdrawiam,
Jacek




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Danielj Jaworski <danielj_at_nospam_poczta.fm>
Subject: Re: AVR internal i external data memory
Date: Thu, 29 Jul 2004 13:04:01 +0200


Jacek wrote:

Cze=B6=E6.
=20
Je=B6li pod=B3=B1czysz pami=EA=E6 tak jak pisa=B3e=B6, tzn. adresy A0-A=
14 procesora do
wej=B6=E6 adresowych A0-A14 pami=EAci i A15 procesora do CS pami=EAci, =
to stracisz
wtedy t=B1 cz=EA=B6=E6 pami=EAci zewn=EAtrznej kt=F3ra jest przykryta p=
rzez wewn=EAtrzne
rejestry i pami=EA=E6 (dla adresu 8000h A15 =3D1 i pami=EA=E6 bedzie ni=
eaktywna).

To jest zgodnne z moimi przypuszczeniami - chcia=B3em si=EA upewini=E6.

Je=B6li zostawisz A15 niepod=B3=B1czone to b=EAdziesz mia=B3 dost=EAp d=
o ca=B3ych 32KB
ramu zewn=EAtrznego, przy czym blok pami=EAci zewn=EAtrznej od 0000h do=
025fh
b=EAdzie widziany pod adresem przesuni=EAtym o 8000h (od 8000h do 825fh=
).

Tak zrobi=E6 nie mog=EA, bo w przestrzeni adresowej musz=EA umie=B6ci=E6 =
jeszcze=20
kilka rejestr=F3w WE/WY.

Innym
rozwi=B1zaniem jest np. pod=B3=B1czenie A15 procesora przez negator do =
CS pami=EAci
(zak=B3adam, =BFe CS jest aktywne w stanie niskim).

OK. Tylko wia=BFe si=EA to z dodatkow=B1 kostk=B1 na PCB, a ju=BF ciasno =
jest.

Planowa=B3em pocz=B1tkowo po=B3=B1czenie A15 z CS' oraz wej=B6ciem G1 74L=
S138=20
pracu=B1cego w roli dekodera adresu (do wej=B6=E6 A, B i C '138 doprowadz=
i=B3em=20
A12, A13, A14). Dzi=EAki temu SRAM znalaz=B3 by si=EA w dolnych 32KB a=20
rejsetry podpi=EAte do wyj=B6=E6 '138 w g=F3rnych 32KB przestrzeni adreso=
wej.

Zrobi=EA tak CS' od kostki SRAM pod=B3=B1cz=EA przez bramk=EA NOT do A15,=
a w '138=20
wykorzystam G2A' i G2B' (=B3=B1cz=B1c je r=F3wnie=BF z A15).

B=EAdziesz j=B1 wtedy widzia=B3
pod adresami od 8000h do ffffh. Zapewne znalaz=B3o by si=EA jeszcze kil=
ka
pomys=B3=F3w, wyb=F3r nale=BFy do Ciebie.

Dzi=EAkuj=EA za wyczerpuj=B1c=B1 odpowied=BC.

Pozdrawiam,

Pozdrawiam!

--=20
Daniel

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai