SBC6502 - 36 - Programátor PROM 74188. PROM 74188 programmer. Part 4-4.

By Administrator at December 26, 2019 09:30
Filed Under: SBC6502

PROM 74188 BURNER - poznámky zo stavby.


 

Ako to začalo - pozeral som na webe aké sú dostupné zapojenia schém programátoru pre pamäte PROM 74188 a teda je to celkom bieda - dostupné sú zapojenia hlavne tzv. "ručného" programovania, niečo je už mierne zautomatizované (speccy). Nič mi priamo nevyhovovalo, nezostalo nič iného - navrhol som si to teda sám, postupne som to staval, keď som to postavil tak som ešte doplnil obvody indikácií stavov a až následne som začal kresliť schému zapojenia. A potom som to začal programovo oživovať. Aj tak sa dá, nič nenormálneho v zapojení nie je. Nakoniec na webe si môžete čo je momentálne k dispozícii pozrieť a porovnať.


Dostupné zapojenia - dve zapojenia z AR (Amatérske rádio) majú zdroj 10.5V mierne povedané dosť zvláštny. Cez odpor 10Ω sa ide na ZD na 11V, potom nasleduje spínač.

Na prvý pohľad je to v poriadku - ale čip pri 10.5V má odber 450mA (TESLA datasheet, TI datasheet hovorí až o 750 mA ...), teda počítajte so mnou - na odpore potom bude strata 4.5V (TESLA) a čip pri programovaní ide skutočne mimo stanovených parametrov (mal by mať na sebe 10.5V). Dtto sa týka aj predradného odporu ktorý sa zavesí priamo na 12V - a ešte je väčší, teda jeho hodnota (=22Ω, speccy) a to je tam ďalší, rovnaký odpor zavesený proti zemi. To že to aj takto funguje je síce pravda, ale že to funguje aj napriek zjavným kiksom v zapojení, tak to nepovažujem za výhru. Sú to podľa mňa zapojenia vcelku "naprd", preto som tie zapojenia ako celok zavrhol, niečo (ale naozaj len niečo) z časti spínača 10.5V je O.K. (nakoniec, bolo to tam určené na "ručné dlapanie", nie na automatiku) použil som iné typy tranzistorov, to si zase vyžiadalo zmeny hodnôt odporov (a teda následne aj nejaké to laborovanie a aj zmeny).
A ako to už býva až následne som začal hľadať na webe ako má vyzerať programovací pulz. Síce som programátor (ručný) pred už naozaj strašnými rokmi (35...) postavil a teda predstavu o dĺžke pulzov rozhodne mám, len som si to chcel overiť. A dosť som narazil než som našiel datasheet (nie od Tesly, ten je k dispozícii bez problémov). No a teraz som postavil programátor pre počítač ktorý slávi 42 rokov. Takže takto ...Smile


Našiel som v katalógu TI (Texas Instruments) z roku 1975 (mám ho doma) že 74188 odporúčajú programovať 10msec pre CS=1 a nasleduje 700ms programovací pulz, potom zase CS=1, toto už ale potom nie je napaľovanie ale priamo barbecue v priamom prenose, škoda že už nepíšu koľko potom trvá blackout aby sa pamäť ochladila a spamätala ... no, je tam tých rozporuplných údajov viac ako dosť. TESLA uvádza v katalógu už prijateľnejšie údaje. (Pozri speccy.)

TI katalóg z roku 1976 už ponúka podstatne rozumnejšie informácie a z tých aj vychádzam (informácie z datasheetu sú uverejnené na konci tohtoto článku).


 

Na tomto obrázku pripomeniem SBC6502 Erika0, ktorý obsluhuje dosku programátoru pre PROM 74188. Pri sériovom konektore sa nachádza malá doska oscilátorov pre procesor (1x 1.8432MHz a 1x 4.00MHz), tesne nad konektorom prívodu 12V je jumper ktorým je možné prepínať rýchlosť procesoru. (5.00MHz oscilátor som bohužiaľ zatiaľ nezohnal v tomto prevedení.) Poloha jumperu smerom ku konektoru 12V = 4.00MHz, ak je jumper umiestnený bližšie ku CANON konektoru = 1.8432MHz.

___________________________________________________________


