Nuolatinės atminties programatorius

Home / Elektromechanika / Nuolatinės atminties programatorius

VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS

ELEKTRONIKOS FAKULTETAS

RADIJO APARATŪROS KATEDRA

Eduardas Gebenis

NUOLATINĖS ATMINTIES PROGRAMATORIUS

Baigiamasis bakalauro darbas

Elektronikos studijų programa

Elektroninės aparatūros ir kompiuterinės technikos kryptis

Vadovas: doc. A. Baškys

Katedros vedėjas: prof. habil. dr. J. Skudutis

2002

Vilnius

ANOTACIJA

Eduardas GEBENIS

Nuolatinės atminties programatorius. Baigiamasis darbas elektronikos inžinerijos bakalauro laipsniui. Vilniaus Gedimino Technikos Universitetas. Vilnius, 2002, 40 p., 16 iliustr., 6 lent., 1xA1, 4xA4, 3xA3 brėž., 3xA1, 1xA2 plak.

Baigiamojo darbo tikslas – susipažinti su nuolatinėmis EPROM tipo atmintimis, parinkti programatoriaus schemą, atlikti jos analizę, suprojektuoti spausdintinę plokštę, sumontuoti veikiantį maketą ir atlikti jjo eksperimentinį tyrimą. Darbe apžvelgta literatūra, išnagrinėtos analogiškos paskirties programatoriai, aptartos atminties mikroschemos programavimo ypatybės. Parodyta, kad suprojektuotas programatorius visiškai tenkina baigiamojo darbo užduoties techninius reikalavimus.

Noriu padėkoti PFI Mikroelektronikos laboratorijos darbuotojams už suteiktas vertingas pastabas ir pasiūlymus ruošiant baigiamąjį darbą.

1. Įvadas

Puslaidininkių pramonė ypač sparčiai pradėjo vystytis per pastaruosius kelerius metus. Nei vienas šiuolaikinis įrengimas neapsieina be pačios įvairiausios paskirties valdymo mikroschemų, atminties blokų, duomenų perdavimo sąsajų, galingų mikroprocesorių, kurie naudojami visur, pradedant pačia paprasčiausia buitine technika ir baigiant moderniausia medicinine aaparatūra, automobiliais, telekomunikacijų tinklais. Sparčiai vystantis šiuolaikiniam pasauliui, duomenų saugojimas, perdavimas dideliais greičiais, apdorojimas tampa vienu svarbiausių šiuolaikinės technikos uždavinių ir didžiausią reikšmę sprendžiant šias problemas įgyja būtent puslaidininkinių prietaisų gamintojai.

Puslaidininkinių modulių ir mikroschemų gamyba yra itin specializuotas procesas. Daugelis mmažesnių įmonių gamina vos keliolikos specifikacijų gaminius, kurie naudojami labai siauros paskirties srityse. Tačiau jų įvairovė yra tokia didelė, kad net pačios didžiausios puslaidininkių įmonės, tokios kaip Intel, Motorola, ST, IBM ir kitos, nepajėgios dominuoti visame puslaidininkių kūrimo ir gamybos cikle. Stambiosios įmonės daugiau specializuojasi galingų mikroprocesorių, atminties mikroschemų, interfeisų projektavime ir gamyboje, o mažesnės – siauresnės paskirties įrengimuose.

Puslaidininkių pramonei yra būdingas gana aiškiai išreikštas cikliškumas. Rinkos tyrimų įmonės „Dataquest“ duomenimis, 2000 metais puslaidininkių pramonės augimas sudarė 36,9 proc., o bendri pardavimai siekė 231,6 mlrd. USD. 2001 metais puslaidininkių pramonės pardavimai išaugo dar 27,5 proc. 2002 m. – 13,9 proc. Cikliškumas susidaro dėl pačios paprasčiausios priežasties – didėjančios pasiūlos. Kadangi šis verslas yra itin pelningas ir sparčiai augantis (pardavimų ppelningumas siekia iki 40 – 50 proc., metinis apyvartos augimas neretai pranoksta 30 – 80 proc.), natūralu, kad įmonės nuolat didina pajėgumus, auga konkurencija. Anksčiau ar vėliau paklausa viršija pasiūlą, tada krenta kainos, mažinamos gamybos apimtys, pakilimą seka nuosmukis. Žinoma, ši nuosmukių priežastis – ne vienintelė, tačiau viena svarbiausių. Gamybos sumažėjimas gali būti gana ženklus. Per 1997 – 1998 metų nuosmukį, dinaminės atminties (DRAM) gamybos apimtys sumažėjo nuo 45 mlrd. USD 1996 metais iki 20 – 30 mlrd. USD 1997 mmetais, t.y. beveik du kartus, tačiau planuojama, kad 2003 metais šis sektorius gali pasiekti 100 mlrd. USD bendrus pardavimus.

Taigi puslaidininkinių prietaisų gamyba labai sparčiai vystosi. Ypač didelis vystymosi progresas jaučiamas elektriškai nepriklausomų atminties mikroschemų gamyboje. Ženklus pakilimas prognozuojamas taip vadinamų “flash memory” mikroschemų gamintojams, kurios naudojamos mobiliuose telefonuose, videokamerose ir kitoje buitinėje aparatūroje. Laukiama, kad 2003 metais jų pardavimai sudarys apie 18 proc. nuo visų puslaidininkių sektoriaus pardavimų.[1]

Taip sparčiai vystantis technologijoms, puslaidininkinių atminties mikroschemų asortimentas tapo toks didžiulis, kad tampa gana sunku jame orientuotis. Kiekvienas gaminys pasižymi sau būdingomis savybėmis, savo privalumais ir trūkumais. Būtent čia didžiulį vaidmenį atlieka atminties mikroschemų universalumas, galimybė jas pritaikyti pagal savo norus, galimybes ir poreikį. Jau nebeužtenka vien tik žinoti apie jų savybes; tenka tomis savybėmis manipuliuoti ir jas keisti. Čia į pagalbą ateina taip vadinami nuolatinės atminties programatoriai, kurių dėka atminties mikroschema tampa ne šiaip bevertis gaminys, o intelektualus puslaidininkinis modulis, galintis atlikti daugybę funkcijų. Atliekamų funkcijų gausa, sudėtingumas, atlikimo greitis ir kt. labai stipriai priklauso nuo programuotojo kūrybiškumo, sugebėjimų ir patirties.

Programatorių, kaip ir atminties mikroschemų, pasirinkimo gausa irgi yra stulbinanti. Jie būna skirti tiek vieno tipo mikroschemoms, tiek labai universalūs – tinkantys plačiam spektrui atminčių. Skiriasi jų veikimo sparta, patikimumas ir žžinoma kainos.

Savo baigiamajame darbe aš išanalizavau nuolatinių atminčių bei programatorių tipus, parinkau labiausiai tinkančio programatoriaus schemą, atlikau jos analizę, suprojektavau spausdintinę plokštę, sumontavau veikiantį maketą bei atlikau jo eksperimentinį tyrimą.

2. LITERATŪROS APŽVALGA

2.1 Nuolatinių atminčių tipai, programavimas ir panaudojimas

Atmintis, kurioje informacija išlieka atjungus maitinimą, vadinama elektriškai nepriklausoma nuolatine atmintimi (angl. NVM – Non Volatile Memorie). Elektriškai nepriklausoma atmintis naudojama kompiuteriuose BIOS kodui saugoti, periferinių įrenginių konfigūracijai, daugelyje buitinių bei pramoninių prietaisų ir kt. Galima išskirti keletą energetiškai nepriklausomos atminties tipų:

· ROM (angl. Read Only Memory)

· PROM (angl. Programmable Read Only Memory)

· EPROM (angl. Erasable Programmable Read Only Memory)

· EEPROM (angl. Electrically Erasable Programmable Read Only Memory)

· Flash atmintis (angl. Flash Memory)

· FRAM (angl. Feroelectric Random Access Memory)

ROM atminties mikroschemos šiuo metu praktiškai nenaudojamos, nes neleidžia keisti įrašytą į jas atmintį. Šių mikroschemų programavimas atliekamas jų pagaminimo etape. Norint pakeisti kodą reikėdavo iš naujo projektuoti naują mikroschemą.

PROM rado kur kas didesnę pritaikymo sritį, nes šio tipo mikroschemos beveik nejautrios elektromagnetinių laukų poveikiui. Jos programuojamos tik vieną kartą po pagaminimo su specialiais programatoriais.

Ištrinamos ir daugelį kartų perrašomos EPROM tipo atmintinės (2.1 pav.) iki šiol yra

2.1 pav. EPROM tipo atmintis DIP korpuse

gana populiarios. Jos dažniausiai naudojamos spausdintuvuose, didėlės raiškos televizoriuose, DVD bei vaizdo grotuvuose, žaidimams skirtuose įrenginiuose. Taikant vis ppažangesnes mikroschemų gamybos technologijas, pavyko labai stipriai padidinti EPROM atmintinių dydį. Jei pradžioje reikėdavo tenkintis 16-256 Kb dydžio atmintimis, tai dabar jau gaminamos net 64 MB mikroschemos. Padidėjo ne tik jų talpumas, bet ir kreipimosi greitis, sumažėjo suvartojamos elektros energijos kiekis.

