Programátor je určený pre počítače Atari 600XL/64kB RAM, 800XL, 800XE, 130XE, 320XE, 65XE, XEGS, zo staršími verziami počítačov - Atari 400 a Atari 800 sa neráta.

TOPP - Tesla Old PROM Programmer pre Atari 8bit.
V tejto časti popisu nasleduje schéma zapojenia TOPP programátoru - najprv je v nízkom rozlíšení + nasleduje schéma v plnom rozlíšení. Za nimi je už samotný pokec k zapojeniu a zoznam použitých súčiastok. Pre stavbu sú potrebné základné znalosti práce s TTL a CMOS obvodmi, t.j. nepredpokladám stavbu zariadenia úplným začiatočníkom, je to dané aj tým že sa stavia na univerzálke.
Upozornenie:
Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených schém alebo zobrazených úprav. Program nikdy nespúšťajte ak máte v joyporte č.2 pripojený joystick ! - mohlo by prísť k poškodeniu čipu 6520 ak by ste stlačili niektoré tlačítko na joysticku !
Náhľad schémy zapojenia:

Schéma zapojenia v plnom rozlíšení:

PP_IGSH11_final_IG_SH_switch.PNG (92,54 kb)
Komentár k schéme:
Na obrázkoch to síce nie je na prvý pohľad poznať ale na doske obojstranného prekoveného plošného spoja (jedná sa o tzv. "zelenú" verziu dosky) sú pätice ZIF1 a ZIF2 vo svojom poradí vzájomne prehodené - ľahšie sa mi totiž v tomto poradí prepájali potrebné kábliky, toto je jediný dôvod zmeny oproti nakreslenej schéme. Nakoniec - na doske programátoru sú tieto pätice jasne označené, takže tu nečakám nejaké problémy s tým kde sa ktorý typ PROM pamäte má vložiť. Taktiež je jasne vyznačená pozícia pinu č.1 v ZIF pätičkách aby neprišlo k zlému založeniu PROM, síce oproti zvyklosti že pin 1 býva na strane páčky je to u mňa práve zapojené naopak, ale toto zase až za taký veľký prehrešok nepokladám, rovnako to mám riešené aj na programátore pre PROM 74188 na SBC6502 - poviem to inak - aj tu pokračujem v naznačenom opačnom trende - označenie pinu 1 na doske programátoru považujem za dostatočne jasné a teda nemalo by prichádzať k nejasnostiam pri založení PROM do pätice.
K samotnej schéme len toľko že tu máme k dispozícii 3x 8bit výstupné porty (3x čip 4094) a 1x 8bit (1x čip 4021) ktorý funguje ako vstupný port, sú programovo ovládané cez sériovú linku ktorá je tu programovo vytvorená na joyporte č.2.
Čo indikujú v TOPP programátore použité 4x LED je dostatočne popísané priamo v schéme samotného programátora, takže to tu nebudem ďalej rozoberať.

