3012
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 7 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
[[File:ME-CLO-400-front.jpg|thumb|Zegar czasu rzeczywistego Amepolu ([[:File:ME-CLO-400-back.jpg|rewers]])]] | |||
= Opis funkcjonalny = | = Opis funkcjonalny = | ||
Zegar czasu rzeczywistego z loaderem systemu opracowany dla | Zegar czasu rzeczywistego z loaderem systemu opracowany dla maszyny cyfrowej MERA-400 ma za zadanie usprawnienie czynności operatorskich podczas uruchamiania systemu. Układ składa się z dwóch części: | ||
* z części zegarowej, która ma za zadanie odliczanie czasu i umożliwienie odczytania bieżącego czasu i daty przez procesor, | * z części zegarowej, która ma za zadanie odliczanie czasu i umożliwienie odczytania bieżącego czasu i daty przez procesor, | ||
* z części dotyczącej przechowywania loadera systemu w pamięci PROM i jego odczytu do pamięci operacyjnej przez procesor. | * z części dotyczącej przechowywania loadera systemu w pamięci PROM i jego odczytu do pamięci operacyjnej przez procesor. | ||
Obie te części korzystają ze wspólnego dekodera rozkazów, który umożliwia na podstawie kodu operacji selektywną współpracę procesora z jednym lub drugim układem. | Obie te części korzystają ze wspólnego dekodera rozkazów, który umożliwia, na podstawie kodu operacji, selektywną współpracę procesora z jednym lub drugim układem. | ||
Układ pracuje w kanale znakowym minikomputera w miejscu przeznaczonym dla jednostek sterujących urządzeń znakowych na dowolnej z ośmiu pozycji, która określa jego | Układ pracuje w kanale znakowym minikomputera, w miejscu przeznaczonym dla jednostek sterujących urządzeń znakowych, na dowolnej z ośmiu pozycji, która określa jego numer. | ||
== Operacje wykonywane przez układ zegar + loader == | == Operacje wykonywane przez układ zegar + loader == | ||
Procesor współpracuje z opisywanym układem przy pomocy rozkazu IN | Procesor współpracuje z opisywanym układem przy pomocy rozkazu IN, wykonującego operację pobrania informacji z urządzenia. Argument efektywny rozkazu niesie informację określającą: | ||
{| class="wikitable" | {| class="wikitable" | ||
Linia 19: | Linia 20: | ||
|- | |- | ||
| 6 || kod niewykorzystany | | 6 || kod niewykorzystany | ||
|- | |||
| 7 || - | |||
|- | |- | ||
| 8-10 || numer urządzenia w kanale znakowym | | 8-10 || numer urządzenia w kanale znakowym | ||
Linia 24: | Linia 27: | ||
| 11-14 || numer kanału znakowego | | 11-14 || numer kanału znakowego | ||
|- | |- | ||
| 15 || = 0 (bit określający rozkaz wysłany do kanału | | 15 || = 0 (bit określający rozkaz wysłany do kanału) | ||
|- | |- | ||
|} | |} | ||
Linia 115: | Linia 118: | ||
|} | |} | ||
Po włączeniu zasilania lub po ustawieniu minut, sekundy zą zerowane i liczenie zostaje wznowione po uaktywnieniu wejścia TR. Nie zaleca się stosowania | Po włączeniu zasilania lub po ustawieniu minut, sekundy zą zerowane i liczenie zostaje wznowione po uaktywnieniu wejścia TR. Nie zaleca się stosowania następujących kombinacji operacji: (MS, TR), (MS, TR, DR), (MS, HS, TR) oraz (MS, HS, TR, DR) gdyż w tych przypadkach przy nastawieniu minut nie jest wstrzymywane liczenie sekund. | ||
== Przerwania == | == Przerwania == | ||
Linia 127: | Linia 130: | ||
== Rejestr operacji i układ przerwań == | == Rejestr operacji i układ przerwań == | ||
Sygnałem | Sygnałem <span style="text-decoration:overline;">FAD0</span> generowanym przez dekoder rozkazów wpisywany jest do rejestru operacji stan linii AD1-AD5. Rejestr operacji zbudowany jest z czterobitowego rejestru F4 oraz przerzutnika F3-8. Stan linii P-AD1 i P-AD2 oraz zanegowanych P-AD3 i P-AD4 po wpisaniu do rejestru steruje poprzez bramki F5 typu OC wejścia sterujące trybem pracy zegara. Stan linii -AD5 wpisywany do przerzutnika F3-8 zezwala lub nie na zgłaszanie przerwań, poprzez wejścia ustawiające przerzutnika F3-5. Jeśli wejście to jest w stanie "0", na wyjściu przerzutnika zostaje wymuszony stan "1" i zegar nie zgłasza przerwań. Jeśli wejście to jest w stanie "1", impuls z wyjścia zegara oznaczonego "2Hz" powoduje zmianę stanu przerzutnika i zgłoszenie przerwania po linii -P-IN. Sygnał P-PSP poprzez bramkę E3-6 przywraca poprzedni stan przerzutnika co powoduje zdjęcie przerwania. Cykl taki powtarzany jest do momentu pojawienia się "0" na wyjściu F3-8. Powoduje to poprzez bramkę E3-6 zablokowanie przerzutnika zgłaszania przerwań, który nie reaguje na impulsy "2Hz" podawane na wejście zegarowe. | ||
Sygnał P-CL powoduje wyzerowanie rejestru operacji i tym samym zablokowanie przerwań. Stan linii P-AD3, P-AD4 jest negowany przed wpisaniem do rejestru operacji ponieważ operacje | Sygnał P-CL powoduje wyzerowanie rejestru operacji i tym samym zablokowanie przerwań. Stan linii P-AD3, P-AD4 jest negowany przed wpisaniem do rejestru operacji ponieważ operacje o kodzie = 0 są wychwytywane przez kanał znakowy jako adresowane do niego. Negacja tych dwu linii wymusza niezerowy kod operacji dla wszystkich wykorzystywanych kombinacji sygnałów sterujących pracą zegara. | ||
== Układ zegara == | == Układ zegara == | ||
Zegar zrealizowany został w oparciu o układ scalony MC 1204. Zasada pracy tego układu opisana jest w jego | Zegar zrealizowany został w oparciu o układ scalony MC 1204. Zasada pracy tego układu opisana jest w jego aplikacji wydanej przez Instytut Technologii Elektronowej w Warszawie. Układ MC 1204 przystosowany jest do współpracy z 4-cyfrowym wyświetlaczem typu LED z multiplexowanym sposobem wyświetlania informacji. | ||
Sygnały D1-D2 sterujące katodami wyświetlacza zostały wykonane jako sygnały strobujące wpisem kolejnych cyfr daty lub czasu do rejestru typu "zatrzask". Ze względu na małą obciążalność wyjść D1-D4 zastosowano wzmacniacze typu MCY 74049. Sygnały D1-D4 po opóźnieniu zrealizowanym na układach RC i | Sygnały D1-D2 sterujące katodami wyświetlacza zostały wykonane jako sygnały strobujące wpisem kolejnych cyfr daty lub czasu do rejestru typu "zatrzask". Ze względu na małą obciążalność wyjść D1-D4 zastosowano wzmacniacze typu MCY 74049. Sygnały D1-D4 po opóźnieniu zrealizowanym na układach RC i bramce z wejściem Schmidta potrzebnym na ustalenie się sygnałów na wyjściach <span style="text-decoration:overline;">a</span>-<span style="text-decoration:overline;">g</span> zegara wyzwalają miniwibratory typu UCY 74123. Impulsy generowane przez te miniwibratory powodują wpisanie do rejestru wyjściowego kolejnych cyfr odczytywanego czasu lub daty. Ponieważ zegar generuje cyfry w kodzie wskaźnika siedmiosegmentowego zastosowano konwerter kodou wskaźnika na kod BCD zrealizowany na pamięci PROM. | ||
Wyjścia połączone są z wejściami rejestru wyjściowego tak by kolejne cyfry wpisywać do jego czterobitowych części. Aby rozróżnić odczyt czasu od odczytu daty na najstarszy bit rejestru wyjściowego wprowadzono wyjście segmentu "+" który steruje w przypadku wskaźnika dwukropkiem oddzielającym cyfry godzin od cyfr minut. Dwukropek jest sterowany jako segment "+" pierwszej cyfry i jest wyświetlany tylko podczas odczytywania czasu. Stan rejestru wyjściowego nadawany jest przez bramki wyjściowe typu UCY 7403 otwierane sygnałem | Wyjścia połączone są z wejściami rejestru wyjściowego tak by kolejne cyfry wpisywać do jego czterobitowych części. Aby rozróżnić odczyt czasu od odczytu daty na najstarszy bit rejestru wyjściowego wprowadzono wyjście segmentu "+" który steruje w przypadku wskaźnika dwukropkiem oddzielającym cyfry godzin od cyfr minut. Dwukropek jest sterowany jako segment "+" pierwszej cyfry i jest wyświetlany tylko podczas odczytywania czasu. Stan rejestru wyjściowego nadawany jest przez bramki wyjściowe typu UCY 7403 otwierane sygnałem <span style="text-decoration:overline;">FAD0</span> na szyny DTIN. Każda operacja dotycząca powoduje więc podniesienie stau rejestru wyjściowego na szyny DTIN. Ponieważ pierwsza cyfra wpisywana do rejestru F2 może przybierać tylko wartości 1 i 2 (zero nieznaczące nie jest wyświetlane) nie wszystkie wejścia rejestru są połączone z odpowiednimi wyjściami konwertera kodu. | ||
== Pamięć loadera systemu == | == Pamięć loadera systemu == | ||
Linia 147: | Linia 150: | ||
== Układ sterowania wyświetlaczem (opcja) == | == Układ sterowania wyświetlaczem (opcja) == | ||
Możliwe jest dołączenie do układu zegara wyświetlacza złożonego z 4 wskaźników siedmiosegmentowych typu LED ze wspólną katodą. W tym celu sygnały D1-D4 oraz | Możliwe jest dołączenie do układu zegara wyświetlacza złożonego z 4 wskaźników siedmiosegmentowych typu LED ze wspólną katodą. W tym celu sygnały D1-D4 oraz <span style="text-decoration:overline;">a</span>-<span style="text-decoration:overline;">g</span> poprzez wzmacniacze tranzystorowe zostały wyprowadzone na złącze krawędziowe. Możliwe jest także sterowanie zegara zewnętrznymi przełącznikami dołączonymi do [...] F5 sterujących wejścia HS, MS, DR, TR układu zegarowego. Sygnały D1-D4 oraz <span style="text-decoration:overline;">a</span>-<span style="text-decoration:overline;">g</span> zostały wyprowadzone na złącze krawędziowe także wprost i mogą być użyte np. w przypadku zastosowania innego wyświetlacza po odpowiednim wzmocnieniu. | ||
== Zasilanie == | == Zasilanie == | ||
Linia 163: | Linia 166: | ||
Ustawianie zegara odbywa się przez wywołanie programu: | Ustawianie zegara odbywa się przez wywołanie programu: | ||
CLOCK, (miesiąc), (dzień). (godzina), (minuta) CR | CLOCK, (miesiąc), (dzień). (godzina), (minuta) [CR] | ||
program przeprowadza operację ustawienia zegara, wyświetlając na końcówce jej przebieg. Po ustawieniu zegar jest zatrzymany. Aby rozpocząć liczenie należy wywołać program CLOCK bez parametrów: | |||
CLOCK [CR] | |||
Program poda na końcówce aktualny czas i datę, i uruchomi zegar. | |||
{{source|title=DTR zegara czasu rzeczywistego do minikomputera MERA-400|author=Amepol}} |