Dauguma EPROM atmintinių turi tas pačias savybes kaip ir ROM atmintis. EPROM duomenų linijos surištos naudojant plaukiojančią užtūrą, kurios struktūra pavaizduota 2.2 pav.

2.2 pav. EPROM atmintinėse naudojamo metalo-oksido lauko tranzistoriaus plaukiojančios užtūros schema

EPROM modulis turi dvi užtūras. Vidinę, arba plaukiojančią užtūrą, iš visų pusių padengtą oksido sluoksniu. Ši konstrukcija izoliuoja vidinį elektrodą ir praktiškai panaikina bet kokius nuotėkių takelius, kurie priešingu atveju sujungtų užtūrą su išore. Be to plaukiojanti užtūra turi sekciją, kuri yra labai arti substrato, atskirto labai plonu oksido sluoksniu. Išorinė užtūra yra prijungta per terminalą ir funkcionuoja panašiai kaip ir paprastas metalo-oksido lauko tranzistorius. Įtampos panaudojimas tarp išorinės užtūros ir šaltinio sukurto elektrinio lauko, kuri jungiama kaip talpa per vidinę užtūrą su substrato paviršiumi, įtakoja lauko tranzistoriaus nuotėkio į šaltinį voltamperines charakteristikas. Daugumoje EPROM atminčių, kiekvienoje ląstelėje yra plaukiojančios užtūros tranzistorius. Jei plaukiojanti užtūra yra neįkrautą, MOP tranzistorius yra laidus energijai ir ląstelę galima laikyti loginiu 0. MOP tranzistoriaus plaukiojanti užtūra gali būti padaryta

nelaidi, tačiau tai priverčia užtūros elektrodą įsikrauti neigiamai. Tai daroma įrašymo metu (2.3 pav.) įžeminant šaltinį.

2.3 pav. EPROM atminties įrašymo procesas

Programavimo įtampos Vgs (25 – 28 V) ir Vds (16 – 20 V) priverčia tekėti elektronus link plaukiojančios užtūros, tuo pačiu didinant slenkstinę MOP tranzistoriaus įtampą. Susidaro laidus kanalas tarp šaltinio ir nuotėkio sluoksnio. Elektronai, tekantis žemiau plono oksido sluoksnio, po plaukiojančia užtūra, įgauna didelį greitį ir bombarduoja sritį nuo plaukiojančios užtūros iki substrato. Tai sąlygoja daugiau energijos turinčius eelektronus migruoti per oksido sluoksnį į plaukiojančią užtūrą. Šis procesas yra savaime reguliuojamas, kadangi bet kokia neigiama įtampa ant plaukiojančios užtūros sumažina substrato laidžią sritį. Kai programavimo įtampa yra pašalinama, krūvis esantis plaukiojančioje užtūroje išlieka. Kadangi šis krūvis yra neigiamas, tai sumažina bet kokios įtampos Vgs įtaką išorinei užtūrai ir kartu padidina atminties efektyvią slenkstinę įtampą. Atminties elementas sukonstruotas taip, kad slenkstinė įtampa viršija 5 V, kai plaukiojanti užtūra praleidžia krūvį. Esant tokiom sąlygom sistema bus nelaidi tol, kol jos uužtūra turi energijos. Atminties elemente atsiras loginis 1.

Krūvis, sukauptas EPROM atminties plaukiojančioje užtūroje gali išlikti labai ilgą laiką. Apytikriai skaičiavimai rodo, kad EPROM atminties ląstelė gali išsaugoti duomenys 10 – 100 metų laikotarpyje. Krūvis gali būti pašalintas nuo plaukiojančios užtūros aapšvietus ją atitinkamo bangos ilgio ultravioleto šviesa. Nominalus šviesos šaltinio bangos ilgis turi būti 254 nm bei turėti didelę energiją (atliekant ši procesą būtinai turi būti naudojama akių apsauga!). Veikiant silicio dioksidą ultravioletine šviesa, laisvos plaukiojančios užtūros elektronų bei skylių poros įgaus pakankamai kinetinės energijos, kad įveikti dioksido elektrinį barjerą. Kad apsaugoti oksidą nuo nepageidaujamos šviesos (saulės ar kt.) poveikio, oksido sluoksnis yra apsaugojamas. Daugelyje atvejų yra naudojami vienas arba keli pasyvinimo sluoksniai, turintys savyje nitrido, kuris efektyviai apsaugo nuo nepageidaujamų ultravioletinių spindulių. Pats oksido sluoksnis taip pat absorbuoja dalį šviesos, todėl ultravioleto šviesos laidumo didinimo efektyvumas nėra labai žymus. Būtent dėl to EPROM atminčių ištrynimas trunka nuo kelių minučių iki valandos. Įrašytą informaciją galima ištrinti per specialų langelį mikroschemoje. KKai kurios mikroschemos neturi lango; informacija ištrinama panaudojant rentgeno spindulius. Spinduliavimo metu visa informacija ištrinama vienu metu per keletą minučių. Po ištrynimo EPROM atmintis gali būti pakartotinai perprogramuota įrašant į ją naujus duomenys. Deja įrašymo arba ištrynimo procesas atima daug laiko. Kitaip nei PROM atmintys, kurios programuojamos tik vieną kartą, EPROM mikroschemas galima programuoti daug kartų su specialiu programatoriumi, prijungtu prie kompiuterio COM arba LPT sąsajos.[2]

Ten, kur reikalingas reguliarus duomenų ištrynimas ir perprogramavimas, didesnio lankstumo suteikia elektriškai ištrinama bei pperprogramuojama atmintis, kuri vadinama EEPROM. Šio tipo atmintys naudojamos (2.4 pav.) automobiliuose (stabdžių blokavimo ir variklio sekimo sistemos, oro pagalvės), telekomunikacijų įrangoje (telefonai, faksai, modemai), buitinėje vaizdo technikoje (televizoriai, vaizdo kameros, mp3 grotuvai),

2.4 pav. EEPROM atminties mikroschemų panaudojimas

specializuotuose pramonės įrenginiuose (variklių valdikliai, matavimo įrenginiai), kompiuteriuose (CD grotuvai, motininės plokštės ir kt.).

Panašiai kaip ir dauguma EPROM, EEPROM atmintis kiekvienoje ląstelėje turi plaukiojančią MOP tranzistoriaus užtūrą (2.5 pav.).

2.5 pav. EEPROM atminties ląstelė: a) struktūra, b) mikroskopinė nuotrauka

Šiuo atveju plaukiojanti užtūra yra įkraunama naudojant didesnį potencialą tarp įžeminto šaltinio ir užtūros su nuotėkiu. Tai tunelinis efektas, kuris priverčia elektronus tekėti per oksido sluoksnį, tokiu būdu įkraunant plaukiojančią užtūrą bei padidinant įtaiso slenkstinę įtampą (ląstelėje atsiranda loginis 1). Tunelinis efektas pasireiškia esant plonam dielektriko sluoksniui. Šis efektas taip pat naudojamas esant storesniam dielektriko sluoksniui, atitinkamai padidinus įtampą skersai jo. Didžiausia šio efekto panaudojimo problema yra ta, kad daugelyje naudojamų dielektrikų silicio storis yra skirtingas. Todėl didžiausia srovės dalis prateka ploniausiais sluoksniais, o tai gali iššaukti silicio deimantines gardelės pakitimus. Toks ilgalaikis poveikis sukelia dioksido sluoksnio nusidėvėjimą. Būtent tai riboja EEPROM atminčių perprogramavimų skaičių. Tunelinis efektas yra pakankamai greitas. Programavimas (2.6 pav.) paprastai trunka nuo kelių sekundžių iki minutės..

2.6 pav. EEPROM atminties įrašymas

Silicio dioksido pplaukiojanti užtūra turi 3.2 eV energetinį barjerą. Pastarojo storis proporcingas dioksido sluoksnio storiui ir nusako elektrinio lauko stiprumą, reikalingą elektronams, kad įveikti šį potencialinį barjerą.

Plaukiojanti užtūra iškraunama naudojant didelę teigiamą įtampą (2.7 pav.).

2.7 pav. EEPROM atminties ištrynimas

Ji priverčia elektronus tekėti nuo įkrautos užtūros link substrato, tokiu būdu atstatant plaukiojančios užtūros pradinę, neįkrautą būseną. Fizikinė EEPROM tranzistoriaus geometrija šiek tiek skiriasi nuo MOP tranzistoriaus, skirto EPROM atminties ląstelėms. Pirmu atveju yra naudojama gana didelė paviršinė sritis ir tokiu būdu negalimas toks pat didelis atminties tankis, kaip antru atveju. Taigi EEPROM atmintis pralenkia EPROM greičiu, tačiau atsilieka talpumu.[4]

Šiuo metu labiausiai paplitusi yra Flash atmintis, kuri pasižymi tiek dideliu tankiu, tiek dideliu greičiu (2.8 pav.). Šiuo metu Flash atminties mikroschemos praktiškai išleidžia visos

2.8 puslaidininkinės atminties pasiskirstymas

firmos, kurios gamina atminties mikroschemas. Flash atminties struktūra yra labai panaši į EEPROM atmintį (2.9 pav.).

2.9 pav. Flash atminties ląstelės struktūra

