Co je paměť EEPROM
     Paměť EEPROM je technologicky velmi podobná paměti EPROM. Rozdíl mezi nimi je v tom, že EEPROM se maže elektricky s možností smazat pouze určitý byte (není nutné mazat celý obsah paměti tak jako u EPROM). Možnost smazat pouze určitý byte je výhoda EEPROM také oproti FLASH EPROM (ty se mažou také elektricky, ale vždy se maže celý obsah paměti). Může se zdát, že EEPROM už částěčně nahradí paměti RAM. Oproti nim mají výhodu v tom, že obsah paměti zůstane zachován i při odpojení od napájení. Jejich nevýhodou je nižší rychlost (čtení/mazání+zápis/přístupová doba) a malá velikost (kapacita) paměti oproti pamětem RAM.
Paměti EEPROM mají v porovnání s pamětmi FLASH EPROM a především EPROM vyšší cenu a také vyšší výkonovou ztrátu.

     Z těchto důvodu jsou paměti EEPROM široce používány v moderních elektronických zařízeních - především pro uchování různých nastavení (parametrů), krátkých údajů, uložení programu. Např. v televizoru pro uchování aktuální úrovně hlasitosti, seznamu naladěných kanálů atd. I po vypnutí televizoru zůstavají nastavení zachována - při dalším zapnutí je nemusíme znovu provádět. Tím, že měníme nastavení televizoru, přeprogramováváme tak vlastně obsah EEPROM. Podobně se EEPROM používá v PC monitorech, motherboardech PC (BIOS), hi-fi věžích, mobilních zařízeních atd.

     Dále se popisem pamětí EEPROM zabývat nebudeme, pokud máte zájem o podrobnější informace o EEPROM nebo i dalších typech pamětí, zkuste se podívat na jinou stránku.

Co je sériová EEPROM
     Paměti EEPROM lze rozdělit dle způsobu připojení k mikroprocesoru na paralelní a sériové. Paralelní EEPROM mají větší kapacitu paměti (běžně od 2kB do 32kB), jsou tedy vhodné pro uložení programu, z hlediska počtu vývodů jsou zaměnitelné za paměti EPROM (28-pinové). Pro komunikaci s mikroprocesorem vyžadují vnější paralelní sběrnici (min. dva porty P0 a P2). Sériové EEPROM mají kapacitu menší (obvykle do 2kB, vyjímečně až 32kB), jsou tedy vhodné spíše pro uchování parametrů. Protože ke komunikaci s mikroprocesorem potřebují jen dva až tři signálové vodiče, bývají vyráběny v pouzdrech s malým počtem vývodů (obvykle pouze 8). Sériové EEPROM lze velmi výhodně použít u "zredukovaných" verzí 8051, jako je AT89C2051, které mají malý počet v/v pinů.

     U sériových EEPROM se tedy adresa a data posílají z/do obvodu bit po bitu (tj. sériově), pokud chceme mikroprocesorem z paměti číst nebo do ní zapisovat, musíme vyslat daný příkaz, adresu a samotná data obvykle nějakým standardním sér. komunikačním protokolem (sběrnice MicroWire, I2C, SPI,...). V závislosti na použité sběrnici může být propojení mikroprocesoru s pamětí dvouvodičové (I2C) nebo třívodičové (MicroWire). Takováto komunikaci je časově i co do programové obsluhy náročnější než při použití paralelní EEPROM. Sériové EEPROM jsou ale oproti paralelním o hodně levnější a zabírají minimální místo na DPS.

     Sériové paměti EEPROM vyrábí několik výrobců - mezi nejznámější patří SGS-Thomson, Atmel, Microchip Technology, ISS a další.

     V našem povídání se budeme zabývat připojením nejpoužívanějších a nejdostupnějších typů - řady 93Cxx, 24Cxxx a 25xxx. Obvody 93C46 (128B), 93C56 (256B), 93C66 (512B), 93C86 (2kB) mají sériovou sběrnici MicroWire, obvody 24C01 (128B), 24C02 (256B), 24C04 (512B), 24C08 (1kB), 24C16 (2kB), 24C32 (4kB), 24C64 (8kB), 24C128 (16kB), 24C256 (32kB), 24C512 (64kB) mají sériovou sběrnici I2C a konečně obvody 25010 (128B), 25020 (256B), 25040 (512B), 25080 (1kB), 25160 (2kB), 25320 (4kB), 25640 (8kB), 25128 (16kB), 25256 (32kB), 25HP512 (64kB), 25P1024 (128kB) komunikují přes sériovou sběrnici SPI.

