wykl_cz2.pdf

(1452 KB) Pobierz
Microsoft Word - wykl_cz2.doc
Mikrokontrolery i Mikrosystemy
88
3. Układy scalone pamięciowe
W skład mse często mogą wchodzić układy pamięciowe. Szczególnie, gdy użyty mk nie
posiada wewnętrznej pamięci danych i programu. Generalnie pamięci można podzielić na
dwie grupy:
pamięci ulotne , trzymają dane tylko wtedy, gdy są zasilane. Zanik napięcia zasilania
powoduje utratę przechowywanych informacji,
pamięci nieulotne , zachowane dane nie ulegają skasowaniu po wyłączeniu napięcia
zasilania.
Pierwsza grypa to pamięci RAM ( Random Access Memory ). Są one pamięciami, w których
dane mogą być zarówno zapisywane, jak z niej odczytywane. Istnieją dwa główne typy tych
pamięci:
pamięć statyczna SRAM ,
pamięć dynamiczna DRAM .
Pamięć SRAM przechowuje bity informacji w postaci stanów przerzutników bistabilnych.
Każda komórka pamięci składa się z około od 4 do 6 tranzystorów. Układy SRAM mogą
mieć względnie niski pobór mocy w trybie podtrzymywania zawartości pamięci, natomiast w
trybie pracy pobierają dość duży prąd. Zaletą tych pamięci jest prostota sterowania oraz
szybkość (pamięci te wykonane z arsenku galu GaAs mają czas dostępu poniżej 1ns). Dzięki
prostemu sterowaniu są one najczęściej stosowane w mse.
W pamięci DRAM informacja przechowywana jest w postaci ładunków zgromadzonych w
kondensatorach, jakie powstają pomiędzy emiterami tranzystorów MOS i podłożem układu.
Dane w tych pamięciach mają tendencje do zanikania i wymagają ciągłego odnawiania.
Proces taki nazywa się „ odświeżaniem ” i wymaga specjalnych układów do wytwarzania
sygnałów odświeżających. Zaletą układów DRAM jest niski koszt produkcji, ze względu na
niewielką powierzchnię zajmowanej powierzchni krzemu. Każda komórka pamięci DRAM
ma tylko jeden tranzystor MOS. Z zalety tej wynika również inna cecha: pamięci DRAM
posiadają znacznie większą pojemność od pamięci SRAM (obecnie dostępne są na rynku
pamięci SRAM do 512kB). Wadą tych układów jest skomplikowane sterowanie, wynikające z
multipleksowania adresów rzędów i kolumn (pamięci te adresuje się jak macierz) oraz
wynikającego z tego dłuższego czasu dostępu, który jest dodatkowo zwiększany o czas
potrzebny na odświeżanie.
Istnieje cały szereg pamięci nieulotnych (część z nich zestawiono w tabeli 2.1). Poniżej
przedstawiono najczęściej spotykane typy tych pamięci:
Pamięć ROM ( Read Only Memory ) służy tylko do odczytywania. Informacja w pamięci
ROM jest zapisywana w czasie produkcji w formie maski, na podstawie dostarczonego
wzorca. Dla zamawiającego taką pamięć oznacza to wysoki koszt jednostkowy. Dlatego
pamięci ROM używa się jedynie w urządzeniach, które są produkowane w długich seriach.
Pamięć EPROM jest pamięcią programowaną elektrycznie. Użytkownik sam programuje
swój wzór informacji, jaką chce zapisać. Gdy układ posiada okienko ze szkła
kwarcowego, można taką pamięć kasować i programować ponownie. Jest to duża zaleta w
fazie uruchamiania mse. Kasowanie odbywa się na ogół przy pomocy światła
ultrafioletowego. Pamięć EPROM umieszczona w obudowie plastikowej, znacznie tańszej
od obudowy ceramicznej z okienkiem szklanym, nosi nazwę OTP ( One Time
Programmable ). Komórki pamięci EPROM są tranzystorami MOS z pływającymi
bramkami. Są one programowane przez wstrzykiwanie elektronów o wysokiej energii.
Komórka taka zawiera „0”, podczas gdy nie zaprogramowane komórki zawierają „1”.
Mikrokontrolery i Mikrosystemy
89
Zaprogramowanego w ten sposób tranzystora nie można wprowadzić w stan
przewodzenia i usunąć zgromadzonego w nim ładunku. Można tego dokonać jedynie
przez kasowanie światłem UV. Promienie UV dostarczają elektronom energii,
wystarczającej do ponownego przejścia przez barierę energetyczną w warstwie izolacyjnej
dwutlenku krzemu wokół pływającej bramki. Układy EPROM mogą być kasowane i
ponownie programowane około 100 razy.
Pamięci EEPROM są układami, które nie tylko są elektrycznie programowalne, ale
również elektrycznie kasowane. Mają ograniczoną liczbę cyklów programowania od
około 10000 razy do 1000000 razy. Komórka pamięci EEPROM składa się z tranzystora
NMOS ( Metal Nitride Oxide Semiconductor ). Do każdej komórki można wprowadzić
ładunek elektryczny, który przechowywany jest w izolowanej warstwie azotku krzemu,
znajdującej się między bramką tranzystora, a podłożem z tlenku krzemu. Ładowanie
inicjuje się poprzez tzw. efekt tunelowy. Powstaje on po przyłożeniu wysokiego napięcia
(20-40V) do bramki tranzystora. Przez zmianę polaryzacji tego napięcia, układ można
programować, bądź też kasować.
Pamięć błyskowa (FLASH) jest również pamięcią programowaną i kasowaną
elektrycznie. Koszt jej produkcji jest niższy niż układu EEPROM. W porównaniu z
pamięcią EEPROM cechuje się ona szybszymi czasami programowania i kasowania.
Najczęściej pamięć ta składa się z sektorów, na których mogą być wykonywane
odpowiednie operacje, posiada własną listę komend automatyzujących programowanie i
kasowanie pamięci.
Poniżej zostaną omówione trzy przykładowe układy pamięciowe, które można spotkać w
mse: najprostszy z możliwych układów – 8-bitowy rejestr zatrzaskujący 74HC574, pamięć
SRAM 128kB i pamięć FLASH 128kB.
3.1. 8-bitowy rejestr zatrzaskujący 74HC574
Często istnieje potrzeba zastosowania w mse takich prostych układów jak 8-bitowy rejestr
zatrzaskujący. Np. układy te stosuje się w celu „zwiększenia” liczby linii wyjściowych mk,
jako układy pamiętające młodszą część adresu przy adresowaniu zewnętrznej pamięci RAM i
ROM przez mk 8051, itp.
Jednym z takich układów jest 8-bitowy rejestr zatrzaskujący 74HC/HCT574. Posiada on
następujące właściwości:
trzystanowe nieodwracające wyjścia, co pozwala na stosowanie układu w systemach
magistralowych,
zawiera w sobie 8-bitowy rejestr składający się z przerzutników typu D wyzwalanych
zboczem narastającym,
każdemu przerzutnikowi przyporządkowana jest linia wejściowa i wyjściowa,
dla wszystkich przerzutników jest wspólny sygnał zegara CP (clock) i sygnał sterowania
ich buforami wyjściowymi OE.
Gdy na linii CP pojawi się zbocze narastające, to stan sygnałów na liniach wejściowych
układu (D0 – D7) zostaje zapamiętany w rejestrze. Kiedy sygnał OE jest w stanie wysokim
wyjścia układu (Q0 – Q7) są w stanie wysokiej impedancji. Stan niski na linii OE spowoduje
wystawienie zawartości rejestru na linie wyjściowe. Linia OE nie wpływa na zawartość
rejestrów układu.
Na rys. 3.1 pokazano wyprowadzenia końcówek układu oraz jego schemat funkcjonalny.
Mikrokontrolery i Mikrosystemy
90
Rys. 3.1. Schemat wyprowadzeń oraz schemat funkcjonalny układu 74HC574
Jak widać z rys. 3.1 układ składa się z rejestru zatrzaskującego złożonego z ośmiu
przerzutnikó typu D oznaczonych od FF1 do FF8 ( flip-flop ) i bloku ośmiu buforów
trójstanowych. Rejestry są sterowane wyłącznie sygnałem CP, a bufory sygnałem OE.
Poniżej przedstawiono tabelę 3.1 opisującą sposób sterowania tym układem.
Tabela 3.1. Sterowanie układem 74HC574
Na rys. 3.2 pokazano diagram logiczny układu.
Rys. 3.2. Diagram logiczny układu 74HC574
29974576.001.png
Mikrokontrolery i Mikrosystemy
91
3.2. Pamięć SRAM 128kB
Pamięć SRAM zostanie przedstawiona na przykładzie układu K6T1008C2E firmy
Samsung Electronics. Jest to pamięć SRAM o pojemności 128Kx8 bitów wykonana w
technologii CMOS o małym poborze mocy.
Na rys. 3.3 pokazano wyprowadzenia układu. Są one zgodne ze standardem dla pamięci o
tej pojemności. Również identyczne wyprowadzenia mają pamięci np. 512Kx8 bitów, przy
czym pin 1 jest linią A17, a pin 30 linią A18.
Rys. 3.3. Wyprowadzenia układu K6T1008C2E
Rys. 3.4. Schemat blokowy układu K6T1008C2E
29974576.002.png 29974576.003.png
Mikrokontrolery i Mikrosystemy
92
Na rys. 3.4 pokazano schemat blokowy układu pamięci SRAM. Składa się on z układu
kontrolnego, do którego podłączone są sygnały CS 1 , CS 2 , WE i OE za pośrednictwem których
steruje się pamięcią, układu we/wy służącego do wymiany danych pomiędzy matrycą pamięci
składającej się z 1024 rzędów i 128x8 kolumn, a liniami danych I/O1 do I/O8. Wybór
komórki (bajtu) do zapisu lub odczytu odbywa się za pomocą układów wyboru wierszy i
rzędów do których podłączone są linie adresowe A0 – A16.
W tabeli 3.2 przedstawiono znaczenie poszczególnych sygnałów.
Tabela 3.2. Funkcje sygnałów dla układu K6T1008C2E
Sygnały CS 1 i CS 2 służą do uaktywnienia układu. Najczęściej steruje się pierwszym
sygnałem, drugi jest na stałe podłączony do „1”. Sygnał OE jest wykorzystywany w trakcie
czytania danej, a sygnał WE w trakcie pisania danej do pamięci za pośrednictwem
dwukierunkowych linii I/O 1 – I/O 8 pod adres wskazany przez linie A 0 – A 16 .
Zastosowanie tych sygnałów pokazano w następnej tabeli (tabela 3.3).
Tabela 3.3. Zastosowanie sygnałów sterujących dla układu K6T1008C2E
Jak widać z tabeli 3.3, aby móc zapisać bajt do pamięci musi być ona aktywna (CS 1 – stan
niski (L), CS 2 – stan wysoki (H)) oraz na linii OE ma być stan niski (aktywny), a na linii WE
stan wysoki (nieaktywny). Podobnie jest dla zapisu. W tym przypadku sygnał WE jest niski
(warto aby OE było w stanie wysokim).
Na poniższych rysunkach pokazano przebiegi cyklu odczytu bajtu z pamięci SRAM (rys.
3.5) oraz zapisu do niej bajtu dwoma sposobami, przy czym zakłada się, że sygnał CS 2 jest
nieaktywny (na zacisku jest stan wysoki). Pierwszy sposób oparty jest na sterowaniu zapisem
danej sygnałem WE (rys. 3.6), natomiast drugi bazuje na sterowaniu zapisem za pomocą
sygnału CS 1 (rys. 3.7).
29974576.004.png
Zgłoś jeśli naruszono regulamin