Pagrindiniai pranašumai prieš EEPROM – trumpas kreipimosi ir informacijos ištrynimo laikas. Šis laikas priklauso nuo plaukiojančios užtūros ilgio bei slenkstinės įtampos dydžio ir kinta eksponentiniu dėsniu (2.10 pav.).

2.10 pav. Flash atminties programavimo ir ištrynimo trukmės priklausomybė nuo užtūros ilgio (a) ir slenkstinės įtampos dydžio (b)

Flash atmintis plačiai naudojamos netik kompiuteryje, bet ir mobiliuose telefonuose, tinklinėje įrangoje, spausdintuvuose, ffaksuose ir t.t. Nežiūrint į nesibaigiančias galimybes tobulinant Flash atmintį daugelis analitikų skaito, kad prietaisų rinkoje ją išstumti naujo tipo atmintinis – feroelektrinė atmintis ( FRAM).

Pirmosios FRAM mikroschemos buvo pagamintos korporacijoje Ramtron jau 1984 m. Gamybos licenzija šioms mikroschemos įsigijo tokie dideli atmintinių gamintojai kaip Hitachi, Toshiba, Fujitsu, Samsung.Skirtingai nuo tradicinės technologijos, šių atminties elementų gamybai FRAM buvo naudojama segnetoelektrinė plėvelė, paremta oksidų – metalų lydiniu (titanas, cirkonis, švinas ir t.t.). Feroelektrinėje atmintinėje su atsitiktiniu priėjimu informacija išsisaugo netgi tada, kai atjungiamas įtampos šaltinis. FRAM turi pranašumus prieš DRAM (galimybė daug kartų perrašinėti) ir SRAM (didelis greitis) bei prieš ROM atmintį (energetiškai nepriklausoma). Atsižvelgiant į tai galiam pagaminti idealų atminties saugojimo įrenginį – greitą, ilgai išsisaugančią atmintį.1998 lapkritį Samsung pranešė apie bandomąją mikroschemų FRAM partiją su 64 kB talpa. Pradėti gaminti feroelektrinę atmintį yra pasiruošusios tokios kompanijos kaip Siemens AG, Hyundai, Motorola ir NEC. Specialistai mano, kad mikroschemos FRAM su talpa nuo 1MB ir daugiau pateks jau 1999 metais ir palaipsniui išstums Flash, SRAM ir EEPROM atmintines. [5]

Taigi išnagrinėjome skirtingų nuolatinių atminčių struktūrą, privalumus ir trūkumus. Apibendrinant palyginsime visas minėtas atmintis (2.1 lentelė).

2.1 lentelė

Skirtingų atminčių palyginimas

Flash atmintis FRAM EEPROM EPROM ROM

Duomenų saugojimas galimas galimas galimas galimas galimas

Perrašymas galimas galimas galimas galimas –

Perrašymo būdas Elektriškai įrašoma + Elektriškai

ištrinama Elektriškai perrašoma Elektriškai perrašoma + elektriškai ištrinama Ištrinama ultravioletu + Elektriškai įrašoma –

Įrašymo greitis geras puikus patenkinamas patenkinamas –

Skaitymo greitis geras geras patenkinamas patenkinamas patenkinamas

Universalus panaudojimas puikus patenkinamas blogas patenkinamas puikus

Kaip matome iš lentelės, skirtingos atmintys pasižymi savo privalumais ir trukumais. Todėl vartotojas turi pats rinktis, kas jam yra svarbiau: perrašymo galimybė, programavimo greitis, skaitymo greitis, universalus panaudojimas ar pagaliau kaina. Tik atsižvelgę į šiuos dalykus ir juos suderinę pagal savo poreikį bei galimybes mes gausime optimaliausią naudoti atminties tipą.

2.2 Programatorių tipai ir jų pasirinkimas

Šiuo metu pasaulyje programuojamų atminties mikroschemų yra labai daug – tai mikroschemos tiek su nnuosekliu, tiek su lygiagrečiu informacijos priėjimu (EPROM, EEPROM, Flash), mikrokontroleriai su vidine duomenų ir komandų atmintimi, programuojamos logikos mikroschemos (PLD). Be to tokių gaminių kiekiai su kiekvienais metais vis auga, didėja jų lankstumas bei darosi vis sudėtingesnė struktūra. Tačiau iš kitos pusės, kaip atsakas į naudojamų mikroschemų reikalingumą, rinka vis labiau papildoma dideliu kiekiu programatorių. Tampa vis sunkiau padaryti teisingą pasirinkimą ir išsirinkti reikiama programatorių. Kaip nesuklysti renkantis reikiama programatorių? Žemiau pabandysime atsakyti į šį klausimą.

Programatorius, pagal funkcines jų galimybes, ssąlyginai galima suskirstyti taip:

· Programatoriai, programuojantys atminties mikroschemas (EPROM, EEPROM, FLASH)

· Programatoriai, programuojantys atminties mikroschemas bei vidinę mikrokontrolerių atmintį

· Programatoriai, programuojantys atminties mikroschemas, vidinę mikrokontrolerių atmintį bei programuojamos logikos mikroschemas

· Universalus programatoriai – testeriai

Pateiktą klasifikavimą galima laikyti sąlyginiu, kadangi griežtų ribų tarp skirtingų pprogramatorių praktiškai nėra. Pirmos ir antros grupės programatoriai pasižymi mažiausia kaina ir paprastumu. Trečios grupės programatoriai paprastai yra žymiai sudėtingesni ir jų kaina atitinkamai didesnė. Tai galima paaiškinti atsižvelgiant į programuojamos logikos prietaisų darbo ypatumus. Lyginant su kitais programuojamais įtaisais, programuojamos logikos mikroschemos turi ryškių savitumų. Paprastai informaciją, apie atminties mikroschemų ir vidinės atminties mikrokontrolerių programavimą, firmos gamintojos neslepia ir pateikia savo kataloguose. Kiek kitaip yra su PLD mikroschemomis, informaciją apie kurias galima gauti tik pasirašius atitinkamas sutartis su gamintojais. Pagrindinis tikslas jiems – programavimo kokybė bei tikslus programavimo procedūros laikymasis. Paskutinė grupė – universalūs programatoriai, didžiausiu sudėtingumu ir kaina pasižymintys prietaisai. Jie sugeba programuoti labai skirtingo tipo mikroschemas. Jų kaina gali siekti nuo keleto tūkstančių iki dešimčių tūkstančių dolerių.

