Problem z jeszcze jednym klonem Spectrum

Po odpaleniu Harlequin zabrałem się za składnie kolejnego klona Spectrum, tym razem z ULA odtworzonym na CPLD - projekt Karabas 128

formatting link
łytka złożona, układ CPLD udało mi się zaprogramować. Po podłączeniu komputera do telewizora kablem RGB coś niby działa, ale nie do końca. Na ekranie mam charakterystyczną mozaikę złożoną z losowych. migających kwadratów. Manipulując przyciskiem reset byłem nawet w stanie uzyskać coś na wzór ekranu tytułowego - ale albo napis nie był kompletny, albo znajdowało się na nim kilka losowych kwadratów.

Na chwilę obecną:

- Wymieniłem na inny egzemplarz wszystkie scalaki za wyjątkiem CPLD.

- Poprawiłem luty przy CPLD.

- Próbowałem dociskać scalaki w podstawkach, w razie gdyby któryś nie kontaktował.

- Zrobiłem wizualną inspekcję PCB, ale żadnych błędów w montażu doszukać się nie mogę.

Dodam jeszcze, że w tej chwili w podstawce nie ma jeszcze AY-3-8912, ale on chyba nie jest kluczowy do uruchomienia komputera.

Skoro obraz jest generowany mogę przynajmniej wiedzieć, że działa generator.

Ktoś pamięta może co było przyczyną takiego zachowania komputerów Spectrum i ich klonów? Gdzie szukać przyczyny, gdy na ekranie widać "mozaikę" zamiast ekranu tytułowego?

Reply to
Atlantis
Loading thread data ...

W dniu 2021-06-16 o 22:29, Atlantis pisze:

A system TV się zgadza? PAL czy NTSC?

Reply to
t-1

Korzystam z wyjścia RGB, więc nie ma znaczenia. Kodera PAL na AD724 nawet jeszcze nie wlutowałem. Zresztą obraz wydaje się być ok - generowana jest mozaika, a gdy już wyświetlił się ten kawałek ekranu tytułowego, to też wyglądał poprawnie w sensie stabilności sygnału wideo

- po prostu jego zawartość była częściowa/pokryta krzaczkami. Tak więc najpewniej problem leży gdzieś na wyższym poziomie...

Reply to
Atlantis

środa, 16 czerwca 2021 o 15:29:13 UTC-5 Atlantis napisał(a):

Obstawiam pamiec. Ale bez oscyloskopu analizatora logicznego to duzo nie zdzialasz.

Masz jak zweryfikowac czy cpld jest zaprogramowane tak jak chciales?

Reply to
ptoki

Byłoby to zgodne z analogicznymi objawami w oryginalnym spectrum, ale:

- Tam powodem były znane z awaryjności układy DRAM, ja mam pojedynczy chip SRAM.

- Chip przed zamontowaniem w podstawce przeszedł (kilkukrotny) test MiniProgiem.

- Próbowałem też podmienić pamięć na inny egzemplarz - w niczym nie pomogło...

Przez chwilę myślałem, że winny może być fakt, że użyłem 628128 zamiast UT621024, ale z tego co widzę te pamięci są zamiennikami i ludzie z powodzeniem używają 628128 w tej konstrukcji.

To znaczy? Jak to zrobić? Wiem tyle, że kilka prób programowania zakończyło się powodzeniem, a urządzenie z grubsza zachowuje się jak Spectrum.

Niemniej musiałem programować trochę "na około" bo z jakiegoś powodu Quartus Programmer nie chce u mnie pod Debianem wykrywać programowanego układu, chociaż sam programator widzi. Zadziałała dopiero metoda z eksportem do pliku SVF, OpenOCD i Telnetem, opisana tutaj:

formatting link

Reply to
Atlantis

Niekoniecznie sama pamiec musi byc winna. Akurat bawie sie neopixlami i uklad (13 diod w szeregu) zachowywal sie niestabilnie. Powodem okazala sie pasta lutownicza jakiej uzylem bo nie mialem innego topnika. Po wyczyszczeniu dziala stabilnie.

U ciebie powodem moga byc luty, pasta, blad na plytce...