Tu ešte nie sú osadené všetky prvky ktoré sa ukázali ako nezbytné pre prácu na všetkých spomenutých
typoch počítačov Atari, proste postupný vývoj zapojenia zariadenia priamo v praxi.
Ak sa pozrieme na zdroj napájania, je vidieť že sú tu použité 3x diódy 1N4007 (1N4xxx) zapojené postupne v sérii, pričom prvá z nich (D1) je štandartne premostená jumperom, teda je skratovaná. Táto dióda nájde svoje využitie iba vtedy ak použitý napájací zdroj dodáva napätie vyššie ako 12V, toto nám umožní použiť aj zdroj s napätím v rozmedzí 12.3V ÷ 12.7V/DC. Zdroj ktorý dodáva potrebných 12V/DC má túto diódu v zapojení trvale skratovanú - teda pri presnom zdroji 12V dióda D1 ani nemusí byť osadená (vtedy stačí použiť skratovaciu prepojku), potom stačí osadiť iba dvojicu diód D2 a D3. Odpor R1 v zapojení slúži ako tzv. predzáťaž, potom je úbytok napätia na týchto dvoch diódach 1N4007 skoro presne 1.5V čo práve potrebujeme aby sme mali k dispozícii potrebné programovacie napätie +10.5V.
Pozor, podľa datasheetu najvyššie programovacie napätie TESLA PROM
pamätí nesmie presiahnuť hodnotu 11V !
Napájací zdroj 12V/DC pre napájanie programátoru musí byť schopný dodať prúd minimálne 1A, potom s rezervou pre použitie v TOPP programátore postačuje. Ak sa použije slabší zdroj tak nemusí prísť k potrebnému prepáleniu interných mostíkov v programovanej PROM, majte to prosím na pamäti.
Pretože je tu potrebné použiť externý napájací zdroj tak logicky z toho vyplynulo že obvody programátora sú taktiež napájané z neho, teda samotný TOPP programátor nezaťažuje zdroj +5V v počítači. Z Atari počítača sa z jeho zdroja +5V odoberá iba pre napájanie oranžovej (žltej) LED čo je indikáciou na doske TOPP že počítač je zapnutý, tento odber nepresiahne hodnotu 2mA, čo naozaj nie je veľká hodnota - kto na tejto indikácii na doske programátora že je počítač zapnutý netrvá tak túto časť môže kľudne vynechať.
Programátor v kľudovom stave odoberá prúd cca 20mA (podstatnú časť z tejto hodnoty pritom odoberá tzv. záťažový odpor R1), pri čítaní PROM dosahuje odber cca 60mA (5V), pri programovaní je to ešte plus odber pri samotnom PGM pulze (12V) - tu sa údaje rôznia - buď je to + 450mA alebo až 750mA - ten druhý údaj sa mi ale zdá veľmi málo pravdepodobný, tento vyšší odber je ale naozaj krátkodobý, časovo je to max. desiatky ms, skôr je to podstatne kratšia doba dosahujúca jednotky ms. Použitý malý chladič na 5V stabilizátore LM7805 svojimi rozmermi na tomto mieste naprosto postačuje. Dtto sa týka použitého chladiča pre tranzistor BD140 - tu by ten chladič ani nemusel byť nasadený, tento tranzistor v prevádzke bezpečne "chodí" iba v spínanom režime, skôr je to tu použité ako jeho ochrana pri programovaní nejakej "blbej" PROM (a to sa nikdy nedá na 100% vylúčiť). Samotný tranzistor BD140 je osadený v pätici takže je ho možné veľmi ľahko vymeniť - ak by to niekedy bolo treba (zatiaľ sa to nestalo a to ani v staršom programátore PROM 74188 postavenom pre SBC6502).
Odpor R6 slúži pre potlačenie zbytkového prúdu Zenerovej diódy (ZD) pre červenú LED, t.j. bráni jej rozsvecovaniu pri napájacom napätí 5V, toto zapojenie mám odskúšané už z programátoru pre PROM 74188 na SBC6502 - nevidím dôvod nepoužiť aj tu už osvedčené zapojenie.
Použité 12V DIP relé v zapojení neobsahuje priamo v sebe integrovanú ochrannú dódu - tu ju nahrádza pridaná dióda D5 (1N4148), je umiestnená v pätici priamo pod samorným DIP relé, je tam pre jej osadenie dostatok miesta. Aj keď je vďaka tomu skrytá pre zrakom tak svohu úlohu potlačenia napäťovej špičky pri vypnutí relé zvláda na jednotku. DIP relé v zapojení zabezpečuje totálne odpojenie napájania pre PROM pamäť vtedy ak zaručene nechceme mať na ZIF päticiach žiadne napätie.

30cm prepojovací káblik a tiež jeho kratšia 7cm verzia medzi Atari Joyport2 ‹-› doska TOPP.
Pár slov hodím do placu aj k prepojovaciemu kábliku Atari joyport2 - TOPP programátor:
Na prepojenie počítač - TOPP programátor som použil netienený plochý 9-žilový káblik ktorý má v sebe zapojené všetky piny joyportu2, teda na TOPP programátor dostávame všetky signálové a napájacie vodiče - reálne sa však z nich používa iba 6 vodičov - a to 4x Data (jedná sa o piny 1, 2, 3 a 4 z joyportu), ďalej je to ešte +5V (pin 7) a Gnd (pin 8).
Samotná dĺžka prepojovacieho kábliku by nemala presiahnuť 30cm, tu určite platí že menšia hodnota je lepšia. Môj prívodný káblik je práve na hornej spomenutej hranici, aby som mal istotu že to bude chodiť mám k dispozícii urobený aj kratší, iba 7cm káblik, ale ako som v prevádzke zistil s obidvoma káblikmi TOPP programátor funguje bez najmenších problémov.
Takže pokúsim sa to zhrnúť - káblik ktorý bude mať dĺžku niekde v rozmedzíi 7cm ÷ 30 cm určite na tomto mieste vyhovie.
Pre vytvorenie potrebného kábliku (teraz myslím stranu joyportu) som rozobral 9-pinový CANNON konektor (samička), odstránil som z neho pôvodný kovový obal, pripájal som drátiky a následne som túto koncovku zalial Epoxy, čím som si zároveň vytvoril aj šikovnú úchytku na jeho vyberanie z joyportu.
Kritické je krátke pripojenie spomenutých 6 vodičov na čip 74LS14, teda konkrétne prepojenie kábliku od Atari na tento čip na doske TOPP - má byť čo najkratšie, potom ďalej v schéme to už nie je problémové - viď v ďalšom podrobný obrázok s popisom rozmiestnenia súčiastok.

