forum speccy.pl

Komputery z Z80 => CP/M - kompatybilne => Wątek zaczęty przez: Atlantis w 2021.10.24, 20:54:39

Tytuł: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2021.10.24, 20:54:39
Jakiś czas temu naszła mnie ochota, żeby złożyć sobie jakiś komputerek kompatybilny z CP/M oraz standardem RC2014. Wybór padł na Easy Z80 wg projektu Sergey'a Kiseleva (https://github.com/skiselev/easy_z80). Udało mi się kupić płytkę, jednak montaż trwał opornie z uwagi na obecne problemy z zakupem części. Kilka dni temu w końcu dotarła do mnie przesyłka z ostatnim układem scalonym, więc zabrałem się za uruchamianie. Niestety, po podłączeniu zasilania nic się nie dzieje - terminal podłączony do pierwszego złącza RS232 nie pokazuje niczego.
Sytuacja wygląda następująco:

Jak to dalej debugować? Wydaje mi się, że cokolwiek powinno się pojawić na interfejsie szeregowym po podłączeniu zasilania. Niestety nigdzie nie mogę znaleźć bardziej szczegółowej instrukcji uruchamiania tego komputerka...

Docelowo płytka ma stanowić bazę do większego projektu. Planuję wykonać backplane w stylu RC2014 i umieścić na nim dodatkowo kartę CF, układ graficzny TMS9918 oraz kontroler klawiatury 8242. Te dwa ostatnie będą zapewne wymagały modyfikacji firmware'u...

Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: steev w 2021.10.24, 21:31:18
Ja bym zaczął od wyciągnięcia sondy logicznej, lub oscyloskopu...
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2021.10.24, 22:24:34
Mam niejasne podejrzenia, że JP1 i JP2 nie zostały użyte...
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2021.10.24, 22:50:52
Mam niejasne podejrzenia, że JP1 i JP2 nie zostały użyte...

Te zworki przecież są domyślnie ustawione w pozycji 1-2 za pomocą ścieżki. W przypadku ustawienia 2-3 trzeba by ją najpierw przeciąć.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2021.10.24, 22:55:51
Ok, to ostatnia rzecz jaką możesz bez przyrządów zrobić, to wyjmij MAX232 dla drugiego portu SIO. Jak to nie pomoże, to tylko sonda logiczna lub oscyloskop.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2021.10.24, 23:21:06
Nie pomogło. Upewniłem się także czy potencjometr przy MAX691 jest ustawiony tak, aby na NMI był stan wysoki.
Co w pierwszej kolejności powinienem sprawdzić, poza sygnałami zegarowymi CPU i UART?

