24.7 Sériové paměti

Až dosud jsem hovořil o klasických pamětech RAM, ROM atd. Takové paměti mají N adresových vstupů A0-An, M datových vývodů D0-Dm, kapacitu 2N adres krát 2M bitů, a pro větší kapacitu logicky potřebujete větší pouzdro s větším počtem vývodů. Tyto paměti mají totiž paralelní rozhraní. Jestli si pamatujete, co jsme si říkali v kapitole o rozhraních, tak totéž v bledě modrém platí i o těchto pamětech: nesnesou příliš dlouhé datové/adresové vedení, rychlost přenosu dat je teoreticky neomezená, a lze je připojovat snadno přímo na sběrnici procesoru.

To je také mimochodem odpověď na to, proč mají paměťové moduly do PC tolik pinů – kvůli rychlosti používají paralelní přenos, takže třeba moduly DDR3 DIMM používají 240 vývodů…

Pro malé systémy s jednočipovými řadiči se jako vhodná alternativa ukázaly sériové paměti. Technicky jde o stejnou paměť RAM, EEPROM, FLASH, ale používá sériové rozhraní, takže se vejde klidně do pouzdra s osmi vývody.

Dovolte tabulku:

Rozhraní / Typ

RAM

EEPROM

FLASH

SPI

23xx

25xx

25Fxx

I2C

47xx (SRAM+EEPROM)

24xx

Microwire

93xx

Shrnul jsem sériové paměti podle typu a rozhraní. Třetí do sbírky, Microwire, je vlastně podmnožina SPI (umožňuje pouze SPI Mode 0 – viz popis SPI).

Asi největší portfolio těchto pamětí má v době psaní knihy společnost Microchip. Podržím se tedy jejich rozdělení a značení.

Sériové paměti se značí dvojčíslím, které udává typ paměti a rozhraní, viz tabulka, pak jedním či více písmeny, která udávají podtyp, popř. napájecí napětí, a opět číslem, které udává kapacitu. Kapacita se nejčastěji udává v kilobitech, takže si nezapomeňte číslo podělit osmi, abyste dostali kapacitu v kilobajtech.

Písmena jsou nejčastěji L, C nebo LC (standardní paměti s napájením 2,5 – 5 V), AA (nízkonapěťové 1,8 – 5 V), A (s napětím 1,7 – 2,2 V). U pamětí pro I2C se setkáte i s písmenem F, které znamená, že paměť umí pracovat i s přenosovou frekvencí 1 MHz (bez F používají většinou 400 kHz).

Čísla udávající kapacitu mají tento význam (u EEPROM a SRAM):

Kapacita (kilobit)

Kapacita (kilobajt)

Kód

1

0,125 (128 byte)

xx01

2

0,25 (256 byte)

xx02

4

0,5 (512 byte)

xx04

8

1

xx08

16

2

xx16

32

4

xx32

64

8

xx64

128

16

xx128

256

32

xx256

512

64

xx512

1024

128

xx1024, xx1025, xx1026, xxM01

U sériových FLASH se pohybujeme v trochu jiných dimenzích:

Kapacita (kilobit)

Kapacita (kilobajt)

Kódh

512

64

xxF512

1024

128

xxF010

2048

256

xxF020

4096

512

xxF040

8196

1024 (1 MB)

xxF080

16384

2048 (2 MB)

xxF016

32768

4096 (4 MB)

xxF032

65536

8192 (8 MB)

xxF064

Paměti s větší kapacitou a rozhraním SPI mají většinou i možnost využít dvou nebo čtyř datových vodičů najednou (SDI, SQI) – kvůli zrychlení přenosu.

Sériové paměti jsou zároveň poměrně levné, podle typu a kapacity okolo 50-90 Kč. Díky pouzdru s osmi vývody je většinou nebývá problém sehnat i v provedení DIP, tedy naprosto ideální pro amatérské použití.

Zásadní nevýhoda je, že to nejsou „jednoduché paměti“, kam přivedete adresu po sběrnici a dostanete „v reálném čase“ data. Vždy musíte udělat několik kroků, a i v tom nejjednodušším případě čtení dat musíte poslat do paměti požadovanou adresu, a pak přečíst data. Vhodné zařízení pro komunikaci je tedy mikrokontrolér…

Ale dosti planých řečí, pojďme si to zkusit zapojit.

25 Sériová paměť prakticky

Last updated