Na obrázku je prvá verzia základnej dosky počas stavby ktorá má iné rozloženie súčiastok. Tento konkrétny káblik je použitý aj v novšej verzii programátoru. (Tu ešte na doske nie je osadený čip 74LS14 - jednoducho toto bol hlavne vývojový kus - a tu sa ešte s čipom 74LS14 v zapojení akosi nerátalo ...)
Je dobré si ešte pred osadením do dosky skontrolovať skutočnú kapacitu kondenzátoru C12, teda aby mal naozaj hodnotu čo najbližšie k 0.1uF /100nF/. Mierna odchýlka od uvedeného tu nevadí, ale nech to nie je ± 20%. Použitý kondenzátor je tzv. "modrá" keramika. Môj použitý C12 má kapacitu 98nF, čo tu naprosto bez problémov vyhovuje (2% odchýlka).
Ako vidieť, pri osadzovaní druhej dosky som už doma nemal k dispozícii rezistorové pole 8x 47k a tak namiesto RF1 som v zapojení použil samostatné odpory, funkčne je to samozrejme zhodné. Dtto sa týka RF3, tu sú tiež použité samostatné odpory 4x 4k7, tie sú zase osadené priamo na mini doštičke s DIP switchom.
Tranzistor na pozícii T9 (typ BC547 alebo BC546) by mal mať približne h21e >300, je dobré si to skontrolovať - pri menšej hodnote nemusí sedieť časovanie postupného nárastu z +5V na +10.5V, pri príliš vysokej hodnote je to zase viac náchylné na "vonkajšie vplyvy", myslím tým rušenie, takže je dobré sa tu "držať sa pri zemi" a teda dať sem naozaj tranzistor ktorý má "trojstovku" v krvi.
(Moje domáce zásoby tranzistorov ukazujú že u typu BC547 ide kľudne h21e>700, potrebný údaj pre nasadenie v TOPP programátore spoľahlivo dosahuje aj typ BC546.)

Rozmiestnenie súčiastok spolu s ich označením na druhom prototype programátoru TOPP. Tu je už na doske osadený aj spomenutý čip 74LS14, ako vidieť je najbližšie ku konektoru ktorý smeruje na joyport2. Konektor pre pripojenie na joyport2 sa nachádza medzi čipom 74LS14 a DIP switchom.
Na začiatku programovania joyportu č.2 vyvstal problém s rýchlosťou práce zo samotným joyportom. Teda, budem presnejší - vďaka odporom a kapacitám zaveseným na jednotlivých bitoch brány čipu 6520 priamo v počítači sú nábežné hrany jednotlivých bitov pri snímaní osciloskopom skutočne "desivé", nebudem tu dávať obrázok z osciloskopu, ale najlepšie tvar krivky nábehu do log.1 pripomína vynorenú chrbtovú plutvu žraloka s krásnym postupným oblúkom, pritom do log.0 to padá podstatne, podstatne rýchlejšie. Tu jednoznačne pomohlo zaradiť do cesty jednotlivým bitom pre programátor Schmittov klopný obvod, realizuje to tu konkrétne čip 74LS14 ktorý už presne definoval prechodové stavy bez potreby skúšať nejaké iné riešenie ktoré by si už vyžadovalo zásah dovnútra počítača a teda stratila by sa univerzálnosť zapojenia. Tu tiež chvíľu trvalo než sme si uvedomili kde je pes zakopaný + nasledovalo zistenie že to ešte bezpodmienečne vyžaduje nasadenie kapacity C16 - bez nej to jednoducho spoľahlivo nefunguje aj keď sa v zapojení použije obvod 74LS14. A pre univerzálnosť zapojenia ešte bola potrebná kapacita C18, ako vidieť u mňa je zložená z dvoch paralelne zapojených 10nF kapacít, pravdepodobne by tu asi vyhovela aj kapacita 22nF.
C16 je tantalový kondenzátor o kapacite 47uF/16V (môže byť až do hodnoty 100uF), je pripojený na +5V samotného počítača a jeho zem.
Kapacita C16 je mimoriadne dôležitá - bez nej nebude bezchybne fungovať
sériový prenos dát.
A že to trvalo než sme práve toto zistili ...
Ak k C16 ešte navyše pridáte paralelne zapojenú keramiku 0.1uF - tým určite nič nepokazíte. Ja som sem dal na začiatku vývoja kapacitu 22uF/16V - normálny elektrolyt plus k nemu paralelne keramiku 0.1uF. Ako sa postupne ukázalo síce tým bola zvolená dobrá cesta, ale s príliš malou kapacitou a nevhodným typom kondenzátoru ...
Ďalšou možnosťou je dať túto kapacitu priamo do počítača, ale tým sa stratí univerzálnosť zapojenia - a nie každý je ochotný sa vŕtať v svojom stroji, čiže aj toto som bral do úvahy.
Neviem, možno by bolo mimoriadne zaujímavé vyskúšať mať túto kapacitu napájkovanú priamo na CANNON konektore ktorý sa vkladá do joyportu, teda by bola zaliata priamo v Epoxy, ale toto som už neskúšal.