I jeszcze jedno: zauważyłem, że na schemacie i w spisie elementów zaznaczone są układy MAX232A. Ja miałem pod ręką jedynie zwykłe MAX232. Czy to możliwe, że tu może leżeć przyczyna? To znaczy zwykły MAX232 (bez "A" na końcu) przy prędkości 115200 i kondensatorach 100nF nie przepuści niczego?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: steev w 2021.10.25, 01:31:05
Nie pomogło. Upewniłem się także czy potencjometr przy MAX691 jest ustawiony tak, aby na NMI był stan wysoki.
Co w pierwszej kolejności powinienem sprawdzić, poza sygnałami zegarowymi CPU i UART?
Tak na dzieńdobry?
Napięcia zasilania.
Potem - czy CPU dostaje zegar. Jakie są stany /Reset, /Nmi, /Int, /Busrq, /Wait. Czy CPU adresuje pamięć (zmienia się A0, A1, Aktórykolwiek, /Rd, /Wr, /Mreq, /M1)  Czy CPU dostaje program (zmieniają się D0, D1 .. D7)

Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Maryjan w 2021.10.25, 15:41:54
Tam oryginalnie nie powinien siedzieć GAL 16v8 od Lattice ?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: steev w 2021.10.25, 17:40:55
BOM mówi AF16V8B15PU (https://www.mouser.com/ProductDetail/556-AF16V8B15PU)
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: jackfinch w 2021.10.25, 19:47:44
A próbowałeś rom EZZ80_std.rom w wersji v2.9.1 ?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2021.10.26, 14:38:07
W wolnej chwili spróbuję innej wersji ROM-u i posprawdzam sygnały na magistrali analizatorem logicznym.
W międzyczasie ktoś mógłby powiedzieć jak zachowuje się MAX232 w przypadku zastosowania za małych kondensatorów w stosunku do wersji i wybranej prędkości. Żeby korzystać z kondensatorów 100nF i pracować powyżej 60 kpbs potrzebuję wersji MAX232A. Ja mam MAX232 (bez "A"), kondensatory 100nF, a układ domyślnie pracuje na 115200 bps.
W takim przypadku możliwe jest, że nic nie będzie przechodziło przez port, czy jednak powinienem się raczej spodziewać "krzaczków"?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: jackfinch w 2021.10.26, 16:02:19
Wyjmij U3 z podstawki, zewrzyj RXDA z TXDA (max 232 pin 9 i 10), odpal terminal na 115200 i sprawdź czy masz echo jak piszesz na klawiaturze. Będziesz wiedział czy max232 działa na 115200.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2021.10.27, 21:09:58
Rom w wersji v2.9.1 też nie wyświetla niczego w terminalu.
Po wyjęciu U3 oraz zwarciu pinów 9 i 10 MAX232 mam echo w terminalu, a więc najwyraźniej działa prawidłowo z kondensatorami 100 nF przy prędkości 115200.
No cóż... Będę musiał sprawdzić sygnały na magistrali...
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: Atlantis w 2022.01.23, 12:24:19
Ok, znalazłem trochę czasu i posługując się tanim, chińskim analizatorem stanów logicznych (na USB) sprawdziłem aktywność na poszczególnych liniach.
- Na UART_CLK jest prawidłowy sygnał zegarowy 1.84 MHz.
- Na CPU_CLK jest jakiś sygnał zegarowy, jednak albo jest niestabilny, albo mój analizator nie jest już w stanie prawidłowo go odczytać. Stawiam na to drugie. Sygnał jest nieregularny i waha się pomiędzy 8 i 12 MHz.
- Na A0-A15 widać aktywność. Sygnały mają cykliczny, powtarzający się charaktery.
- Widać również sygnały na WR, RD, IOREQ i MREQ.
- Linia RESET reaguje na wciskanie przycisku RESET. Aktywowanie linii reset wpływa na system, co widać np. po liniach adresowych.
- Na liniach TX zupełny brak aktywności

Jakieś hipotezy? Co mogę jeszcze sprawdzić?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: steev w 2022.01.23, 15:05:32
Możesz sprawdzić, czy SIO_CS i CTC_CS bywają aktywne, ie. czy CPU w ogóle z tymi układami chce/może gadać.
Możesz też np. wrzucić do flasha program, który zablokuje przerwania i co 100 (przykładowo) cykli zegara będzie wyrzucał na dowolny port IO dowolną daną.
Albo zrobi OTIR/OTDR
Jeśli IORQ będzie pulsował regularnie, to będziesz wiedział że CPU Działa, że zegar jest stabilny i będziesz mógł wyliczyć częstotliwość. 3-in-1 ;)
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2022.01.23, 16:19:18
- Linia RESET reaguje na wciskanie przycisku RESET. Aktywowanie linii reset wpływa na system, co widać np. po liniach adresowych.

