Tulipa mieleeni tuossa puljatessa parikin asiaa XMEM-liitynnästä. Sillä saa käytettyä avr:ssä ulkoista muistia muun muassa ja myös lisäpiirejä. Em. löytyy ainakin atmega128:sta ja 8515:stä.
Tässä sitä on käytetty esimerkiksi:
http://andybrown.me.uk/2011/08/28/512kb-sram-expansion-for-the-arduino-mega-design/
Oli tarvetta saada 32k SRAM-muisti kiinni em:ään ja samalla ulkoinen IO-ekspanderi ja tuota pähkittyäni tuli mieleen seuraava: Käytetään koko 64k osoitusta ja otetaan kolme ylintä osoitelinjaa. Nyt muisti menee siis pankkeihin, joiden koko on (3bittiä=8 chip-selectiä) 64/8 = 8k. Tuo vähän jäi vaivaamaan, kun muistipiiri olisi kuitenkin 32k. Sitten välähti, että voisi tuon 3bitin dekoodaamisen 74HCT138:lla lisäksi diodilogiikkaa, eli vetää neljä CS:ää yhteen OR-logiikalla ja invertterin kautta saada sopiva select-signaali em. piirille. Lisäksi jäisi vielä kolme CS-linjaa vapaaksi, eli aivan tarpeeksi! Ryöväsin jo vanhasta rikkinäisestä 386-laudasta 8255-IO-piirin, joten siitä saa seivattua io-nastat. Samalla sen saa vaikka kirjoitinporttiin kiinni erittäin helposti, mikäli haluaa jotain parallel-port juttuja vielä kokeilla.
Eli nyt se 32k muisti näkyisi ensimmäisessä neljässä pankissa ilman kommervenkkejä ja sen jälkeen olisi vielä kolme 8k pankkia, joihin saa muisti-mapatun io:n toteutettua. Ja kaikki tämä yhdellä ylimääräisellä osoitekooderi-piirillä.
Huonot puolet, no, ohan tässä paljon enemmän nastoja kuin SPI:ssä..
Tässä sitä on käytetty esimerkiksi:
http://andybrown.me.uk/2011/08/28/512kb-sram-expansion-for-the-arduino-mega-design/
Oli tarvetta saada 32k SRAM-muisti kiinni em:ään ja samalla ulkoinen IO-ekspanderi ja tuota pähkittyäni tuli mieleen seuraava: Käytetään koko 64k osoitusta ja otetaan kolme ylintä osoitelinjaa. Nyt muisti menee siis pankkeihin, joiden koko on (3bittiä=8 chip-selectiä) 64/8 = 8k. Tuo vähän jäi vaivaamaan, kun muistipiiri olisi kuitenkin 32k. Sitten välähti, että voisi tuon 3bitin dekoodaamisen 74HCT138:lla lisäksi diodilogiikkaa, eli vetää neljä CS:ää yhteen OR-logiikalla ja invertterin kautta saada sopiva select-signaali em. piirille. Lisäksi jäisi vielä kolme CS-linjaa vapaaksi, eli aivan tarpeeksi! Ryöväsin jo vanhasta rikkinäisestä 386-laudasta 8255-IO-piirin, joten siitä saa seivattua io-nastat. Samalla sen saa vaikka kirjoitinporttiin kiinni erittäin helposti, mikäli haluaa jotain parallel-port juttuja vielä kokeilla.
Eli nyt se 32k muisti näkyisi ensimmäisessä neljässä pankissa ilman kommervenkkejä ja sen jälkeen olisi vielä kolme 8k pankkia, joihin saa muisti-mapatun io:n toteutettua. Ja kaikki tämä yhdellä ylimääräisellä osoitekooderi-piirillä.
Huonot puolet, no, ohan tässä paljon enemmän nastoja kuin SPI:ssä..
Vastaukset 1
Vanhimmat
Tuossa vielä kuva selventämään(.svg)
https://aijaa.com/5qlYqs
Muisti on siis ensimmäisessä 4 blokissa 32k ja 64k muistin viimeinen 8k muistiosoitus (4 tavua blokin alussa) vie 8255:lle.