Druhá verzia programátora - kapacita C16 - modrý tantal 47uF/10V priamo pod prívodným káblikom od počítača (úplne vpravo nahor). Tu je už prívodný káblik pootočený o 90° oproti prvej verzii. Vľavo na doske sú vyvedené jednotlivé piny od tranzistorov - zelené 2x4 piny slúžili pri vývoji ako miesta na meranie - vtedy totiž ešte neboli na doske osadené ZIF pätice. (Obrázok zodpovedá stále doske vo vývoji, ešte nie sú na doske osadené všetky súčiastky pre jej konečnú podobu.) Ako vidieť na doske sa ide okamžite na čip 74LS14, potom už dĺžka prepojov z tohot čipu na ostatnú logiku programátora na doske nie je kritická.
Čo dodať ?
Čo sa týka osádzania tranzistorov BS170 ktoré sú háklivé na statickú elektrinu - najprv ich v testeri premeriam, potom tenkým odizolovaným drátikom (napr. z licne) prepojím jeho nožičky do vzájomného skratu a tranzistor zapájkujem do dosky. Potom drátik odstránim a voilá, tranzistor zaobchádzanie s ním a aj pájkovanie v zdraví prežil.
Ako vidieť v zapojení programátora sa skutočne nešetrilo kapacitami, ani to neodporúčam, tu rozhodne platí radšej ich mať v zapojení viac ako menej ...
Ohľadne prepojovania súčiastok na univerzálke doske - pretože komunikácia s počítačom prechádza najprv cez obvod 74LS14 (ten sa nachádza úplne najbližšie prepojovaciemu konektoru na počítač) tak následná dĺžka prepojovacích káblikov na doske nie je až tak dôležitá pretože rýchlosť programátora je dostatočne nízka takže tu nehrozí že by vďaka dĺžke vlastnej prepojovacej kabeláže priamo na doske programátor nefungoval.
Pri napájaní jednotlivých integrovaných obvodov treba dodržiavať základné stavebné pokyny - použiť na rozvody napájania čipov silnejšie vodiče (napr. zvonkový drát a pod.), dôsledne pri každom čipe nasadiť minimálne jednu kapacitu (elektrolyt, alebo ešte lepšie tantal, pozor na správnu polaritu ! ) + nezabudnúť paralelne pridať keramiku 0.1uF, tým zaručene nič nepokazíme. U mňa sa minuli domáce zásoby tantalov takže v mojom zapojení prišli na rad elektrolytické kapacity. Ak v zapojení nasadíte tantaly bezproblémovo postačuje ak namiesto 22uF majú kapacitu 4.7uF.
Taktiež pri stabilizátore LM7805 na jeho vstupe a výstupe treba použiť blokovacie keramiky 0.1uF - sú osadené čo najbližšie k jeho vývodom, zabraňujú kmitaniu stabilizátora napätia.
Dodatočná poznámka:
Som si vedomý že je tu možné v zapojení urobiť zjednodušenie - ak sa pozriete na zapojenie bližšie tak je jasné že odpor pripojený cez DIP switch č.4 je trvale pripojený (nikdy sa neodpája) a teda môže byť trvale zapojený aj mimo DIP switchu. Potom sa dá tento uvoľnený štvrtý spínač použiť na pripájanie a odpájanie kapacity C18 podľa potreby. To že to takto nie je nakreslené už priamo v schéme - tu ma dúfam ospravedlní to, že schéma zapojenia sa postupne vyvíjala (a teda aj postupne kreslila a zase prekresľovala) a zo začiatku som nemal potuchy o tom že niekedy bude v schéme potrebná kapacita C18 ... a tak v schéme je to zakreslené tak ako to mám zapojené aj v skutočnosti. Fungovať budú obidve možnosti - aj nakreslená a aj tu v poznámke spomenutá. Pretože išla už von schéma a aj v programe je zapojenie zahrnuté tak som to už neriešil, len chcem upozorniť že sa to dá riešiť aj inak - akurát potom nebude platiť tabuľka zapojenia pre DIP switch, ale s tým si skúsenejší poradia.
Než vznikla uverejnená konečná schéma zapojenia TOPP programátora tak som ju nakoniec prekresľoval 11x ... tvrdá daň za postupný vývoj TOPP zariadenia.
________________________________________________________
Nasleduje zoznam súčiastok - BOM:
1x power supply 12V/DC/1A
1x universal double-sided printed circuit board 90x150mm
1x connector Cannon 9pin - male
1x flat multi-core cable (9x), max. cca 30cm (1 feet)
1x connector socket 2x5 pin
1x plug connector 2x5 pin
1x switch 12V/DC/On/Off
1x DIP relay EDR201A1200 (reed relay 12V/1000 Ohm/1A)
1x DIP socket, 16pin
1x DIP switch 4x
1x precision socket, 14 pin
4x precision socket, 16 pin
2x ZIF socket (Zero Insertion Force), 16pin
1x connector 12V/DC
JU1 - jumper 2pin
JU2 - jumper 3 pin
C1 - 220uF/16V
C2, C3, C4, C5, C6, C7, C13, C14, C17 - ceramics 100nF
C12 - "blue" ceramics 100nF ±5%
C8, C9, C10, C11, C15 - 22uF/16v (min. 10uF/16V, ideal tantal)
C16 - tantal min. 47uF/10V (100uF)
C18 - 20nF (2x10nF) - only for Atari 600XL/64kB RAM and 800XL !
RF1 - resistor array, 8x 47k (or separate resistors)
RF2 - resistor array, 8x 3k9 (or separate resistors)
RF3 - resistor array, 4x 4k7 (or separate resistors)
R1, R4, R9 - 1k2
R2, R10 - 22k
R3 - 360Ω (or 2x 180Ω)
R5, R8 - 4k7
R6, R11 - 1k8
R7 - 39k
R6, R11 - 1k8
D1, D2, D3 - diode 1N4007 (1N4xxx)
D4 - diode SB260 (SB360,1N5819) Schottky
D5 - diode 1N4148
ZD - Zener diode 5.6V - BZX55/C5V6
LED1 - green, 5mm, 2mA type
LED2 - blue, 5mm, 2mA type
LED3 - red, 5mm, 2mA type
LED4 - orange (or yellow), 5mm, 2mA type
T1, T2, T3, T4, T5, T6, T7, T8 - transistor BS170
T9 - transistor BC547 (BC546, 2N2222, 2N3904) h21e>300
T11, T12 - transistor BC547 (BC546, 2N2222, 2N3904)
T10 - transistor BD140, h21e>110
IC1 - TTL 74LS14
IC2, IC3, IC4 - CMOS 4094
IC5 - CMOS 4021
IC6 - LM7805, positive 5V voltage regulator
____________________