Jak to rozumieć? W trakcie RESET nic się nie zmienia na szynach?! Sprawdź podciąganie na RN1, czy na pewno wszystkie z podłączone tam linie są w stanie wysokim. Tym analizatorem podepnij się pod wyjścia GAL, tam jest sporo ważnych sygnałów, jak jest ok, to sprawdź wyjścia 74HC670. Kolejna sprawa, ROMWBW na adresie I/O 00h wysyła dane diagnostyczne, warto sklecić sobie zatrzask i sprawdzić czy system żyje.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2022.02.01, 23:18:53
Zaintrygowany problemami naszego kolegi zaopatrzyłem się w PCB EasyZ80, poskładałem z tego co miałem pod ręką i uruchomiłem. Zegary są inne, ale można będzie porównać przebiegi i dociec w czym tkwi problem, bo mnie odpalił od strzała (tz. prawie, bo zapomniałem że z oscylatora 1,843MHz ni jak nie uzyskam transmisji 38400, którą używam we wszystkich swoich komputerach, więc przez chwilę miałem śmieci na terminalu nim załapałem że oczekiwane 38400 to jest rzeczywiste 28800). Jak coś to pytać co i gdzie się pojawia.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: JLS w 2022.02.02, 14:51:34
Spojrzałem na płytkę z pierwszego postu i na tą  fotkę przesłaną wczoraj. 
Różnica jest w zasadzie w częstotliwości kwarcu 10 MHz vs. 3.6864MHz.
Czy w przypadku Easy Z80 również powinien być odpowiednio  przygotowany wsad RomWBW do Flash ROM? Może tu jest problem ?
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2022.02.02, 17:02:42
Nie sugeruj się moim zdjęciem, ja spreparowałem RomWBW pod swoje potrzeby, gdyż nie dotarły jeszcze do mnie Z80-SIO/0 na 10MHz, a nie chciałem przetaktować posiadanego NMOS-a Sharpa który może pracować z zegarem max. 6.144MHz (a takowy oscylator gdzieś zapodziałem, więc użyłem 3.6864MHz). Docelowo zegar portu szeregowego też będzie taktowany innym oscylatorem (2.4576MHz) by uzyskać oczekiwaną transmisję 38400 bps. Domyślny config ROMWBW pod EasyZ80 jest przygotowany zgodnie z projektem, tak jak na pierwszym zdjęciu, więc jeśli nie dokonano przeróbek to powinien on działać.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: JLS w 2022.02.02, 17:40:57
A ja teraz zauważyłem, że Easy Z80 ma piny do szyny RC2014  ;)
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: JLS w 2022.02.08, 22:17:26
W zasadzie to się podłącze do tego wątku. Przyszły mi z AliExpress zakupione układy,  m.inn.  zamówiony Z84C3008PEC czyli Z80 CTC.
Na układzie, co prawda jest symbol  Z84C3008PEC ale zamiast Z80 CTC, jest Z80 CPC. Czyżby pomyłka w nadruku przez sprzedających w Chinach ? ;)
Załączam fotkę. Korzystając z wyszukiwarki nie znalazłem czegoś takiego jak Z80 CPC, a jeśli już to znajduję odnośniki ale do Amstrada.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: steev w 2022.02.09, 00:00:42
Pytanie, na czym tak naprawdę to nadrukowali... :)
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: tapy w 2022.02.09, 01:24:34
Jak im się to opłaca... niby Chińczycy to pragmatyczny naród, a tu się okazuje że drzemią w nich ambicje artystów malarzy. Może ten licznik jest dedykowany dla Amstradów, stąd to CPC ;)
Nawet nie musisz sprawdzać górnej powierzchni acetonem, to są piękne pisanki... wystaw 1 gwiazdkę i miej nadzieję że są tym, czego oczekujesz.
Tytuł: Odp: Easy Z80 Sergey'a Kiseleva - co robię nie tak?
Wiadomość wysłana przez: damik w 2022.02.09, 01:34:08
Z doświadczenia wiem że nadrukowują często na tym co im podejdzie pi*drzwi na podobnych obudowach układów scalonych, jednak czasem trafia się działający przedruk z zamiennika innej firmy danego układu.
Może nie akurat w tym przypadku ;)
Kulturowo to podobno akceptowalne w ich przypadku, zysk za wszelką cenę a strata w wyniku wykrycia oszustwa jest wliczona w koszty operacyjne, interes sprzedawcy jest tu priorytetem.
Sam posiadam kilkanaście układów tam kupionych w ciągu kilku ostatnich lat jakich jeszcze nie sprawdziłem  :o