Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ. Wojciech Wojtkowski w.wojtkowski@we.pb.edu.pl BIAŁYSTOK 2009
Spis treści instrukcji: 1. Cel i zakres ćwiczenia laboratoryjnego... 2 2. Pamięci szeregowe serii AT24CXX... 2 3. Komunikacja poprzez I 2 C... 3 4. Zagadnienia do przygotowania... 8 5. Wymagania BHP... 8 6. Sprawozdanie... 8 7. Przykładowe zadania... 9 8. Literatura... 9 1. CEL I ZAKRES ĆWICZENIA LABORATORYJNEGO Celem ćwiczenia jest poznanie zasad wykorzystania w projektach pamięci szeregowych EEPROM sterowanych magistralą I 2 C. W ramach ćwiczenia studenci projektują wybrane układy mikroprocesorowe wykorzystujące pamięci EEPROM do przechowywania danych po wyłączeniu zasilania systemu. Zakres ćwiczenia obejmuje: Projektowanie układów mikroprocesorowych z wykorzystaniem pamięci szeregowych EEPROM, Zapis i odczyt informacji z pamięci szeregowych magistralą I 2 C. Szczegółowy zakres ćwiczenia ustala prowadzący. 2. PAMIĘCI SZEREGOWE SERII AT24CXX Pamięci szeregowe serii AT24CXX są to elektrycznie kasowalne i programowalne pamięci szeregowe typu EEPROM. Występują w następujących wersjach pojemności: Tabela 1. Pamięci szeregowe serii AT24CXX Oznaczenie pamięci ilość bitów ilość bajtów AT24C01 1024 128 AT24C02 2048 256 AT24C04 4096 512 AT24C08 8192 1024 AT24C16 16384 2048 Seria AT24Cxx jest dostępna w róŝnych obudowach, co pozwala na wygodny wybór w zaleŝności od wymagań konkretnego projektu. Rozmieszczenie wyprowadzeń poszczególnych typów obudów pamięci AT24Cxx jest przedstawione na rysunku 1. 2
Rys. 1. Rozmieszczenie wyprowadzeń pamięci AT24Cxx Dostęp do pamięci odbywa się poprzez magistralę I 2 C, co pozwala na znaczącą redukcję liczby wyprowadzeń oraz ułatwia projektowanie obwodów drukowanych PCB. Tak jak kaŝde standardowe urządzenie współpracujące z magistralą I 2 C, pamięć EEPROM ma 7 bitowy adres, który moŝe być modyfikowany w pewnym zakresie przez uŝytkownika za pomocą wyprowadzeń A0, A1 oraz A2. MoŜliwości adresowania są róŝnice dla róŝnych pojemności pamięci. Pamięci C01 oraz C02 posiadają wszystkie wejścia adresowe (A0-A2). Daje to 8 kombinacji adresu i tyle kostek pamięci,moŝna jednocześnie dołączyć do tej samej magistrali I 2 C bez dodatkowych ekspanderów. Układ C04 posiada aktywne jedynie wejścia A1 i A2, co pozwala na dołączenie 4 kostek do magistrali jednocześnie. Układ C08 posiada aktywne tylko wejście A2 (2 urządzenia). Pamięć C16 nie posiada Ŝadnego aktywnego pinu adresowego (1 urządzenie). Wszystkie nieaktywne wyprowadzenia adresowe moŝna podłączyć do masy układu. Adresy poszczególnych wariantów pojemności są przedstawione na rysunku 2. 3
Rys. 2. Adres urządzenia I 2 C w zaleŝności od pojemności pamięci układów serii AT24Cxx Pamięci AT24C01A/02/04/08A/16A posiadają wejście zabezpieczające przed zapisem WP (Write Protect). Gdy wejście WP jest dołączone do masy, dozwolone są wszystkie operacje zapisu i odczytu. W przypadku, gdy WP jest dołączone do wysokiego potencjału, funkcja ochrony przed zapisem jest aktywna, a jej działanie jest zilustrowane na rysunku 3. Rys. 3. MoŜliwości zabezpieczenia przed zapisem poszczególnych układów serii AT24Cxx 3. KOMUNIKACJA POPRZEZ I 2 C Magistrala I 2 C jest dwukierunkową 2-liniową magistralą słuŝącą do komunikacji lokalnej pomiędzy róŝnymi ukłądami scalonymi. Dwie linie noszą oznaczenia SDA (serial data) oraz SCL (serial clock). Obie linie muszą być podłączone do zasilania poprzez rezystory podciągające. Transmisja danych moŝe zostać zainicjowana wyłącznie wtedy, gdy magistrala nie jest zajęta. Jeden bit informacji jest przesyłany podczas jednego impulsu zegarowego. Stan (informacja) na linii SDA musi być stabilny podczas stanu wysokiego na linii zegarowej (podczas trwania impulsu zegarowego). Jeśli się zmieni stan linii danych w czasie trwania impulsu zegarowego, będzie to zinterpretowane jako sygnał sterujący. Sygnał START jest to zmiana z H na L na SDA w czasie H na SCL. Sygnał STOP jest to zmiana z L na H w czasie trwania H na SCL. 4
Rys. 4. Transfer jednego bitu informacji Rys. 5. Rozpoczęcie (START) i zakończenie (STOP) transmisji Rys. 6. Konfiguracja systemu Jeśl;i obie linie (SCL, SDA) pozostają w stanie wysokim, magistrala jest wolna i moŝna rozpocząć nową transmisję. Urządzenie które steruje wiadomością nazywa się master. Urządzenie kontrolowane przez master to slave. Liczba bajtów wysyłana pomiędzy początkiem transmisji i końcem (STOP) nie jest ograniczona. KaŜdy bajt złoŝony z 8 bitów jest zakończony przez bit potwierdzenia. Potwierdzenie polega na tym, Ŝe nadajnik przekazu ustawia wysoki poziom (po transmisji pełnego bajtu) w czasie w którym master generuje dodatkowy impuls zegara, natomiast odbiornik slave który jest aktualnie zaadresowany (odbiera informację) ściąga linię SDA do poziomu niskiego potencjału. Aktywny odbiornik musi wygenerować potwierdzenie po odebraniu kaŝdego bajtu z wyjątkiem ostatniego przed końcem transmisji. Sekwencja potwierdzenia jest pokazana na ilustracji 7. 5
Rys. 7. Potwierdzenie na magistrali I 2 C TakŜe urządzenie master musi wygenerować potwierdzenie po odbiorze kaŝdego bajtu informacji wygenerowanego przez slave nadajnik. Urządzenie potwierdzające wystawia zero na SDA podczas dodatkowego 9-tego impulsu zegarowego po 8-iu bitach danych. Urządzenie odbierające dane moŝe zasygnalizować koniec odbioru przez nie wystawienie potwierdzenia po ostatnim odbieranym bajcie danych. W tym przypadku transmiter musi zostawić SDA w stanie H aby umoŝliwić dla urządzenia master wygenerowanie sygnału STOP. RóŜne rodzaje komunikacji z układami AT24Cxx są przedstawione na rysunkach 8-12. Rys. 8. Zapis jednego bajtu danych pod zdefiniowany adres 6
Rys. 9. Zapis kolejnych bajtów danych w obrębie strony od zdefiniowanego adresu Rys. 10. Odczyt 1 bajtu od bieŝącego adresu Rys. 11. Odczyt jednego bajtu z określonego adresu Rys. 12.Odczyt sekwencyjny od bieŝącego adresu 7
4. ZAGADNIENIA DO PRZYGOTOWANIA Przed przystąpieniem do wykonania ćwiczenia, student powinien: - zapoznać się z instrukcją, - zapoznać się ze schematem zestawu uruchomieniowego, - opracować rozwiązanie co najmniej dwóch z zadań podanych na końcu instrukcji. 5. WYMAGANIA BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej zawartych. Konieczne jest takŝe zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje BHP powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w Laboratorium. 6. SPRAWOZDANIE Sprawozdanie z ćwiczenia powinno zawierać: stronę tytułową zgodnie z obowiązującym wzorem, cel i zakres ćwiczenia, opis stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, algorytm rozwiązania danego problemu, schematy układów, programy w asemblerze (lub w języku wyŝszego poziomu) z komentarzami, komentarze i wnioski. Na ocenę sprawozdania będą miały wpływ następujące elementy: 8
zgodność zawartości z instrukcją, algorytm rozwiązania problemu, wnioski i uwagi, terminowość i ogólna estetyka. Sprawozdanie powinno być wykonane i oddane na zakończenie ćwiczenia, najpóźniej na zajęciach następnych. Sprawozdania oddane później będą oceniane niŝej. 7. PRZYKŁADOWE ZADANIA Z1. Zapis jednego bajtu danych pod konkretny adres. Z2. Zapis kolejnych bajtów danych w obrębie strony od zdefiniowanego adresu. Z3. Odczyt jednego bajtu z bieŝącego adresu. Z4. Odczyt sekwencyjny od bieŝącego adresu. Z5. Zaproponować sposób przechowywania komunikatów alfanumerycznych dla wyświetlacza LCD (sterownik HD44780). Z6. Wyświetlić literę bądź znak na całej matrycy, dobrać częstotliwość przełączania kolumn/wierszy która zapewni brak migotania. Zanotować częstotliwość minimalną. 8. LITERATURA: L1. Paweł Hadam: Projektowanie systemów mikroprocesorowych, BTC, 2004r. L2. B. Zieliński: Układy mikroprocesorowe, przykłady rozwiązań, Gliwice, Helion, 2002r. L3. Jacek Bogusz: Lokalne interfejsy szeregowe w systemach cyfrowych, BTC, 2004r L4. Internet - specyfikacje: I2C, HD44780. 9