1 Ostatnio edytowany przez _tzok_ (2023-08-24 19:44:04)

Czy ktoś pomógłby mi przeanalizować przebieg sygnału zegarowego w Atari 800XLF?

Zaczynamy od generatora kwarcowego 14,1875 MHz, sygnał CLK wchodzi na FREDDIEgo na pin 2, gdzie jego częstotliwość jest dzielone przez 4 i wychodzi z niego jako sygnał OSC (3,55 MHz) z pinu 37. OSC idzie dalej do GTIA do pinu 28 i wychodzi jako FPHI0 z pinu 29. Dalej trafia do ANTICa na pin 35, gdzie jest dzielony przez 2 i wychodzi jako PHI0 (1,77 MHz) z pinu 34, aby ostatecznie, przez bufor, trafić do SALLY na pin 37. SALLY generuje z niego 2 pomocnicze sygnały zegarowe: PHI1 (pin 3) i PHI2 (pin 39). Sygnał PHI2 wraca (?!?) do FREDDIEgo (pin 5), ANTICa (przez bufor, na pin 29), oraz GTIA (pin 30). PHI1 jest używany w układzie korekty (fazy) koloru "przy" GTIA. PHI2 jest prawie "w fazie" z PHI0 (opóźniony o kilkadziesiąt ns), a PHI1 jest odwrócony w fazie o 180° względem PHI2.

Czy coś pominąłem albo przekręciłem? Nie mogę pojąc dlaczego ten sygnał dociera do SALLY tak pokrętną drogą i po co tym wszystkim układom dodatkowo sygnał PHI2 z SALLY? Bez PHI0 nie ma przecież ani PHI1 ani PHI2.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

2

Piszę bardzo z pamięci więc nie wiem, czy nic nie pokręciłem, ale chyba we Fredim sygnał jest dzielony przez 4 i z niego wychodzi jako OSC na 28 nogę GTIA. Z GTIA wychodzi z 29 nogi i idzie na 35 nogę Antica.
Z Antica z 34 nogi idzie na bufor i na Sally.

Dlaczego tak? Wydaje mi się że po to, aby GTIA (i Antic?) chodził z większym zegarem niż CPU.

Podobnie masz w ST - Shifter dostaje 32MHz, a dopiero z niego wychodzi zegar 8MHz na CPU.

3

Obstawiam, że dlatego jak się ma VBXE to można wywalić kwarc i pogonić system z zegara dostarczanego przez VBXE. A on jest rzędu 3.5MHz. A przy SRAM to i całkiem Fredek wypada.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

4 Ostatnio edytowany przez peterkaczorowski (2023-06-20 22:26:41)

@perinoid,

Dokładnie tak.  Jeśli komputer ma Freddiego i ktoś pogodzi się z instalacją SRAM przy VBXE, to jest to znacząca jakość.  Likwiduje to odświeżanie DRAM, a Freddie nie dostaje ani 14Mhz, ani nie generuje 3.5Mhz, które to sygnały prostokątne generują szerokie spektrum zakłóceń, które do tego jeszcze się nakładają.  Typowe generowanie zakłócenia przez Freddiego w teście pętli anteny sondy oscyloskopowej to ok 100mV Pk-Pk.

VBXE generuje: 14Mhz, 7Mhz, 3.5Mhz

@_tzok_,

Przebieg zegarowy:

kwarc/generator -> FREDDIE(OSC) -> GTIA(FO0) -> (ANTIC)O0 (-> 74LS08/BO0) -> (SALLY)O2 -> (74LS08)BO2 -> Sally/Antic/GTIA/Freddie/cartridge

serwus,
Piotr

Atarowiec... inżynier elektroniki, informatyki i automatyki. Programista i przedsiębiorca.

5

Uzupełniłem opis. Jest jeszcze jeden podział przez 4 w ANTICu (3,55MHZ -> 1,77MHz).

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.
_tzok_ napisał/a:

podział przez 4 w

podział przez 2

Atarowiec... inżynier elektroniki, informatyki i automatyki. Programista i przedsiębiorca.

7

Racja ;)

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

8 Ostatnio edytowany przez _tzok_ (2023-08-26 23:12:19)

Schemat generowania przebiegu sygnału zegarowego w XE:
https://tinyurl.com/26tf6yv2
https://obrazki.elektroda.pl/3251882500_1693087926_bigthumb.jpg

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

9 Ostatnio edytowany przez peterkaczorowski (2023-08-25 16:09:33)

@_tzok_,

No blisko....

1. FREDDIE podzielnik przez 4
2. ANTIC podzielnik przez 2
3. w "65XE bez ECI" oraz XEGS nie ma bufora między ANTIC a SALLY. 

4. Ważne, że PHI2 (O2) idzie na BPHI2 (BO2) też przez bufor jak między ANTIC i SALLY, a następnie wraca do ANTIC/GTIA/FREDDIE/PIA/POKEY/CARTRIDGE.

Atarowiec... inżynier elektroniki, informatyki i automatyki. Programista i przedsiębiorca.

10

Ponownie dzięki za zwrócenie uwagi, poprawione.

Swoją drogą z tym brakiem 74LS08 między ANTIC a SALLY w 65XE to ciekawostka jest, bo ten bufor tam jest we wszystkich innych modelach (zarówno wcześniejszych jak i późniejszych).

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

1. No nie brakiem 74LS08... No i nie tylko 65XE bez ECI, ale również i Atari XEGS.
2. W komputerach powyższych na PHI0 wchodzi faktycznie PHI0 (czyli O0), w całej reszcie komputerów wchodzi BO0 (czyli Buffered Phase 0).  W komputerach z płytą 130XE sygnał O0 wchodzi na nóżkę #4 i jako BO0 wychodzi z nóżki #6.  Dalej wchodzi na "O0" (czyli sygnał zegarowy) do 6502 Sally.

Robiłem eksperyment z płytą 130XE.  Wylutowałem 74LS08 i wlutowałem podstawkę precyzyjną z wyjętymi lejkami/nóżkami 4,5,6.  Włożyłem tan układ 74F08, a O0 skrosowałem od dołu bezpośrednio z Antica do Sally.   Wszystko działało poza SIDE3 ;)  Ale tamta wersja SIDE3 również nie działała na XEGS.

Możliwe, że inny projekt płyty i inne ścieżki znów powodują inne pojemności.

Wg książki o procesorach 6502, sygnał O2 powinien być obciążony max 1 TTL oraz max 130pF.

Atarowiec... inżynier elektroniki, informatyki i automatyki. Programista i przedsiębiorca.

12

peterkaczorowski napisał/a:

Wg książki o procesorach 6502, sygnał O2 powinien być obciążony max 1 TTL oraz max 130pF.

Sygnał Φ0 wchodzi do 6502, a nie z niego wychodzi, więc CPU nie ma nic do jego obciążalności. Wszystko zależy od tego co ten sygnał generuje. CPU w odniesieniu do sygnału wejściowego może mieć wymogi odnośnie poziomów napięć i szybkości narastania/opadania zboczy.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.