Ta korupcja to moze brak styku na jednym bicie liniii adresowej albo danych. Tak wyglada. No, jesli przyjac ze scalaki dobre... No, moze tez zasilanie niestabilne byc. Trudno wyrokowac bez pomiarow.

Skoluj sobie jakis analizator logiczny. One drogie nie sa. A jak widze na jutubie jak upraszczaja diagnostyke to az czasem dech zatyka.

Reply to
ptoki

W dniu 2021-06-17 o 00:01, ptoki pisze:

W oryginalnym Spectrum była to uszkodzona pamięć. Problem z -5V.

Reply to
Desoft

A masz na wejściu zegarowym Z80 rezystor podciągający, chyba coś koło

470om?
Reply to
jacek

Też już kiedyś spotkałem się z tym problemem, ale on zwykle dawał o sobie znać przy wyższych napięciach, rzędu co najmniej kilkudziesięciu woltów. Jeszcze nie zauważyłem takiego efektu przy 5V, chociaż w sumie wykluczyć się tego nie da.

Na chwilę obecną porównałem wartości rezystorów i kondensatorów z tymi na schemacie - zgadzają się. Luty wyglądają ok. Układy logiczne przetestowane MiniProgiem. Nie wiem na ile wiarygodna jest weryfikacja wsadu w CPLD za pomocą pliku SVF i OpenOCD, ale proces przechodzi bez żadnego błędu.

Na chwilę obecną biorą pod uwagę następujące hipotezy:

- Brak kontaktu któregoś pinu CPLD. Usunąłem cynę plecionką, przy okazji dociskając piny do płytki, w razie gdyby któryś był lekko odgięty do góry i nie łączył. Potem poprawiłem luty. Jeszcze nie wiem czy pomogło, bo...

- Trzy z czterech podstawek DIP20 słabo trzymały. Sprzedawca znowu włożył jedną w drugą. Wylutowałem i zamówiłem nowe. Powinny przyjść jutro, a do tego czasu nie mogę przeprowadzić kolejnych testów.

- Możliwe, że układ jednak nie lubi się ze starym EPROM-em. Zamówiłem W27C512 - też powinien być jutro.

Jeśli to nie pomoże, to pozostanie już chyba tylko teoria o wadliwym CPLD...

Prawdę mówiąc nie wiem co mogłoby tam powodować niestabilność zasilania. To jest ta sama sprawdzona przetwornica na LM2596 co w Harlequinach. Tam zasilała całą płytkę szczelnie wypełnioną układami logicznymi, tutaj jeden CPLD, kilka buforów, generator, pamięci i CPU - wszystko w wersji CMOS. Przetwornica pracuje daleko poniżej progu swojej wydajności. Kondensatorów odsprzęgających nie brakuje, ścieżki zasilania wydają się być dostatecznie grube.

Reply to
Atlantis

Przy montowaniu swojego Harlequina trafiłe mna problem "podstawe w postawkach". On sam z siebie nie jest groźny, ale one tam leżały chyba

30 lat w jakimś magazynie wsadzone jedna w drugą. Efektem czego nie kontakowały. Zgodnei z radą na grupie, skręciłem nogi scalaków o 90 stopni i dodatkowo pogiąłem je w zygzak. Zadziałało, choć dalej siedzą kiepsko.
Reply to
heby

Wymiana podstawek - nic nie dała. Wymiana EPROM-u na W27C512 - nic nie dała. Porządne wygrzanie CPLD hot airem przy zastosowaniu dużej ilości dobrego topnika - nic nie dało.

Powinienem na tym etapie uznać, że mam wadliwy układ CPLD, czy jeszcze coś mogę sprawdzić?

Reply to
Atlantis

Nie znam tego klona, może ktoś, kto to projektował, zastosował złe połaczenie CPLD<->ttl i coś nie trybi w poziomach? Masę takich błedów znajduje w amatorskich projektach, np. jakiś scalak łapie od 2V a CPLD wystawia 1.9 przy obciązeniu bramką LS itp błedy na granicy działania. Masz oscyloskop? Może czas nadszedł ;)

Zanabądź też to:

formatting link
Co prawda to padlina i jest wiele lepszych, ale też drozszych, ale lepsze takie niż multimetr.

Reply to
heby

