![]() EEPROM Dip8 eeprom Mikä on eeprom ? Eepromissa säilytetään laitteen asetustietoja, jotta käytäjällä oli helpompaa. Samoin siinä voidaan säilytää salasanoja, käyttökertalaskuria tai puhelinnumeroita. Eprom ei ole kiintolevy eikä RAM vaan pienikokoinen ilman sähköä tietoja tallentava muisti. Eeprom voi olla oma piirinsä tai prosessorin sisällä oleva laite. Se ei ole sama kuin prosessorin flash muisti. Flashin tyhjentäminen on hankalampaa ja se kestää vähemmän kirjoituskertoja kuin EEPROM. Flash on edullisempi isoissa muisteissa. Monta kertaa voidaan lukea eeprommista? Monta kertaa voidaan kirjoitaa eeprommiin? Eepromiin voidaan kirjoittaa 8 bitin tavuja hyvin monta kertaa. Käytänössä ihmisen tekemät talletusmäärät eivät lopu. Esimerkiksi Microchipin piireihin voi kirjoittaa 10 miljoonaa kertaa. Tietokoneella saadaan kuitenkin tämä määrä täyteen. Mitä tapahtuu kun määrä on täysi? En tiedä, koska kolmeenkymmeneen vuoteen ei ole sellaita mimulle tapahtunut. Tieto ei vamaankaan enää mene piirin muistiin oikein ja käynnistyksessä käyttäjä saa vialliset arvot laitteeseensa. Lukemiseen ei ole rajoituksia. Epromin nimessä on yleensä koko kilobitteinä ei kilotavuina 25LC01 on 1 kilobitin eprompiiri. Se on yksi pienimmistä eeprompiireistä. Laiteen hinta ei kuitenkaan ole suoraan verrannollinen kokoon vaan valmistus- ja myyntimääriin. Onko eeprom suojattu? Eeprom piirit eivät ole suojattuja, vaan kuka tahansa voi lukea niitä. Lukeminen tapahtuu erillisellä ohjelmointilaitteella tai prosessorilla. Esim PICKIT2 tai Willem USB PRO GQ4 Useimmat piirit voidaan kuitenkin suojata tahalliselta kirjoittamiselta suojausnastan toiminnan avulla. Kuka keksi eprommin? Eeprom on kohtuullisen uusi piiri. Intel keksi rinnakkaisen EEPROMin vasta 1983 (2816). Atmelin AT28C256 ( DIP28) on samantapainen rinnakkainen piiri, jota on edelleenkin saatavilla. Se toimii melkein kuin tavallinen EPROM, mutta ohjelmointi ei vaadi suurta jännitettä, 5V riittää. Ohjelmointi on hitaanpaa kuin lukeminen, se ei toimii kuten stattinen RAM. Paristolla varustetut staattiset RAM-piirit toimivat hieman samaan tapaan kuin eepromit, mutta niiden kirjoittaminen on paljon nopeampaa. Ne ovat kalliimpia kuin eprommit ja käyttöjännitten loppuessa ne menettävät tietonsa. Paristolla (esim. CR2022) voi suojata RAMin tiedot. Vanhojen PC:n kello- ja Bios-piirien paristot ovat aina loppu. Joissakin laitteissa on koko ohjelma RAMissa. Näiden laitteiden paristot voi vaihtaa vain kun laite on verkkosähkössä. 1980-luvun alussa tehtiin näin ja olen joutunut ohjelmoimaan tälläisia laitteita monta kertaa sähkökatkoksien jälkeen. EPROMin datan luku Ohjelmoitaessa valitaan ensin luettava osoite, 1 tai 2 tavua ja sitten kirjoitetaan tai luetaan data. Piirien datalehdissä kerrotaan koska pitää kirjoittaa 1 tai 2 tavua. Yli 2k eeprommeilla pitää antaa kaksi tavua osoitteeksi A0-A7 on alatavu ja A8-15 on ylätavu. 64l kohdalla taas osoitteet loppuvat, pitää käytää kolmea osoitettavua. A16->eteenpäin. Kirjoitettaessa ja luettaessa data on aina yksi tavu. EPROMin nopeus Piirin tyypin jäljessä on luku, joka ilmasee kuinka nopeasti annon data on saataviilla kun oikeat osoitteet on laitettu piirin ja anto on sallittu. Esim. luku 12 tyypissä 2716-12 tarkoittaa 120ns. Jos jossakin laitteessa on piiri 27C256-10 se ei tarkoita, että juuri tässä laitteessa ei hitaimmat piirit toimi. Valmistaja on vain sattunut käyttämään näin nopeaa piiriä. Tietysti ei kannata ehdoin tähden laittamaan hitaampaa piiriä. Koskaan ei minulle ole tullut tilannetta, että EPROM olisi liian hidas ( nimimerkki 40 vuotta Eprommien kanssa) . "Standardi" 2716 piiri 2716 piiri on hyvin epästandardi. Alunperin TI teki TMS2716 jossa oli samoin kuin Intelin 2708:ssa kolme jännitettä (+5V, +12V, -5V). 2708 ja TMS2716 on sama ohjelmointijännite (25V). Jotkut valmistajat alkoivat kloonata TI suunnitelemaa piiriä. Kaikki piirit merkittiin samalla "2716" leimalla. Jotkut paransivat muistia ja poistivat +12V ja -5V jännitteet, mutta pitivät osoite- ja datanastojen paikat samoina. TI teki myös parannetun painoksen piiristä vain yhdellä käyttöjännitteellä, mutta nimesi sen TMS2516. Muiden 2716 nimi oli saman kuin TI:n TMS2516. Tähän aikaan oli jokainen valmistaja saattoi käytää omaa ohjelmointijännittetänsä. Jotta voisit polttaa 2716-piirin, sinun pitää tietää valmistajan käyttö- ja ohjelmointijännitteet. Ne löytyy kunkin valmistajan datalehdistä. Toinen asia on miten ohjelmointilaitteesi osaa valita oikeat jännitteet ko. piirille. No tämä ei oikeastaan ollut aikoinaan ongelma, sillä kaikki tekivät omat ohjelmointilaitteensa. Kyllä valmiitakin löytyi, mutta ne olivat aivan liian kalliita. Minäkin tein VIC20:lle, HP85:lle ja Commodore 64:lle (kuva alla) omat ohjelmointilaitteensa. PC aikana alkoi olla jo kohtuuhintaisia Taiwanilaisia ohjelmointilaita. Needham's Electronics hallitsi 20 vuotta kohtuuhintaisia ohjelmointilaitteita. Kunnes Needham meni konkourssiin noin 2009. Siis sinun pitää ohjemoida 2716 ja kohdelaitteessa on vain 5V muista, että et voi käyttää TMS2716 piiriä. Useimmat 2716 käyttävät 25V ohjelmointijännitettä. Myöhemmin isomissa piireissä vakiintui 21V ja 12V käyttöjännite. Juuri hiljattain yritin ohjelmioda SGS:n ET2716Q piiriä. Tuota Q versiota ei löytänyt SGS:n valikoimasta. Kokeilin Intel 2716, laite ei ohjelmoinut yhtään byteä. EEPROMin kirjoitus ja luku Kun piirin koko menee yli 256 kbitin, pitää käyttää useita laiteosoitteita. Esim. jos I2C-tyyppisen eepromin laiteosoite A0, niin ylämuistin laiteosoite on A1. Tästä johtuu, että nykyään suositaan isommissa eepromissa vain I2C tyylisiä piirejä (sarjaflash piirit ovat eri asia, ne eivät ole eeprommeja). Microchipillä on myös yhden johdon Uni I/O-sarja (esim. 11AA160 1-16kBit) eprompiirejä. EEPROM koot loppuvat yleensä 1 Mbittiin. Laittamalla näitä 8 kappaletta rinnakkain saadaan 8 MByteä EEPROM muistia. Tämä on jo kohtuullinen määrä tavallisiin tiedonkeruulaitteisiin. EEPROMien etuna on yksinkertainen ohjelmonti, hinta ja liitäntä prosessoreihin. Haittana on isompien muistien saatavauus. Muuntyyppiset muistit (USB, Flash-kiintolevyt ja muistikortit) ovat edullisempia. On turha tuoda markkinoille isoja EEPROM-piirejä. Flash piirit pitää tyhjentää kerralla (tai isoissa lohkoissa), EEPROM jokaiseen tavuun voi kirjoittaa erikseen. Tässä on ero Flash ja EEPROM piirien välillä. MMC MMC muistikortin liitäntäkuvat ja ohjelmakoodi ( PICC/CCS) PIC16F876:lle on Probyte PICCD:llä. ![]() ![]() MMC kortilla voi tehdä 256M muistin neljällä johdolla. Koska MMC-muistille kirjoitetaan 512 k bittiä kerralla, tiedonkeruussa tarvitaan apuna 24LC515 eeprom piiri. Uudemmissa prosessoireissa on riittävästi vapaata RAM-muistia. 1.8 -3.3V käyttöjännitteellä toimiva MMC kortteja käytetään tiedonkeruussa sen helpon liitettävyyden vuoksi. Muistiin voidaan tallettaa dataa miljoona kertaa samaan paikkaan. MMC-luokkia on monta:
Paras katsoa wikipediasta tarkemmat tiedot: http://en.wikipedia.org/wiki/MultiMediaCard 28FXXX-yy on Flash piiri, joka pitää tyhjentää kokonaan ennen kirjoitusta. Monia eri koteloita Tunnettuja valmistajia: Intel ja Atmel, Samsung. Samsung KM2816A-25 2k*8 EEPROM kotelo DIP24.koteloisisa. Näitä on tallella 12 kpl ![]() 28Cxxx on rinnakkainen eeprom, johon voi kirjoittaa tavu kerrallaan, kotelo DIP 28 Tunnettuja valmistajia ovat Microchip ja Atmel AM28E256 DIP32 kotelossa. SST 29EE512 on 512 kbitin FLASH, tätä varastossa DIO32 kotelossa. MX 29F002NTCP on 2M bitin Flash DIP32 kotelossa 93Cxxx on SPI-liitäntäinen eeprom piiri DIP8 tai SOIC8 Tunnettuja valmistajia ovat Microchip ja Atmel ![]() 24Cxxx on I2C liitäntäinen eeprom piiri. DIP8 tai SOIC8. Tunnettuja valmistajia ovat Microchip ja Atmel. Kun tiedon tarve on megatavuja, Flash-piirit ovat edullisempia, mutta ne eivät ole yhtä käteviä kuin EEPROMit. Monilla valmistajilla on lisäksi omia tyyppejään erikoistarkoituksiin. 25LCxxxx sarja toimii SPI tekniikalla. Siitäkin on saatavilla 1Mbitin versio 25LC1024 ![]() SPI tekniikka tarkoitaa, sitä että siinä on neljä johtoa. Yksi johto on Enable-signaali, se menee yleensä alaspäin ( 5V) ja siten siinä on kello, johon datattahdistetaan. Ensimmäinen data on DO-signlaali (Data out) , jonka avulla kirjotettaan data piirille. Seuraava on lukudata eli SI (Signal in) Read) . Lisäksi näissä on kirjoitussuoja jonka avulla piirin ohjelmointi voidaan estää. ![]() 25LC-sarja voi olla 8 napaisessa DIP-kotelossa tai SOIC-kotelossa . ![]() Tässä pm 25LC1024 ohjelmointiperiaate siitä miten piiriltä luetaan data. Eli aluksi CS maihin sen jälkeen annetaan ensimmäinen databitti ja sitten kellotetetaan se positiivisella kello signaalilli sisään. jne. Sarjamuotoiset SPI-tyyppiset flashbiospiirit ovat korvanneet PLCC32 piirit PC:n emolevyiltä BIOS:na. Esim ST:n M25PE16 on 16MBittiä 50MHz nopeudella toimiva Flash piiri. Tässä on 4kB sektorit ja sektoreita on 32 yhdessä sivussa. Sivuja on 256 kappaletta . Yhden sektorin voi tyhjentää kerrallaan. Tätä piiriä käytettäessä tiedon talletukseen laitteessa pitää olla vielä 128k apuEEPROM piiri tai RAM. SPI ohjelmointi vaatii 5 -napaisen liittimen ( 3.3V, maa, enable, Clock, data In ja data Out) ![]() Kotelo on S08W (W=wide), mitat 5*6mm Muistiin voi kirjoitaa 100000 kertaa, virrankulutus lepotilassa 1uA Kuva PC:n emolevyltä. ==================================== Sarja Bios-piirien ohjelmointiin on erikoistunut Willem ohjelmointilaite ![]() Samalla ohjelmointilaitteella voi ohjelmoida myös tavallisia prosessoreita, Microchip, Atmel ja Intel-8051 piirejä, EPROMeja ja tietysti EEPROMeja. Tämä on USB-liitäntäinen malli, edullinen, ilmaiset päivitykset. Sopii Windows-koneisiin. Suosittelen. P.Ritamäki EPROM ![]() EPROMyypit 27Cxxx on rinnakkaisliitäntäinen EPROM piiri, joka pitää tyhjentää UV valolla. Kotelotyypit ovat DIP24, DIP28, DIP32 ja PLCC32. Jos piirin nimessä on C se tarkoittaa CMOS mallia, jossa on pienempi virrankulutus kuin NMOS mallissa. Jos piirin lopussa numeroiden jälkeen on A, se tarkoittaa 12.5V ohjelmointijännitettä alkuperäisen 25V asemasta. Piirissä on osoitelinjoja ( A0 -Axx) ,datalinjoja ( D0-D8), ohjauslinjoja ( R/W, CE,OE, PGR) ja teholähdenastat (VCC, GND) Tunnettuja valmistajia on kymmenittäin. Esim. Intel. Atmel, Microchip, Hitachi. SST, SGS, jne. ![]() Epromin keksi Intelin varajohtaja Dov Frohman Israelissa (Intelin paikallissuunnittelutoimisto) 1972. Patentti http://www.google.com/patents?id=vcwtAAAAEBAJ&printsec=abstract#v=onepage&q&f=false Epromin hinta on edullinen, mutta eprom vaatii paljon nastoja prosessorista. Intel -51 sarjassa on yhteiset datalinjat ja ala-osoittet. Epromista data haettaessa valitaan Eprom !CE ja !OE nastoilla. Piiriä ohjelmoitaessa PGR-nastaan laitetaan 12.5/25V ohjelmointijännite. Yhden tavun kirjoitaminen kesti aikanaan 50ms, joka olisi pitkä aika nykyisillä muistitypeillä. EPROM alkaa olla hieman vanhanaikainen. Epromia ei voi suojata ohjelman kopioinnilta. Olen tehnyt ohjelmointilaiteita
![]() C64 ohjelmointilaite, jonka olen tehty noin 1984 Kiertokytkimellä pysyti valitsemaan monta eri mallia ![]() Nanossa (kuva yllä, suomalainen prosessori ) oli myös oma ohjelmointilaite ERPOMEILLE Siinä oli 1802 CMOS prosessori, video modulaattori ja oikea näppäimistö. Euro1 liiitin ulkoisille laitteille. Suomalaista designia (Osmo Kainulainen). ![]() Nano alta. Huomaa Osmo Kainulaisen nimikirjaimet Osmo Kainulainen ota yhteyttä. Mikrohistoria kiinnostaa Pekka Ritamäki oh3gdo@gmail.com Purkulaitteet
![]() EPROM pitää tyhjentää erityisellä ultravielettivalolla toimivalla tyjennyslaitteella. Tätä varten epromissa on kvartsi-ikkuna. Edullisemmissa malleissa ei ole ikkunaa, mutta ne ovatkin sitten kertakäyttöisiä. Ne sopivat massatuotantoon. Ohjelmointiin tarvitaan erityinen ERROM ohjelmointilaite. Ohjelmointilaitetta käytetään yleensä PC:llä. Binääritiedosto muutetaan ensin HEX tiedostoksi (Intel HEX32, Motorola S-tiedosto tai Tektronix-tiedostomuoto). Hex-tiedosto tulee yleensä ristikääntäjän lopputuloksena. Tiedostossa voi olla ohjelma tai datatietoja tai molempia. Epromiin mahtuva muisti on yleensä laitteen nimessä. 2716 tyyppiin mahtuu 16kbitti eli 2ktavua ( *8 bittiä) 27- oli alunperin TI:n käyttämä EPROM-alkunumero. Yli megabitin malleissa käyteään esim. 27C040 nimeä. Tässä on 4Mbittiä eli 256ktavua. Tyypin lopussa oleva numerosarja tarkoitta piirin nopeutta eli kuinka kauan kestää siitä kuin osoitteet ovat oikein siihen kunnes annossa on oikeat datat. -10 tarkoittas 100ns -20 tarkoittaa 200ns -35 tarkoittaa 350 ns ![]() Tässä on toinen purkulaite.Se on saatavilla : http://probyte.fi/eprom.html Sillä voi tyhjentää 5 eprommia kerralla ja sen toimintajännite on 12V. Siinä on myös aikakytkin. Se on metallikoteloinen. Emulointi ![]() Epromin ohjelmointi on hidasta, siksi tuotekehityksessä käytetään eprom-emulaattoria. Kuvassa Tech-Tools ER3-512 joka emuloi 27512 piireihin saakka. Ohjelma ladataan laitteessa olevaan RAM-muistiin. Laitteen kanta laitetaan kehitettävän epromin paikalle. Lopuksi poltetaan varsinainen eprom, kun testit ovat valmiit. Emulaattori lataa testiin uuden ohjelman parissa sekunnissa. Eprommaus kestää piirin vaihtoineen minuutin verran. Emulaattorilla ei tarvitse tehdä erityisiä toimenpiteitä ohjelmaa vaihdettaessa kuten joududaan tekemään EPROM-piirillä Tämä emulaattori vaatii rinnakkaisportin, jota ei useinkaan ole kannettavissa tietokoneissa. Toinen Emulaattori on EETOOLSin EeRom-8U USBTämä toimii USB-kaapelilla ja sillä voidaan emuloida 8Mbittiin saakka![]() Sillä voi emuloida : EPROM DATA : 8BIT 27C64 EPROM (2764) 8K 27C128 EPROM (27128) 16K 27C256 EPROM (27256) 32K 27C512 EPROM (27512) 64K 27C020 EPROM (27020) 256K 27C040 EPROM (27040) 512K 27C080 EPROM (27080) 1M EEPROM DATA : 8BIT 2864 EEPROM (2864) 8K 28512 EEPROM (28256) 32K FLASH ROM DATA : 8BIT 29512 FLASH (29512) 64K 29010 FLASH (29010) 128K 29020 FLASH (29020) 256K 29040 FLASH (29040) 512K Varastossa olevat eprom mallit 1k*8 piirit AM2708 DIP24 tämä piiri vaati +5/+12/-12V MM2708C MM52030 DIP24 2k*8 piirit Hitachi HN46216G 2k*8 24DIP 5kpl Toshiba TM323D 216-3DD0 2k*8 2kpl NEC D2716D 2k*8 1kpl Fujitsu MB6816 K14 DIP24 Näissä kaikissa on 25V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 4k*8 piirit Hitachi HN2732G DIP24 12 kpl Hitachi HN2732A DIP24 14kpl Näissä kaikissa on 25V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 8k*8 piirit ST M2764AFI DIP28 2 kpl National NMC27C64Q DIP28 12.5V ohjelmointijännte 2 kpl Intel D2764A DIP28 3 kpl Mitsubishi M5L2764K Näissä kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 16k*8 27C128 4 kpl 27128 1 kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 32k*8 INTEL D27C256 DIP28 1 kpl ST M27C256-15XFI 5KPL 27 256 2 kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 64k*8 TSM27C512-150JL DIP28 FUJITSU MPM27C512-250 DIP28 30 kpl A27C512-250DI DIP28 3 kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 128k *8 27C010 DIP32 39kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 128k *8 Intel I27C020 INTEL DIP32 2kpl ST M27C1001-12FI 1 kpl AM27C010120DC DIP28 1 kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 256*8 = 2MBit eprom DIP32 ST M27C2001I-20FI 1 kpl Käytössä sama kuin 27C201 Eroa on vain ohjelmointialgorimissa kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite. 512k* 8 AM27C040-120DC DIP32 19 kpl kaikissa on 12,5V ohjelmointiijännite ja käytössa tarvitaan vain 5V jännite EEPROM tietoa lisää: http://wiki.xtronics.com/index.php/How_EPROMS_Work Myynnissä olevat eeprom ja eprom piirit 24C sarja ( I2C) kotelo DIP8 24C01 koko 1kBit, , varasto1 kpl 24C02 koko 2kBit, , varasto1 kpl 24C04 koko 4kBit, varasto 1 kpl 24C08 koko 8kBit, 24C16 koko 16kBit 25 kpl , Microchip 24C32 koko 32kBit, 24C65 koko 65kBit, 24C128 koko 128 kBit, 24C256 koko 256k, , varasto 1 kpl 24C515 koko 512 kbit, h varasto 25 kpl 24C1024 koko 1024kbit, , varasto 5kpl X24C02 EXAR 1kpl 93C sarja DIP8 SPI liitäntä ( !CS, kello, data in ja out) 93C46N (DIP8) koko 1kbit ( 256 tavua) Microchip hinta 1e, varasto 30 kpl ( Stamp1 muisti) 93C56 (DIP8) koko 1kbit, Microchip, varasto 20 kpl X25043P EXAR , 3kpl, watchdog ja eeprom yhdessä. Sopii Intel -51 sarjan watchdog käyttöön. Rinnakkaiset EEPROM-piirit AT28C256 DIP28 0.6" leveä, 256 kbittiä, varasto 5 kpl, toimii yhdellä jännitteellä 5V. Muita eeprom piirejä PDC8572 DIP8, Philips Flash MX29E002NTPC- 12 DIP32 SST Flash PH29EE512 DIP32 Flash AM29E256 DIP32 Ota yhteyttä : http://probyte.fi/html Probyte Oy Tampere |