Pozrime sa na to ako som uvažoval ako na to - a úplne (odlišne) na samom začiatku projektu:

 

 

Takto vyzeral prvotný návrh dosky s použitím DIL relé, súčiastky sú len voľne založené do základnej dosky (bolo to iba v štádiu rozvrhu kde by boli súčiastky, DIP prepínač mal vedieť vyradiť ovládanie relé, prívod portov A, B a C mal ísť cez predný konektor), takto nejako vyzeral prvotný pôvodný základ návrhu kde by to zvládalo mimo svojej základnej funkcie aj naprogramovať PROM 74188. Malo to mať dostupné 2 porty - jeden by obsluhoval 8 relé (výstupy pravá strana foto), druhý mal slúžiť ako vstupný, to je tých 9 vstupov v strede dolu, 8x vstup + zem. Ak by bolo treba dal sa pridať aj tretí port. Ako už viete predný konektor na SBC6502 Erika0 som úplne zrušil a zapojil som všetky 3 porty 8255A priamo na vývody konektoru J4 (pinov je tam dosť).

Ako vidieť - od tejto cesty vytvorenia programátoru som nakoniec upustil a zvolil som úplne iné riešenie.

___________________________________________________________


Použitie tranzistorov BS170 v tomto zapojení bolo inšpirované pred časom stretnutím s Martinom Lukáškom na Foreveri, za "nakopnutie" správnym smerom mu dodatočne ďakujem. Pred rozhovorom s ním som uvažoval nad použitím 8x DIP relé na spínanie (viď foto nad týmto textom), pretože tam by sa to dalo použiť tiež na priame ovládanie relé (len by to chcelo navyše ďalší prepínač na dvojité použitie - programátor, alebo samostatné ovládanie relé).  Akurát by to ale vo výsledku zvyšovalo zložitosť dosky (a hlavne - mne dostupné jazýčkové relé nemajú dostupný potrebný prepínací kontakt - aby to bolo naozaj univerzálne), nakoniec som si povedal že doska s relé tak isto bude, s výkonnejšími kontaktami (a teda budú tam aj prepínacie kontakty) ale bude to riešené ako samostatná doska, nie na tomto programátore a tak teda prišlo na použitie spomínaných tranzistorov. Výmenný systém hornej dosky na SBC6502 mi takéto riešenia umožňuje.

 

Kto má chuť si naštudovať datasheet tak som to tu nachystal, sú tam aj ďalšie PROM, extra som nevypichol 74188, takže tých pár stránok si treba prejsť:

(Obsahuje datasheet PROM 74188 s presným popisom programovacieho pulzu:)

Programmable ROM 74188 TTL memory.pdf (2,90 mb)

____________________________________________________________


Ako som už spomínal, hardware a aj program sa dá úspešne preniesť na iný typ 8-bitu, ktorý má k dispozícii voľný čip 8255. Toto sa dá urobiť aj pre Atari (popísal som pripojenie 8255 + Atari v samostatnom článku), PMD-85 má čip 8255 k dispozícii priamo. Jediná vec ktorú bude treba urobiť bude sa treba "pohrať" s vytvorením programovacieho pulzu (teda jeho dĺžky) v riadku 3750. A to sa mi až taká veľká robota nezdá, popritom obidva spomínané typy počítačov dokážu priamo ukladať aj vytvorené DATA. Pre Atari priamo vyhovuje program s rýchlosťou x-talu = 1.8432MHz, pričom programovací pulz v riadku 3750 treba skrátiť o 30%, čiže slučka FOR-NEXT v uvedenom riadku by bola v tvare FOR F=0 TO 11:NEXT F (na vysvetlenie, Atari síce beží na 1.79MHz ale zobrazovanie ho o cca 30% spomaľuje). Dtto sa dá urobiť (skrátiť ich dobu o 30%) s programovými riadkami 2010, 2050 a 2100, ale bude to fungovať aj keď tu už zo slučkami nič neurobíte a necháte ich v pôvodnom stave.

 

____________________________________________________________

 

Poznámka:

