INFORMATICA 2/1980 UNIVERZALNI PROGRAMATOR ZA PROG RAMIRANJE BIPOLARNIH PRO M-0 V I N P L A-J E V F. STRAVS M. DRU2OVEC M.GERKES V. 2UMER UDK: 681.327.28-50^55 VISOKA TEHNIŠKA ŠOLA MARIBOR, JUGOSLAVIJA Programiranje bipolarnih vezij je sorazmerno zahtevno, ker so predpisani programski impulzi dokaj različnih oblik. Postopki programiranja se ne dajo poenotiti, ker uporablja vsak proizvajalec nekoliko drugačno tehnologijo. Zato mora biti programator sposoben generirati več različnih vrst impulzov, ki se naj v odvisnosti od zahtev ustrezno oblikujejo. V članku je dana Izvedba univerzalnega in modularno zgrajenega programatorja s programskim generira- njem impulzov. Za različne vrste vezij je potrebno pognati posamezne programske module, ki se izvajajo z mikro- računalnikom družine 6800. Kot zgled dodajmo programiranje PROM-a 74 S 288 tako, da izvaja funkcijo naslovnega krmilnika IDM 29811. UNIVERSAL PROGRAMMER FOR PROGRAMMING OF BIPOLAR PROMS AND PLAS: The programming of bipolar circuits is a relatively pretentious task since the required pulses have to be shaped differently in accordance with technology diffe- rencies of the rnanufacturers and can not be unified. The programmer must be able to generate pulses in accordance with requirements. The article describes an universal and modulary built programming board for pulse generation. For different circuits the programming mudules of the 6800 family mlcrocomputer have to be known. As an example the programming of 74 S 288 PROM, which perfortns the function of IDM 29811 Next-Address Controler, is described. UVOD Prednost, ki jo imajo bipolarna vezja pred vezji v MOS tehnologiji, je predvsem v manjših zakasnilnih časih. Za delo v realnem času lahko v nekaterih primerib, kot so n.pr. hitrc regulacije, učinkovito uporabimo bipolarne mikroprocesorje. Za uspešno delovanje sis- tema morajo tudi pomnilniška in ostala logična vozja zadostiti časovnim zahtevam mikroprocesorja, da ne vnašajo prevelikih zakasnitev oziroina, da ne znižuje- jo frekvenco uro. Bipolarni PROM-i izpolnjujejo vse zahteve, da lahko sodelujejo v takšnem sisternu, saj je njihov zakasnilni čas pod 50 nsec. Uporabljajo se lahko za špominske elemento, za generiranje zaple- tenih logičnih signalov, za programirano logiko itd. Tako so lahko n.pr. v PROM-ih vpisani algoritrni oz. podatki, ki jih naj ima mikroprocesor na voljo v naj — krajšem času. Posebno mesto zavzemajo prorjramira- na logična polja - PLA , ki jili odlikuje poleg hitrih od- zivnih časov 5e velika fleksibilnost. Prodstavljajo pro- grarnirano logiko, ki s procjramiranjem dobi dokončno obliko, ki je pozne.je ni mogoče več spremeniti. Pro- gramirana logična polja poleg omenjenili lastnosti še močno zmanjšujc štovilo integriranih vezij. S progra- miranimi logičnimi polji se dajo realizirati različne logične funkcije, pa tudi enostavnejše aritmetične ope- racije kot so seštevanje ali množenje. Programiranje bipolarnih vezij je sorazmerno zahtevno, ker so predpisani programski impulzi dokaj različnih oblik. Zaradi nezanosljive dobave in hitrega razvoja se ni dobro nasloniti le na enega proizvajalca in zato je smiselno, da je programator univcrzalen. Ker ima vsak proizvajalec svojo tehnologijo, so tudi postopki progra- miranja, ki jih podajajo proizvajalci, med sabo različni. Zato mora biti programator sposobon gonerirati več različnih vrst itnpulzov, ki se naj v odvisnosti od zahtev ustrezno obllkujejo. Zato je najbolj prinieron progra- mator s programskim goneriranjom impulzov, ki je fleksibilen, glavni del spremomb pa pade na program- sko opremo. Za vse bipolarnc elemente te vrsto velja isto načelo programiranja, ki tomclji na prežiganju (prokinjanju) specialnih povuzav v strukturi inlegriranoga vezja. Pri PUOM-u predstavlja ponmilniški del matrika posebnih celic, od katerili vsaka vsebuje po eno povezavo (spoj), ki se lahko prežge ali pa ostane nopoškodovana. Stanje s|X)ja vpliva na logično stanje izhoda. Spoj predstavlja tanka metalna plast, ki je po sredini zožena in ki se pri programiranju zaradi povečanega toka segreje in pre- gori. Pri PLA-ju [J.I podobni spoji prodstavljajo poveza- vo med logičnimi elomenti v polju AND oz. OH vrat. 21 Pri programiranju se neustrezne povezavo prokiriejo in ostanejo le tiste, ki jih zahteva željena logična runkcija. Ker se pri prežiganju sprošča toplota, se lahko isto- časno programira le en spoj, med posamcznimi pre- žigi pa mora biti zagotovljen čas za hlajenje. OPIS UNIVIiRZALNEGA PROGKAMATOIUA Prototip programatorja je v prvi fazi prirejen za pro- gramiranje bipolarnih PHOM-ov proizvajalcev TBXAS INSTRUMENTS in NATIONAL SEMICONOUCTOR. "Mcd PLA-ji pa se lahko programirajo vezja sorije PAL pro- izvajalca MONOUTHIC MEMORIES in KPLA proizvajalca SIGNETICS. Programator je izveden v modularni izvccl- bi, tako programska oprema kot vezje. Aparaturni del programatorja predstavlja matična kartica in več manj- ših pomožnih kartic. Za vsako družino PROM-ov oz. PLA-jev, ki imajo skupne programske lastnosti, je predvidcna posebna pomožna kartica z ustreznirni ix>d- nožji. S prikljucitvijo pomožne kartice se avtomatsko vzpostavijo delovni pogoji (napetosti), ki ustrezajo tipu PROM-a oz. PLA. Prav tako je predviden za vsa- ko pomožno kartico svoj podprogram, medtem ko je glavni program skupen. Programator je predviden za priključitev na mikroračunalniški sistem ISKRA DATA 1680 tako, da se matična kartica vstavi v mikroraču- nalnik, ustrezna pomožna kartica pa se preko konektor- ja ali podaljška iz ptoščatega kabla spoji z matično kar- tico . Programator se napaja preko zunanjega vira 22 V, 1,5 A in 5 V iz mikroračunalnika za napajanje integriranih vezij. Kot je razvidno iz sheme na sliki 1, sta za krmiljenje prograinatorja uporabljeni dve PlA-i. Obe sta priklju- čeni preko buflerjev in naslovnega dekodirnika na mikroračunalniklSKRA DATA 1680. A - strari. PlA-e 1 krmili Lroje vezij, za oblikovanje napajalne napetosti, oblikovanje CS (cliip select) impulzov in oblikovanje OUTPUT impulzov. U - stran PIA-e 1 pa služi za na- slavljanje PROM-ov,'oziroma krmili vezje za naslav- ljanje prodnktnih linij pri PAL. Za PROM-e, ki imajo več kot 8 naslovnih linij, B - slran PIA-e 1 ne zados- tuje več in zato lahko za krmiljenje nadaljnih 8 naslov- nili linij uporabimo 13 - stran PlA-e 2, pri čemer ustre- za linija PBO devetenm bitu. Za naslavljanje vhodnih linij pri PAL je uporabljena PIA 2 v celoti. VEZJli ZA OHLIKOVANJU IMPULZOV Pri opazovanju impulzov, ki so predpisani za različna programiranja,lahko ugotovimo, da so vsi skoki na- petosti med 0 in 20 V. Ker so pri preziganju pojavlja- jo tokovi do 750 mA, mora vezjc zadostiti tudi tokovni zahtevi. Na sliki 2 je prikazano uporabljeno vozje, ki omogoča skoke napctosti z možnostjo nastavitvo časov vzpona, ki so predpisani. Cas vzpona na|xjtosti jo od- visen od vrednosti kondcnzatorja C . Slika 2 PROGRAMiRANJlC PROM-OV (TEXAS INSTRUMENTS) Programiraino laliko 3 - stato 1'liOM-o ali PROM-o z odprtim kolektorjem. Na ustrezni pornožni kartici je predvidono posebno mikrostikalo So, a katerim so na- stavi režirn za procjramiranje enili*ali dnujili. Mikro- stikalo S je prcdvideno za nastavilcv izhoda (stolpca), ki naj sc programira. Potek• procjramiranja jc zarni.šljon tako, da se najprej sklene prvi kontakt stikala S , s čemer je omogočeno prograrniranjo vseli bitov, Ki so dosegljivi na izliodu 0 . Nato poženeino glavni prdgram in mikroracunalnik postopohia naslavlja iiaslovo, kjor se naj vpiše logična 0 in sproti prograniira. Po vsakem programiranju spoj tudi tesl.ira, čo je uspešno prczrjan. Ko so programirani vsi žalitovani biti v prvorn stolpcu, se prorjrarn ustavi, da lahko sklcnmno drugi kontakt na mikrostikalu S . Sevoda ]>rvi kontakt sedaj razklcnemu in program zncva poženemo. JJostopek se ponavlja za vse izhode. Slika 3 prikazuje diagrarn poteka podpro- grama. Naslovi spojev, ki se naj prei?gejo,so v obliki tabule vpisani v enem izmed RAM-ov mikiijiačunalnika. nso c P/A1 / Hc V£ZJ ČŠ ot/TfjT P/A2 t> —I KAt-7/CA VhVDUIHLIMJ \> - 11,'J/J PKI PAi Slika 1 22 Tabela se s pornočjo programiranja po stolpcih presli- ka v PROM. Na sliki 4 je časovni diagram prerlpisanih programskih impulzov, na sliki 5 pa je fotografiran oscilogram impulzov dobljenih iz programatorja. NASTAVITEV ZAC. POGO.IIiV N.^STAVITEV NASMIVA NASIAV. OSNOV. ZAKASNIIiiV ZA Pll. 'HOOIiAMIKANJii PHOGR. JE USPIiŠNO POSTAVI CAUIIV UIT NA 0 PIIOGII. N] USPEŠNO POSTAVL CAHIIV BIT NA 1 flJA INA.SC. »Al.JKEGA ČASA ril[)C,|l,iM. POST. IJNl.l NA '/.AOBTNO STANJE Slika 3 -j: S I --«». JT:: Slika 4 Na sliki 6 je prikazan procjram za vpisovanje podatkov v PROM 74 S 288. PKOM ima 32 8-bitnih tesed. Tabela, ki jo vanj preslikamo, je podana na naslovih od 300 - 31K. Na naslovu STL je vpisana številka stolpca (l - 8 ), ki se iz tabele preslika v PUOM in rnora ustrezati Ste- vilki sklenjenega kontakta na stikalu S . Za primer ka- ko lahko PHOM uporabimo n.pr. ssa nadomestitev logič- nih vezij , smo vanj vpisali pravilnostno, tabelo naslov- nega krmilnika IDM 2*> 811 (glej sliko 7 in tabelo l). Z ustrezno razmestitvijo stolpcev iz tuln;lc' 1 smo celo dosegli, da je razporeclitev priključkov na 1'ROM-u ena- ka ustreznim priključkon\ na vezju 1UM 29 811. 0400 0403 0406 0409 04 013 040E 040F 0410 04 12 04 14 04 17 04 1A 04 1D 0420 0422 0424 0425 0330 0331 0340 0200 0400 CE 0300 FF 0330 FE 0330 A6 00 F6 0340 44 5A 26 FC 24 06 F6 033 1 DD 0200 7C 0331 B6 0331 20 E2 Bl 26 3F 80 0000 Loglc Diagram »PROGRAMIRANJE PHOM-A (TEXAS * TAB EQU 1330 TAl EtiU i331 STL EQU $340 TI4K EQU 1200 OHG i/400 LDX #1300 STX TAb ZAC LDX TAB LDAA 0,X LDAB STL PON LSRA DECB BNE PON BCC NAP LDAB TAl JSR T14K NAP INC TAl LDAA TAl CMPA tlZB BNE ZAC SVI FCB $80 EMD Slika 6 Connection Oiagram Logic Symbot Slika 7 Slika 5 23 Tabela 1 MMfnonic JZ CJS JMAP CJP PUSH JSflP CJV JRP HFCT RPCT CRTN CJPP LOCT LOOP CONT JP Funaion JUMPZERO COND JSU PL JUMP MAP CONOJUMPPL PUSH/CONDLDCNTfl COND JSB fi/PL COND JUMP VECTOR COND JUMP R/Pi. REPEATLOOP,CTR*O HEPEAIPL. Cfn *Q COND RTN CONOJUMPPL&POP TEST END LOOP CONTINUE JUMP PL L • Low, H - Higft TruthTat •l '2 M '0 TEST L L L L L L L H L L H H L H L L L H L H L H H L H L L L H L H L. H L H H H H t L H H H L H L L L L H L L L H H L L H L M L L H H H L H L H H L H H L H L H K H H H L L H H H L H L H H L H H H H H L L H H H L H H H H H l H H H H H N«»t AODR Sourn H H H H H H H H H H L L L L L H H H L L H L L L H H H L L L- H H L L M L L L L L L L H H H H Fil« FE PUP H H H H H H L H H H H H H H L H L H L H L H H H H H H L L L H H L L H L L L H H H L. L L H H H H H H H H _ Outputi . Counm LOAD iH L L L l H H H H H H H H X H H H H H L H H H H H H H Z -IX X XI H L H H H H H H L H H H H H H H H H H H MAPE H H' H H L L H H H H H H H H H H H H H H H H H H H H H H H H H H PLT PROGRAMIRANJE PAL-OV (MONOLITHIC MEMORIES) S tem programatorjem je možno programirati vseh 15 tipov PAL-ov MONOUTHIC MEMORIES. Pomožna kar- tica vsebuje dve podnožji z 20 priključki, stikalo S in potrebne. elemente za predhodno nastavitev prav?lnih napetosti. Ker poteka v prvi fazi programiranje spojev na produktnih linijah od 0 do 31, mora biti PAL vsta- vljen v podnožje 1 na pomožni kartici. Odvisno od ti- pa PAL je potrebno nastaviti položaj stikala Sl. V pri- meru programiranja takšnega PAL-a, ki daje v aktiv- nem stanju visok nivo (l) na izhodu, je potrebno po- staviti S v položaj ACTIVE HIGH. Obratno velja za PAL-e z nizkim aktivnim nivojem polozaj ACTIVE LOW. Programiranje je zamišljeno tako, da so v enem iz- med RAM-ovvpisane vse koordinate spojev (številka vhodne linije, številka produktne linije), ki naj se pro- gramirajo. Ker so koordinate v RAM-u podane binarno , je v podprogramu narejen programski dekodirnik, ki postavi vse naslovne linije na pravilne nivoje in ugo- tovi izhod, s poinočjo katerega se bospoj prežigal. Ko poženemo glavni program, ta prečita koordinate za prvi spoj in skoči v podprogram, ki opravi programi- ranje in testira prekinitev spoja. Nato glavni program precita nove koordinate in postopek se ponovi. Posto- pek se ponavlja za vse spoje na produktnih linijah od 0 do 31, ki so predvideni za preziganje. Po prežigu zadnjega spoja se program ustavi, da lahko PAL vsta- vimo v podnozje 2 in s tem preide programiranje v drugo fazo. V drugi fazi je mozno programirati vse spoje na pro- duktnih linijah od 32 do 63. Znova poženemo giavni program., ki postopoma Čita nove koordinate spojev in s poniocjo podprograma'opravi programiranje. Ko se prezgejo vsi potrebni spoji, se program ustavi in programiranje je končano. SUka 8 prikazuje casovni diagram predpisanih impulzov, na sliki 9 pa je posnet oscilogram impulzov, dobljenih iz programatorja. Slika 8 fj." r"— • •".W-->' -• / 5 • . '•-''* ••' ' \" ''•'-. ,• "*, •i • % • •••'?: Slika 9 PROGRAMIRAMJE FVIJK (SIGNETICS) Programiranje poteka v treh fazah in sicer v nasled- njera zaporedju: 1. Programiranje izhodne polaritete (aktiven nivo iz- hoda) 2. Programiranje produktnih termov 3. Hrogratniranje OR termov. Za vsako fazo postopka je predvideno svoje podnožje na pomozni kartici, ker vsaka faza zahteva svojo obliko 24 programskih impulzov. Za vsako fazo je predviden svoj podprogram. Na sliki 10 je prikazana notrr.in.ja povezava FPLA . LOGIC DIAGRAM r i •»OtiTivl 0* «*TI|i •v i.. .£r i "^ f^ a^ •v rV V . / OUtHJi 3j rV n V ^•oovci Mimii I»O(ltvt *N0O*ttii r *!? v! • ouct Slika 10 Postopek programiranja izhodne polaritete se prične tako, ela se na stikalu S skleno eden izmed kontaktov , ki omogoči dostop programskim impulzom na ustrezen izhod. Nato poSSenemo program, ki prežge spoj S na ustreznem izhodu. Postopek se ponovi na vseh tistih izhodih, kjer funkcija to zalitova. Pri programiranju produktnih termov postopamo tako, da najprej sklcnomo prvi kontakt stikaljt S , s čemer ,je ornogočeno prežiganje vseh spojev vezanih na vhod I . Nato poženemo glavni prograrn, ki prečita ustrezon naslov produktnega torma z informacijo o programi- ranju spojev. rnformacija o programiranju spojev po- ve, kateri od spojcv I ali 1 se naj prežge oziroma pove, da se naj prežgeta oba spoja, če fiyikcija zahte- va, da vhod I nima vpliva na ta produktni term. Glav- ni program zatein s pomočjo podprograma opravi pro-- gramiranje enega ali obeh spojev. Nato glavni program pročita naslednji naslov produktnega terma in spet skoči v podprogram, ki opravi ustrezrio programiranje. Postopek so ponovi še za vse ostale produktne terme. lvo so prežgani vsi ustrezni spoji v stolpcih I in 1 , sc program ustavi, da lahko sklonemo drugi Rontakt slikala S . S tem je oinociočeno prežiganje spojev v stol|x-.ih l^ in I. ntezni prc prograni in postopek se ponovi. 1'ostopek je enak za vseh 16 vhodnih sprontenljivk. . ... . , ki določajo vpiiv vhoda I na posa- roduktni term. Nato znova poženemo glavni Pri programiranju t)H terrmov postopamo tako, da naj- proj sklenomo prvi kontakt stikala S , s čemer je omogočeno prorjramiranje vseh spojov na OH termu za izhod F . Nato poženenui glavni program, ki posto- poma nastavlja naslove ustreznih termov in s pornočjo podprocjrama prožuja spoje. l'o končanem programi- ranju prvo