Mcu - RAM address

Tu bo govora o vseh mogočih mikrokontrolerjih ne glede na tip ali zgradbo

Moderator: tilz0R

Mcu - RAM address

OdgovorNapisal/-a Lendric » 15 Jul 2019, 19:15

Živjo!

Mi bi lahko kdo prosim pomagal z razlago problema, s katerim sem se moral soočit na ustnem zagovoru?
Problem je pa slednji.
Profesor je narisal mcu s 16 naslovnimi pini, ter RAM, na katerem sem imel na voljo le 2 pina in želel , da narišem shemo, da dobim iz RAM-a naslov 0x03ff, pri tem je dejal, da ni pomembno koliko je RAM pravzaprav velik.
Vsakič ko sem se soočal s to tematiko sem vedno imel primerno število pinov glede na velikost rama (n pinov za 2^n bajtov) in tukaj nimam problemov.
Torej kako se v temu primeru podatek pravzaprav na RAM zapiše na točno določen naslov, ter kako se ga iz tega naslova tudi prebere, če naslova na RAM-u ne morem enolično določit?

Že vnaprej hvala!
Lep pozdrav,
Rok

p.s. Upam, da ne boste vzeli tega posta kot spam, če pa se opravičujem.
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mcu - RAM address

OdgovorNapisal/-a IgorK » 15 Jul 2019, 20:05

A8 in A9 iz MCU daš na pina na RAM-u če predpostavljamo, da sta pina aktivna high. Kaj pa bo dejansko naslovljenu v RAM-u je pa druga zgodba, ker je vprašanje totalno nedefinirano.
IgorK
 
Prispevkov: 521
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 3 krat
Prejel zahvalo: 95 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 9

Re: Mcu - RAM address

OdgovorNapisal/-a Lendric » 15 Jul 2019, 23:38

IgorK je napisal/-a:A8 in A9 iz MCU daš na pina na RAM-u če predpostavljamo, da sta pina aktivna high. Kaj pa bo dejansko naslovljenu v RAM-u je pa druga zgodba, ker je vprašanje totalno nedefinirano.


Najprej hvala za odgovor :D
A lahko torej trdim da če za dam a8 in a9 iz mcu na ram naslovim vse naslove od 0x0301 do 0x03ff (RAM velik 1kb), če zraven ostale pine povežem kar skozi or gate na chip enable? in če bi hotel nasloviti točno določenega izmed teh, bi na primer ostale pine peljal na ce namesto z OR, z AND in NOR vrati?
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mcu - RAM address

OdgovorNapisal/-a IgorK » 16 Jul 2019, 08:30

Najprej definiraj kaj sta tista dva pina iz RAM-a. Če sta naslovna in je CE pin posebej, potem je pravilna vezava A8 in A9 preko AND vrat na CE, A0 in A1 pa na ta dva pina. Tako prideš do vseh štirih naslovov od 0x0300 do 0x0303.
Z dvema pinoma ni teorije da nasloviš od 0x0300 (zakaj 0x0301?) do 0x03FF (mimogrede, to je 256B in ne 1K).
IgorK
 
Prispevkov: 521
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 3 krat
Prejel zahvalo: 95 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 9

Re: Mcu - RAM address

OdgovorNapisal/-a zanka » 16 Jul 2019, 16:07

Lahko je trik, I2C ram. ;)

Ali pa potrebuje kakšen demuxer vmes.
Uporabniški avatar
zanka
 
Prispevkov: 2346
Pridružen: 17 Mar 2016, 01:16
Kraj: Krško
Zahvalil se je: 105 krat
Prejel zahvalo: 215 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 42

Re: Mcu - RAM address

OdgovorNapisal/-a Lendric » 16 Jul 2019, 16:59