(Niekde doma mám založený hodne starý programátor na 74188 postavený pred mnohými rokmi (vlastný návrh), ale je to skutočná "ručná dlapačka", všetko sa nastavuje prepínačmi, adresa, je to pri používaní dosť pomalé a je možnosť chyby pri zadávaní. Má to 5 prepínačov ktorými sa nastavuje konkrétna adresa (binárne váha 16,8,4,2,1), jeden vodič a 8 kolíkov sú určené pre nastavenie programovacieho bitu. Tiež som 74188 kedysi použil ako dekodér z BCD kódu na sedemsegmentovky LED - kedysi sa nedali zohnať dekodéry D146 a D147, zato 188-ky áno. Nechcem to tu nejako ďalej rozoberať ale chcel som sa už jeho používaniu vyhnúť a ísť na niečo modernejšieho, myslím si že sa to podarilo.) Ako to bolo postavené dnes už nemá zmysel pitvať, len spomeniem že to pracovalo v takte 1ms, bol tam dekodér 1 zo 16 (74154), hnal to čip 7493 a dekodér vyberal postupne cez maticu diód to čo sa malo v daný okamžik robiť. Čiže ešte pár diód, 2x 7400 a tranzistory na spínanie 10.5V. Fungovalo to a asi by to fungovalo aj dnes, len to nemám chuť naďalej používať. Pritom je to založené niekde v pivnici a než by som to našiel tak som si radšej postavil niečo čo je modernejšie. No a teraz som si to zautomatizoval na počítač ktorý je ešte o nejaký ten rok starší (1977) ako môj pôvodný návrh, na 42 ročný počítač - teda je to v najlepších rokoch.


Ešte zdôrazním nasledovné - povolená záťaž PROM 74188 na výstupe =12.5mA, teda netreba čip zbytočne zaťažovať nad túto hodnotu, ak to dodržíte tak životnosť napálenej PROM bude naozaj výborná.


Tu by som rád upozornil na to že som našiel jednu 8255A na 5.00MHz, kde nefungoval výstup na port A (porty B a C pri 5.00 MHz no problem), po znížení na takt 4.00MHz išiel ako víno, takže bacha - sem-tam sú čipy ktoré možu pripraviť prekvapenie ! (Na rozdiel od ostatných ktoré dávali na výstupe log.1 =3.98V tak tento "odpadlík" dával na log.1 =3.78V, teda o celých 0.2V menej.) Takže ak sa Vám niečo nezdá - merať, merať, merať. Spomínaný čip 8255A čo robil problémy bol  "zahraničák". Ostané čipy 8255A mi v pohode fičali aj na 6.00MHz.

 

K použitiu čipu 74xx245 v tomto programátore ma inšpirovalo zapojenie uverejnené v tomto článku :

http://blog.3b2.sk/igi/post/SBC6502-32-Hardware-Part2.aspx

 

P.S.1:

Čo ma hodne pobavilo - (pozri datasheet TESLA a čip MH74188) za dobré sa považuje ak sa podarí bez problémov napáliť 90% čipov  ... husté, fakt husté.

Mne sa zatiaľ darí dodržovať úspešnosť napálenia = 100% pri čipoch MH74188, fakt je že som ich doteraz napálil tak 40 kusov, čo síce nie je až tak veľa ale štatistika by sa už mala prejaviť - alebo mám teraz postavený lepší programátor ako vtedy mala k dispozícii samotná TESLA

_________________________________________________________

P.S.2:

Teraz menej vážne - o jednej drobnosti ktorú som si uvedomil po postavení a pri meraní na osciloskope:


Dióda 1N4148 je určená na rýchle vybitie kapacity 1uF - lenže v uverejnenej schéme je v podstate nefunkčná - pri otvorenom tranzistore je tam na kapacite napätie cca 0.7V a ide sa vybíjať cez kremíkovú diódu ktorá má na sebe rovnaký úbytok ..., no je to tiež poviem to diplomaticky "hodne nedokonalé". Toto som prevzal zo zapojenia v AR ... (a nefunguje to presne tak isto ako ani v zapojení z AR) - došlo mi to až po postavení, niekedy mám dlhé vedenie ako sa patrí, uff. Patrila by tam dióda zo zlatým hrotom (OA9) alebo germániová dióda, tie majú napätie na prechode niekde okolo 0.25V, Schottkyho dióda sa na toto miesto nehodí (príliš veľký záverný prúd). Na osciloskope potvrdené že to aj tak funguje dobre (vybitie prebehne v správnom časovaní aj tak - to zabezpečí zmenšený odpor na hodnotu 2k2) v rozsahu testovaných hodnôt hodín SBC6502 a to pre 1.8432MHz, 2.4576MHz, 4.00MHz a tak isto aj 5.00MHz (obrázky k tomuto sú uverejnené v 3 časti).