Komunikace mikroprocesoru 8051 se sériovou EEPROM
     Řešení komunikace 8051 se sériovými EEPROMkami nám nabízí samotná firma Atmel - hardwarové zapojení už snad jednodušší být nemůže.
Následující schémata zapojení pocházejí z odkazovaných aplikačních poznámek firmy ATMEL.
     Dále funkci pamětí a jejich obsluhy rozebírat nebudeme, vše je velmi srozumitelně popsáno v datasheetech k jednotlivým pamětem nebo v rámci komentářů přímo v asm programu (chci se vyhnout známému několikanásobnému přemílání jednoho dobře udělaného originálu...).

Připojení paměti 93Cxx k AT89C2051
     Může být 3-vodičové nebo 4-vodičové. To, že je na obr.1 připojen pin paměti č.6 (ORG) na zem a na obr.2 na +Vcc může být na první pohled trochu matoucí - nejde o rozlišení způsobů připojení (3/4 vodičové), ale o volbu organizace paměti. Pokud je tedy pin ORG připojen na zem, pak je pamět organizována po 8 bitech, pokud je ORG připojen na +Vcc, je paměť organizována po 16 bitech.
     Protože piny portu P1 jsou programově měnitelné buď jako vstupní nebo výstupní, můžeme klidně použít 3-vodičové zapojení. Ušetřený pin mikroprocesoru se může vždy hodit. Způsob úpravy programu v případě použití 3-vodičového připojeni je popsán v komentářích programu.

Obr.1  Třívodičové připojení
3-vodičové připojení paměti 93Cxx


Obr.2  Čtyřvodičové připojení
4-vodičové připojení paměti 93Cxx
Soubor ASM Program pro obsluhu paměti 93Cxx - při 12MHz krystalu způsob úpravy programu pro 3/4 vodičové připojení paměti je popsán v komentáři programu (autor firma ATMEL)
Jinou rutinu i s popisem (tato je vyzkoušená a je plně funkční) naleznete také na těchto stránkách. Je plně v češtině.

Připojení paměti 24Cxxx k AT89C2051
     Jak je vidět z obr.3, pamětí řady 24Cxxx lze na jednu sběrnici (tj. 2 v/v piny mikroprocesoru) připojit několik. Ne všechny typy lze ale takto kaskádovat. Pokud tedy chceme připojit na sběrnici několik pamětí, musíme je nějakým způsobem vzájemně odlišit a k tomu slouží adresovací vstupy A0,A1,A2. Počet adresovacích vstupů nám dává logicky počet max. 8 připojitelných pamětí. Některé typy lze ale připojit jen do počtu 4 nebo 2 pamětí na jednu sběrnici. Adresovací vstupy musí být na pevno nadrátovány jak ukazuje obr.3 - způsob adresování odpovídá BCD kódu, paměť 0 má všechny adresovací vstupy připojeny na zem, paměť 7 je má připojeny na +Vcc. Přesnější a vyčerpávající popis těchto pamětí naleznete i s česky komentovanou rutinou též na mých stránkách.

Obr.3  Dvouvodičové připojení paměti 24Cxxx
Připojení paměti 24Cxxx k AT89C2051


Soubor ASM Program pro obsluhu paměti 24Cxxx - při 12MHz krystalu (autor firma ATMEL)

Připojení paměti 25xxx k AT89C2051
     Může být 3-vodičové nebo 4-vodičové. Stejně jako u pamětí 93Cxx není důvod používat 4-vodičové připojení - piny SI (Serial In) a SO (Serial Out) můžeme připojit na jeden pin mikroprocesoru, protože všechny piny portu P1 jsou vstupně/výstupní a můžeme programově měnit jejich funkci (v/v).

Obr.4  Třívodičové připojení
3-vodičové připojení paměti 25xxx


Obr.5  Čtyřvodičové připojení
4-vodičové připojení paměti 25xxx


Soubor ASM Program pro obsluhu paměti 25xxx - při 24MHz krystalu způsob úpravy programu pro 3/4 vodičové připojení paměti je popsán v komentáři programu (autor firma ATMEL)

Vytisknout stránku

Zpátky Zpátky
© DH servis 2002 -