Skocz do zawartości

Intel 80c188


kapsialdo

Pomocna odpowiedź

Witam,
mam problem z sygnałem S2, mianowicie nie mogę znaleźć w dokumentacji jaka wartość sygnału jest w zaznaczonym na schemacie miejscu czyli po wyjściu z procesora.

Schemat w PDF:

Sygnał wykorzystuje do określenia czy dane urządzenie znajduje się w przestrzeni pamięci czy wej/wyj. Zgodnie z tym co jest napisane pod tabelą niżej, że sygnał może być wykorzystany jako wskaźnik mem lub i/o (1 - memory 0 - I/O).

Link do komentarza
Share on other sites

Co to znaczy "jaka wartość sygnału"? Będzie tam jedynka lub zero, stan wysoki lub niski w zależności od tego jaki cykl maszynowy wykonuje akurat procesor. Dokładnie tak jak pokazuje tabelka:

0: cykl potwierdzenia przerwania, operacja I/O lub zatrzymanie procesora

1: pobranie kodu operacyjnego instrukcji, operacja R/W na pamięci danych lub cykl pasywny

Czego nie rozumiesz?

EDIT: Musiałem powalczyć z klawiaturą i pierwsze wersje tego postu były niekompletne.

Link do komentarza
Share on other sites

Niczego się programowo nie ustawia. To sekwencer procesora czyli część odpowiedzialna za prawidłowe wykonywanie cykli maszynowych (wiesz co to takiego?) wystawia status aktualnie wykonywanego cyklu na linie S0-S2.

Schemat jest prosty jak drut, popatrz:

Linia S2 jest w stanie wysokim gdy cykl maszynowy będzie dotyczył obszaru pamięci (a nie I/O), tak? To przecież masz w tabelce. Ten sygnał puszczony jest do dekodera zrobionego z bramek IC9B (NAND) i IC3A (AND). Ta pierwsza będzie na wyjściu miała stan aktywny (zero) gdy wszystkie wejścia będą jedynkami (matko, ale truizm). Kiedy tak się stanie? Gdy sygnał /RD będzie aktywny (stan zero gdy trwa odczyt, ale puszczony przez inwerter) oraz gdy dekoder adresu (bramki IC10, IC15 i IC16A) wykryje adres z odpowiedniego obszaru (jakiego - umiesz powiedzieć?). Wtedy bufor IC4 otworzy się i zawartość przycisków "popłynie" na szynę danych skąd zostanie wczytana do procesora. Podobnie z zapisem. Gdy ten sam dekoder adresu znów się uaktywni oraz gdy sygnał /WR będzie niski (trwa zapis) to bramka IC3A wypuści z siebie stan wysoki który zatrzaśnie w układzie HC573 stan szyny danych który procesor wystawił podczas cyklu zapisu.

Czyli: tak, oba układy (przyciski i LEDy) są w obszarze adresowym przestrzeni pamięci. Wszystko tu jest zrobione na sztywno i niczego program nie musi a nawet nie może ustawiać. Wystarczy wykonać operację zapisu lub odczytu do/z odpowiedniego adresu.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Wow. Ktoś tutaj reanimuje PC XT czy co ? Gdzieś mam oryginalną książkę o 8086/88. 188 to co prawda, mikrokontroler, z rdzeniem x86, ale nie różni się tak tragicznie.

Tak jak pisze kolega wyżej klawiturę i LEDy masz w przestrzeni adresowej pamięci danych (RAM), więc nie masz rozróżnienia między układami I/O, a pamięcią RAM.

Wyjątkiem jest ten USART.

Więc dostęp do tych urządzeń, masz przez zwykłe polecenia dotyczące pamięci RAM.

Dzięki takiemu podejściu udało się znacznie uprościć cały układ elektryczny, a i od strony programowania ma to swoje zalety.

  • Lubię! 1
Link do komentarza
Share on other sites

Dziękuję wam za pomoc, marek1707 rozjaśniłeś mi to jak ma to działać, lecą w wasza stronę piwa. Pozdrawiam temat można zamknąć.

P.S

BlackJack, To nie reanimacja PC XT tylko projekt z przedmiotu 🙂