Pirmiausia rreikėtų aptarti tą programatoriaus detalę, su kuria tenka daugiausiai dirbti – tai lizdas, į kurį yra talpinamos programuojamos mikroschemos. Tai viena iš pačių svarbiausių programatoriaus detalių, kadangi nuo jos kokybės ir patikimumo priklauso viso įtaiso darbas. Kaip rodo praktika, bet kuris programatorius, nepriklausomai nuo jo sudėtingumo, kainos ir funkcinių galimybių, būtinai turi turėti specialų lizdą, užtikrinantį patikimą, daugkartinį kontaktą su programuojama mikroschema. Firmos, gaminančios tokius lizdus, garantuoja patikimą kontaktą dešimčiai tūkstančių operacijų. Patogiausi vartotojui yra specialus lizdai su nuliniu poveikiu ((ZIF – Zero Insertion Force socket). Jei programatorius neaprūpintas specialiu lizdu, skirtu daugkartiniam naudojimui, o vietoje jo įdėtas pigus vienkartinis lizdas, tai galima skaityti, kad pinigai skirti programatoriui buvo panaudoti neapgalvotai. Tuo galima lengvai įsitikinti, kadangi dėl blogo kontakto lizde bus labai lengva sugadinti programuojamas mikroschemas. Kai kuriuose programatoriuose įrengiami universalus lizdai, apskaičiuoti įvairių korpusų mikroschemoms. Brangesniuose programatoriuose gali būti įstatomi vienu metu kelių tipų ZIF lizdai, tinkantis įvairiems mikroschemų korpusams (LCC, QFP ir t.t.). Kartais programatoriai yra aprūpinami skirtingų tipų keičiamais lizdais. Mikroschemų su dideliu kiekiu išvadų ir besiskiriančių nuo DIP korpusų programavimui yra naudojami specialus adapteriai. Tai gali taip pat smarkiai padidinti programatoriaus kainą.

Šiuo metu gyvuoja du programatorių projektavimo būdai. Pirmas ir labiausiai numanomas naudoja programatorių gamybai universalias, standartines aparatūrines sąsajas bei detales. Universalios tvarkyklės privedamos prie lizdų išėjimų ir turi tenkinti visą eilę specifinių aparatinių reikalavimų programuojant mikroschemas. Vieni iš tokių reikalavimų yra šie: sugebėjimas perduoti ir nuskaityti loginius lygius, sugebėjimas perduoti sudėtingas taktines eiles, sugebėjimas paduoti įtampą diapazone nuo 0 iki 27 V su 0.1 V paklaida ir t.t. Visų šių sąlygų tenkinimas iššaukia milžiniškas išlaidas. Universalaus programatoriaus tvarkyklių skaičius turi atitikti lizdo išvadų skaičiui, pvz. 40 tvarkyklių DIP-40 lizdui arba 84 tvarkyklės LCC-84 lizdui. Taigi įįtaisas tampa labai sudėtingu ir brangiu, bet tuo pačiu ir universaliu. Turint 40 universalių tvarkyklių ir universalų lizdą DIP-40 galima tvirtai pasakyti, kad galiam bus programuoti visas esamas ir naujas mikroschemas, kurios turi DIP korpusus (iki 40 išvadų), be papildomų sąsajų. Būtent pagal šiuos principus konstruojami brangus ir universalus programatoriai.

Antras būdas pagrįstas tuo, kad programatorius optimizuojamas atsižvelgiant į numanomas naudoti mikroschemas. Šios rūšies programatoriai paprastai yra žymiai pigesni už universalius, tačiau tuo pačiu yra mažesnio lankstumo bei turi mažesnes panaudojimo sritis. Papildomas naujų mikroschemų tipų palaikymo įdiegimas dažnai turi sunkumų, o kartais yra ir neįmanomas.

Atsižvelgiant į programatorių gamybos ypatumus galima teigti, kad kompromisas tarp skirtingų projektavimo technologijų yra šis: universalios tvarkyklės skaidomos į du funkcinius blokus; universalių tvarkyklių rinkinį ir „aukštos“ komutacinės įtampos įrenginį. Tokia programatoriaus architektūra leidžia išsaugoti universalių programatorių privalumus ir žymiai sumažinti gamybos bei pardavimo kaštus.

Apžvelgsime programatoriaus prijungimo prie kompiuterio būdus. Labiausiai paplitę yra šie:

· Prijungimas prie spausdintuvo sąsajos;

· Prijungimas prie nuoseklios sąsajos;

· Prijungimas prie specialios kompiuteryje įtaisytos plėtimo plokštės.

Kiekvienas iš pateiktų būdų turi savo privalumų ir trūkumų. Specialių plėtimo plokščių panaudojimas prijungiant programatorių prie kompiuterio žymiai supaprastina jo schemą. Šiuo atveju galima atsisakyti nuo pakankamai galingo maitinimo šaltinio, panaudojant kompiuterio maitinimo šaltinį bei naudoti centrinį kompiuterio procesorių, kaip valdantį pprogramatoriaus įtaisą. Taip pat pasiekiamas gana didelis duomenų apsikeitimo greitis tarp kompiuterio ir programatoriaus. Tačiau toks realizavimas turi ir gana nemažai trūkumų. Visų pirma labai stipriai krenta programatoriaus mobilumas, t.y. galimybė naudoti tą patį programatorių skirtinguose kompiuteriuose ( pvz. vienos laboratorijos ribose). Taip pat kyla labai daug keblumų naudojant šiuos programatorius su nešiojamais kompiuteriais, kadangi tenka naudoti dar skirtingas sujungimo plokštes.

Kitas programatoriaus ir kompiuterio jungimo būdas pagrįstas panaudojant nuosekliąją kompiuterio sąsają. Šis variantas leidžia sujungti programatorių su bet kokio tipo kompiuteriu. Bene pagrindinis šio būdo trūkumas yra labai lėtas pralaidumo kanalas. Maksimalus nuoseklaus kanalo RS-232 duomenų perdavimo greitis siekia tik 115 kB/s, kas stipriai įtakoja perdavimo greitį tarp programatoriaus ir kompiuterio.

Programatoriaus prijungimas prie lygiagrečios kompiuterio sąsajos yra bene pats priimtiniausias jungimo būdas. Šis būdas leidžia pasiekti gana didelį duomenų perdavimo greitį bei nereikalauja didelių išlaidų. Be to centrinis kompiuterio procesorius gali būti panaudotas kaip pagrindinis programatoriaus valdymo įrenginys.

Taip pat verta atkreipti dėmesį ir į tam tikras smulkmenas, kurios esant intensyviam darbui su programatoriumi gali pridaryti arba daug nemalonumų, arba palengvinti darbą. Prie tokių „smulkmenų“ priklauso programatoriaus gebėjimas patikrinti, ar mikroschema teisingai įstatyta į lizdą, gebėjimas automatiškai patikrinti programatoriaus funkcionavimą.

Atnaujinimo būdas – tai labai svarbus procesas programatorių eksploatavime. Būtinybė atnaujinti

gali atsirasti dėl daugelio priežasčių. Tai gali būti išsiaiškinus klaidas programatoriaus darbe arba norint padidinti programuojamų mikroschemų tipų skaičių. Atnaujinimo būdas priklauso nuo įtaiso aparatinės sandaros. Vienuose gaminiuose programavimo algoritmai glaudžiai susiję su naudojamomis detalėmis, kituose jie yra nesunkiai pakeičiami. Pirmu atveju norint patobulinti prietaisą reikalingas pačio programatoriaus modifikavimas, o tai gali sukelti gana nemažai nepatogumų. Kitu atveju norint patobulint programatorių užtenka atnaujinti jo programinę įrangą. Būtent pastaruoju principu projektuojami programatoriai su užkraunamais programavimo algoritmais. Čia užtenka tik atnaujinti programinę įįrangą ir Jūs jau dirbate su nauja programatoriaus versija. Taigi šis būdas yra labai patogus ir labai plačiai naudojamas.

Dabar atkreipkime dėmesį į programatoriaus gebėjimą patikrinti, ar programavimui paruošta mikroschema, teisingai įstatytą į lizdą. Iš pirmo žvilgsnio atrodanti nereikšminga, ši savybė pasirodo labai svarbi, kai mes pirmą kartą neteisingai įstatę mikroschemą, ją sugadiname. Kad to neatsitiktų ir reikalinga patikra. Tačiau verta pastebėti, kad pilnavertis tokios patikros realizavimas iš gamintojo reikalauja didėlių pastangų ir išradingumo, kadangi patikrą reikia atlikti pačiu nekenksmingiausiu mmikroschemai režimu bei jos nesugadinti.

Aparatinės programatorių sandaros aptarimo pabaigoje verta taip pat paminėti, kad labai svarbu yra programatoriaus sugebėjimas atlikti automatinį savęs patikrinimą. Šios savybės tikslas – įtaisytų elementų pagalba, patikrinti programatoriaus stovį ir priimti sprendimą, ar jis gali ddirbti ar ne. Deja ne visada įtaisyti elementai leidžia vienareikšmiškai patikrinti visų mazgų stovį, tačiau tai turi būti vis tiek atliekama, norint minimizuoti programatoriaus blogai atliekamo darbo tikimybę.

Dauguma programatorių darbą valdančių programų dirba DOS operacinėje sistemoje ir nekelia jokių specifinių reikalavimų kompiuteriui. Paprastai, tai gana seniai suprojektuotos programos. Paskutinius kelerius metus pradeda atsirasti programatoriai, kurių valdymas atliekamas Windows operacinėje sistemoje. Tai šiuolaikiniai produktai, kurių išvaizda yra žymiai elegantiškesnė, valdymas – patogesnis ,o funkcijų pasirinkimas – gausesnis.

Panagrinėsime, programinės įrangos architektūrą. Labiausiai paplitusi yra tokia architektūra, kurioje, kaip programatoriaus branduolys, naudojamas tarpinis duomenų buferis. Su šiuo buferiu atliekamos visos programatoriaus operacijos. Mikroschemos programavimui bylą reikia užkrauti į buferį, duomenis iš buferio užprogramuoti į mikroschemą bei palyginti mikroschemos turinį su buferiu. Tarpinio buferio ddydis paprastai yra koreliuojamas su tam tikro tipo mikroschemos dydžiu. Dažnai naudojama ir daug buferių turinti architektūra, su neribojamu jų skaičiumi. Ji leidžia dirbti su neribotu kiekiu nepriklausomų duomenų, atlikti jų analizę ir koregavimą. Pvz. galima naudoti du buferius skirtingų dviejų mikroschemų nuskaitymui, analizei bei jų pagrindu sudaryti naują duomenų masyvą trečiame buferyje, kurio turinį galima naudoti tolesniam programavimui arba išsaugoti kietajame diske.

Standartinis programatoriaus funkcijų rinkinys paprastai būna toks: mikroschemų skaitymas, įrašymas, palyginimas, ištrynimas (tik elektriškai perprogramuojamoms mikroschemoms), ištrynimo patikra. KKai kurie programatoriai turi automatinio programavimo funkciją. Tai leidžia atlikti dažnai naudojamas kombinacijas konkrečiam mikroschemų tipui. Paprastai tokia kombinacija susideda iš funkcijų: ištrinti mikroschemą, patikrinti ištrynimą, užprogramuoti, palyginti užprogramuotus duomenis su originalu, nustatyti apsaugas. Šios funkcijos patogumas tame, kad visą darbą galima atlikti vienu mygtuko paspaudimu.

Atskirai galima panagrinėti programatorių redagavimo funkcines galimybes. Labiausiai paplitęs yra duomenų redagavimas šešioliktainėje formoje, duomenų buferio užpildymas konstanta ir kontrolinės sumos skaičiavimas. Šio paprasto redagavimo funkcijų rinkinio užtenka paprastiems priedams. Profesionaliam programatoriaus naudojimui reikalingos platesnes redagavimo funkcijų galimybės. Prie jų priskiriami:

· galimybė redaguoti duomenys ne tik šešioliktainėje, bet ir dvejetainėje, aštuntainėje ir dešimtainėje sistemose;

· masyvo užpildymas duomenų eilute;

· duomenų eilutės paieška ir pakeitimas;

· duomenų invertavimas;

· masyvo duomenų perkėlimas buferio viduje ir tarp skirtingų buferių;

· kontrolinės sumos skaičiavimas;

· adresų ir duomenų magistralių konvertavimas.

Dar viena programatorių programinės įrangos savybė, apie kurią vertėtu pakalbėti – tai paketinis darbo režimas. Tik nedaugelyje programatorių yra realizuotas toks režimas. Jo pagrindinis privalumas – darbo automatizavimas. Naudojant paketinį darbo režimą, galima sudaryti darbo scenarijų su programatoriumi, tuo pačiu automatizuojant visą rutininį darbą. Įdomiausi tie prietaisai, kuriuose paketinis darbo režimas neturi jokių apribojimų ir kuriame prieinami visi programatoriaus resursai. Šiame režime galima užkrauti bylas, paleisti programavimą, valdyti programavimo parametrus bei langus ekrane, išvesti grafinius duomenys ir t.t. Kaip pavyzdį galima ppateikti paketinio režimo panaudojimą, programuojant mikroschemų partiją, kuriose turi būti užprogramuotas mikroschemų serijinis numeris. Specialia kalba yra sudaromas programatoriaus darbo scenarijus, kuris susideda iš tokių žingsnių: operatorius nurodo pradinę serijinio mikroschemos numerio reikšmę ir paleidžia programavimo procesą, programatorius užprogramuoja mikroschemą ir nurodo jos numerį, o sekančios mikroschemos numerį apskaičiuoja ir perkelia jį į tam tikrą atminties sektorių, kurį vėliau nuskaito. Toliau viskas kartojama cikliškai. Pateiktame pavyzdyje paketinis darbo režimas stipriai palengvina operatoriaus darbą ir eliminuoja būdingas operatoriui klaidas.[6]

3. PROGRAMATORIAUS PRINCIPINĖ SCHEMA IR JOS ANALIZĖ

Programatoriaus principinė elektrinė schema ir jos elementų sąrašas pateikti baigiamojo darbo grafinėje dalyje. Analizuodami šią schema pasinaudosime 3.1 lentele, kurioje pateiktas trumpas kompiuterio lygiagrečiosios sąsajos išvadų aptarimas.

3.1 lentelė

LPT sąsajos išvadų panaudojimas ir reikšmės

Išvadas Pavadinimas Apibūdinimas Tipas Panaudojimas schemoje

1 STROBE Strob impulsas Iš TAIP

2 D0 0 duomenų baitas Į/Iš TAIP

3 D1 1 duomenų baitas Į/Iš TAIP

4 D2 2 duomenų baitas Į/Iš TAIP

5 D3 3 duomenų baitas Į/Iš TAIP

6 D4 4 duomenų baitas Į/Iš TAIP

7 D5 5 duomenų baitas Į/Iš TAIP

8 D6 6 duomenų baitas Į/Iš TAIP

9 D7 7 duomenų baitas Į/Iš TAIP

10 ACK Patvirtinimas Į TAIP

11 BUSY Užimtumas Į TAIP

12 PE – – NE

13 SLCT – – NE

14 AUTO-FEED Valdymas Iš TAIP

15 ERROR – NE

16 INIT Nustatymas Iš TAIP

17 SLCT IN Užklausymas Iš TAIP

18 GND – – NE

19 GND – – NE

20 GND – – NE

21 GND Žemė – TAIP

22 GND Žemė – TAIP

23 GND Žemė – TAIP

24 GND Žemė – TAIP

25 GND Žemė – TAIP

D0-D7 duomenų magistralėmis atėję adresai patenka į U2, U4 adresų registrus – stiprintuvus (žiūrėti el. schemą). Į registrą informacija yra įrašoma nuosekliai, t.y. baitas po baito. Į U2 registro išėjimą D paduodamas loginis nulis arba vienetas ,o per CLK siunčiami taktiniai impulsai. DA ir DB signalai atlieka valdymo funkciją, t.y. leidžia arba draudžia įėjimo signalus perduoti į išėjimus. Tokiu būdu į U6, U11, U14 poslinkio registrus įįrašomi atėję adresai.

Toliau iš kompiuterio yra siunčiami duomenys į įsimenantį registrą U3. LPT sąsajos Auto-Feed išėjimas stebi kad visi duomenys būtų įrašyti teisingai. Jei programatoriaus buferiai yra perpildomi, tada į aktyvų, žemo lygio LPT išvadą BUSY yra siunčiamas impulsas, turintis nutraukti duomenų siuntimą.

Taip programatorius sukaupia informaciją apie duomenis ir jų adresus.

Kadangi gali būti programuojamos skirtingu cokoliuočių atminties mikroschemos, tai yra naudojamas grandinių komutavimo blokas. Jis perjunginėjamas trumpikliais tam, kad reikiami duomenys ir adresai patektu į reikiamus mikroschemos išvadus.

Įstačius duomenys į adresus ir registrus, iš LPT 1 kojos ateina aukšto lygio strobimpulsas, kuris pirma atidaro Q3 tranzistorių, toliau Q1 tranzistorių ir į programuojamos mikroschemos 1 išvadą paduodama programavimo įtampa VPP. Priklausomai nuo programuojamos mikroschemos tipo, iš LPT taip pat gali ateiti INIT impulsas, kuris atidaro atitinkamai Q4 ir Q2 tranzistorius – taip į mikroschemos 1 išvadą paduodama programavimo įtampa VDDP. VPP įtampa siekia +12 V, o VDDP – +5 V, kadangi ant tranzistorių Q1 ir Q2 tranzistorių įtampos kritimas yra labai mažas.

Toliau paduodami įrašymo leidimo (WE), mikroschemos atpažinimo (CE) bei išėjimo leidimo (OE) signalai ir prasideda atminties mikroschemos programavimo procesas.

Atliekant skaitymo procedūrą iš LPT ACK išvado į U3 ateina signalas, kad kompiuteris yra pasiruošęs priimti duomenis . U3 registras

su išrinkimu įsimena duomenis bei pradeda juos išrinkinėti atsižvelgiant į adresą ir nuosekliai siųsti į LPT sąsają.

D2, D3 stabilitronai reikalingi programavimo įtampai pakelti.

Maitinimo įjungimo metu nagrinėjamoje elektrinėse grandinėse gali atsirasti stiprūs įtampos impulsų šuoliai, kurie gali pakenkti normaliam programatoriaus mikroschemų darbui.. Kad to išvengti, tarp mikroschemų maitinimo ir žemės grandinės statomi kondensatoriai.

Kad loginiai signalų lygiai, patenkantis iš LPT sąsajos duomenų ir adresų magistralių būtų aiškesni (tikslus loginis 1 arba 0), tarp LPT ir U2,U4 išdėstomi rezistoriai turintis stabilizuoti signalus.

Skirtingų programavimo įįtampų panaudojimą indikuoja šviesos diodai LED1 ir LED2.

Analizuotoje schemoje naudojama KMOP logika, kuri nebijo didesnių maitinimo įtampų svyravimų, tačiau yra labai neatspari statiniam krūviui.

4. SPAUSDINTINĖS PLOKŠTĖS KONSTRAVIMAS

4.1 Reikalavimai įrenginio konstrukcijai

Programatorius turi būti pagamintas ant vienos spausdintinės plokštės, kuri patalpinama į plastmasinį korpusą. Priekinėje programatoriaus panelėje montuojami šviesos diodai: maitinimo bei dviejų įrašymo / ištrynimo įtampų indikacijai. Lizdas, į kurį bus įstatoma programuojama atminties mikroschema, turi būti lengvai prieinamas iš išorės. Kadangi ant spausdintinės plokštės bus montuojami elementai (elektrolitinis kondensatorius, įtampos sstabilizatoriai), kurių aukštis yra didesnis už lizdo aukštį , tai programatoriaus korpusas parenkamas nevienodo aukščio visame jo ilgyje. Įtaisas gali programuoti daug skirtingo tipo ir cokoliuotės mikroschemų, todėl spausdintinė plokštė turi grandinių komutavimo bloką, kuris tvirtinamas programatoriaus viduje. Galinėje programatoriaus ddalyje išdėstomi lygiagretaus kompiuterio prievado lizdas ir maitinimo laidai. Įtaisas maitinamas iš 15 V, 100 mA nuolatinės įtampos šaltinio.

Dėstant elementus ant spausdintinės plokštės turi būti laikomasi taisyklės, kad šalia vienas kito esantys elementai turi turėti daugiausia ryšių.

4.2 Parengtiniai projektiniai skaičiavimai

4.2.1 Įrenginio matmenų skaičiavimas

Pagrindiniai projektuojamos plokštės matmenys yra: 165x100x2 mm. Taigi ploto užpildymo koeficientas:

čia: – i-tojo elemento plotas;

– i-tųjų elementų skaičius;

– plokštėje talpinamų skirtingų elementų skaičius;

– plokštės plotas.

Elementų užimamas plotas ir tūris pateikiami 4.1 lentelėje.

4.1 lentelė

Elementų užimamas plotas ir tūris

Elemento žymėjimas Kiekis Elemento plotas, mm2 Elemento tūris,mm3

R1-R23 23 20 34

C6-C12,C14,C15 9 8 12

U1-U4,U6,U11,U14 7 140 700

U8,U9 2 35 410

D1 1 20 35

D2,D3 2 8 18

LED1-LED3 3 30 62

Q1-Q6 6 25 50

C13 1 54 255

P1 1 650 33000

U5 1 700 42000

S1 1 450 26000

Pagal (1) formulę apskaičiuojame ploto užpildymo koeficientą:

Tūrio užpildymo koeficientas apskaičiuojamas taip:

čia: – i-tojo elemento tūris;

– korpuso tūris.

Parinkto standartinio korpuso tūris yra =1100000 mm3. Pasinaudoję 4.1 lentelės duomenimis ir įstatę juos į (2) formulę, gauname, kkad tūrio užpildymo koeficientas lygus:

4.2.2 Aušinimo būdo parinkimas

Programatoriaus aušinimo būdą parinksime apytikriai įvertinę jo sunaudojamą galią. Panagrinėję įtaiso veikimo principą matome, kad pagrindiniai energijos vartotojai yra įtampos stabilizatoriai bei šviesos diodai. Visi kiti elementai vartoja tiek mažai energijos, kad į jų sunaudojamą galią galima neatsižvelgti. Taigi programatoriaus sunaudojama galia bus lygi:

; (3)

čia: – įtampos stabilizatoriaus U8 galia;

– įtampos stabilizatoriaus U9 galia;

– šviesos diodo galia.

Įtampos stabilizatoriaus galia lygi:

; (4)

čia: – krentanti įtampa;

– pratekanti srovė per įįtampos stabilizatorių.

Žinodami, kad ant U8 krentanti įtampa lygi 3 V, ant U9 – 7 V, pratekanti srovė lygi 100 mA, apskaičiuojame galią:

W;

W.

Šviesos diodų išspinduliuojamą galią galime rasti žinodami, kad diodų darbo įtampa V, o srovė mA:

W.

Įstatę gautas išraiškas į (3) formulę, gauname:

W.

Taigi, žinodami įtaiso šilumos pavidalu išsklaidomą galią, galime nustatyti jo šiluminį režimą. Tam reikia paskaičiuoti šilumos pavidalu išsklaidomos galios santykį su programatoriaus spausdintinės plokštės plotu :

; (5)

cm2 .

Įstatę į (5) formulę žinomas išraiškas, gauname:

.

Iš gautų rezultatų matome, kad įtaiso šiluminis režimas yra lengvas, todėl nereikia numatyti papildomų aušinimo priemonių (radiatorių, priverstinio aušinimo ir t.t.)

4.2.3 Programatoriaus patikimumo skaičiavimas

Suminis programatoriuje panaudotų elementų gedimų intensyvumas randamas įvertinus 2.2 lentelėje pateikiamus atskirų elementų gedimų intensyvumus:

; (6)

čia: – suminis įtaiso elementų gedimų intensyvumas;

– atskirų elementų gedimų intensyvumai;

– elementų skaičius prietaise.

4.2 lentelė

Programatoriaus elementų gedimų intensyvumai

Elemento žymėjimas Kiekis Gedimų intensyvumas,10-6 h-1

1 2 3

R1-R23 23 5.29

C6-C12,C14,C15 9 2.7

U1-U4,U6,U11,U14 7 1.4

U8,U9 2 0.004

D1 1 0.002

D2,D3 2 0.004

LED1-LED3 3 3

4.2 lentelės tęsinys

1 2 3

Q1-Q6 6 0.0044

C13 1 0.3

P1 1 0.04

U5 1 0.04

S1 1 0.04

Įstatę į (6) formulę reikšmes iš 4.2 lentelės, gauname:

Pasinaudojant gautu rezultatu galima nesunkiai apskaičiuoti programatoriaus vidutinį išdirbį iki gedimo, kuris lygus:

h.

4.2.4 Patikrinamieji skaičiavimai

Išanalizavus principinę elektrinę schemą pastebėjome, kad gali būti išskirtos trijų tipų grandinės. Pirmasis tipas – signalinės grandinės. Kadangi schema yra žemadažnė, todėl specialių reikalavimų takeliams netaikoma. Antras tipas – tai +15 V, +12 VV ir +5 V maitinimo grandinės. Trečiais tipas – tai žemės grandinės.

Spausdintinių takelių skaičiavimas nuolatinei srovei

Signalinių grandinių skaičiavimas nuolatinei srovei nereikalingas. Todėl takelių pločiai bus skaičiuojami tik maitinimo – žemės grandinėms.

Kaip žinome maitinimo ir žemės grandinėms maksimalus leistinas įtampos kritimas nuo nominalios įtampos vertės yra 1 – 2 %:

. (7)

Paskaičiuosime maitinimo – žemės grandinių takelių plotį pagal sekančią formulę:

(8)

čia: – srovė, tekanti laidininku;

– laidininko ilgis;

– santykinė laidininko varža;

– takelio folijos storis.

Maitinimo ir žemės grandine tekanti didžiausia srovė A, m, V, tuomet leistinas laidininko takelio plotis bus:

mm.

Atsižvelgę į tai, parinkome žemės takelių plotį mm, o signalinių ir maitinimo takelius mm (kadangi grandine teka labai mažos srovės).

Pramušimo įtampos tarp artimiausių laidininkų skaičiavimas

Pramušimas tarp artimiausių laidininkų gali įvykti tik per orą, nes kieto dielektriko pramušimo įtampa gerokai didesnė už oro. Taigi pramušimo įtampa randama taip:

; (9)

čia: mm – minimalus atstumas tarp takelių;

V/m – ribinis elektrinio lauko stipris, kai įvyksta oro elektrinis pramušimas (normaliomis sąlygomis).

Įstatę dydžius į (9) formulę, gauname:

V.

Iš gautos reikšmės matome, kad per orą pramušimas tarp dviejų laidininkų vykti negalės, nes realiai gali susidaryti ne didesnis kaip 15 V įtampų skirtumas, kuris net 50 kartų mažesnis už paskaičiuotą dydį.

4.2.5 Elementinės bazės simbolių ir kkonstruktorinių atvaizdų bibliotekos kūrimas

Spausdintinė plokštė buvo projektuojama ACCEL 2000 programinio paketo pagalba. Visų schemoje panaudojamų elementų simboliniai ir konstruktoriniai atvaizdai jau buvo paketo bibliotekoje. Pradžioje buvo nubraižyta principinė elektrinė schema, vėliau sutrasuota spausdintinė plokštė, atsižvelgiant į prieš tai buvusius skaičiavimus. Visi paketo pagalba sudaryti brėžiniai pateikti baigiamojo darbo grafinėje dalyje.

4.2.6 Bendro gaminio vaizdo eskizo sudarymas

Bendri reikalavimai, keliami įtaiso konstrukcijai, yra šie:

· Korpusas turi būti lengvai išardomas ir turėti kuo mažiau varžtinių sujungimų;

· Indikacijos elementai turi būti išdėstyti priekinėje korpuso dalyje;

· Lizdas jungimui prie kompiuterio ir maitinimas turi būti galinėje įtaiso dalyje;

· Lizdas, į kurį bus įstatomos programuojamos mikroschemos turi būti viršutinėje programatoriaus dalyje (lengvai pasiekiamas).

Visi anksčiau išdėstyti reikalavimai turi būti įvertinti spausdintinės plokštės konstravimo metu. Tam, kad korpusas atitiktų šiuos reikalavimus reikia atitinkamai išdėstyti visus valdymo ir indikacijos elementus ir jų kontaktines aikšteles spausdintinės plokštės paviršiuje. Prietaiso eskizas pateikiamas 4.1 pav.

4.1 pav. Programatoriaus korpuso eskizas

4.3 Analogiškų programatorių analizė

Prieš pradedant analizuoti analogiškus įtaisus, trumpai aptarsiu savo suprojektuoto programatoriaus (4.2 pav.)savybes.

4.2 pav. Mano suprojektuotas programatorius

Šis programatorius gali programuoti EPROM tipo (27xxx ir 27Cxx) 22 rūšių mikroschemas, EEPROM tipo (28Cxxx ir 28Fxxx) 16 rūšių mikroschemas bei Flash tipo (29xxx) 8 rūšių mikroschemas. Taigi bendrai paėmus, jis tinka 46 skirtingų mikroschemų

programavimui. Programatoriaus konstrukcija ir projektavimas atliktas taip, kad galima papildomai prijungti dar 4 tipų (24Cxx, 93Cxx, 25Cxx bei PIC16C84/12C508) lizdus negaminant papildomos spausdintinės plokštės. Programatorius jungiamas prie kompiuterio per lygiagrečią LPT sąsają, kuri užtikrina greitą duomenų perdavimą (9 duomenų magistralės). Internete platinama daug nemokamų programos versijų, kurios palengviną darbą su programatoriumi, yra vaizdžios ir sugeba netgi atlikti programatoriaus bei programuojamos mikroschemos patikrą.

Dvipusės spausdintinės plokštės gamyba kainavo apie 50 lt. Naudojamos detalės apie 20 lt, bei korpusas – 10 Lt. Taigi pprogramatoriaus savikaina gavosi apie 80-90 lt.

Palyginimą su analogiškais prietaisais pradėsime nuo Lietuvoje siūlomo, firmos „Intac“ (www.intac.lt) programatoriaus – GALEP-III (4.3 pav.).

4.3 pav. Nuolatinės atminties programatorius GALEP-III

Tai multifunkcijinis, mažų gabaritų (70 mm x 110 mm x 30 mm) 8/16-bitų EPROM, EEPROM, Flash EPROM, Zero Power RAM, EPLD, GAL atminties mikroschemų programatorius. Prie kompiuterio jungiamas per lygiagrečią „CENTRONICS“ jungtį. Maitinamas nuo 9 V akumuliatoriaus arba iš 220 V tinklo per specialų adapterį. Taip pat yra įmanomas papildomų lizdo adapterių jungimas LLCC bei PLCC korpusų mikroschemų programavimui. Gana platus programinės įrangos pasirinkimas. Iš pirmo žvilgsnio šis įrenginys gana stipriai lenkia mano suprojektuotą programatorių. Tačiau jis yra žymiai brangesnis, kaina – 837 Lt.

Dar vienas panašaus tipo programatorius – tai firmos „Intronics“ gaminis ((4.4 pav.), kainuojantis 600 Lt.

4.4 pav. „Intronics“ EPROM. EEPROM, Flash programatorius

Šio įtaiso programuojamų atminties mikroschemų sąrašas yra labai artimas mano pagamintam programatoriui. Jis taip pat jungiamas prie kompiuterio LPT sąsają, turi 4 programavimo įtampas (25 V, 21 V, 12.5 V ir 5 V) reikalingas dirbant su skirtingomis atminties mikroschemomis. Turi galimybę keisti įrašomos informacijos adresą, greitai patikrinti mikroschemos turinį, bei keisti buferio turinį.

Pateikti programatorių analogai lenkia mano suprojektuotą savo matmenimis, programuojamų atminties mikroschemų skaičiumi. Tačiau verta pastebėti, kad tai dažnai stambių įmonių gaminiai, kuriu kūrime dalyvauja ištisi kolektyvai elektronikos inžinierių. Šių programatorių kaina yra kelis kartus didesnė.

Taigi baigiamajame darbe sumontuotas programatorius, nors ir atsilieka kai kuriom savo savybėmis, tačiau tvirtai pirmauja paprastumu ir pigumu.

5. PROGRAMATORIAUS EKSPERIMENTINIS TYRIMAS

Programatoriaus eksperimentinio tyrimo mmetu buvo ištirta EEPROM tipo mikroschema AT28C64B. Tyrimas atliktas naudojant keturių kanalų, greitaveikį oscilografą. Buvo tiriamos mikroschemos laikinės diagramos, jos įrašymo, trynimo ir nuskaitymo metu.

Programatoriaus veikimo patikra buvo atliekama naudojant programą „Willem EPROM“ 0.9 versiją.

5.1 Programatoriaus atminties mikroschemos tyrimas

AT28C64B – tai greitaveikė, elektriškai ištrinama ir programuojama atminties mikroschema (5.1 pav.). Jos 64 KB atmintis turi 8,192 skiltis po 8 bitus. Kreipimosi laikas – 150

ns. Išsklaidoma galia – 220 mW.

5.1 pav. EEPROM atminties mikroschema: a) simbolinis atvaizdas; b) konstruktorinis aatvaizdas

