Přehrávání zvuku z pamětí EPROM

   Pokud se vám náhodou doma válí spousta pamětí EPROM ze starých základních desek a podobně, tak tohle je jedna z mnoha věcí, co s mimi můžete udělat.

Princip zapojení

   Princip záznamu spočívá v naprogramování jednotlivých vzorků zvuku postupně do jednotlivých buněk paměti. Při přehrávání se pak postupně čtou jednotlivé bajty paměti a digitální výstup se pomocí digitálně-analogového převodníku převádí zpět na nízkofrekvenční signál. Čtený bajt se volí pomocí tzv. adresních vývodů A0-An, data uložené v příslušné buňce jsou pak k dispozici na datových vývodech D0-D7. Na tyto vývody je připojen D/A převodník, ze kterého se získává zvuk. Postupné čtení se v mé konstrukci provádí pomocí čítačů, jejichž výstupy jsou připojeny na adresovací vodiče.

   V ukázkovém schématu je zakreslena paměť 27C512 s kapacitou 512 kbitů, což je 64 kB. Tato kapacita odpovídá 65536 bajtům dat, tedy 65536 vzorkům zvuku. Při standardní vzorkovací rychlosti 11025 vzorků/sec, což je ještě použitelná kvalita, to odpovídá skoro 6-ti sekundám záznamu. Jako generátor taktovacího kmitotu je použit obvod 4046, jehož frekvence se nastaví na vzorkovací frekvenci záznamu pomocí P1. Po přehrání celého obsahu paměti se nastaví výstup Q5 čítače IC3 na log.1, čímž zablokuje generátor taktovacího kmitočtu a přehrávání se zastaví. Nové spuštění se provede pomocí tlačítka START, které vyresetuje oba čítače. Pokud bude použita větší či menší paměť, tak bude blokování oscilátoru 4046 připojeno ne na Q5, ale na první nevyužitý výstup čítače. Má-li se záznam přehrávat neustále dokola, tak se blokovací výstup uzemní. Jelikož po zapnutí napájení se na výstupech čítačů objeví náhodná kombinace 1 a 0, musí se stisknout tlačítko START. Má-li zapojení přehrávat hned po připojení napájení, zapojí se místo tlačítka START kondenzátor s kapacitou asi 1μF, který čítače automaticky vyresetuje.

   Nejjednoduššími D/A převodníky jsou zapojení podle obrázků. Zapojení vlevo je sice jednodušší, ale odpory musí být vždy dvojnásobné a tak by se musely hodnoty nějak poskládat. Odpory pro zapojení vpravo se dají sehnat poměrně snadno, ale zase jich je víc. Zem převodníku se musí spojit se zemí přehrávače. Pomocí P1 se reguluje hlasitost. Na výstup se připojí libovolný zesilovač. Pro vyšší kvalitu by šly použít i integrované převodníky, ale zapojení by se značně komplikovalo.
   Některé pameti vyžadují, aby vývody CS a OE byly po zapnutí v úrovni log.1, jinak se po zapnutí napájení nechovají tak, jak mají. Nevím jak to popsat - zkrátka paměť nečte z adres zvolených adresovacími vývody. Zapojení se pak upraví připojením těchto 2 vývodů přes odpor 1k na GND a kondenzátor 100nF na +5V.

Zdroj dat pro paměť

    Nejprve vytvoříme v libovolném editačním programu požadovaný zvuk a uložíme ho ve formátu PCM WAV v kvalitě 8-bitů, mono. Rovněž je třeba zvolit vzorkovací rychlost. Mám-li třeba záznam délky 3,5 vteřiny a paměť 64kB tak vzorkovací rychlost musí být menší nebo rovna 65536 / 3,5 = 18724 vzorků / sec. V souboru wav je pak krátká hlavička udávající počítači vzorkovací rychlost, 8/16 bit a mono / stereo, .... Ta je však na obtíž a měla by být smazána. Hlavička je dlihá přesně 60B, takže je třeba smazat prvních 60B souboru. Pak už následují vlastní zvuková data, která se naprogramují do EPROM. Pokud nebude hlavička smazána, bude na začátku záznamu slyšet lupnutí.

Druhy a kapacity pamětí

   Paměť EPROM se pozná na první pohled podle průhledného okénka na mazání UV světlem. Někdy je okénko zalepeno nálepkou, aby se paměť samovolně nesmazala. Někde v označení typu paměti je napsáno 27C a pak číslo symbolizující velikost paměti v kbitech (např. 512). Paměti se vyrábí ve velkém rozsahu kapacit a liší se pak počtem vývodů.
    Dalším typem je paměť EEPROM, která se nemaže UV světlem, ale elektricky. Označení je různé, často je to 28Fxxx či 28Exxx nebo 29Fxxx atd.. Tyto paměti jsou rovněž použitelné a prodávané.
    Tu a tam taky narazím na paměť, která má podezřele mnoho vývodů. Nejdřív jsem si říkal, že jde o dobrý úlovek, ale ukázalo se, že jde o paměť se 16-ti bitovým výstupem s kapacitou pouze 64kB (pouzdro mělo 40 vývodů).

Značení pamětí EPROM
Označení Velikost Počet vzorků
27C16 2 kB 2048
27C32 4 kB 4096
27C64 8 kB 8192
27C128 16 kB 16384
27C256 32 kB 32768
27C512 64 kB 65536
27C010 128 kB 131072
27C020 256 kB 262144
27C040 512 kB 524288
27C080 1024 kB 1048576

Poslední aktualizace: 21.3.2004