Link do komentarza
Share on other sites

No to jeśli to jest projekt na którym masz się czegoś nauczyć, to zawiera rażące błędy.

Najważniejszy to ten, że ktoś uporczywie stosuje bramki serii CD4000. Te układy kompletnie nie nadają się do pracy w takich warunkach. Przy zasilaniu z 5V mają czasy propagacji rzędu 100-200ns a to dyskwalifukuje je jako dekoder adresu i układy wypracowujące sygnały wyboru w systemie jak ten tym bardziej, że są połączone szeregowo co sumuje czasy propagacji. Czy ktoś to w ogóle policzył???

Druga sprawa to obciążalności. Wyjścia CMOSów nie powinny sterować wejściami TTL a tak się dzieje w przypadku np. IC4.

Wszystkie układy serii 4000 powinny zostać zamienione conajmniej na serię 74HC lub być może nawet szybszą. Nie ma odpowiedników wszystkich bramek? Trudno, trzeba było myśleć wcześniej. Teraz trzeba trochę przebudować.

Kolejna rzecz: procesor ma specjalne wejście do podłączenia obwodu zerowania ale tylko on. Żaden inny układ w tym systemie nie powinien z tego sygnału (analogowego(!)) korzystać. Jeśli coś potrzebuje sygnału zerowania, powinno pobrać go ze specjalnego wyjścia RESET procesora a UART tego nie robi. Swój RESET ma pociągnięty przez inwerter 4069 który wcale nie ma wejścia z histerezą i będzie wariował, gdy sygnał z kondensatora będzie przechodził przez okolice 2.5V.

Jak rozumiem VSS to to samo co GND, czy projektant po prostu nie wiedział do czego to podłączyć? Czy jest to gdzieś na schemacie opisane lub pokazane?

Link do komentarza
Share on other sites

Projekt został zaliczony:)

Układ resetu wziąłem z dokumentacji, więc na podstawie tego był zrobiony. Podobnie z podłączenie VSS. Prowadzący co do bramek się nie czepiał.

Dziękuję za pomoc 🙂

Link do komentarza
Share on other sites

Jakoś mnie to nie pociesza. Jeżeli prowadzący wybrał ten procesor jako CPU systemu "szkoleniowego" to chyba po to, by Was czegoś nauczyć. Rozumienia przebiegu cykli maszynowych i rozkazowych, sposobów podłączania układów peryferyjnych do multipleksowanych magistral równoległych oraz właśnie liczenia czasów i oceny czy projekt ma sens, czy układy wraz z niezbędnymi bramkami nadążają za procesorem. Inaczej cały ten czas poszedł na marne. I Twój i jego. Gdybyś zrobił taki układ naprawdę, nic by nie działało albo co najwyżej z zegarem 1MHz. Gdybyś pewnego wieczora, siedząc przy oscyloskopie doszedł co jest nie tak, musiałbyś wszystko robić od nowa bo niektóre bramki serii 4000 nie mają swoich odpowiedników ani funkcjonalnych ani pin-to-pin w serii 74xx.

Układ RESETu wziąłeś z dokumentacji procesora - OK jest marny choć jakoś będzie działał, ale ja nie o tym pisałem. Zrozumiałeś uwagę dot. zerowania UARTa?

Naprawdę jesteś zadowolony z przebiegu tego zaliczenia? 🙁 Bo ja zupełnie nie i mam nadzieję, że nie studiujesz tylko po to by zaliczać, tylko by coś wiedzieć i móc to potem wykorzystać.

Gdybyś mi coś takiego usiłował wcisnąć na rozmowie kwalifikacyjnej do mojej firmy i był zadowolony z tego rozwiązania, wyleciałbyś po pierwszych pięciu minutach rozmowy. Na Twoim miejscu przejrzałbym jeszcze raz bardzo uważnie dokumentację tego procesora, zastanowił się jak podłączyć do niego wszystko co Ci przyjdzie do głowy bo prędzej czy później takie problemy Cię dopadną i albo je rozwiążesz samodzielnie albo... zrobi to ktoś lepszy i zajmie Twoje miejsce. Czego Ci oczywiście nie życzę.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.