MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen datan tallentamiseen Lukumuistit ROM, Read Only Memory - Käytetään pysyväisdatan tallennukseen - Tieto säilyy ilman käyttöjännitteitä DRAM - Dynaaminen RAM - Datan säilyminen vaatii käyttöjännitteiden lisäksi myös jatkuvaa virkistystä ROM - Data sijoitetaan muistipaikkoihin jo valmistusvaiheessa - Sisältöä ei voi muuttaa SRAM, - Staattinen RAM - Data säilyy, kun käyttöjännitteet ovat OK NVRAM - Haihtumaton RAM - Tieto säilyy myös ilman käyttöjännitteitä PROM - Programmable ROM - Kertaohjelmoitava EPROM - Erasable PROM - Tyhjennettävä ROM muisti - Koko sisältö tyhjenee kerralla - Tyhjennys yleensä UV-valolla MUISTIN TIHEYS Flash - Sähköisesti tyhjennettävä ROM muisti - Koko piiri tai suuret lohkot tyhjenevät kerralla EEPROM - Electrically Erasable PROM - Sähköisesti tyhjennettävä, voidaan tyhjentää muistipaikka kerrallaan
Muisteissa on muistipaikkoja, joilla jokaisella on luonnollisesti oltava oma osoite, ADDRESS. Yhteen osoitteeseen eli muistipaikkaan kirjoitetaan useampi bitti, DATA, kerralla. o Perusmuisteissa yhden osoitteen alla on kahdeksan bittiä, eli yksi tavu Muistille tulevan väylän leveys on tällöin 8 -bittiä Muistipiirit on tehty lähes aina väylään asennettaviksi. ( Väylä voi olla myös sarjaväylä ). Täten luku-/kirjoitusmuistien luku- ja kirjoitusdatan liikenne tapahtuu samojen pinnien kautta. MUISTIN RAKENNE ( BIN ) MUISTIN RAKENNE ( HEX ) OSOITE DATA OSOITE DATA 1111 1111 0000 1111 F F H 0 F H.................... 0000 0010 1010 1011 0000 0001 1111 0000 0000 0000 0101 1010 0 2 H A B H 0 1 H F 0 H 0 0 H 5 A H Muistin osoite ja sisältö ilmoitetaan käsittelyn helpottamiseksi yleensä heksamerkein. Piireissä käsiteltävä data ja osoitteet ovat kuitenkin aina binäärisia. o Yhdellä heksamerkillä voidaan ilmaista neljä bittiä: BIN HEX 00 00 0 H 00 01 1 H 00 10 2 H 00 11 3 H 01 00 4 H 01 01 5 H 01 10 6 H 01 11 7 H 10 00 8 H 10 01 9 H 10 10 A H 10 11 B H 11 00 C H 11 01 D H 11 10 E H 11 11 F H
MUISTIN KOKO: Muistin koko ilmaistaan yleensä erittelemällä muistin osoitteiden määrä ja muistin leveys ( = yhden muistiosoitteen osoittamien bittien määrä = Dataväylän leveys ). Joskus muistin koko ilmoitetaan vai kilobitteinä tai tavuina, jolloin muistin rakenne ei käy merkinnästä selväksi. Huom! Digitaalimaailman kilo on 1024 ( = 2 10 ), tämän vuoksi sen tunnuksena käytetään ISOA K kirjainta,erottamaan se oikeasta kilosta, k = 10 3 =1000 K = 1024 = 2 10 k = 1000 = 10 3 Muistipiirien koko voidaan päätellä myös sen rakenteen avulla. ( Ei koske sarjaliitäntäisiä piirejä ). Eri osoitevaihtoehtojen määrä määräytyy osoitelinjojen määrän mukaisesti: 2 Osoitelinjojen_määrä Datalinjojen määrä kertoo muistin leveyden Esim: Muistipiirissä on 18 osoitelinjaa ja kahdeksan datalinjaa: Osoitteet: 2 18 = 256K Databitit: 8 kpl Muistin koko : 256K X 8 bit = 256KB = 2Mb RINNAKKAISVÄYLÄÄN LIITETTÄVÄT MUISTIPIIRIT Käyttömuisti ( RAM ) ja usein myös lukumuisti liitetään prosessorin dataväylään. Dataväylä on rinnakkaisväylä. Rinnakkainen dataväylä mahdollistaa useamman bitin rinnakkaisen siirron yhden kellojakson aikana. Ensimmäisissä mikroprosessoreissa ja osassa nykyisiä mikrokontrollereita käytetään kahdeksan ( 8 ) -bittistä dataväylää.
Esimerkkipiirinä EPROM 27C256 ( 256 Kbit = 32K X 8 bit ) ( Fairchild ) Nimitys Käyttö Vcc Käyttöjännite Vpp Ohjelmointijännite A0 A14 Osoitelinjat ( Address ) O0 - O7 Lähdöt ( Data, 8 bit ) CE Piirin valinta OE PGM Lähdön sallinta Ohjelmointi Ajalliset viiveet: AC Waveforms (Note 6) (Note 7) (Note 9), jossa: AC Test Conditions Output Load 1 TTL Gate and CL = 100 pf (Note 8) Input Rise and Fall Times 5 ns Input Pulse Levels 0.45 to 2.4V Timing Measurement Reference Level Inputs 0.8V and 2.0V Outputs 0.8V and 2.0V. Note 6: The power switching characteristics of EPROMs require careful device decoupling. It is recommended that at least a 0.1 F ceramic capacitor be used on every device between VCC and GND. Note 7: The outputs must be restricted to VCC + 1.0V to avoid latch-up and device damage. Note 8: TTL Gate: IOL = 1.6 ma, IOH = -400 A. CL = 100 pf includes fixture capacitance Note 9: VPP may be connected to VCC except during programming.
Piiristä on olemassa eri versioita, tällä piirityypillä erinopeuksisia tacc = Hakuaika, aika osoitteen aktivoinnista siihen, kun Data on luettavissa piirin lähdöstä. tce toe = Aika, joka menee piirin aktivoinnista siihen, kun Data on luettavissa piirin lähdöstä. Aika on usein samansuuruinen, kuin hakuaika. Osoitteen oltava aktivoitu jo aiemmin tai samanaikaisesti = Aika, joka menee lähdön aktivoinnista siihen,kun Data on luettavissa piirin lähdöstä. Osoitteen ja piirin valinnan oltava aktivoitu jo aiemmin. toh = Aika, jonka piirin data on vielä luettavissa lähdön passivoinnin jälkeen tdf = Aika, jonka piirin lähtö on edelleen kiinni väylällä, epävakaa, ei luettava tila ADDRESS = Osoite CE = Chip Enable = Piirin valinta Väylällä oleva osoite on tarkoitettu juuri tälle piirille OE = Output enable = Lähdön sallinta Lähtö siirtyy pois HiZ tilasta loogiseen 0 tai 1 -tilaan
SARJAVÄYLÄÄN LIITETTÄVÄT MUISTIPIIRIT Monien mikrokontrolleriohjattujen laitteiden asetusmuistina käytetään EEPROM muisteja. Tällöin muistia käytetään laitteen alkuasetusten lataamiseksi. Tällöin muistin luku- ja kirjoitustapahtumien ei tarvitse olla välttämättä kovinkaan nopeita. Ellei kontrolleri vaadi ulkoista muistia, ei rinnakkaista dataväylää ole välttämättä edes otettu käyttöön Näissä yhteyksissä käytetäänkin yleensä sarjamuotoista väylää. ( Tuotekehitysasteella on mm. erittäin nopea sarjamuotoinen optinen väylä, mutta käytännön sovelluksia ei vielä ole ) Käytetyimmät sarjaväylät: SPI I²C SPI, Serial Peripheral Interface SPI väylässä on erilliset luku- ja kirjoitusväylät, sekä kellolinja SPI väylässä piirin valinta tulee toteuttaa normaalilla osoitekoodauksella, CS:n aktivoinnilla Linjat: o MOSI [ Master Out, Slave In ] o MISO [ Master In, Slave Out ] o SCL [ Serial Clock ] o CS [ Chip Select ] I²C väylä IIC väylässä on vain yksi kellolinja ja yksi kaksisuuntainen datalinja IIC väylässä ei tarvita erillistä kovokoodausta osoitteille, vaan dataliikentteen ensimmäisessä tavussa annetaan valitun piirin osoite Tarkempi selvitys IIC väylän toiminnasta tästä linkistä Esimerkki IIC väyläisetä EEPROM:sta ( Fairchild ) FM24C08 / FM24C09