@IgorK
a0 in a1 sta naslovna, CE je pa svoj pin.
Jaz sem izhajal iz tega, ko ste dejali da a8 in a9 vežem na a0 in a1 rama. To mi je dalo misliti, da s tem, ko definiriam a8=1 in a9=1, ter jih vežem na ram lahko naslovim družino naslovov 0x03xy, pri čemer x narekuje stanje pinov a4-a7 in y a0-3, katere lahko preko vrat peljem na CE tako, da bo čip aktiven za določen naslov ali pa celo za več naslovov.
Potem sem privzel, da je RAM velik 1kB glede na to, da je željeni naslov 0x03ff - torej na zadnji celica RAM-a, ampak s tem ko definiram a8 in a9 lahko naslavljam le zadnjih 256B. In če ostale pine povežem preko OR vrat na CE dobim high za praktično vse razen ko so stanja pinov od a0-a7 vsa enaka 0, torej če bi želel nasloviti 0x0300, čip nebi bil aktiven, zato sem podal od 0x0301 naprej

S tem ko mcu naslavlja nekaj bodo naslovni pini dobili primerne vrednosti se pravi verjamem, da je ključno le to, če bo RAM sploh razumel, kaj mu pride na njegova pina. Ker vedno bolj, ko razmišljam o tem, vedno bolj sem prepričan, da lahko praktično karkoli zvežem na a0 in a1 ter samo enablam chip za določen naslov in rečem evo s tem ko želi mcu nekaj pisati v RAM na ta naslov, se bo to zgodilo, ko bo čip aktiven. Ampak v temu primeru RAM nebi dejansko pisal na ta naslov, ker naslova prek dveh naslovnih pinov ne more določit, torej predvidevam, da bi pisal kar nekam na random, če sploh in če bi mcu želel brati iz določenega naslova v RAM-u, nebi mogel, ker se ne ve kam se je podatek dejansko shranil.
A grem v pravo smer?

Za primer da a8 in a9 preko AND na ce, a0 in a1 pa na RAM pina. Kaj je pa z ostalimi pini ? Jih samo prizemljimo? Torej ste predpostavili, da sta a0 in a1 dejansko prva dva pina?
Kako potem do naslova 0x03ff ? bi bila torej opcija da a0 in a1 pina povežem med sabo , ter od a2-a9 preko AND na CE, ter a10-a15 na GND?
Potem pa zopet še vprašanje ali se v temu primeru sploh piše na RAM in kam, ter ali lahko sploh preberemo nek podatek iz RAM-a, če ma ta samo 2 naslovna pina?

@zanka
Ja ravno z demuxi smo obravnavali to tematiko, predvsem ko smo imeli več pomnilnikov. Samo za tale primer je verjetno, dovolj če se omejimo na vrata. Ker vedno bolj se mi dozdeva, da je profesor želel od mene le da mu povem naslovno logiko, kako do naslova in potem bi s podvprašanji razširil debato na bolj kompleksne stvari.
I2C RAM? Definitivno bi želel slišati več.
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mcu - RAM address

OdgovorNapisal/-a IgorK » 16 Jul 2019, 21:47

Čeima ram samo A0 in A1 te ne razumem zakaj govoriš o drugih naslovnih pinih in o 1k oziroma 256B. Tak ram ima 4 byte in nič več. Vseeno je kako boš vezal ostale naslovne pine mcu, rezultat bo vedno isti. Tudi če boš na CE vezal samo A8 od mcu, boš lahko bral z 0x03FF (0x01FF bo dal isti rezultat) zadnji, 4 byte iz ram-a.
Če pa je pogoj, da samo 0x03FF naslov aktivira ram (kateri byte?), potem pa moraš naredit logiko, ki bo zajemala naslovne pine od A0 do A15 in izhod vezat na CE.
IgorK
 
Prispevkov: 521
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 3 krat
Prejel zahvalo: 95 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 9

Re: Mcu - RAM address

OdgovorNapisal/-a Lendric » 16 Jul 2019, 23:43