Pretože každé správne zapojenie má v sebe zabudované nejaké kurvítko - tak tu je to táto dióda. Ak ju tam necháte - nič sa tým nepokazí a pritom žiadnu prácu neodvedie - ale ak ju odoberiete tak to celé nakoniec zaručene nebude fungovať ... a dióda 1N4148 tam teda zostala. Teraz môžem smelo tvrdiť že to celé funguje aj napriek jej prítomnosti. Proste kurvítko v praxi. Pekné, nie ?

_________________________________________________________

P.S.3:

Ako to už v živote býva - po postavení uvedeného hardware a napísaní programového vybavenia ma napadlo ako skombinovať do "jedného" programátor pre pamäte PROM 74188 (32x 8bit), PROM 74S287 (256x 4bity) a aj PROM 74S571 (512x 4bity). Síce by si to vyžiadalo drobné zmeny v hardware a prepísanie programového vybavenia - ale dá sa to, schému ako na to už mám v hlave vymyslenú. Neviem či do toho pôjdem, pretože som nikdy nemal pamäte PROM 74S287 a PROM 74S571 - a ani teraz ich nemám k dispozícii. Ale ak by bol záujem, mohol  by som sa do toho pustiť, stále mi stačia na ovládanie 3 brány čipu 8255 a bolo by to teda 3 v 1. Ale či bude záujem, to je asi málo pravdepodobné.

(Doplnené vsuvky v texte - 03.01.2020)

____________________________________________________________

 

Priama možnosť skočiť do ďalšej časti:

SBC6502 - 33 - Programátor PROM 74188. PROM 74188 programmer. Part 1-4.

SBC6502 - 34 - Programátor PROM 74188. PROM 74188 programmer. Part 2-4.

SBC6502 - 35 - Programátor PROM 74188. PROM 74188 programmer. Part 3-4.

 

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

___________________________________________________

Vaše hodnotenie, Rate post:

Comments

12/26/2019 9:39:18 AM #

trackback

Directory SBC6502

Directory SBC6502

Igi blog | Reply

12/28/2019 1:57:51 PM #

Radim Polasek

hezke poctenicko, diky Smile

Radim Polasek Czech Republic | Reply

12/29/2019 11:43:23 AM #

Admin

Ahoj, dúfam že na Foreveri sa stretneme ...

Admin Slovakia | Reply

1/14/2020 2:19:01 PM #

marian


Krásna práca.Dlhšie som rozmýšľal nad stavbou PROM programátora ale až táto konštrukcia ma presvedčila.Pôvodne som chcel upraviť zapojenie z prílohy AMARA - Mikroelektronika 1988,kde
bolo programovanie 74188-74S287-74S571 tiež plne riadené programovo. Takže ak by ste aspoň načrtol úpravu zapojenia aj na ostatné dva typy určite by som sa do stavby pustil.

marian Slovakia | Reply

1/16/2020 9:36:06 AM #

Admin

V podstate je to jednoduché - treba ďalšiu ZIF pätičku + čítač 4040. Namiesto použitia 5 bitov ako doteraz (adresa), stačia potom 2 bity - trebárs prvý bit bude napĺňať čítač, druhý bit bude potom na jeho nulovanie. Toto sa použije aj pre 74188, teda stačí tam čítač plniť od 0 do 31. Pre 74287 sa plní 0-255, pre 74571 je plnenie čítača v rozsahu 0-511. Druhá pätička potom slúží pre 74287 a 74571 - tam stačí jeden prepínač pre voľbu PROM 74287 - 74571.
Samozrejme treba "prekopať" program na toto použitie.

Admin Slovakia | Reply

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Tento blog slúži na zobrazenie mojich záujmov - je to môj vlastný pohľad na veci, napriek  tomu dúfam že na mojich stránkach nájdete aj to čo hľadáte ...