AT28C64B veikia panašiai kaip statinė RAM (5.2 pav.). Atminties mikroschema turi registrą su 64 baitais, o tai reiškia kad vieno ciklo metu galima įrašinėti iki 64 bitų informacijos. Įrašymo ciklo metu, adresai ir duomenis nuo 1 iki 64 baito yra perkeliami į buferį, taip atlaisvinant adresų ir duomenų magistrales kitoms procedūroms. Įrašymo ciklo metu atminties mikroschema automatiškai perkėlinėja duomenis naudodama vidinį valdymo įtaisą. Įrašymo pabaiga nustatoma tikrinant duomenų įvesties/išvesties magistrales I/O7. Jei tik nustatoma įrašymo ciklo pabaiga, tada valdymo įtaisas duoda leidimą kitoms norimoms operacijoms (nuskaitymui arba įrašymui). Atminties mikroschema naudoja vidinį klaidų ištaisymo bei vėluojančių duomenų korekcijos mechanizmą.

5.2 pav. EEPROM atminties mikroschemos veikimo principas

Taip pat yra papildomi 64 baitai, mikroschemos identifikavimui bei apsauga nuo atsitiktinio įrašymo.

Toliau pateiksime šios atminties mikroschemos analizės rezultatus, kuriuos išsiaiškinome atlikę nuskaitymo, programavimo, ištrynimo, duomenų apsaugos tyrimą.

Tirtos mikroschemos nuskaitymo laikinės diagramos pateiktos 5.3 pav. Čia esant žemiems (mikroschemos leidimas) ir (išėjimo leidimas) signalų lygiams ir aukštam (įrašymo leidimas) lygiui, duomenims, sukauptiems buferyje, yra priskiriami adresai išėjime. Kai ir yra aukšto lygio, išėjimai turi aukšta impedansą. Tokia dviguba kontrolė apsaugo sistemą nuo kolizijų.

5.3 pav. Mikroschemos laikinės diagramos atliekant nuskaitymą

Pasikeitus adreso signalo lygiui, yra užvėlinamas laiko tarpui (tACC – tCE), o – laiko tarpui (tCE – tOE), ppo fronto pasikeitimo, arba (tACC – tOE), po adreso fronto pasikeitimo. tDF apsprendžia tik arba signalų trukmė.

Čia:

tACC – laikas, per kurį adresas pasiekia išėjimą;

tCE – laikas, per kurį pasiekia išėjimą;

tOE – laikas, per kurį pasiekia išėjimą;

tDF – pasikeitusio arba fronto sklidimo trukmė iki išėjimo.

Informacijos įrašymas į atminties mikroschemą gali būti atliekamas dviem būdais: įrašant po baitą arba blokais. Baito įrašymo laikinės diagramos pavaizduotos 5.4 ir 5.5 pav. Galimi du programavimo metodai. Pirmu atveju (5.4 pav.) duomenų įrašymą valdo signalas, o antru atveju – signalas (5.5 pav.). Padavus žemą arba impulsą išėjime ir esant aukštam lygiui, prasideda įrašymo ciklas. Adresų siuntimą uždaro kintantis arba frontas. Duomenų siuntimą uždaro pirmas aukštas arba signalų lygis. Baitas bus automatiškai įrašinėjamas iki pat ciklo pabaigos.

5.4 pav. Atminties mikroschemos programavimas, kai valdymą atlieka signalas

5.5 Atminties mikroschemos programavimas, kai valdymą atlieka signalas

Kaip matome abu programavimo metodai yra labai panašūs.

Čia:

tOES , tAS – ir adresų signalų organizavimo laikas;

tAH – adreso valdymo laikas;

tCS – mikroschemos išrinkimo-organizavimo laikas;

tCH – mikroschemos išrinkimo-valdymo laikas;

tWP – įrašymo impulso plotis;

tDS – duomenų organizavimo laikas ;

tDH, tOEH – duomenų, valdymo laikas .

Bloko įrašymo procedūra pavaizduota 5.6 pav. Duomenų bloką sudaro 0 – 63 duomenų baitai. Jie į atmintį įrašomi per vieną programavimo periodą. Duomenų bblokas įrašomas pagal tą patį principą kaip ir duomenų baitas. Nuosekliai programuojami 0-inis, 1-as, 2-as ir t.t. iki 64 baito. Kiekvienas sekantis baitas užkraunamas kas 150 μs (tBLC). Jei viršijamas (tBLC) laiko limitas, atminties mikroschema pradeda vidinio programavimo ciklą. Duomenų bloko įrašymo metu kontroliuojama, kad visi baitų adresai priklausytų tam pačiam blokui ir patektų į A6-A12 išėjimus. lygių perėjimuose iš žemo į aukštą ir atvirkščiai, A6-12 turi būti vienodi. A0-A5 įėjimai nusako, kurie bloko baitai turi būti įrašyti. Baitai užkraunami bet kokia eilės tvarka ir gali būti keičiami užkrovimo periodo ribose.

5.6 pav. Atminties mikroschemos programavimas įrašant bloką

Čia:

tWC – ciklo įrašymo laikas;

tAS – adreso organizavimo laikas;

tBLC – baito įkėlimo laikas;

tWPH – įrašymo impulso plotis .

Programuojant mikroschemą svarbų vaidmenį atlieka įrašomų duomenų patikra (5.7 pav.). Ji atliekama aptikti duomenų įrašymo ciklo pabaigą. Baito arba bloko įrašymo metu gauta patikros informacija siunčiama į I/O7. Pasibaigus duomenų įrašymui, duodamas signalas, kad galima atlikti naują programavimo ciklą. Patikra atliekama bet kuriuo laiko momentu, duomenų įrašymo metu.

5.7 pav. Programuojamos mikroschemos duomenų patikros laikinės diagramos

Čia:

tOEHP – aukšto lygio impulso trukmė;

tWR – įrašymo atstatymo laikas .

Taip pat yra naudojamas papildomas metodas (bito patikra), kad aptikti įrašymo ciklo pabaigą. Programavimo operacijos metu, bandant

nuskaityti informaciją I/O6 prasideda loginių lygių kaita nuo 0 iki 1 ir atvirkščiai (persijungimas). Pasibaigus įrašymo ciklui I/O6 loginiai lygiai nustoja keistis (5.8 pav.). Tai ir indikuoja duomenų įrašymo pabaigą. Tokia patikra taip pat atliekama bet kuriuo laiko momentu, programavimo operacijos metu.

5.8 pav. Laikinės diagramos bito patikros metu

Svarbu vaidmenį taip pat atlieka duomenų apsauga nuo nepageidaujamo įrašymo. Ji būna dviejų tipų: a) apsauga, naudojant aparatines savybes; b) apsauga, naudojant programines savybes.

Apsauga, naudojanti aparatines programatoriaus savybes draudžia įrašinėti informaciją į atminties mmikroschemą, jei:

· Mikroschemos maitinimo įtampa mažesnė už 3.8 V;

· Mikroschemos maitinimo įtampa didesnė už 3.8 V mažiau nei 5 ms;

· Mikroschemos įtampos šuoliai trumpesni nei 15 ns.

Programinė duomenų apsauga atliekama įrašant trys papildomas komandas į trys specialius adresus (5.9 pav.). Po tokios trijų duomenų baitų įrašymo procedūros ir laiko tWC mikroschema yra pilnai apsaugojama nuo netyčinio programavimo. Toliau įrašinėjant duomenų blokus viskas kartojama iš naujo: 64 duomenų baitai, 3 apsauginiai baitai ir t.t. Taigi atsiradę nepageidaujami aukšto lygio, trumpi impulsai nesugadina turimos informacijos. <

5.9 pav. Apsaugos nuo nepageidaujamo atminties įrašymo laikinės diagramos

Atminties mikroschemos ištrynimo laikinės diagramos pavaizduotos 5.10 pav.

5.10 pav. Mikroschemos ištrynimo laikinės diagramos

Čia:

VIH – aukšta įėjimo įtampa (nemažiau 2 V);

VIL – žema įėjimo įtampa (nedaugiau 0.8 V);

VH – ištrynimo įtampa (5 VV ± 0.3 V);

tS = tH = ~1 μs;

tW = 10 ms.

Informacija ištrinama pakankamai aukšta įtampa, įrašant į ląsteles loginius 0 arba 1.

Atminties mikroschema taip pat turi papildomus 64 baitus jos identifikavimui. Ši informacija įrašoma į 1FC0H – 1FFFH adresų ląsteles.

5.2 Programatoriaus taisyklingo veikimo tyrimas

Sumontavus programatorių buvo atliekamas jo testavimas panaudojant „Willem Eprom“ programą (5.11 pav.). Ši programa – tai viena iš daugelio, laisvai platinamų Internete programų, kuri leidžia, naudojant patogią vaizdinę sąsają, įrašyti duomenis į atminties mikroschemą, juos nuskaityti bei ištrinti.

5.11 pav. „Willem EPROM“ programos langas

Ji leidžia taip pat atlikti programatoriaus prijungimo, prie maitinimo ir kompiuterio LPT lizdo, patikrą. Apie galimą neprijungimą informuojama programos lange. Tame pačiame lange nurodoma, kaip turi būti sukomutuotas trumpiklių blokas skirtingų mikroschemų ttipams bei kaip tos mikroschemos įstatomos į programavimo lizdą. Taip pat yra greitos mikroschemos patikros funkcija (tuščia ar su duomenimis).

Tam, kad įsitikinti ar suprojektuotas ir pagamintas programatorius tikrai veikia, naudojama parašyta pseudoprograma (5.12 pav.). Visų pirma yra atliekamas tuščios atminties mikroschemos nuskaitymas – įsitikinti, kad joje nieko nebuvo įrašyta. Vėliau yra įrašoma pseudoprograma, kuri parašyta taip, kad vaizdžiai įsitikinti programatoriaus funkcionavimu. Programa imituoja foną (užpildytą skaičiais 8), kuriame (panaudojant skaičių 1) yra sudarytas užrašas VGTU.

5.12 pav. Programatoriaus veikimo patikros pprograma

Tada vėl kartojama mikroschemos nuskaitymo procedūra, kad įsitikinti jog prieš tai įrašyta informacija atitinka pradinę. Įsitikinus tuo, atliekamas informacijos ištrynimas ir atitinkamai nuskaitymas.

Jei atlikus šias visas procedūras neaptinkama jokių klaidų ar neatitikimų, vadinasi programatorius veikia ir tiksliai atlieka savo funkcijas.

6. IŠVADOS

Baigiamojo darbo metu buvo išpildyti visi užduotyje pateikti reikalavimai. Suprojektuotas veikiantis nuolatinės atminties programatoriaus maketas tinka programuoti nuolatines EPROM, EEPROM ir Flash tipo atminties mikroschemoms. Jis yra maitinamas iš 15 V, 100 mA maitinimo šaltinio ir jungiamas prie personalinio kompiuterio lygiagrečios LPT sąsajos. Taip pat buvo išnagrinėti įvairūs nuolatinių atminčių ir programatorių tipai, parinkta optimaliausia programatoriaus schema, atlikta šios schemos analizė bei programuojamos atminties mikroschemos eksperimentinis tyrimas. Programatoriaus projektavimo etape buvo atlikti įrenginio matmenų, konstrukcijos, aušinimo būdo bei patikimumo skaičiavimai. Siekiant padidinti spausdintinės plokštės patikimumą bei universalumą, ji buvo projektuojama dvipusė, su skylių metalizacija. Kad atlikti efektyvesnį plokštės trasavimą, buvo įsisavintas ir panaudotas galingas spausdintinių plokščių trasavimo paketas – „Accel Eda 2000“. Spausdintinė plokštė buvo gaminama dvi savaites firmoje „Elekon“. Kadangi projektuojamas prietaisas buvo labai aktualus Puslaidininkių Fizikos Instituto Mikroelektronikos laboratorijai, tai visas išlaidas susijusias su spausdintinės plokštės gamyba finansavo ši mokslo įstaiga.

Pagamintas programatorius gali būti patobulintas, prijungus papildomus adapterius. Kadangi jam tinka daug nemokamai platinamų programų ir jos yyra platinamos „atviru kodu“, tai prie programatoriaus tobulinimo prisideda daugelis žmonių visame pasaulyje. Patobulinus programą, praplatėja įtaiso programuojamų atminties mikroschemų sąrašas, nors pats programatorius aparatūriškai ir netobulinamas. Taip pat jis pasižymi savo universalumu, nedideliais konstrukciniais gabaritais ir yra skirtas naudoti laboratorinėm sąlygom. Be to palyginę su kitais panašaus tipo analogais matome, kad pagamintas programatorius yra palyginti pigus ir lengvas eksploatuoti.

7. INFORMACIJOS ŠALTINIAI

1. http://www.st.com

2. D. Hoe, et. al., „Cell and Circuit Design for Single-Poly EPROM“, Journal of Solid State Circuits, vol.24, no. 4, August 1989, pp. 1153-1157.

3. http://www.arlabs.com/help.htm

4. J. Ranaweera, I. Kalastirsky, E. Gulersen, W.T. Ng and C.A.T. Salama, “A Novel Programming Method for High Speed, Low Voltage Flash E²PROM Cells,” Solid-St. Electron., vol. 39, No.7, pp. 981-989, 1996.

5. http://www.sharpsma.com

6. http://www.gaw.ru/html.cgi/publ/eqump/phuton5.htm

7. http://www.pcad.com/en/library/library_search.asp

8. www.atmel.com

9. http://www.electronic-projects.net/projects/eprom_prg1/index.shtml

10. http://www.hut.fi/Misc/Electronics/circuits/lptpower.html

11. http://www.ramtron.com/aboutfram/technology.htm

12. http://www.in-ks.com/pprogmr.html

13. http://www.doc.ic.ac.uk/~ih/doc/par/

14. www.willem.org

Eduardas Gebenis

NUOLATINĖS ATMINTIES PROGRAMATORIUS

Reziumė

Baigiamajame radioelektronikos inžinerijos bakalauro darbe parinkta programatoriaus principinė – elektrinė schema, suprojektuotas, pagamintas ir ištirtas programatoriaus maketas.

Suprojektuotas programatorius gali būti panaudotas nuolatinės atminties mikroschemų programavimui laboratorinėmis sąlygomis. Juo galima programuoti, ištrinti ir nuskaityti: EPROM, EEPROM ir Flash tipo atminties mikroschemas.

Programatorius maitinamas iš 15 V nuolatinės įtampos šaltinio. Vartojama srovė 100mA.. Programatoriaus matmenys – 190x135x60 mm, masė – 0.5 kg. Vidutinis išdirbis gedimui 7500 val.

NON – VOLATILE MEMORY PROGRAMMER

Resume

The electric diagram of programmer has been choosed and its model has been developed, produced aand investigated in radioelectronics engineering bachelor graduating work.

The developed programmer can be used for programming of non-volatile memory circuits under laboratory conditions. It provides programming, erasing and reading of EPROM, EEPROM and Flash types of memory.

Supply voltage of programmer is 15 V, supply current 100 mA. Dimensions of programmer – 190x135x60 mm, weight – 0.5 kg. Average work-time till failure 7500 h.

Related Posts