Zato, ker ravno to se mi je vtisnilo v spomin, ko mi je profesor dejal, da ni pomembno koliko je RAM velik. Torej je lahko 4B lahko 1KB lahko več. Se pravi dejstvo, da sem imel na voljo samo 2 pina ne pomeni nujno, da je ram velik 4B. Ravno o tem sem želel, da steče debata, da probam razumeti o čem je pravzaprav možno razglabljati na to temo.

IgorK je napisal/-a: Tudi če boš na CE vezal samo A8 od mcu, boš lahko bral z 0x03FF (0x01FF bo dal isti rezultat) zadnji, 4 byte iz ram-a.
Če pa je pogoj, da samo 0x03FF naslov aktivira ram (kateri byte?), potem pa moraš naredit logiko, ki bo zajemala naslovne pine od A0 do A15 in izhod vezat na CE.

Aha ok. Super, hvala! :D
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mcu - RAM address

OdgovorNapisal/-a IgorK » 17 Jul 2019, 09:45

Se pravi dejstvo, da sem imel na voljo samo 2 pina ne pomeni nujno, da je ram velik 4B


Če govorimo o paralelnem ram-u s samo dvema pinoma (A0 in A1) potem je to lahko največ 4B. Če pa tvoj profesor misli da ni pa bi tudi jaz rad vedel kako dostopati do recimo 234. byta...
IgorK
 
Prispevkov: 521
Pridružen: 20 Feb 2015, 00:08
Kraj: Rače
Zahvalil se je: 3 krat
Prejel zahvalo: 95 krat
Uporabnika povabil: s56rir
Število neizkoriščenih povabil: 9

Re: Mcu - RAM address

OdgovorNapisal/-a gumby » 17 Jul 2019, 11:33

Če jaz prav razumem to nalogo, potem moraš v bistvu dekodirat 0x3ff na naslovnih linijah in to peljat na enable/karkoli od RAM-a.
Imaš mogoče kako skico, kaj je risal?
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2414
Pridružen: 14 Jan 2015, 19:49
Kraj: Lendava
Zahvalil se je: 102 krat
Prejel zahvalo: 564 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 61

Re: Mcu - RAM address

OdgovorNapisal/-a Lendric » 18 Jul 2019, 18:02

@ gumby
Jz isto mislm da je direkt to hotu od mene. in to pomoje najbol enostavno a1,a2 povezat med sabo, vse ostale pa na chip enable preko AND (tam kjer hoces 0 negeras na vhodu ). Zato tud ni pomembno kok velik je RAM, naslovis lahko katerikol 16 biten naslov,
Zdej sezmeri mislm da RAM nebi pisal - vsaj ne tako, da bi bilo uporabno, bil pa bi enablan.

@ Igork
ne RAM je lahko poljubno velik, mas pa pac samo 2 pina, zdej kok ma to smisla vprašanje.. jz nevem. Navsezadnje je to le teoretičen primer, ki si ga je zamislil, da vid kaj mu bom narisu haha.
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mcu - RAM address

OdgovorNapisal/-a gumby » 18 Jul 2019, 19:06

enable samo aktivira čip, da lahko piše po podatkovnih linijah. Za zapisovanje ima poseben write signal...
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2414
Pridružen: 14 Jan 2015, 19:49
Kraj: Lendava
Zahvalil se je: 102 krat
Prejel zahvalo: 564 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 61

Re: Mcu - RAM address

OdgovorNapisal/-a Lendric » 19 Jul 2019, 13:06

@gumby
Ja sej da lahko piše podatkovnih linijah potrebuje tudi naslovne pine. Tuki smo pa omejeni na 2 pina, CE pa željen naslov,..
Skratka jaz mislim, da je bolje, da končamo debato, ker nima dosti smisla razglabljati o nekem teoretičnem slučaju, ki ni dodobra definiran.

Še enkrat hvala vsem, ki ste prispevali svoje misli.
Lendric
 
Prispevkov: 7
Pridružen: 15 Jul 2019, 16:35
Zahvalil se je: 1 krat
Prejel zahvalo: 0 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0


Vrni se na Hardware

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost