Professional Documents
Culture Documents
Pamici FRAM
w zastosowaniach
praktycznych, cz
Wspczenie pamici dzielone s na dwie
podstawowe kategorie: nieulotne i ulotne.
Obydwie s nieustannie rozwijane, co
zaowocowao kilka lat temu wprowadzeniem
do sprzeday nieulotnych pamici FRAM o do
niezwykych moliwociach. Przedstawiamy je
w artykule wraz z praktycznymi przykadami
stosowania pamici.
Pamici nieulotne s od
wielu lat uywane s w
aplikacjach w celu zapamitania pewnych staych
lub rzadko zmienianych
informacji. Moe to by
1
RAM. S one atwe do zapisu i pracuj bardzo szybko, wic ten rodzaj pamici
przechowuje dane, ktre czsto ulegaj zmianie. Przeciwnie do pamici ROM, dane
przechowywane w pamici
RAM gin po odczeniu
napicia zasilajcego i jeli
konieczne jest z jaki wzgldw zachowanie niezmiennego stanu RAM, wymagane
jest stosowania pomocniczych rde zasilania. Jest
43
P O D Z E S P O Y
F RA M j e s t r o d z a j e m
pamici RAM, w ktrej
wykorzystano efekt ferro-
44
na tworzy i zapamita
dwa stabilne stany. Stany
te umownie mog odpowiada wartociom logicznym bitw, to jest zeru
i jedynce.
Prosta zasada dziaania,
niemale identyczna z t
stosowan w pamiciach
RAM, umoliwia konstrukcj prostych obwodw zapisu i odczytu komrek
pamici. Jak wspomniano
wczeniej, materia ferroelektryczny zachowuje polaryzacj adunkw pomimo
zaniku pola elektrycznego
i w zwizku tym, nie tak
jak w pamiciach RAM,
dane mog by przechowywane w sposb nieulotny.
Zbudowana z jego wykorzystaniem komrka pamici nie wymaga rwnie
okresowego odwieania.
Odczyt
Mimo, i podstawowym
elementem komrki pamici jest kondensator, to jednak bity nie s zapamitywane jako adunek liniowy. Odczyt takiej komrki
pamici wymaga detekcji
pooenia atomu wewntrz
struktury krystalicznej.
Niestety nie moe ono by
rozpoznane bezporednio i
musi tu by uywany pewien zabieg.
Do kondensatora przykadane jest napicie. Na
skutek tego pomidzy jego
okadzinami pojawia si
pole elektryczne. Ruchomy
atom przesuwa si zgodnie z kierunkiem dziaania pola, lub pozostaje w
spoczynku, jeli jego pooenie jest z nim zgodne. W rodku struktury
krysztau wystpuje stan
Rys. 1.
P O D Z E S P O Y
Zapis
45
P O D Z E S P O Y
Tab. 1. Ukady peryferyjne do systemw mikroprocesorowych
Nazwa
produktu
VDD
Rodzaj
interfejsu
Wielko
pamici
RTC
RTC z
funkcj
Alarmu
Monitor
zasilania
Watch
Dog
Sygnalizacja
zaniku
napicia
Numer
seryjny
Przecznik
zasilania
Sygnalizacja
zdarzenia
Rodzaj
obudowy
Nie
Nie
Nie
Nie
Nie
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Licznik
Licznik
Licznik
Licznik
Licznik
SOIC14
SOIC14
SOIC14
SOIC14
SOIC14
Nie
Nie
Nie
Nie
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Licznik
Licznik
Licznik
Licznik
SOIC14
SOIC14
SOIC14
SOIC14
Nie
Tak
Nie
Nie
Nie
Tak
SOIC20
Nie
No
Nie
Nie
Nie
Nie
Tak
Tak
Tak
Nie
Nie
Tak
Nie
TSOP32
46
VDD
IDD
Aplikacje
Maksymalna
czstotliwo
taktowania
Rodzaj
obudowy
Pojemno
Nazwa
produktu
1MHz
1MHz
1MHz
1MHz
5V
5V
2,7...3,6V
5V
1,2mA
1,2mA
400mA
1,0mA
1MHz
2,7...3,6V
400uA
1MHz
1MHz
5V
2,7...3,6V
1,0mA
300mA
25MHz
2,7...3,6V
6mA
25MHz
5MHz
2,7...5,5V
5V
7mA
3,0mA
20MHz
2,7...3,6V
10mA
20MHz
2,7...3,6V
10mA
5MHz
20MHz
1,8MHz
5V
2,7...3,6V
5V
3mA
3,0mA
2,5mA
70ns
70ns
120ns
3,0...3,6V
5V
5V
15mA
25mA
15mA
telefonach komrkowych,
aparatach fotograficznych i
innych urzdzeniach elektronicznych.
P O D Z E S P O Y
Pami szeregowa
FM24C64 (64 kb)
Wykonana w technologii
FRAM pami FM24C64 wyposaona jest w szybki interfejs 2-Wire. Jest ona funkcjonalnym odpowiednikiem
popularnej pamici EEPROM
produkowanej przez wiele firm pod oznaczeniem
24C64 (np. przez firm Atmel Corp. AT24C64). Jako,
e ten rodzaj pamici jest
dobrze znany elektronikom,
tu w skrcie zostan wymienione cechy pamici po
to, aby zaj si praktyczn
realizacj interfejsu programowego umoliwiajcego zapis i odczyt danych:
Bardzo niski pobr
prdu: 150 A przy zasilaniu 5 V, 10 A w
trybie standby.
Organizacja: 8192 x
8 bit.
Moliwo wykonania a
1012 cykli zapisu/odczytu!
Gwarancja na podtrzymanie zawartoci przez
10 lat.
Brak czasu oczekiwania
na zapis/odczyt bajtu
(czas dostpu znacznie
krtszy od okresu zegara transmisji interfejsu).
Czstotliwo sygnau
zegarowego interfejsu
do 1 MHz.
Kompatybilna z pamiciami EEPROM typu
24C64.
Interfejs zbliony
funkcjonalnie do I 2 C
(oba tryby: standardowy 100 kHz i szybki
400 kHz).
Jak wspomniano przy
okazji krtkiej charakterystyki cech pamici, jest ona
kompatybilna z popularn
pamici EEPROM 24C64.
Podobnie jest z programem
obsugi: nie wymaga on adnych specjalnych zabiegw.
Najwaniejsza jest rnica
funkcjonalna: pami FRAM
w porwnaniu z EEPROM
wyrnia si ogromn wrcz
szybkoci zapisu. W zwiz-
47
P O D Z E S P O Y
List. 1.
48
List. 1. cd
setb
ACC.0
;kasowanie
bitu 0 adresu - odczyt
call
shout
;wysanie
adresu na magistral I2C
jc rb_x4
;wyjcie,
jeli brak potwierdzenia
mov index,#buffer
;do zmiennej INDEX wskazanie do bufora
rb_x1:
call
shin
;odbir
bajtu od pamici
mov @index,A
;zapamitanie
ich w RAM mikrokontrolera
cjne
count,#1,rb_x2
;skok, jeli to nie ostatni bajt
call
NAK
;nie wysyaj
potwierdzenia, ostatni bajt
jmp rb_x3
;wyjcie
rb_x2:
call
ACK
;wylij potwierdzenie
inc index
;nastpna
pozycja w buforze
djnz
count,rb_x1
;nastpny bajt w pamici 24C64
rb_x3:
clr C
; clear error ag
rb_x4:
call
stop
;wysanie
rozkazu I2C STOP
rb_x5:
ret
;zapis bajtu do pamici 24C64;
wywoanie: adres 1-go bajtu w
;ADDR_HI:ADDR_LO, dane do zapisu
w ZDATA, zmienna cz adresu
;ukadu pamici w A, zwraca CY=1,
jeli magistrala jest zajta lub
;pami nie odpowiada, modykuje A
write_byte:
call
start
;wysanie
rozkazu I2C START
jc wb_y9
;wyjcie,
jeli brak potwierdzenia
rl A
;zmienna cz
adresu przesuwana jest na poz.
bitw 3:1
orl A,#FIXEDADDR
;dodanie
staej czci adresu
clr ACC.0
;operacja
zapisu (b0=0)
call
shout
;wysanie
adresu pamici
jc wb_y8
;wyjcie,
jeli brak potwierdzenia
mov A,addr_hi
;wysanie
starszego bajtu adresu sowa
call
shout
jc wb_y8
;wyjcie,
jeli brak potwierdzenia
mov A,addr_lo
;wysanie
modszego bajtu adresu sowa
call
shout
jc wb_y8
;wyjcie,
jeli brak potwierdzenia
mov A,zdata
;pobranie
danych z ZDATA do ACC
call
shout
;wysanie
danych do pamici 24C64
jc wb_y8
;wyjcie,
jeli brak potwierdzenia
clr C
;kasowanie znacznika bdu
wb_y8:
call
stop
;wysanie
rozkazu I2C STOP
wb_y9:
ret
;odczyt bajtu spod biecego adresu w pamici 24C64
;wywoywana ze zmienn czci
adresu w A, zwraca bajt w A
;zwraca CY=1, jeli magistrala
jest zajta lub pami nie
;odpowiada, modykuje A
read_current:
call
start
;wysanie
rozkazu I2C START
jc rc_x5
;wyjcie,
jeli brak potwierdzenia
rl A
;zmienna cz
adresu przesuwana jest na poz.
bitw 3:1
orl A,#FIXEDADDR
;dodanie
staej czci adresu
setb
ACC.0
;operacja
odczytu (b0=1)
call
shout
;wysanie
adresu pamici
jc rc_x4
;wyjcie,
jeli brak potwierdzenia
call
shin
;odbir
bajtu danych
call
NAK
;nie wysyaj
potwierdzenia, koniec operacji
clr C
;kasowanie agi
sygnalizacji bdu
rc_x4:
List. 1. cd
call
stop
;wysanie
rozkazu I2C STOP
rc_x5:
ret
;wywoanie funkcji Read Random
(odczyt swobodny)
;wywoywana ze zmienn czci
adresu w A, adresem bajtu w
;ADDR_HI:ADDR_LO; bajt zwracany
w akumulatorze
;zwraca CY=1, jeli magistrala
jest zajta lub pami nie
;odpowiada
read_random:
push
B
;zapamitanie
stanu rejestru B na stosie
mov B,A
;zapamitanie
kopii zmiennej czci adresu
;tryb zapisu w
celu ustawienia licznika adresw
24C64
call
start
;wysanie
rozkazu I2C START
jc rr_x7
;wyjcie,
jeli brak potwierdzenia
rl A
;zmienna cz
adresu przesuwana jest na poz.
bitw 3:1
orl A,#FIXEDADDR
;dodanie
staej czci adresu
clr ACC.0
;operacja
zapisu (b0=0)
call
shout
;wysanie
adresu pamici
jc rr_x6
;wyjcie,
jeli brak potwierdzenia
mov A,addr_hi
;wysanie
starszego bajtu adresu sowa
call
shout
jc rr_x6
;wyjcie,
jeli brak potwierdzenia
mov a,addr_lo
;wysanie
modszego bajtu adresu sowa
call
shout
jc rr_x6
;wyjcie,
jeli brak potwierdzenia
;wywoanie funkcji Call Current Address Read
mov A,B
;odtwrz zmienn
cz adresu
call
read_current
jmp rr_x7
;wyjcie
rr_x6:
call
stop
;wysanie
rozkazu I2C STOP
rr_x7:
pop B
;odtworzenie
stanu rejestru B
ret
ku z tym, e interfejs I 2C
jest znany z szeregu aplikacji, opis pamici ogranicz
do krtkiej charakterystyki
funkcjonalnej.
Podobnie jak I 2C, kompatybilny z nim interfejs
2-Wire wymaga rezysto rw zasilajcych (pull-up) o
wartoci minimalnej okoo
1,8 kV. Warto rezystorw
zaley od pojemnoci pocze. Przy bardzo krtkich
poczeniach wystarczajce
mog by rezystory wbudowane w struktur np. mikrokontrolera, ale nie polecam rozwizania tego typu.
Linie interfejsu s dwukierunkowe, transmisja zawsze
nadzorowana jest przez
ukad zarzdzajcy (master),
podczas gdy pami jest
zawsze ukadem nadzorowanym (slave). Podobnie jak w
I2C linie nosz nazw SDA
(danych) i SCL (zegarowa).
Od I2C przejto rwnie sy-