avr ja xmem muistiliityntä

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ä..
1<50
Äänestä

Muut lukivat myös

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.

Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

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ä..

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu