Atlantis snipped-for-privacy@wp.pl Wrote in message:r
Ten pull-up to 470R miał, oidp. Masz pamięci dynamiczne? Szeregowe rezystory 33R na adresach.
jp
Atlantis snipped-for-privacy@wp.pl Wrote in message:r
Ten pull-up to 470R miał, oidp. Masz pamięci dynamiczne? Szeregowe rezystory 33R na adresach.
jp
Na początku roku pisałem o swoich próbach uruchomienia retro komputerka, pracującego pod kontrolą CP/M. Zapis tej dyskusji jest dostępny tutaj:
Tytułem przypomnienia:
Najważniejsze jednak jest to, że za nic nie mogłem zmusić tej konstrukcji do prawidłowego działania. Po włączeniu zasilania (albo kolejnym przyciśnięciu resetu) w terminalu szeregowym nie pojawiała się żadna treść. Tymczasem powinno się wyświetlić menu startowe.
Dzisiaj wyciągnąłem tę płytkę z szuflady i postanowiłem jej dać jeszcze jedną szansę. Właściwie jedyną zmianą jaką wprowadziłem było dodanie rezystora pull-up 2k na linii zegara CPU (oryginalnie go brakowało, chociaż widzę go w wielu konstrukcjach na Z80).
Nie wiem czy pomogła akurat ta zmiana, czy dzisiaj zwyczajnie miałem więcej szczęścia, jednak za którymś podłączeniem zasilania/resetem udało mi się już coś uzyskać w terminalu. Początkowo były jakieś szczątki właściwych komunikatów:
Mamy jednak dowód, że hardware nie jest zupełnie martwy, jednak jest problem ze stabilnością. Czy ktoś ma pomysł jak to debugować? Przychodzi mi teraz jeszcze do głowy pomysł wymiany generatora kwarcowego, którym jest taktowany CPU. Coś jeszcze mogę zrobić/sprawdzić?
Dnia Wed, 28 Dec 2022 17:18:19 +0100, Atlantis napisał(a):
Ja bym zaczął od przylutowania wielu różnych kondensatorów blokujących zasilanie do masy w różnych miejscach, uzupełniając te które już są.
Co prawda, nie wiadomo czym i jak mierzysz ten przebieg ale jeśli masz możliwość to wymień, nie zaszkodzi a pomóc może.
To potrafi byc efekt oscyloskopu - obciazenia przez niego, lub na koncu kabla.
To nie wyglada tak zle
A moze zawartosc dysku zła? te inne opcje to tez z dysku, czy z ROM?
Spowolnic zegar dwukrotnie, to bym sprobował. Jesli to problem predkosci - zaraz wyjdzie.
A jakis analizator, chocby ten Saleae masz?
Choc tu juz raczej nie pomoze - za duzo działa, za trudno bedzie sledzic co sie dalej dzieje.
Podlacz oscyl do linii adresu, danych - ladniejsze tam przebiegi?
J.
Pod tym względem płytka akurat wydaje się być zaprojektowana poprawnie - kondensatorów blokujących zasilanie jest na niej sporo i są one poumieszczane chyba przy wszystkich pinach VDD.
Pomiary były robione na przyzwoitym i względnie współczesnym Siglencie. Wydaje mi się, że powinien sobie poradzić z sygnałem 10 MHz...
W tej chwili tam nie ma żadnego (fizycznego) dysku. EasyZ80 jest komputerem zgodnym z magistralą RC2014. Został jednak zaprojektowany w ten sposób, że może działać jako SBC, gdyż wszystkie podstawowe komponenty są już na płytce. Podejrzewam, że to widoczne na screenie IDE0 w tym wypadku oznacza opcjonalną kartę CF. Widać zresztą, że system jej nie znajduje. Nie powinna być ona jednak wymagana do odpalenia systemu, gdyż:
Problem w tym, że nawet jeśli uda się wyświetlić to menu, to nie mogę wybrać żadnej z tych opcji, bo system jest na tym etapie kompletnie nieresponsywny,
Właśnie od analizatora zaczynałem. Tak doszedłem do wniosków, o których napisałem na początku (widać aktywność na magistrali, widać reakcję na reset). Oscyloskopu potrzebowałem tak naprawdę aby upewnić się co do kształtu przebiegu na linii zegara CPU, bo Saleae już sobie nie radził z interpretacją (pokazywał nieregularny sygnał prostokątny o wahającej się częstotliwości).
Trudno będzie mi w tej chwili ustalić w ten sposób coś więcej skoro wiadomo, że system działa i wykonuje kod, tylko z jakiegoś powodu jest niestabilny.
Opierałem się na innym projekcie ze współczesną wersją CMOS procesora Z80 - Sizif 512. Tam na linii zegara zastosowano rezystor 2k.
Nie ma tam żadnych pamięci dynamicznych. Cały RAM mieści się w jednej kostce statycznej pamięci 512 kB. :)
Dnia Wed, 28 Dec 2022 20:18:58 +0100, Atlantis napisał(a):
Nie żebym się upierał ale w projekcie na pewno były innego typu kondensatory niż te co użyłeś :) Jakaś doza nieufności pożądana.
A co to za kość?
A kabel z sondą?
Patrze na schemat - tam jest jest gotowy generator QC1? No to powinien miec mocne wyjscie i sobie z pojemnoscią kabla poradzic.
Tak sie jakos spodziewałem.
CP/M normalnie ładuje BDOS z dyskietki. BIOS jest w ROM, ale BDOS nie. Ale tu moze jakos inaczej.
Jesli chodzi o te monitory i basic, to moze byc jakis problem ze stronnicowaniem ROM. Ale program schemat i program jak rozumiem - sprawdzony.
dalbym wolniejszy zegar, jak zadziala, to wiadomo gdzie szukac.
Te kondensatory od innego kolegi - tez dobry pomysl.
Jeszcze mozna lekko podgrzac suszarką - ale jak pomoże, to raczej kwestia predkosci.
J.
Atlantis napisał(a):
Sygnał 10MHz generatora jest wysyłany na pin wyjściowy przez rezystor dopasowujący
50 om. Obciążeniem dla generatora z tego co widzę są ścieżki + 3 czy 4 wejścia zegarowe uP, na oko wyjdzie ze 35-40 pF. Wymiana generatora nic Ci nie da. Jak chcesz coś poprawić daj między generator a uP bramkę TTL coby taktować uP prostokątem.Tu gościu ustawił sondę na 1:1, zdaje się błędnie, ale tu jest obciążenie 35pF i u Ciebie też pi x oko 35pF) Bardzo możliwe że uP dostaje takie coś na wejście:
Mówimy o jakimś rezystorze wewnątrz generatora? Na schemacie go nie widzę...
Z tego co widzę wyjście zegarowe jest podłączone do:
- Pinu 6 mikroprocesora Z80
- Pinu 15 układu UART Z84C30
- Pinu 20 układu Z84C40 Wychodzą więc trzy piny. Dodatkowo sygnał ten jest wyprowadzony na złącze magistrali systemowej. Więc jeśli faktycznie tutaj leży przyczyna, to sytuacja pogorszy się jeszcze bardziej po wpięciu płytki w płytę główną i podłączeniu dodatkowych modułów.
Aż tak źle wygląda sytuacja z tymi generatorami? Nie ma dostępnej wersji, która posiadałaby już wbudowany bufor o odpowiedniej wydajności prądowej? Jeśli nie, to po prostu spróbuję sobie cos takiego zbudować w formie modułu na elementach SMD, który można by wcisnąć w podstawkę na miejscu obecnego generatora. Zastanawia mnie fakt, że to przecież nie jest mój własny projekt istniejący w jednym prototypie - to dość popularna konstrukcja, zbudowana przez człowieka znanego w Internecie z tworzenia takich konstrukcji retro i zreplikowana przez innych konstruktorów. Na zdjęciach w internecie widać, że ludzie stosują generatory podobne do mojego, w metalowych obudowach.
Lista elementów podaje, że tym oscylatorem powinien być "10 MHz, CMOS oscillator, Half Can". Na Mouserze:
Faktycznie, wygląda to chyba dość podobnie do tego, co widziałem na linii zegarowej sprawdzając układ oscyloskopem. Znaczne zmniejszenie prędkości (np. 4 MHz lub nawet 1 MHz) przez wymianę generatora da szansę na to, że układ testowo ruszy?
Zgadza się. Rezystor 50 om jest wewnątrz generatora.
To jeszcze gorzej.
Takie są.
Nie wiem. Ten który zapodałeś z mousera też ma max. I out 10mA dla zasilania 5V.
Na piechotę od zera:
Ok, po kilku miesiącach wróciłem do projektu i udało mi się zdebugować przyczynę problemu. Okazało się, że nie ma ona nic wspólnego z linią zegarową. Na takie zachowanie urządzenia tak naprawdę składały się dwie przyczyny:
Teraz komputerek działa już od kilkunastu godzin, nawet na kwarcu 10 MHz i bez rezystora pull-up na linii zegarowej. Zauważyłem tylko, że jest relatywnie wrażliwy na wstrząsy - raz na jakiś czas mocniejsze trącenie płytki powoduje rzucenie błedem przez BIOS. Jednak jeśli leży spokojnie na stole, to działa stabilnie.
Nie stosujesz aby podstawek precyzyjnych z allegro?
Kupiłem ich w sumie kilka rodzajów od różnych sprzedawców.
*WSZYSTKIE* są uszkodzone. Nie łączą z nogami scalaków.Przypuszczalnie dlatego, że wsadzali jedną w drugą i tak to leżało 10 lat, sprężyny się odkształciły.
Takie same podstawki kupione z metra (tzn w osłonie z tworzywa) nie maja takiego objawu, scalaki wchodzą cieżko i nie ma problemu ze stykami.
Zajeło mi kilka dni znalezienie problem u z moim Harlequiem, gdzie nie łączyło kilka scalaków i byłem przekonany że to każdy mozliwy powód, ale nie podstawka, w końcu precyzyjna, a nie badziewie...
W podstawkach precyzyjnych chyba raczej nie ma sprężyn, tam jest tylko stożkowa tulejka zakleszczająca pin. Być może faktycznie składowanie jeden w drugi może odkształcić tulejkę. Element sprężynujący jest w zwykłych podstawkach... Swoją drogą nie bardzo wiadomo czemu te "precyzyjne" nazywają się precyzyjne skoro nie posiadają elementu sprężynującego.
Ta tulejka jest nacięta i pełni rolę sprężyny dociskowej:
Chyba cos ci jeszcze nie styka. Ewentualnie zimny lut lub pekniecie scieżki. Delikatnie postukac w róźne miejsca.
J.
Samo naciecie chyba by nie zadzialalo - na rysunku widac o co chodzi.
No coz - moze to na siłę za bardzo rozgięli.
Swoją drogą - da sie takie piny kupic luzem?
Bo dawniej myslałem, żeby takie używać do domowych płytek dwustronnych jako przejsciowke/via. Tzn to mozna zalutowac z dwóch stron i nadal uzywać jako podstawkę.
Gdzies nawet mam fabryczną płytkę - tam są takie bardzo niskie ...
J.
Odnoszę wrażenie, że:
Stawiam na to, że jakiś styk w podstawce wpada w drgania tracąc kontakt z układem.
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.