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?
Didn't find your answer? Ask the community — no account required.
T
t-1
W dniu 2021-06-16 o 22:29, Atlantis pisze:
A system TV się zgadza? PAL czy NTSC?
A
Atlantis
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...
P
ptoki
ś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?
A
Atlantis
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
P
ptoki
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.
D
Desoft
W dniu 2021-06-17 o 00:01, ptoki pisze:
W oryginalnym Spectrum była to uszkodzona pamięć. Problem z -5V.
J
jacek
A masz na wejściu zegarowym Z80 rezystor podciągający, chyba coś koło
470om?
A
Atlantis
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.
H
heby
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.
A
Atlantis
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ć?
H
heby
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.
A
Atlantis
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.
A
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?
H
heby
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.
P
ptoki
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.
A
Atlantis
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...
A
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...
A
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?
A
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.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.