Turbo EMO 9600: ako sa z pásky stanú bity

Jeden sériový rámec (start bit, 8 bitov, stop bit) prejde zápisom cez XOR s hodinami, páskou, detektorom hrán, monostabilom 74121 s trimrom RV1 a klopným obvodom 74LS74 až na SIO DATA IN. Dole je skutočná doska v1.1 z KiCadu, cesty sa farbia podľa stavu signálu a LED blikajú tak, ako sú zapojené.

Nastavenie

Bajt (hex):

Priebehy (čas v µs, jeden rámec)

POKEY DATA OUT (NRZ)CLK OUThlava / páska (XOR)hrany U3BU4 Q (tw)U5B Q → DATA IN
Perióda bitu T:
T/2 (hrana na hranici):
Impulz tw = 0,7·C·(2k+RV1):
Pomer tw/T:
Strieda tw/T max (74121):
Chybné bity:

Doska v1.1 (z TurboEmo_9600_Pr_Matus.kicad_pcb), 111 × 32 mm

Cesty: svetlé = úroveň H, tmavé = L, medené = napájanie a nemenné. LED visia na drôtoch z padov J1/J2, J4/J14, J5/J20, na doske sú len odpory R6, R7, R8. Kliknutím na pad alebo cestu priložíš sondu osciloskopu (CH1).

Osciloskop

1 V na dielik, nula je spodná čiara. TTL výstupy sedia na 0,2 V a 3,6 V, CMOS 4049 na 0,1 V a 4,8 V. Na vstupe K_INPUT je signál z XC12 zaoblený (pásmo hlavy), za C1 je posadený na pracovný bod U1A. Na R/Cext (C2) vidno nabíjanie kondenzátora, ktoré určuje tw. Impulzy z U3B sú v skutočnosti 20 až 30 ns, tu sú natiahnuté na 1 µs, aby boli vidieť.

LED (mimo DPS), podľa sietí

Zelená: MOTOR ONanóda cez R7 470 Ω na SIO pin 8, katóda GND. Svieti, kým Atari drží motor zapnutý (PACTL $34).
Žltá: TURBO ONanóda cez R8 100 Ω na Za 74LS157, katóda GND. Za je +5V len pri COMMAND v L, a U6 je napájaný z pinu 8: svieti pri motore a turbe naraz.
Červená: dáta z dekodéraanóda na SIO pin 8, katóda cez R6 220 Ω na ~Q 74LS74. Svieti, keď Q = 1 (dekódovaná linka v H, pokoj alebo bit 1), zhasne pri bite 0. Pri dátach bliká rýchlejšie, než oko vidí, javí sa slabšia. Indikátor trimra: v medzere medzi blokmi (pokojový tón) má svietiť naplno a stabilne. Ak je aj v medzere polovičná, tw je mimo okna (spúšťa každá hrana, alebo sa spúšťania preskakujú).

Prepínač 74LS157 (U6)

S = SIO pin 7 COMMAND. V L vyberie vstupy I0 (turbo), v H vstupy I1 (600 Bd z Q7 v XC12). U6 je napájaný z pinu 8, bez motora nebeží.

Okno trimra

Zelená oblasť: tw medzi T/2 a maximálnou striedou. Bodka je aktuálne nastavenie.

Model: hodiny CLK OUT sú v prvej polovici bitu v L, v druhej v H, hlava dostáva DATA xor CLK (U3C). Dekodér: každá hrana spustí 74121, počas impulzu tw ďalšie hrany ignoruje, nábežná hrana Q zapíše do 74LS74 invertovaný signál (U3A). Keď tw leží medzi T/2 a T, zapíše sa vždy stred bitu a výstup je pôvodný NRZ posunutý o pol bitu.

Zvuk: synchrónny tón hrá za kúsok pásky pod kurzorom (celá perióda f pri rovnakých bitoch, f/2 pri zmene bitu). Animácia je asi tisíckrát spomalená, preto každý polbit znie desiatky milisekúnd a počuť striedanie dvoch tónov. Na skutočnej páske sa striedajú tisíckrát za sekundu a splývajú do bzukotu, ten je v slučke reálnej rýchlosti.

Strieda: podľa datasheetu 74121 je najviac 67 % pri RT = 2 kΩ a 90 % pri 40 kΩ. Ak hrana príde skôr, než sa C2 stihne nabiť, ďalší impulz je kratší, model to skracuje úmerne. Polarita reálneho reťazca (4049, MH3ST2) sa môže líšiť o jednu inverziu, na princíp to nemá vplyv. Analógová časť (K_INPUT, C1, 4049 U1A/U1B, MH3ST2) sa na doske farbí podľa výsledného obdĺžnika.