Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Programowanie układów pamięci szeregowej. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Mikrokontrolery Układy pamięci nieulotnej z wejściem i wyjściem danych szeregowych są obecnie szeroko stosowane do przechowywania ustalonych trybów i stałych ustawień w telewizorach, radiach i innych urządzeniach gospodarstwa domowego. Podczas naprawy często konieczne staje się odczytanie zawartości takich mikroukładów lub zapisanie w nich nowych danych. Zwykle odbywa się to za pomocą specjalnych urządzeń - programistów. Ale aby zaprogramować jeden lub dwa mikroukłady w warunkach amatorskich, zakup dość drogiego programatora nie jest opłacalny. Zwykły komputer osobisty radzi sobie z tym całkiem dobrze. Jednym z najpopularniejszych układów pamięci nieulotnej jest AT93C46 firmy ATMEL. Do komunikacji z mikrokontrolerem wyposażony jest w interfejs szeregowy składający się jedynie z trzech jednobitowych szyn SK (synchronizacja), D1 (wejście danych) i DO (wyjście danych). Wszystkie węzły w urządzeniu z takim interfejsem są podłączone równolegle do tych magistral. Dane przesyłane są bit po bicie. towarzyszący każdemu bitowi impulsem zegarowym SK. Układ AT93C46 zapewnia również wejścia CS (wybór chipa) do przełączania go do stanu aktywnego i ORG (organizacja). Jeśli ten ostatni jest podłączony do źródła zasilania, w mikroukładzie powstają 64 szesnastobitowe komórki pamięci, jeśli za pomocą wspólnego przewodu - 128 ośmiobitowych komórek. Aby odczytać treść lub program za pomocą komputera, układ AT93C46 należy podłączyć do gniazda portu LPT1 lub LPT2, jak pokazano na rysunku. Ponieważ wejście ORG mikroukładu jest podłączone do wspólnego przewodu, organizacja pamięci jest ośmiobitowa. Zalecane jest zasilanie napięciem +5 V z zewnętrznego źródła, ale można też wykorzystać dowolną wolną linię wyjściową portu ustawiając programowo ją na wysoki poziom logiczny. Program serwisowy pokazany w tabeli jest napisany w języku BASIC (kompilator Power Basic wersja 2.10f). Program rozpoczyna się od zapytania o numer portu, do którego podłączony jest układ. W zależności od odpowiedzi operatora zmiennej portu lutowana jest wartość adresu bazowego wybranego portu: 888 (hex 378H) dla LPT1 lub 632 (hex 278H) dla LPT2. Polecenie out port.0 ustawia napięcie na niskim poziomie logicznym na wszystkich pinach magistrali danych portu. Następnie operator proszony jest o wybranie trybu odczytu danych z chipa lub zapisu do niego oraz o podanie nazwy pliku, w którym zostaną zapisane odczytane informacje lub będą się znajdować informacje przygotowane do zapisu. Osoby korzystające z innych wersji BASIC-a powinny pamiętać, że składnia operatorów do pracy z plikami może być inna. Program nie tylko zapisuje dane odczytane z lub zapisane w mikroukładzie w pliku lub z niego odczytuje, ale także wyświetla je na ekranie monitora w postaci zrzutu szesnastkowego. Procedury odczytu i zapisu danych są nieco inne, ale wykorzystują te same operacje, sformatowane w programie jako funkcje, aby „komunikować się” z mikroukładem:
Wewnętrzne urządzenie sterujące mikroukładu AT93C46 odbiera i wykonuje polecenia otrzymane przez linię DI. Każda instrukcja zaczyna się od bitu startu równego logicznej jedynce, po którym następują dwa bity kodu operacji oraz wymagana liczba bitów pamięci i adresu danych. Przed wydaniem każdego polecenia wejście CS musi być ustawione na wysoki poziom logiczny, a po jego zakończeniu na niski. Polecenie odczytu danych (READ) zawiera kod operacji 10, po którym następuje adres komórki. W odpowiedzi mikroukład wyśle bajt danych przechowywany pod określonym adresem na wyjściu DO, który można odczytać za pomocą funkcji shiftin. Po włączeniu zasilania mikroukład AT93C46 automatycznie przechodzi w tryb, w którym zabronione jest kasowanie i zapisywanie danych, zapobiegając w ten sposób przypadkowemu uszkodzeniu. Dlatego wcześniej. jak zapisać na nim dane, należy włączyć tę operację wydając polecenie EWEN - Erase/Write Enable. Jego kod operacyjny to 00, po którym następuje adres 11 xxxxx. Polecenie EWEN nie analizuje wartości pięciu ostatnich bitów adresu i mogą one być dowolne. Raz wydane polecenie EWEN jest ważne do momentu jego anulowania specjalnym poleceniem lub do momentu wyłączenia zasilania mikroukładu. Polecenie zapisu (WRITE) ma kod operacji 01, po którym następuje adres komórki i bajt danych do zapisania. Po otrzymaniu takiego polecenia urządzenie sterujące rozpoczyna wykonywanie wewnętrznego cyklu zapisu, którego czas trwania nie przekracza 10 ms. Do końca mikroukład nie reaguje na nowe polecenia. Jeśli w tym momencie na wejście CS zostanie podany krótki impuls o niskim poziomie logicznym, wyjście DO zostanie ustawione i pozostanie na niskim poziomie do końca cyklu. Gdy tylko zmieni się na wysoki, należy ustawić wejście CS na niski. po czym chip jest gotowy do przyjmowania nowych poleceń. Jeżeli wspomniany impuls nie zostanie podany na wejście CS lub zostanie podany po zakończeniu cyklu zapisu, stan wyjścia DO pozostanie wysoką impedancją. Oprócz omawianych poleceń istnieją inne: wyłącz kasowanie/zapis (EWDS), zapisz stałą do wszystkich komórek pamięci (WRAL), usuń wszystkie komórki pamięci (ERAL). W praktyce stosuje się je stosunkowo rzadko. Opis wszystkich poleceń, a także inne szczegóły budowy i działania mikroukładu AT93C46 można znaleźć w [1, 2]. Opisany program, po niewielkich modyfikacjach, umożliwia zaprogramowanie dowolnego układu pamięci z rodziny AT9ZSxx poprzez ustawienie odpowiedniego przedziału adresowego. Na przykład mikroukład AT93C56 zawiera 256, a AT93C66 - 512 ośmiobitowych komórek pamięci. 93X16.EXE - wersja programu przeznaczona do współpracy z mikroukładem AT93C46 w trybie szesnastobitowym (wejście ORG podłączone jest do źródła zasilania). literatura
Autor: A.Goncharenko, Odessa, Ukraina Zobacz inne artykuły Sekcja Mikrokontrolery. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Nowy sposób kontrolowania i manipulowania sygnałami optycznymi
05.05.2024 Klawiatura Primium Seneca
05.05.2024 Otwarto najwyższe obserwatorium astronomiczne na świecie
04.05.2024
Inne ciekawe wiadomości: ▪ Pełnokolorowy mikrowyświetlacz OLED WUXGA ▪ Smartfon Micromax Canvas XP 4G Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ Sekcja telefoniczna witryny. Wybór artykułów ▪ artykuł Pawłow Nikołaj Filippowicz. Słynne aforyzmy ▪ artykuł Dlaczego jeden z Kozaków na zdjęciu Kozaków siedzi bez koszuli? Szczegółowa odpowiedź ▪ artykuł Echinacea purpurea. Legendy, uprawa, metody aplikacji ▪ artykuł Pojawianie się i znikanie palących się świec. Sekret ostrości
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |