Y T 3 M V D S P racunalnik Pekac 2716/32 epromov & paralelni I/O Mijo Kovacevic, YU3KQ Ko sem pred dvemi leti potreboval zanesljiv pekac za eprome starejsih tipov, sem se odlocil da ga tudi napravim. Najprej je bil misljen kot zacasna resitev, saj je kazalo da bo scasoma tudi zmanjkalo teh starih in danes zelo dragih epromov. Ker pa marsikatera firma prodaja ocenjeno robo in med njo tudi stare PAKA ali DIGITAL-ove terminale, na CPU ploscah le teh pa je vsaj par 2716 in 2732 epromov, sem se odlocil za objavo tega pekaca. Se nekaj sem na DSP-ju zelo pogresal - vsaj en paralelni I/O prikljucek za krmiljenje tiskalnika ali cesa drugega. Oboje sem zdruzil na spodaj opisani tiskanini. OPIS VEZJA PEKACA (slika 1 in 2) Za programiranje 2716 in 2732 epromov potrebujemo +25v programsko napetost, za 2732A pa +21v poleg napajalne +5v. Generator te programske napetosti se da napravit na razlicne nacine, pomembno je da deluje zanesljivo. Jaz sem tu uporabil kar Matjazev koncept ki deluje odlicno. Narejen je z stirimi tranzistorji, krmilimo pa ga preko prikljucka na B portu PIO cipa. Da bo CPU DSP-ja lahko komuniciral z PIO cipom je bilo potrebno napravit ustrezno vezje. Za dekodiranje naslova PIO cipa poskrbijo OR vrata 74LS32 , 74LS20 (4-input NAND) in ena dioda HS 1001, katera je prikljucena na /VPA linijo. Ker ima 68010 zdruzen R/W, ga je za nas PIO cip potrebno razclenit na locena RD in WR, to opravijo vsa stiri vrata 74LS00 cipa. yPD 71055 potrebuje tudi hardverski reset. Na vodilu DSP-ja imamo resda reset linijo, samo nam ne ustreza polariteta tega signala in ga zato z enim BC-238 invertiramo. Sedaj DSP ze prepozna da ima na vodilu prikljucen dodatek oziroma nas PIO cip. Da bomo lahko eprome zares testirali/citali/programirali ali verificirali pa bo potrebno uredit nadzor nad epromom. Tu bo za adresiranje skrbel 12 stopenjski Ripple-Carry binarni stevec - delilec CD-4040. Njegova RES in CLK vhoda krmili PIO preko B porta, baferirani izhodi pa nam preko 100E zascitnih uporov adresirajo eprom z izjemo navisje A11, katera je preko enega PNP tranzistorja povezana z VPP preklopno logiko. To pa zato, ker na tej nozici TEXTOL podnozja enkrat potrebujemo A11 drugic pa VPP/+5v, odvisno od tipa eproma. Preklopi napetosti na epromu so izvedeni z BC-307, tremi BC-177 in BC-238 katere preko 7406 krmilimo iz C porta PIO cipa. Same podatke pa prenasamo do eproma ali iz njega preko zascitnih 100E uporov iz A porta yPD 71055 cipa. Tukaj imamo se 9 kosov PULL-DOWN uporov ki skrbijo za 'ravnotezje' ko je eprom zunaj podnozja. OPIS VEZJA I/O PORTA (slika 1) Da ne bo nas PIO cip napol lenaril ga bomo izkoristili se za paralelno komunikacijo z zunanjim svetom. Ker v programatorskem delu uporabljamo A port za prenos podatkov, bi bila uporaba katerega drugega tukaj - nesmiselna. Torej vodilo PA ali port A peljemo preko dvosmernega OCTAL BUS drajverja 74LS245 na CENTRONIKS vticnico na ohisju DSP racunalnika. Potrebujemo se 74LS244 za prenos kontrolnih signalov, katere generiramo ali citamo na portih B in C. Se opozorilo: centroniks standard pred- pisuje vec kontrolnih linij, tu pa sem uporabil najosnovnejsi: STR in BUSY. Tako nas DSP recimo nebo znal javit PRINTER OFF. Program za izpis bo pac cakal, kakor da je buffer v printerju poln. Pa o tem vec pri opisu softvera. Preko tega I/O porta lahko krmilimo razlicne naprave. Od tiskalnikov, ploterjev do kake svoje umetnine kot naprimer eprom simulator, speech procesor itd. Prikljucek je predviden kot dvosmerni, potrebno pa bi bilo napravit kaksno koristno napravo za izkoristek INPUT opcije, npr. digitalizator-skaner, TTL logicni analizator ali kaj drugega z ustreznim softverom. HARDWARE (slika 4a, 4b) Vezje YU3KQ 2716/32 PGM + CENTRONIKS je standardnih MV-DSP dimenzij in se v vodilo vstavi na enak nacin kot vse Matjazeve plosce. Zgrajeno je na enostranskem vitroplastu 1.6 mm, z nekaj mosticki katere bi se bilo z lahkoto otresti na dvoslojnem vezju, katerega skoraj vsi tako radi osvetljujemo in jedkamo... Pred pricetkom spajkanja elementov, vezje temeljito prekontroliramo in premerimo povezave ter morebitne kratke stike. Najvec vzrokov nedelovanja ali napacnega delovanja je mnogokrat prav v slabo pregledani tiskanini ali nepreverjenih elementih. Torej tudi elemente pod instrument! Vsi upori so v horizontalni legi z izjemo 9 x 100k - ce nimamo uporovne letvice. Na mesto kjer bi naj prisel eprom damo 24 pinsko profi! podnozje da lahko kasneje tiskanino povezemo z ploscatim kablom na TEXTOL podnozje ki je privito na zunanji strani ohisja DSP racunalnika. Tudi na mesto CENTRONIKS prikljucka damo 16 pinsko profi podnozje, katerega bomo kasneje povezali na ustrezno vticnico na ohisju. Slika 3 prikazuje razpored prikljuckov na CENTRONIKS podnozju, izvedbo uporovne letvice ce le te nimamo in naslove yPD 71055 cipa. SOFTVER EPROM.EXE (slika 5) Vsi uporabni programi za delo z to plosco so nalozeni v izvorni obliki na YT3A BBS-u v DSP3MV direktoriju. Za programiranje 2716/32 epromov sem napisal program z nazivom EPROM.SRC, oziroma EPROM.EXE v prevedeni obliki. Za pravilno delovanje programa moramo imeti vstavljeno v vodilo DSP racunalnika - delujoco YU3KQ 2716/32 PGM + CENTR. kartico. V slucaju da kartice ni v vodilu, bo program EPROM.EXE nasilno prekinjen, kajti DSP na zahtevanem naslovu ne bo nasel PIO cipa. Ko je kartica v DSP-ju pozenemo program in na zaslon dobimo meni sestavljen iz osmih opcij. Pa pojdimo po vrsti: 1. Omogoca izbor tipa eproma. 0 - 2716 (25v) 1 - 2732 (25v) 2 - 2732A (21v) 2. Ime zapisa. Tukaj dolocimo ime zapisa v ramu za pisanje v eprom ali citanje iz eproma. 3. Dolzina v epromu. Verjetno ni potrebno pojasnjevati.. 4. Naslov v epromu. Omogoca programiranje od dolocenega naslova dalje. 5. Citanje eproma. Citanje vsebine eproma z zapisom v datoteko imenovano v 2. tocki menija. 6. Programiranje eproma. 7. Verifikacija vsebine eproma. 8. Test eproma. Tukaj tstiramo ce je eprom prazen - obrisan, torej ce so vse spominske lokacije FFH. Pozor: Eprom lahko gre uspesno cez ta test, pa ga vseeno ne bomo mogli sprogramirati ce je skurjen! 0. Izhod iz programa. Vse kriticne opcije - kjer je posredi potreba po direktnem kontaktu z epromom so narejene tako, da ob izboru (npr. 5. opcije citanje) DSP izpise in zahteva: [ Citanje EPROMa ] Vstavi 2716 EPROM v podnozje Program nam pove v oglatih oklepajih katero opcijo smo izbrali, nadalje kateri tip eproma smo dolocili pod prvo opcijo in kasna bo nasa poteza: VSTAVI, . Torej eprom vstavimo sele takrat ko to od nas zahteva! Z tem imamo eno 'varovalko' vec, saj je program napisan tako, da drzi eprom v stand-by stanju, vendar pa - napajalna napetost eproma je stalno prisotna na TEXTOL podnozju in je bolje da se drzimo gornje zahteve. Kriticne opcije so: citanje, programiranje, verifikacija in test. Po opravljeni operaciji program zahteva od nas da eprom damo iz podnozja. Test eproma nam se izpise: EPROM je prazen ali xxxxH polnih lokacij, ce so le te razlicne od FFH in *** EPROM NI PRAZEN !!! ***. Po vsakem programiranju napravimo verifikacijo vsebine eproma, da se prepricamo ce smo zares zapisali vanj tisto kar smo hoteli. Nasilno prekinjanje programa z CTRL+C ali kako drugace ni priporocljivo, oziroma prepovedano ko je eprom v podnozju. Ce ze moramo moramo napravit taksno potezo dajmo eprom prej iz podnozja. Se nekaj: dokler nismo pognali EPROM.EXE programa NE DAJAJMO epromov v podnozje! SOFTVER PRINT.EXE (slika 6) Za izpise na tiskalnik ali zapis v eprom simulator sem napisal program PRINT.EXE. Kaksen velik komentar okoli tega programa verjetno ni potreben. Ob zagonu zahteva da vnesemo ime in extenzijo datoteke za print - posiljanje na centroniks port. Program prenese vse ASCII znake pravilno, torej lahko posiljamo preko datoteke vseh oblik. V slucaju ko na centroniks port nimamo prikljucene naprave program caka na zacetek prenosa, oziroma dovoljenje na BUSY nozici porta. Enako se zgodi ko preriferna naprava ni vec sposobna sprejemati podatkov iz tega porta nasega DSP-ja. Program nam v spodnji vrstici izpisuje stevilo bajtov ki mu jih je se ostalo za prenos. Prekinitev izpisa je mozna na grob nacin z CTRL+C. Program je pri meni v uporabi na Brother in CITIZEN matrixih, HP IIP laserjet-u in Z80 based eprom simulatorju. Z samim hardverskim delom se da krmilit se kaksna druga naprava, pa tudi INPUT opcijo bi bilo dobro hardversko in softversko podpret, o tem pa morda kdaj drugic.