Detailnejší pohľad na kompletne funkčnú dosku TOPP. Je tu použitá iná doštička pre DIP spínač, rezostorové pole RF3 sa nachádza priamo pod týmto novým DIP spínačom, nezaberá tak dodatočné miesto na doske - ak by bolo treba jednoducho sa vymení za pôvodný DIP spínač ktorý je obrátený smerom nahor a stále to bude plne funkčné.

Druhý typ DIP switchu osadený na zadnej strane dosky programátoru.
___________________________________________________________
V ďalšej časti bude k dispozícii základné programové vybavenie verzie 1.0 ako atr súbor pre disketovú jednotku alebo jej súčasnú náhradu.
___________________________________________________________
Prvá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.
Druhá časť:
Práve ju sledujete ...
Tretia časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.
Štvrtá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Picture manual. Part4.
Piata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Own construction. Part5.
Šiesta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.1. Part6.
Siedma časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.0. Part7.
Časť číslo osem:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.1. Part8.
Deviata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.2. Part9.
Desiata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software update. Part10.
Jedenásta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.4. Part11.
Dvanásta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.5. Part12.
Trinásta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.6. Part13.
Štrnásta časť:
TOPP - software P188_46C_Vigi_MyDOS - SH. Part14.
Pätnásta časť:
TOPP - software P188_46F_Vigi_SpartaDOS - aka SH. Part15.
Šestnásta časť:
TOPP - Tesla Old PROM Programmer - Diagnostic disk HWT 2.0. Part16.
Sedemnásta časť:
TOPP - Tesla Old PROM Programmer - all program version. Part17.
___________________________________________________________

Vaše hodnotenie, Rate post: