Układy pamięci firmy Microchip w ofercie TME JuŜ przy konstruowaniu pierwszych systemów mikroprocesorowych pojawił się problem długotrwałego przechowywania danych. Układy RAM świetnie sprawdzające się w roli pamięci operacyjnej z oczywistych powodów nie nadawały się do trwałego magazynowania danych ich zawartość była tracona bezpowrotnie wraz z zanikiem napięcia zasilającego. Nadzieją były pamięci EEPROM i Flash. Prace nad nimi prowadzą od lat najwięksi dostawcy elementów półprzewodnikowych, m.in. Microchip. Technologia produkcji pamięci RAM (Random Access Memory) była dobrze opanowana w czasach, gdy powstawały pierwsze systemy mikroprocesorowe, brakowało natomiast pamięci, która mogłaby być zapisywana przez procesor, i której zawartość nie ulegałaby skasowaniu po wyłączeniu zasilania. Koncepcji zastosowania do tego celu pamięci RAM nie odrzucono od razu definitywnie. Układy takie produkowane są w technologiach CMOS, a to pozwala zasilać je buforowo np. z baterii litowej, uzyskując tym samym w miarę bezpieczny sposób magazynowania danych, ograniczony w czasie jedynie trwałością samej baterii. Na rynku moŝna spotkać do dziś ofertę na układy tego typu. Większość producentów skoncentrowała się jednak na technologiach całkowicie półprzewodnikowych EEPROM i Flash, dających większe gwarancje bezpieczeństwa danych. Ich rozwijanie, przynajmniej w początkowym okresie prac, nie było jednak łatwe. Obecnie zaledwie kilka firm oferuje układy pamięciowe typu EEPROM i Flash. NajwaŜniejsi to: Microchip, Atmel, Catalyst, ST Microelectronics i Silicon Storage. W artykule skoncentrujemy się na wyrobach Microchipa i Silicon Storage, będących w ofercie TME. Pamięci EEPROM Pamięć EEPROM (Electrically-Erasable Programmable Read-Only Memory) z racji swoich cech funkcjonalnych bardzo dobrze nadaje się np. do przechowywania parametrów konfiguracyjnych systemów mikroprocesorowych, cyfrowych nastaw wszelkiego rodzaju przyrządów itp. Stosunkowo długi czas zapisu raczej dyskwalifikuje ten rodzaj pamięci do magazynowania duŝych ilości danych pozyskiwanych w czasie rzeczywistym. Pamięć EEPROM stanowi niemal standardowy składnik zasobów wewnętrznych współczesnych mikrokontrolerów. Nadal są wykorzystywane równieŝ jako elementy zewnętrzne, dołączane do systemu przez któryś z popularnych interfejsów. MoŜliwość jego wyboru jest więc bardzo waŝna dla uŝytkowników. Układy Microchipa wyróŝniają się pod tym względem wśród wyrobów konkurencyjnych. Z oferty tej firmy moŝna dobrać pamięci z interfejsami szeregowymi: UNI/O, SPI, I 2 C, Microwire (3-wire). UNI/O jest to własne opracowanie Microchipa, stosunkowo mało jeszcze znane. W interfejsie tym do transmisji jest wykorzystywana zaledwie jedna linia I/O. Typowy schemat dołączenia pamięci do mikrokontrolera przedstawiono na rys. 1. - 1
Rys. 1. Schemat dołączenia pamięci EEPROM z interfejsem UNI/O do mikrokontrolera Na uwagę zasługuje brak linii WP (Write Protect), funkcja ta jest bowiem realizowana programowo. Do przesyłania danych tylko jedną linią I/O wykorzystywany jest samosynchronizujący kod Manchester. Bardzo proste, jednoprzewodowe połączenie pozwala stosować obudowy SOT23 o zaledwie trzech wyprowadzeniach. Zaletą interfejsu UNI/O jest łatwość dołączania do mikrokontrolera wielu układów pamięci, wadą natomiast jest stosunkowo mała szybkości transmisji (częstotliwość taktowania zawiera się w przedziale 10...100 khz). Zestawienie najwaŝniejszych parametrów szeregowych pamięci EEPROM firmy Microchip dostępnych w TME przedstawiono w tab. 1. Typ interfejsu Liczba linii Szybkość Pojemność SPI 4 do 20 MHz 1 kb...1 Mb Microwire 4->3 do 3 MHz 1 kb...16 kb (I/O na 1 porcie) I 2 C 2 do 1 MHz 128 b...1 Mb UNI/O 1 10 khz...100 khz 1 kb...16 kb Tab. 1. Zestawienie najwaŝniejszych parametrów szeregowych pamięci EEPROM firmy Microchip Oferta pamięci EEPROM firmy Microchip dostępnych w TME obejmuje układy w róŝnych wersjach napięciowych, np.: z dedykowanymi napięciami: 1,8 V, 2,5 V, 3,3 V i 5 V oraz pracującymi z napięciami zasilającymi z zakresu 1,5...3,6 V, 1,7...5,5 V, 1,8...5,5 V oraz 2,5...5,5 V. W zaleŝności od pojemności (od 128 bitów do 1 Mbita) i wersji napięciowej, są one dostępne w obudowach: SO8, DIP8, SOIC8, SOJ8, TSSOP8, TDFN8, MSOP8, SOT23, SOT23-5, SOT23-6. - 2
Pamięci Flash Parametry pamięci Flash, przede wszystkim czas kasowania/zapisu sektora i gwarantowany okres przechowywania danych pozwalają na stosowanie ich we wszelkiego rodzaju przenośnych pamięciach masowych. Równie dobrze nadają się do stacjonarnego gromadzenia duŝych ilości danych w systemach mikroprocesorowych. Najczęściej w roli tej są wykorzystywane pamięci z interfejsem szeregowym, co umoŝliwia uzyskanie duŝej miniaturyzacji PCB i uproszczenie schematu połączeń. W ofercie TME znajdują się pamięci Flash produkowane przez Silicon Storage Technology. Od kwietnia 2010 roku udziały w zakresie produkcji tych elementów wykupił od SST koncern Microchip, co znalazło swoje odbicie w znacznym poszerzeniu oferty samej firmy i jej dystrybutorów (TME). Listę otwierają pamięci naleŝące do rodziny SST25VF dostępne w wersjach: 512 kb, 2 Mb, 4 Mb, 8 Mb, 16 Mb, 32 Mb i 64 Mb. Komórki pamięciowe są wykonywane w chronionej patentami technologii CMOS Super Flash (obecnie dostępnej dla Microchipa) wykorzystującej bardzo zaawansowane rozwiązania. Zastosowanie bramki z grubą warstwą tlenku zwiększa na przykład czas utrzymywania ładunku, a więc równieŝ czas przechowywania informacji w komórce pamięciowej. WiąŜe się to jednak z koniecznością tunelowego wstrzeliwania elektronów, do czego konieczne było opracowanie specjalnych rozwiązań technologicznych. Dzięki tym i innym innowacjom uzyskano zwiększenie prędkości działania pamięci przy jednoczesnym zmniejszeniu mocy pobieranej. Schemat blokowy układów 25VF przedstawiono na rys. 2. Rys. 2. Schemat blokowy pamięci Flash rodziny 25VF W pamięciach tych zastosowano 4-przewodowy interfejs SPI o górnej częstotliwości taktowania równej 50 lub 80 MHz, pracujący w trybie 0 lub 3. Układy te mogą być - 3
zasilane napięciem od 2,7 do 3,6 V, w stanie aktywnym pobierają prąd o natęŝeniu 10 ma. Aktywność układu jest wymuszana podaniem niskiego stanu logicznego na linię CE. W czasie, gdy linia ta jest utrzymywana w stanie wysokim, prąd zasilania spada do 5 µa. Liczba cykli kasowanie/zapis jest określana na 100000, a czas przechowywania danych jest szacowany na 100 lat. Jak wiemy, zapis do pamięci Flash moŝe być prowadzony tylko w obrębie jednego bloku/sektora. W pamięciach 25VF wielkość sektora jest równa 4 kb, zaś parametr ten dla bloków overlay moŝe być równy 32 lub 64 kb. Czas kasowania sektora/bloku nie przekracza 18 ms, zaś typowy czas programowania bajtu jest równy 7 µs. Istnieje ponadto rozkaz kasowania całej pamięci, który wykonuje się 35 ms. Podczas blokowego zapisywania danych bardzo przydatna jest funkcja autoinkrementacji licznika adresowego. Zapis danych moŝe być blokowany sprzętowo za pośrednictwem linii WP (Write Protect). W strukturze układu zawarto odpowiednią logikę sterującą zapisywaniem i odczytywaniem danych, co jest konieczne we wszystkich pamięciach typu Flash. Linia HOLD jest wykorzystywana do tymczasowego blokowania przesyłania danych interfejsem SPI, bez konieczności zerowania pamięci przy wznawianiu transmisji. Pamięci pracują w zakresie temperatur od -40 o C do +85 o C. Układy serii 25VF będące w ofercie TME są dostępne w obudowach TDFN8, TDFN16, SO8, SOL8 i SOL16. MoŜna je równieŝ zamawiać w rolkach. Uzupełnieniem rodziny 25VF są układy 25WF zasilane napięciem 1,65...1,95 V. Są one dostępne w wersjach: 512 kb, 1, 2, 4 i 8 Mb. Po transakcjach własnościowych Microchipa w ofercie znalazły się równieŝ nowe rodzaje pamięci Flash, do których naleŝy rodzina 49LF. Tworzą ją układy określane jako Firmware Hub for Intel 8xx Chipset. Znajdują zastosowanie w aplikacjach związanych z obsługą PC-BIOS-u. Pamięci 49LF są produkowane podobnie, jak omawiane wcześniej, w technologii Super Flash. Schemat blokowy przedstawiono na rys. 3. Rys. 3. Schemat blokowy pamięci Flash rodziny 49LF Pamięci mogą pracować w dwóch trybach: FWH (Firmware Hub Interface) przeznaczonym do zapisywania i odczytywania danych w systemie oraz PP (Parallel - 4
Programing) wykorzystywanym do szybkiego programowania produkcyjnego. W trybie FWH jest wykorzystywany 5-przewodowy interfejs komunikacyjny taktowany z częstotliwością 33 MHz. Interfejs równoległy tworzy 11-przewodowa multipleksowana szyna adresowa i 8-przewodowa szyna danych I/O. Pamięci 49LF mają zabezpieczenia przed nieuprawnionym zapisem. SłuŜą do tego dwa wyprowadzenia: WP# (Write Protect) i TBL# (Top Boot Block) chroniący specjalny obszar pamięci, zajmujący najwyŝsze adresy i obejmujący 16 boot sektorów (64 kb). Ochrona danych zapisanych w pamięci moŝe być równieŝ kontrolowana programowo, do czego wydzielono specjalny rejestr sterujący Block Locking Register. Kasowanie pamięci wykorzystujące rozkaz Chip-Erase jest moŝliwe tylko w trybie PP. Układy 49LF mogą być zasilane napięciem 3.0...3,6 V, pracują w zakresie temperatur od 0 o C do +85 o C. Układy są dostępne w obudowach: TSOP32, TSOP40, PLCC32 jako pojedyncze sztuki i w rolkach. Pamięci nieulotne stanowią nieodzowny element niemal kaŝdego nowoczesnego urządzenia elektronicznego. W tym zakresie oferta Microchipa, szczególnie po przejęciu praw do wyrobów Silicon Storage Technology stała się niezwykle atrakcyjna. Opisane wyŝej układy są dostępne w TME - 5