W tym klonie nie ma żadnych układów pracujących na poziomach TTL. Jest kilka układów 245, jeden 573 i 04 w generatorze - wszystkie w wersji HC. Jest też jeden układ z serii CD40xx, ale to w obwodzie obsługującym magnetofon. Sam CPLD jest serii pracującej na napięciu 5V. Z80 także w wersji CMOS.

Reply to
Atlantis

Hmm... Tak jeszcze przyszło mi do głowy... Czy jest możliwe, żeby brak tranzystorów na liniach wejściowych klawiatury w czymś przeszkadzał? Harlequin niby nie miał z tym problemu, jednak przypomniałem sobie, że ten klon ma możliwość przełączania pomiędzy trybami UL48 i Pentagon, za pomocą skrótu RESET + 1/RESET + 2 na klawiaturze.

Może zwyczajnie głupieje, jeśli ma tam podczas uruchamiania stany nieustalone?

Chwilowo nie mam pod ręką tranzystorów 2SA1175, ale instrukcja mówi, że można użyć sowieckich KT361? Ktoś kojarzy co to za elementy? Google zwraca obrazki tych chrakterystycznych kolorowych "pastylek". Mm takich trochę, ale one nigdzie nie mają na obudowie KT361. Czyżby jakaś inna konwencja nazywania?

Reply to
Atlantis

Są dostepne na ali, tak na marginesie. O dziwo, działają z HQ, choć spodziewałem się odpadów. Ale wczesniej w ich miejsce wsadziłem diody schottkyego i tez banglało.

Reply to
heby

piątek, 18 czerwca 2021 o 16:39:19 UTC-5 Atlantis napisał(a):

Jesli mozesz prosto wymusic ustalony stan (opornikiem) to tak zrob. ten cpld moze miec z tym problem.

Dosyc czeste w ukladach gdzie autor nie przewidzial czesciowego uruchamiania.

Reply to
ptoki

Te trnzystory są mocno krytyczne, czy mogę tam włożyć jakikolwiek tranzystor PNP o odpowiednim układzie wyprowadzeń i małej, płaskiej obudowie? 2SA1015 będą pasowały? Te są nawet na Allegro...

Reply to
Atlantis

Chyba jednak pudło z mojej strony. Tak jak w Spectrum, w tym klonie są dwa złącza do klawiatury: krótsze (5 pinów) i dłuższe (8 pimów). Tylko krótsze jest podłączone do CPLD i jego linie są podciągnięte do plusa drabinką rezystorową. Zajrzałem do kodu w VHDL-u i znalazłem fragment, w którym podczas resetu sprawdzany jest stan klawiszy. Tak naprawdę nie jest skanowana klawiatura, ale sprawdzane jest, czy któraś z dwóch linii na krótszym złączu nie ma stanu niskiego. Tak więc nie ma problemu ze stanami nieustalonymi po stronie CPLD.

No chyba, że problem ten występuje później i to sam system nie lubi stanów nieusyalonych na drugim złączu klawiatury i brak trnzystorów miesza coś z uruchamianiem komputera na tym późniejszym etapie...

Reply to
Atlantis

Swoją drogą, to normalne, że CPLD (EPM7128STC100) lekko się nagrzewa podczas pracy? Nie jest gorący, jednak zauważalnie ciepły, gdy dotknie się go palcem. Pozostałe układy są chłodne. Tak powinno być czy to wskazuje na problem?

Reply to
Atlantis

Gdyby ktoś miał w przyszłości podobny problem, albo po prostu był ciekaw

- problem został rozwiązany. Nie wiem jeszcze do końc czemu, ale wygląda na to, że ta konstrukcja nie lubi się z Z80 w wersji CMOS. Testowałem ją z kilkoma egzemplarzami Z84C0006 oraz Z84C0010 i za każdym razem efekt był taki sam. Wczoraj w akcie desperacji włożyłem w podstawkę standardowy Z80A i zadziałało z miejsca. Jest to dziwne o tyle, że przecież wszystko pozostałe na tej płytce jest współczesne i wykonane w technologii CMOS - logiczne układy z serii 74HC oraz względnie nowoczesny CPLD.

Reply to
Atlantis

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.