KAPITULL I MATERIALIZIMI i KOMANDES NUMERIKE HYRJE
1.1 Shtrimi i problemit Problemi i analizes dhe i sintezes te S K N eshte diskutuar ne pjesen e pare te lendes S K N. Ne kete pjese analizohet problemi i implementimit pra i materializimit te algoritmit te kontrollit, me fjale te tjera: realizimi i i ligjit te komandes duke e mbartur ate ne kompjuter. Algoritmet e komandes te fituara ne kapitujt e meparshem jane te formes numerike, pra diskret ne kohe dhe kane te bejne direkt me dinamiken e sistemeve. Problemi kyc eshte implementimi i sistemit numerik ne kompjuter. Per kete eshte e domosdoshme te trajtohen ne thellesine e nevojshme disa probleme, pa te cilat nuk do te behej i mundur ky implementim dhe do te qendronim vetem ne konstatimet e bera me siper. Per te mbyllur kete cikel te plote te drejtimit numerik te proceseve duhet te analizojme problemet dhe ceshtjet e me poshtme: 1.Koncepte baze te logjikes numerike, e cila shfrytezohet per automatizimin e proceseve industriale. 2.Sistemet me mikroprocesor si ure kalimi dhe koncepti i plote i kompjuterit si mbartes dhe ekzekutues i komandes numerike. 3.Perferiket qe bejne te mundur lidhjen e procesit me kompjuterin, problemet dhe specifikat. Me rendesi eshte mbrojtja nga zhurrmat. 4.Disa struktura industriale per realizimin informatik te komandes numerike 5.Automatet e programuar si njesi te automatikes numerike, sistem qe realizon SKN duke shkeputur konceptuesin e problemit nga ambienti i brendshem i kompjuterit. 6.Komunikimi i sistemeve te shperndare te komandimit me njesine qendrore te perpunimit te informacionit ( komunikimi i automateve). Ne trajtimin e problemeve insistohet ne ate paresor qe eshte: Automatizimi i nje procesi industrial me ndihmen e kompjuterit. Vetkuptohet problemi eshte i gjere dhe gersheton disa disiplina si: teorine e komandimit numerik, harduerin si mbartes materjal, softuerin si ekzekutues te ligjit te komandes, qe te gjitha si probleme te nderthurura perbejne te teren: Sistemin e komandimit numerik. Ne kete menyre inxhinieri qe merret me automatizimin e proceseve industriale fiton mjaft njohuri dhe kryesisht ai eshte ne gjendje te beje: 1.Asemblimin e nje sistemi komandimi numerik, duke zgjedhur kartat me karakteristikat e nevojshme , pershtatjen me procesin, mbrojtjen nga zhurrmat etj. 2.Zhvillimin e softuereve te vegjel per sistemet me mikroprocesor per komanda elementare logjike dhe, programimin e ketyre moduleve ne kujtesen EPROM. 3.Shkrimin e drajverave te nevojshem ne gjuhe inxhinjerike , gje qe do te vlente si strukture edhe per tipe te tjere personal kompjuterash. 4.Instalimin dhe testimin e sistemit ne teresi. 1.2 Kasifikimi i sistemeve te komandimit numerik
4
nga pikpamja e mbartesit material Sistemi numerik eshte sistemi ku: Informacioni paraqitet me ane te nje madhesie fizike qe mund te marre vetem vlera diskrete. Secila nga keto vlera mund te konsiderohet si nje numer. Qe ketej rrjedh edhe emertimi. E kunderta ndodh ne sistemet analoge ku madhesia fizike qe paraqet informacionin ndryshon ne menyre te vazhdueshme. Aktualisht madhesia fizike ne sistemet numerike mund te marre dy vlera. Pra kemi te bejme me sistem binar. Sistemet numerik jane perhapur shume, kjo shprehet me lehtesine dhe menyren sistematike ne projektimin e tyre ne mundesine e realizimit dhe perdorimit te qarqeve elektrike te integruar shume komplekse, ne mundesine e madhe te percaktimit te influences etj. Sistemet e komandimit numerik mund te drejtojne mje proces diskret ose nje proces te vijueshem. Ne rastin e pare behet fjale per sisteme te komandimit logjik , te cilet bazohen kryesisht ne dy teknika: = tekniken e kablluar = tekniken e programuar Ne baze te teknikave te perdorura marrin emrin edhe vet sistemet e komandimit numerik, keshtu do te kishim: = sisteme te kablluar komandimi , = sisteme komandimi me kompjuter. Sisteme te kablluar quhen ato sisteme komandimi ku logjika qe merr informacionin , perpunon ate dhe jep komandat e nevojshme , realizohet ne baze te sistemeve kombinatore ose sekuenciale. Sistem kombinator quhet ai sistem numerik ne te cilin vlera e madhesive ne dalje ne nje cast cfaredo varet vetem nga vlera e madhesive ne po te njejtin cast. Sistem sekuencial quhet ai sistem numerik,ne te cilin dalja ne nje cast cfaredo varet jo vetem nga hyrja ne po ate cast,por edhe nga ndodhit e verifikuara me pare. Sistemet kombinatore apo ata sekuenciale kane ne baze te tyre si ne analize ashtu dhe ne sinteze , algjebren Boolean. 1.3 Disa njohuri per ekuacionet Boolean Elementet logjike ne baze te te cileve ndertohen shume komanda logjike (teknika e kablluar) apo si element te mikroprocesoreve bazohen matematikisht tek algjebra e Bulit(Boole). Algjebra e Bulit eshte nje sistem matematik qe perdoret per projektimin e skemave te komandimit logjik. Kjo lejon objektin logjik te konvertohet ne terma simbolik, keshtu qe gjendjet mund te ekuivalentohen ekuacione matematike logjike. Qellimi i sistemit matematik eshte se pari te paraqese nje grup te objekteve ose fenomeneve me simbole qe percaktojne ligjin qe administron keto funksione dhe madhesine qe nuk verehet direkt prej proceseve ose fenomenit. Algjebra e Bulit (Boolean algebra ) ndryshon prej algjebres konvencionale (te zakonshme me te cilen ne jemi familjarizuar ) ne ate qe algjebra e zakonshme ka te beje me mardheniet sasiore, kurse kjo me mardheniet logjike. =Ne algjebren e zakonshme ne perdorim simbolet x,y,A dhe B qe te paraqesim numra. Ne zgjidhjen e ekuacioneve algjebrike ne jemi te interesuar te dime numurin qe shpreh x dhe sa me i madh apo me i vogel eshte x se tjetri y, ose mardhenie te tjera me te
5
.=Ne algjebren e Bulit ne jemi te interesuar vetem ne njohjen e nje prej dy gjendjeve te mundeshme te termave simbolike. Per shembull ne jemi te interesuar ne se nje term simbolik eshte 1 apo 0. Kur algjebra e Bulit perdoret per terma filozofike atehere rezultati pritet per pohimin apo mohimin (e vertet apo fallco). a.Disa percaktime te algjebres se Bulit. Perdorimi dhe teorite jane te shumta, por ne do te mjaftohemi vetem ne disa definicione qe lidhen me kuptimin e ecurise se natyrshme ne njohjen e problemeve. 1.Elementet e marre ne konsiderate ne algjebren e Bulit quhen variabla dhe jane paraqitur pergjithesisht prej germave te alfabetit A,B,C,X,Y,W etj. 2.Cdo variabel ose grup variablash mund te kete vetem nje prej dy vlerave: njeren (1) ose tjetren (0). Interpreytimi i (1) mund te jete qe variabli eshte prezent ose i vertete, eshte nje tension pozitiv ose ne nje gjendje tjeter e specifikuar. Kurse (0) tregon qe variabli mungon, nuk eshte i vertet pra falls, eshte nje tension negativ ose eshte ne nje gjendje te kundert me logjiken (1). 3.Dy rruget e kombinimit te variablave jane si me posht: (+) tregon nje mbledhje logjike, e cila lexohet (OR), simbole te tjere per (OR) jane edhe (u) dhe (v). (.)tregon shumezim logjik, i cili lexohet AND, simbole te tjere per AND jane edhe (..) dhe (^). Keto simbole nuk duhen ngaterruar me simbolet (+ dhe . )te algjebres klasike. 4,Simboli (=) tregon qe variabli ose grupet ne te dy anet jane ekuivalente, pra ne te njejten gjendje. 5.Simboli (-) tregon NOT p.sh ne se A=1 atehere A/=0. (simboli A ne kete rast shkruhet me vize lart tij, por edhe anash nje vije e pjerret ) b.Disa ligje te ekuacioneve buleane. Per thjeshtimin dhe paraqitjen e ekuacioneve Buleane ka mjaft ligje dhe teorema, por ne do te ndalemi vetem ne disa prej tyre pa i vertetuar ato. =Ligji i komutimit. A.B=B.A A+ B = B+ A =Ligji i shoqerimit. A + B + C =(A + B ) + C = A + ( B + C ) ( A B ) C = A ( B C ). =Ligji i shperndarjes. A(B+C)=AB+AC A + BC = ( A + B ) ( A + C ). =Ligji i barazimit. A+A=A A.A=A A+1=1 A. 1=A A+0=A
6
A. 0=0 =Teorema e Morganit. ______ _ _ A . B = A+B _____ _ _ A+B = A+ B = etj. Per thjeshtimin e ekuacioneve Buleane perdoret nje metode grafike qe eshte diagrama Karno (Karnough maping ), e cila ka rruget e saj te plotesimit, por nuk po ndalemi ne te, pasi dhe objekti i kesaj pjese nuk eshte ndertimi dhe optimizimi i skemave kombinatore apo sekuenciale. Dhame disa ide te kesaj algjebre per te vetmen aresye se nuk mund te kuptojme idete e teknikes se kablluare ashtu dhe nuk mund te kuptojme asemblimin e sistemeve me kompjuter ( kryesisht dekodimin, fushen e adresave me te cilat do te komunikohet me software) sidomos programimin ne automatet e programuar me liste veprimesh apo diagramen shkalle.
1.4 Njohuri per sistemet e kablluar Ndertimi i nje sistemi te kablluar komandimi bazohet ne materializimin e ekuacioneve logjike , qe dalin nga sinteza e problemit te shtruar. Per te arritur ne keto ekuacione eshte e nevojshme te ndiqet nje procedure e caktuar , ecila perben strukturen e sintezes te logjikes kombinatore apo sekuenciale. Teknika e kablluar perdoret per komandimin e proceseve diskrete me nje numur te kufizuar variablash per shkak te kostos te saj te larte. Koha e nevojshme per shtrimim dhe zgjidhje te problemit me ane te kesaj teknike eshte relativisht e gjate , nga ana tjeter zgjidhja e fituar vlen vetem per ate proces ( numur informacione , komanda dhe sekuence e logjikes ) pra aplikimi i saj eshte unik. Dy aresyet e mesiperme ( por jo vetem ato ) e bejne me pak te kerkuar kete teknike ne kohen e sotme per procese relativisht te komplikuar. Asemblimi bazohet ne karta te caktuara si : porta hyrje-dalje, numeratore, kohuesa, memorie, perpunues, etj , te cilat komunikojne me njera tjetren sipas nje lidhje te ngurte duke realizuar nje logjike te vetme. Kartat bazohen ne teknologji te ndryshme, duke filluar qe nga ato te ndertuara me elemente diskrete (DTL - diode tranzistor logjika ) dhe deri ne ato qe ndertohen me qarqe te integruare ( TTL , ECL , MOS , etj ). Perfundimisht mund te themi se e meta kryesore e kesaj teknike qendron ne ate qe e njejta skeme elektrike realizon vetem nje logjike komandimi per te cilen eshte sintetizuar. a. Njohuri mbi tekniken kombinatore Idene e teknikes kombinatore po e japim me disa shgembuj elementare, duke treguar ne kete menyre edhe ngurtesine e skemave te komandimit ( flitet gjithnje per komandimin e procesit , pasi sinteza e ketyre teknikave : kombinatore dhe sekuenciale ne ndertimin e qarqeve elektronike si dhe kartave jane te vetmet rruge ). Cfrytezojme ekuacione logjike elementare Buleane (fig 1.1).
7
1.Te realizohet ekuacioni F = AB + BC + AC A B F = AB + BC + AC C (A)
2. Te realizohet ekuacioni F = ( A + C ) ( B + C ) A+C F=(A+C)(B+C)
B+C
3. Te realizohet ekuacioni F = A B C A B
F=ABC
C Fig 1.1 Lidhja e elementeve kombinatore sipas shembujve
b.Njohuri mbi tekniken sekuenciale. Kur studiojme sistemet kombinatore nuk kemi futur ne menyre te dukshme faktorin kohe, ate e marrim parasysh ne forme jo eksplicite vetem persa i perket voneses se qarqeve te integruar dhe elementeve te tjere te skemes, pra ne fund te fundit koha nuk eshte marre si nje variabel qe influencon ne sjelljen e sistemit. Duke u nisur nga ky fakt nje rrjet kombinatore eshte nje rrjet, sjellja e te cilit varet vetem nga vlerat e çastit te hyrjeve dhe nuk varet nga vargu i meparshem i ngjarjeve. Krejt ndryshe eshte sjellja e sistemeve sekuenciale. Sjellja e sistemit sekuenciale ne nje çast te dhene varet si nga vlera e vektorit te hyrjeve ne ate çast, ashtu dhe nga vargu i ndodhive qe kane ndodhur me pare. Ne kete menyre (duke u nisur nga vargu i ndodhive te meparshme ) koha futet ne sistem si nje variabel real i ketyre sistemeve.
8
z1
x1 xn
z2
Rrjet kombinator y1
y1 ym
ym
Mm
M1
Cp CLK Fig 1.2 Skema e pergjitheshme e sistemit sekuencial Nje rrjet sekuencial duhet te kete kujtese, meqenese sjellja e tij (krijimi i daljeve) varet edhe nga historia e tij d.m.th nga konfiguracionet e hyrjes qe jane zbatuar me pare dhe nga rradha e zbatimit te tyre. Nje rrjet sekuencial duhet te memorizoje ndodhite e shkuara pra,duhet te kete kujtese.Sigurisht ne nje sistem fizikisht te realizueshem kujtesa duhet te jete e fundme, pra numri i ndodhive duhet te jete i fundem. Nese gjendjen e nje rrjeti sekuencial e perkufizojme si vargun e vlerave te hyrjes ne çastet ( t - k ), t - ( k-1 ) ,.........., t - 1 , t , kushti qe vlera e k -se te jete e fundme injoron faktin qe makina te kete nje numer te fundem gjendjesh. Struktura e pergjithshme e sistemit sekuencial paraqitet ne figuren e meposhtme (fig 1.2 ): M1......Mm = Jane elementet e kujteses.Secili element memorizon nje informacion binar. Cp(CLK) = Sinjali i sinkronizuar ( Clock pulse ). Y1.. . . Ym = Gjendja prezente e sistemit. Keto variabla (Y) quhen variablat e gjendjes, ose te hyrjes dytesore. X1 . . . Xn = Hyrjet paresore . Y1.. . .Ym = Daljet dytesore, paraqiten ne hyrjet e elementave Mi per tu transmetuar ne dalje te Mi me ardhjen e impulsit te sinkronizimit. Ky konfiguracion percakton gjendjen e ardhme te sistemit. Per te paraqitur ne menyre te plote sjelljen e sistemit ,duhet te percaktojme edhe: ( Dalje paresore ) = f ( hyrje paresore, variabel gjendje ) ( Dalje dytesore ) = f1 ( hyrje paresore,variabel gjendje ) Keto varesi paraqiten ne tabelen e tranzicioneve ne te cilen kolonat emertohen me ane te konfiguracioneve te gjendjeve prezent. Ne kutine e tabeles vendosen gjendja e ardhshme dhe daljet paresore. Pa u ndalur ne ecurine e sintezes te sistemeve sekuenciale japim skemen bllok te realizimit te
9
nje shembulli (fig 1.3) ne te cilen eshte ndertuar sistemi sekuencial me nje hyrje (x) dhe nje dalje (z) i tille qe dalja z te shkoje lart kur te aplikohet ne hyrjen x sekuenca binare 101.
x
y1
y2 D
y1
Bistabel y1
T
D Bistabel
y2
z
T
CLK Fig 1.3 Skema e realizimit te nje sistemi sekuencial ( shembull ) Kjo skeme nuk do te vlente me ne se do te aplikohej ne hyrje te saj nje sekuence tjeter. Po te bejme krahasimin me nje problem konkret industrial ku sekuenca do te ishte nje rrjedhshmeri ndryshimesh te nje celesi komande ( jepet ngarkesa e pare, behet shkarkimi, jepet ngarkesa e dyte ne nje furre shkrirje kromi dhe pastaj te ti hapet rruge nje veprimi tjeter psh uljes se elektrodave ) shohim se per te bere nje komandim kompleks do te na duhej te ndertonim nje sistem ku per disa operacione duhej te kishim nje pllakete logjike, dhe per te gjithe procesin disa te tilla, te cilat kerkojne mjaft pune per tu sintetizuar,ndertuare dhe nuk mund te shfrytezohen me per nje proces tjeter. 1.5 Sistemet e komandimit me kompjuter Sistemet e komandimit me kompjuter jane sisteme te programuar. Duke ruajtur te njejten skeme elektrike ( Hardware ) mund te besh komandimin e proceseve te ndryshem ( me logjike dhe sasi informacionesh te ndryshem ) duke ndryshuare thjesht logjiken qe mbartet ne kete skeme. Logjika ne kete rast realizohet ne Software. Ne kapitujt e me poshtem analizohen problemet perkatese per materializimin e sistemit te komandimit numerik me kete teknike.
10
KAPITULL II SISTEMET MINIMALE TE PROGRAMUARE
Do te trajtojme disa koncepte kryesore te sistemit me baze mikroproçesor si mbartes dhe ekzekutues i ligjit te komandes numerike.Trajtimi nuk do te shikohet nga pikepamja e elektronikes ( ndertimi i brendshem i tij dhe proçeset qe ndodhin ne brendesi te qarqeve te integruar ) por nga ajo e automatikes, ne menyre qe perdoruesi te arrije te saktesoje dhe te kompozoje mbartesin e nevojshem. Gjithashtu ky trajtim sherben per te kuptuar proçeset qe ndodhin ne kompjuterat e fuqishem ( me shpejtesi, kapacitet dhe mundesira te shumta komunikimi etj.) qe perdoren per automatizim ne kompleks te industrise. Me gjithe perparimet e deritanishme ne fushen e PC (Personal kompjuterave ) megjithate kartat e veçanta, sistemet me baze mikroproçesor, perdoren gjeresisht ne komandime industriale ashtu dhe ne komandime proçesesh te shpejte. 2.1 Koncepte per sistemin me mikroproçesor. Sistemi me mikroproçesor ka dy anet e tij :Hardware dhe Software. Hardware konsiston ne : = Mikroproçesoret , = Memoriet , = Portat hyrje / dalje , = komponentet e tjere logjik ne rolin ndihmes , etj kurse Software perfshin kryesisht : = Programet operativ qe administrojne hardwerin dhe jane mbeshtetes per programet e perdoruesit , = Programet e perdoruesit qe kane karakter nga me te ndryshem dhe sherbejne per zgjidhje problemesh te caktuara.
11
BUS -i
Tastiere Karta hyrje I/A Drajver per disk
Afishues CRT
Adresave
Porte Hyrje
Mikro Procesor
Kujtese
Drajver per disk
Porte Dalje
Printer Karta dalje D/A
Pene etj.
etj.
BUS -i te Dhenave
BUS -i Kontrollit
Periferik HYRJE
MIKROKOMPJUTER
Periferik DALJE
Fig. 2.1 Skema bllok e sistemit me baze mikrorocesor
Te dyja keto ane perbejne nje unitet. Ndryshe nga te gjitha teknikat e tjera numerike, skema e kompjuterit eshte e "vdekur " pa softwerin perkates dhe softweri nga ana tjeter kerkon ambientin e nevojshem ( hardware )ku do te mbartet dhe ekzekutohet. Nje sistem me mikroproçesor i plote qe permban : = mikroproçesorin , = memoriet , = portat hyrje / dalje , quhet mikrokompjuter. Ne figuren 2.1 shte treguar bllokskema e sistemit me mikroproçesor. Nga figura verejme disa aspekte te mikrokompjuterit dhe kryesisht : Elementet e hardware - it, buset dhe periferiket. Le ti shikojme me rradhe. Periferiket. Paisjet qe lidhen tek portat hyrje ose dalje quhen paisje hyrje / dalje apo ndryshe periferike.Nga periferiket, me kryesoret mund te permendim :
12
tastieren qe jep komandat e nevojshme ne porten e hyrjes ,monitorin qe merr informacion ( mesazhe ,rezultate ) nga porta e daljes si dhe te gjithe paisjet qe shkembejne informacion me keto porta , disqet e ngurte (harddisk) ( HD ), disqet fleksibel (flopydisk) ( FD ), portat e komunikimit diskret me proçesin apo me paisje te tjera ( I / 0 ), kartat e konvertimit te madhesive analoge ne numerike (A / N ) , kartat e konvertimit te madhesive numerike ne analoge ( N / A ), printerat etj. Periferiket jane nderfaqesit kompjuter - perdorues, por informacioni rrjedh ne te dy drejtimet (fig 2.2 ).
Perdorues (Proces)
Nderfaqie
Mikrokompjuter
Fig. 2.2 Rrjedhia e informacionit ne periferik Kuptimi i nderfaqies eshte me i gjere, pasi ai ben pershtatje edhe te tjera, p.sh komunikimi i njesise qendrore me harddiskun ka nevoje per nje karte drajver,apo thjesht nderfaqie mund te quhet trakti karte - harddisk. Njesia Qendrore. Ne bllokskemen e mikrokompjuterit mund te veçojme mikroproçesorin dhe memoriet, te cilat perbejne njesine qendrore te perpunimit te informacionit ( CPU ), keta elemente do te trajtohen me hollesisht ne paragrafet pasardhes. Bus-et e sistemit. Blloqet brenda mikrokompjuterit ( mikroproçesor, memorie, porte hyrje, porte dalje ) jane lidhur midis tyre per te siguruar komunikimin e nevojshem me ane te buseve. Llojet dhe permbajtja e tyre jane funksion i llojit te mikroproçesorit dhe komponenteve te tjere qe perbejne skemen, por ne rastin me te dukshem siç eshte mikroproçesori 8085A Intel, qe mund te na krijoje sakte njohurite tona, jane kryesisht tre . Bus quhet nje grup linjash komunikimi, te cilat lidhin blloqet dhe kane ane funksionale te njejte. = Busi i Adresave ( Address bus ), permban linjat e adresave qe dalin nga mikroproçesori dhe mund te jene ( A0 -- A15 ) per mikroproçesorin 8085, ( A0 --A19 ) per mikroprocesoret 8088 dhe 8086 si dhe ( A0--A23 ) per mikroprocesoriin 8086 qe eshte 16 bit ne basin e te dhenave. Mikroproçesori komunikon me ane te busit te adresave me memoriet ose portat hyrje ose dalje, duke zgjedhur lokalin perkates te memories apo porten me ane te ketyre linjave. Aftesia adresuese varet nga sasia e biteve te ketij busi. Po te shenojme me ( n ) numrin e biteve te adresave atehere: n Kapaciteti = 2 zgjedhes P.sh per mikroproçesorin 8085, aftesia adresuese eshte 216 = 65536 lokale te mundshem dhe per 80286 , 224 lokale. = Busi i te dhenave ( Data Bus ), me ane te ketij busi, dergohet e dhena ose merret ajo prej lokaleve te memories ose portave hyrje. Sasia e informacionit qe mund te dergohet nga mikroproçesori ne memorje apo qe mund te lexohet prej tyre, eshte funksion i sasise se linjave te te dhenave te mikroproçesorit.
13
P.sh mikroproçesori 8085 ka 8 linja te dhenash pra 8 bit, me fjale te tjera njekohesisht ai komunikon me 1 byte. Mikroprocesori 8088 gjithashtu e ka 8 bit busin e te dhenave, kurse 8086 dhe 80286 nga 16 bit, pra mund te jepen ose te merren nga memoriet dy byte njekohesisht. N.q.se kapaciteti i nje kompjuteri do te ishte i lidhur me adresimin direkt ( perdoren dhe adresimet indirekte per te rritur kapacitetin mbi sasine e biteve te adresave ), shpejtesia e tij lidhet me busin e te dhenave, pra se sa byte merr apo jep ai " njeheresh ". ( D0 ------D7 ) ose ( D0 -------D15 ) pra 2 byte. = Busi i kontrollit . ( Control bus ). Ky bus perfaqeson nje grup sinjalesh qe perdor mikroproçesori per te transferuar apo per te marre nje grup te dhenash nga memoriet ose portat. Me ane te tyre ai afteson komponentet jashte tij dhe drejton rrugen e rrjedhjes se sinjalit. Edhe ky bus eshte ne vartesi te tipit te mikroproçesorit qe ka mikrokompjuteri. 2.2 Kuptimi i gjendjeve te drajverit. Te gjithe elementet ( mikroproçesori, memoriet, portat hyrje, portat dalje ) ne mikrokompjuter shkembejne informacion me mikroproçesorin ne te njejtat linja percjellese. Mikroproçesori zgjedh memorien apo porten ku do te vendose te dhenen ( ne basin e te dhenave), dhe ndan te tjerat ( memorie, porta ). Me fjale te tjera, ne busin e te dhenave jane lidhur perveç mikroproçesorit edhe disa qarqe memorie apo porta. Nese qarqet (memorie ose porta) qe nuk bejne komunikim ne ate moment me mikroprocesorin , nuk veçohen ( te jene inerte ndaj busit ) nga busi i te dhenave, lind "konflikt" ne bus (disa elemente japin te dhena te ndryshme njekohesisht dhe e dhena e vertet nuk njihet). Per te shmangur kete problem, shfrytezohet aftesia e daljeve me tre gjendje te qarqeve ( memorie, porta ) . Mikroproçesori ne menyre selektive afteson ose çafteson daljet e qarqeve duke kthyer ne gjendje inerte daljet e qarkut qe nuk thirret Ne figuren 2.3 tregohet simbolikisht buferi me tre gjendje ose i quajtur ndryshe drajveri me tre gjendje. I/
O
Hyrje
0 0 1 1
Aftesues
...........:
EN/
I
O
Dalje 0 1 0 1
0 1 Z Z
EN/
Fig 2.3 Buferi me tre gjendje i linjave te te dhenave Kuptimi Z tregon qe dalja e qarkut ne kete gjendje ( gjendja e trete ) eshte me inpedencen me te larte, pra inerte ndaj linjes ku lidhet. Ne fig 2.4 tregohet ndertimi i brendshem i nje dalje me tre gjendje .
14
+Vcc
r1
r2
r3
T5 Hyrje T1 T4
T3
E/ Aftesues
Dalje T2 r4
-Vcc
-Vcc
Fig 2.4 Ndertimi i brendshem i buferit me tre gjendje Nese tranzistoret T1 dhe T2 jane aftesuar, dalja eshte ne gjendje logjike ulet. Kur T2 i mbyllur dhe T1 i hapur, dalja ne gjendje logjike lart.Nese T2 dhe T1 jane te mbyllur njekohesisht, dalja kalon ne nivel logjik Z, pra ne gjendjen e trete .Dalja nuk mund te influencioje tek ajo linje ku eshte lidhur. Demostrimi i punes se nyjeve ne nje linje jepet ne figuren 2.5 . A Ea / Hyrjet (A,B,C) Aftesuesat (Ea,Eb,Ec)
B
Dalje
Eb / C Ec /
Fig 2.5 Demonstrim i lidhjes te disa daljeve ne te njejten linje __ Nese duhet qe ne dalje te percillet vetem e dhena A , atehere aftesohet (EA = 0) vetem njesia A , pra buferi i daljes perkatese dhe gjithe qarqet e tjere jane te çaftesuare. __ __ ( EB = 1, EC = 1 ) . Ne figuren 2.6 tregohet bllokskema e lidhjes dhe e komunukimit te brendshem te mikrokompjuterit me busin e te dhenave.
15
Porte Hyrje Bufer 3 gjendje
Mikroprocesor
Kujtese
Bufer 3 gjendje
Bufer 3 gjendje
Porte Dalje
BUS i Te Dhenave
Fig 2.6 Bllokskema e lidhjes te disa qarqeve ne te njejtin bus Te gjitha paisjet qe lidhen (qe mund te vendosin te dhena) ne busin e te dhenave te sistemit kane ne dalje te tyre drajverat me tre gjendje per te aftesuar ose çaftesuar nxjerrjen e te dhenave ne bus. Komponentet qe vetem marrin te dhena nga busi nuk kane nevoje per nje gje te tille. Sinjali qe afteson ose çafteson komponentet e lidhura ne te njejtin bus quhet zgjedhes komponenti ( zgjedhes çipi ) dhe ka emertime te ndryshme : ( CS / ) Chip select / ( CE/ ) Chip enable / ( OE/ ) output enable. 2.3 Mikroproçesoret Trajtimin e kesaj pjese do ta bejme duke u nisur nga pikepamja e shfrytezimit te sistemeve te komandimit numerik: per te konceptuar skema kartash me mikroproçesor, apo qe te komunikojme me njesite qendrore qofte kjo mikroproçesor apo personal kompjuter, per te testuar karta te ndryshme qe lidhen me proçesin ( por qe jane marre te gateshme ), per te zhvilluar drajvera softwer, apo programe te nevojshem per komunikim. Nga kjo pikpamje mikroproçesori ( brendesia e tij si dhe diagramat kohore apo specifikime te mirefillta elektronike ) shikohet si nje kuti e zeze qe ka hyrje dhe dalje te caktuara. Per te kuptuar strukturen e komunikimit te tij ne bus si dhe ecurine e instruksioneve themelore eshte e nevojshme nje shikim nga brenda tij ne nivel konceptual. Mikroproçesoret prodhohen nga firma te ndryshme dhe jane te tipeve nga me te ndryshem, por nje veçori e tyre eshte e perbashket : buset. Mikroproçesoret kane evoluar ne ate mase sa ka edhe permbysje konceptesh ne anen funksionale te tyre, me gjithate ne do te analizojme funksionet me te perbashketa duke filluar me mikroproçesorin Intel 8085A , pasi ecuria e fenomeneve ne te eshte me e kapshme.Ne fig 2.7 jepet bllokskema e funksionimit te mikroproçesorit 8085A. Disa nyje kryesore. Nga bllokskema vrejme disa nyje perberese te cilat po i analizojme me posht. 1. A L U ( Aritmetik and Logic Unit ), eshte njesia arithmetike dhe logjike e mikroproçesorit. Ketu kryhen te gjitha veprimet arithmetike ( mbledhja ADD, zbritja SUB, etj ) si dhe veprimet logjike ( inkrementim INR, dekrementim DCR, krahasim CMP, maskim ANI etj ).Te dhenat vijne nga akumulatori ( A ) dhe rregjistrat, rezultati perfundon ne busin e te dhenave si dhe ne rregjistrin e
16
flegeve ( shenjezimeve). Ne rregjistrin e flegeve qendrojne fleget e rezultateve aritmetike apo logjike psh : ( CY ) teprice, ( Z ) zero, ( P ) pozitiv etj . BUS i brendshem i te dhenave
A
D0 -- D7
Regjister i Instruksioneve
Regjistr. PSW BC DE HL
Dekodues i
ALU
Instruksioneve
PC
BUS Kontrolli LOGJIKA dhe KONTROLLI ne kohe
BUS i brendshem i Adresave
A0 -- A15
Fig 2.7 Bllokskema e mikroprocesorit 8085 2. Akumulatori ( A ), eshte nje regjister i perdorimit kryesor nga mikroproçesori. Meqenese basi i te dhenave eshte 1 byte, edhe te gjithe rregjistrat ( A, BC, DE, HL ) jane 1 byte d.m.th 8 bit. Veprimet kryesore te marrjes, dergimit te te dhenave , mikroproçesori i ben nepermjet akumulatorit. 3. Rregjistrat e perkohshem BC, DE, HL mbajne te dhena te perkohshme me te cilat manipulon mikroproçesori.
D15
D8
bL Regjistri B
D7
D0
bu Rgjistri C
4. Rregjistri i flegeve, eshte nje koleksion i flip / flopeve qe permbajne karakteristika te rezultateve dhe veprimeve arithmetike dhe logjike.P.sh. ne veprimin e mbledhjes nese rezultati eshte me i madh se sa nje numur 16 bit, atehere shfaqet flegu perkates CY=1, po keshtu ndodh edhe ne rastin e veprimeve te tjera. Nje gje e ngjashme ndodh edhe me veprimet logjike te cilat shpesh kethehen ne veprime arithmetike.
17
5. Rregjistri i Instruksioneve , merr opkodin ( kodin e operimit ) ne kujtesen e programeve dhe e dergon tek dekoduesi per te konkluduar se çfare duhet te beje mikroproçesori ( konkretisht: kontrolli logjik, program numeratori, rregjistrat etj ) . 6. PC ( Program Counter ) , program numeratori eshte numuratori per zhvillimin e adresave gjat punes ne ekzekutim te softuerit. Ai gjeneron adresen e nevojshme dhe e vendos ne busin perkates, duke e inkrementuar ate. 7. Blloku i llogjikes dhe kontrollit ne kohe ben te gjithe kontrollin brenda mikroproçesorit dhe nxjerre rezultatet ne basin e kontrollit siç jane RD/, WR/, I0 / M / etj, sinjale me anen e te cilave mikroproçesori do te komunikoje me qarqet e tjere jasht tij. Supozojme se lexohet e dhena ne lokalin ( 0200 ) Hex te memories, ecila ka kete permbajtje : Adresa Hex
e Dhena Hex
0200
3A
0201
00
0202
02
Program numeratori ka aplikuar ne busin e adresave, adresen 0200 Hex, e cila i takon lokalit ku gjendet e dhena ( 3A ) Hex. Dekoduesi i instruksioneve e dekodon kete kod operimi dhe jep informacionin e nevojshem ne bllokun e kontrollit logjik, i cili nga ana e vet, e ngarkon program numeratorin ( PC ) me adresen ( 0200 ) Hex.
Sinjalet e mikroproçesorit . Jami te interesuar kryesisht te njohin sinjalet kryesor qe dalin jashte mikroproçesorit, qe jane hyrje apo dalje, apo kane te dy funksionet . Ne figuren 2.8 keto sinjale duken qarte.
18
6.144 MHz
Nderprerjet TRAP RST 7.5 RST 6.5 RST 5.5 INTR INTA/
x1
x2
SID SOD Ready Hold HLDA
CPU
Serial probleme Vonesash DMA ( AD0 -- AD7 )
Kontrolli RD/ WR/ IOIM/ CLK ResIn Resout
8085A ALE
Fiksues bu 8212 LS373 A0-A7
BUS i te dhenave BUS i Adresave
bL A8 -- A15 +5v
Fig 2.8 Sinjalet e mikroprocesorit 8085 Japim sqarimet per sijnalet kryesor: 1. Interraptet, jane sinjale qe kerkojne nderprerje te ecurise sipas atij drejtimi ne sistem. Shkakton nderprerje pa humbur rrjedha e punes, dhe rikthim ne ate pike ku u lind kjo nderprerje. Me ane te ketyre sinjaleve, mikroproçesori le punen kryesore qe eshte duke perpunuar, dhe fillon ekzekutimin ne nje emergjence qe u çfaq. Prioriteti i interrapteve eshte i caktuar dhe po u be kerkese e njekoheshme per disa emergjenca, do te filloje punen ajo qe eshte me prioritet me te larte. Prioritetet vijne ne ulje : Trap, RST 7.5, RST 6.5, RST 5.5, INTR. Theksojme se interrapti INTR eshte interrapt i softuerit, dhe njohjen e kerkeses per te , mikroprocesori e deklaron me sinjalin INTA / ( intrrupt acknowledge) 2. RD/, WR/ jane sinjale kontrolli qe sherbejne per te lexuar apo shkruar ne nje lokal te caktuar memorje apo porte. Keto sinjale orjentojne ciklin e punes per lexim apo shkrim. 3. ALE ( Address Latch Enable ), mikroproçesori 8085 ka busin e multipleksuar, keshtu qe shfrytezohen te njejtat dalje ( AD0 ---- AD7 ) edhe per te dhenat edhe per adresat. ALE jepet ne çdo cikel memorje ne formen e nje impulsi ne nivelin logjik lart si ne fig 2.9.
19
AD0 -- AD8
Seria e bajtit te ulet te Adreses
E dhena ne brendesi
ALE
bU
( A0 -- A7 )
A8 -- A15
bL
Fig 2.9 Ndarja e bajtit te ulet te adreses nga te dhenat 4. HOLD, HLDA. Ne rastin kur punohet me mikroproçesore te tjere ne te njejten njesi ose shfrytezohet menyra DMA ( komunikim direkt midis memorieve ) e punes , kerkohet nga mikroproçesori tjeter nepermjet kerkeses me sinjalin HOLD nderprerja e punes te mikroprocesorit korent. Nese ai eshte gati per te pranuar kete kerkese reflekton me sinjalin dalje HLDA, duke kaluar buset e tij ne gjendjen e trete ( Rezistence te larte ). 5. SID, SOD, jane sinjale per te realizuar komunikimin seri te mikroproçesoreve me sisteme te tjere. Me keta linjale mund te realizohet edhe komunikimi serial standart RS- 232. 6. Ready, nese ky sinjal hyrje eshte 1, atehere mikroproçesori funksionon normalisht, ne te kundert ai qendron ne gjendje pritje. Perdoret shpesh per te realizuar komunikim me porta ose memorie me te ngadaleshme se sa vet mikroproçesori, pra kohet e thirrjes se tij jane te pa mjaftueshme per te marre te dhenat nga keto komponente. Shpesh sa here qe ju referohemi ketyre komponenteve, aftesohet nje vonese kohe gjat te ciles ku sinjal eshte ulet (0) dhe pastaj aktivizohet mikroproçesori. 7. I0 / M/ sinjal dalje, per te punuar me memoriet ( I0 / M = 0 ) apo ne portat hyrje dalje ( 1 ). Eshte sinjal tipik i rendesishem per dekodimin e adresave per memorie dhe porta. Ne rastin e I0 / M/ = 1, busi i adresave mbivendoset duke u pergjysmuar ne total si rezultat i perseritjes se BL ne BU (fig 2.10).
A15
A8A7
A7
A0
A0 IO/M = 1
A15
20
A8
fig 2.10 Mbivendosja e busit te adresave te 8085 8. Reset IN, ky sinjal zeron dhe starton mikroproçesorin, ai e kthen mikroproçesorin ne gjendje fillestare sa here Res IN = 0. Ne gjendje normale pune Res IN = 1. 9. Reset out, sinjal qe del nga mikroproçesori per te bere resetimin e sistemeve te tjere, ai zeron kryesisht portat, te cilat ose marrin ne administrim busin e mikroproçesorit ose kane specifika ne komunikim. 10. CLK, (clock) ora e sistemit. Sinjal dalje me frekuence sa gjysma e frekuences se kuarcit . fCLK = fkuarc / 2 = 6.144 / 2 [MHZ] 2.4 Memoriet e sistemit Sistemet me mikroproçesor per ruajtjen e programeve operativ apo te perdoruesit, si dhe per te magazinuar te dhena te perkohshme gjate punes, perdorin disa lloje memoriesh. Qarqet qe perdoren per memorie jane te shkalles se larte te integrimit LSI apo VLSI, per shembull nje memorie 65 636 bit ( 64 kbyte thuhet shpesh ) mund te ruaje mbi 8000 karaktere alfanumerik ose afersisht 3 faqe te nje teksti dhe kjo ne nje cope punuese me permase te nje katrori me brinje 1 / 3 inç ( 8 * 8 ) mm2 . 2.4.1 Koncepti i memories Qarku me i thjeshte memorie eshte flip - flopi (FF), i cili magazinon nje bit informacion. Rregjistrat perfshijne tete flip - flope ne nje qark te integruar te vetem, secili me te dhenat e tij hyrje dalje, dhe nje linje CLK te perbashket. Teknologjia LSI dhe VLSI ben te mundur te vendosen mijera flip - flope ne nje qark te integruar te vetem, por krijohet nje problem i ri. Ndertimi i mijera FF ne nje IC veshtireson nxjerrjen e daljeve dhe hyrjeve te secilit ( e te dhenave te secilit ). Zgjidhja e ketij problemi na çon tek perdorimi i hyrjeve te adresuara per te zgjedhur çdo lokal ( FF ) qe deshihet. Nje dekodues ne nje qark memorie dekodon adresen dhe lidh lokalin memorie te selektuar tek dalja e te dhenave.
21
( hyrja 0 ) A d r e s a
1
A
0
B
1
C
b0
D Q FF0
b1
D Q FF2
0
1 Dalje
Dekodues i Qelizave ( hyrja 7 ) b7
D Q FF7
7
Fig 2.11 Dekodimi i brendshem i adreses ne qarqet memorie Ne figuren 2.11 tregohet ana konceptuale e nje lokali 8 bit memorie. Jane paraqitur vetem qarqet e daljes.Kjo teknike lejon nje dalje ( 1 linje ) te veteme te dhenash te perdoret per te gjithe lokalet ne nje qark memorie. Ne figuren e mesiperme eshte paraqitur nje lokal memorie me nje bit ( jane 8 lokale me nga nje bit ). Shpesh lokalet mund te jene 4,8 bit. Nese IC ka 8 linja ( kembe ) te dhenash, atehere çdo lokal memorie magazinon 8 bit te te dhenave. Shenojme qe ndersa memoria mund te permbaje mijera lokale, vetem njeri mund te thirret ne te njejten kohe ( 8 bit njheresh ). Numri i lokaleve te adresuara varet nga numri i linjave. Ne figure kemi : = 3 adresa hyrje = 1 qelize memorie qe mund te zgjidhet nje here ( FF ). = 8 lokale 1 bitesh ( 8 FF ). Nese kalojme ne skemen e figures 2.12 , do te mund te nxirren njkohesisht 8 bit.
22
D0 FF1-8
D7 D E K O D U E S
O0
FF1-1
FF8-8
O7
FF8-1
Fig 2.12 Organizimi i qelizave 1 bit per te dhenen 1 byte Pra do te kishim 8 lokale memorie qe i korespondon sinjaleve ( 00 -07 ) dhe çdo lokal do te ishte 8 bit (1 byte). 2.4.2 Tipe te memorieve Memoriet nga pikepamja e teknollogjise, gje qe shpreh edhe anen funksionale te tyre, i ndajme ne memorie qe mund te shkruash edhe te lexosh ne ato ( RAM ) si dhe memorie qe vetem mund te lexosh permbajtjen e tyre ( ROM ). = Memoria ROM ( Read Only Memory). Te dhenat ne kete lloj memorie inçizohen qe ne fabrike, ne proçesin e prodhimit te qarkut te integruar. Ne kete lloj kujtese nuk mund te shkruhet, por vetem mund te lexohen te dhenat qe jane fiksuar ne lokalet e saj (fig 2.13). Programet monitor apo BIOS - te personal kompjuterave jane shpesh te rregjistruar ne kete tip memorie.
23
A0 nga BUS -i adresave (segmenti)
A0
D0
O0
te Bus - i
ROM
i te dhenave A7
A7
CE
O7
D7
CS Sinjali kontrollit nga dekoduesi i fushes se adresave ( offset i fushes )
Fig 2.13 Komunikimi me memorien ROM (EPROM, PROM) Kapaciteti i memories = 2n ku n = numri i linjave te adresave ne hyrje te qarkut. Kur shfrytezohet nje memorie 1 kbyte, atehere n = 10. = Memoria RAM ( Random Access Memory ). Ne kete memorie mund te shkruash dhe te lexosh te dhena vazhdimisht (fig 2.14). E dhena nuk ruhet ne te nga momenti i mungeses se ushqimit. RD Sinjal kontrolli nga CPU A0 -- A7 Segmenti i ketij qarku
A0
O0
D0 -- D7 te Bus - i
RAM A7
CE
i te dhenave O7
CS Sinjali kontrollit nga dekoduesi i fushes se adresave ( offset i fushes ) WR Sinjal kontrolli nga CPU
Fig 2.14 Komunikimi me memorien RAM Ne fushen e adresave te te gjithe njesise qendrore ku eshte vendosur memoria RAM, lind nje sinjal kontrolli nga dekoduesi i kesaj fushe ( CS/) me nivel ligjik
24
ulet, i cili zgjedh nga te gjithe qarqet, qarkun me te cilin realizohet komunikimi ne ate moment kohe. Per te adresuar lokalin e brendshem te memories shfrytezohen hyrjet adresuese A0 --A7 per nje qark 28 = 256 byte. Numri i ketyre hyrjeve eshte funksion i kapacitetit te qarkut. RD/ ( Read ) eshte sinjali i kontrrollit qe vjen nga mikroproçesori i cili nese RD/ = 0, lexon lokalin e memories. WR/ ( Write ) eshte sinjal kontrolli qe vjen nga mikroproçesori per te rregjistruar ( shkruar ) ne memorie, nese WR/ = 0, CPU transferon te dhenen ne memorie. Ngadonjhere ( ne funksion te qarkut memorie ) behet kombinimi i RD/ dhe WR/ (fig 2.15).
A0 A0 -- A7 Segmenti i ketij qarku
O0
D0 -- D7 te Bus - i
RAM A7
CE
CS Sinjali kontrollit nga dekoduesi i fushes se adresave ( offset i fushes )
i te dhenave O7
RD = 1 WR = 0
RD/ WR Sinjale kontrolli nga CPU
Fig 2.15 Kombinim i mundshem i sinjaleve te kontrollit ne komunikimin me memorien RAM. Memoria RAM nga pikepamja teknologjike prodhohet ne disa menyra, gje qe reflektohet dhe ne skemen e saj te brendeshme . = RAM statik, prodhohet me FF, kapaciteti eshte i vogel, konsumi i energjise relativisht e larte, shpejtesia e ulet. = RAM dinamik, prodhohet ne baze te kondesatoreve per ruajtjen e informacionit, kapaciteti ruajtes eshte i larte, shpejtesia e madhe dhe permasat e vogla ( edhe konsumi i energjise). Teknologji te prodhimit te memories ROM . = PROM, kujtese mjaft e shpejte, ngarkimi i programit ne te behet me menyra elektrike, dhe nuk mund te ndryshohet me. = EPROM ne kete memorie informacioni futet me menyra elektrike me PROM programues, dhe mund te fshihet me ane te rrezeve ultr violet me intensitet te rekomanduar. = EEPROM, informacioni ne kete lloj kujtese ngarkohet dhe fshihet ne menyre elektrike. 2.4.3 Karakteristika te memorieve.
25
Ka shume parametra qe specifikojne memoriet, por ne na interesojne ne disa prej tyre, te cilat jane me te rendesishme per kendveshtrimin tone.Leximi apo shkrimi ne memorie ka nje proçedure sekuenciale te rrjedhjes se sinjaleve ne kohe, behet fjale per : RD/, WR/ , ( A0 --A15 ,--A23 ), CS/, ( D0 ----- D7 ) ose ( D0 ----- D15 ). Kryesisht memoriet jane 8 bit dhe lidhen unike ne bus , kurse ne busin 16 bit lidhen qarqet memorie qe ruajne te dhenen tek dhe çift ne menyre te vecante per te formuar te dhenen e plote: (D0-- D7) dhe (D8--D15). Per leximin e memories dhe shkrimin ne te duhet te plotesohen keto kondita : = te jepen ne basin e adresave, adresat qe do te dekodojne qarkun, si dhe ato qe do te dekodojne lokalin. = te sigurohet sinjali i zgjedhjes CS/ = 0 ( sipas nivelit qe kerkojne memoriet, kryesisht te ulet ) qe te jene aktiv. = niveli i sinjaleve te jete RD/ = 0 dhe WR/ = 1 ( Lexim ). = niveli i sinjaleve te jete RD/ = 1 dhe WR/ = 0 ( Shkrim ) Keto jane konditat e nevojshme, por jo te mjaftueshme , problem specifik i tyre eshte koha e nevojshme per te cilat ato behen gati te shkembejne informacion me mikroprocesorin. Si çdo qark i integruar, edhe memoria karakterizohet nga vonesa qe ajo ju ben sinjaleve te ndryshem. Ne jemi te interesuar per kohen e leximit dhe te shkrimit dhe per kohen e ciklit. Kohe vonesa e leximit ( tpAT ). Kjo paraqet kohen e voneses qe nga dhenia e adreses deri ne marrjen e te dhenave. Nisemi nga skema bllok e nje memorie si ne figuren 2.16.
Adresa
Bufer
Dekodues
Matrica e lokaleve E Dhena
RD / WR
Kontroll i brendshem
Amplifikator
CS E Dhena
Fig 2.16 Skema bllok e memories ne pikpamje te vonesave
26
Koha e leximit perbehet nga dy komponente (fig 2.17), nga vonesa e brendeshme e elementit te memories dhe nga vonesa e jashtme ne qarqet e tjere te memories.
Kemi:
tpAT = tpBA + tpA ( Koha e leximit qe nga dhenia e adreses ). tpAT = tpCE + tpAE ( Koha e leximit nga dhenia e sinjalit CE /)
tpA = Vonesa e brendeshme per marrien e te dhenave qe nga vendosja e adreses. tpAE = Vonesa e brendeshme per marrien e te dhenave qe nga çasti i zbatimit te CE, me adrese te vendosur. tpBA , tpCE = Vonesat e jashtme te shkaktuara nga buferet e adreses dhe te sinjalit CE.
tpA Vonese bufer tpBA Vonese Dekodimi tpCE RD / WR
Vonese per Dekodim
Vonese per Amplifikim
D0
tpAE Vonese per aktivizim
Vonese bufer tpBA
CE
Fig 2.17 Vonesat ne lexim te memories Koha e shkrimit ( tpw ). Edhe kjo vonese si ajo e leximit varet nga nje varg vonesash qe takohen ne qarkun e kujteses (fig 2.18). Ato ndahen ne te brendeshme dhe te jashtme.
27
Reg. adreses
Vonese bufer tpBA
Vonese per Reg. dhe Hold
D0
CE
Vonese Dekodimi tpCE
RD / WR
Vonese per Dekodim
Vonese per aktivizim Vonese buferi tpBE Vonese buferi tpBE
D0 E Dhena
Fig 2.18 Vonesat e memories ne shkrim Ne kete rast vonesa te brendeshme jane tw ( shkrim ) dhe thold ( mbajtje ) ne matrice.Vonesat e jashtme jane te njejta me ato te kohes se leximit.
ose
tpw = tpCE + tw + thold ( Koha e shkrimit ) tpw = tpBE + thold .
Koha e ciklit ( tpc ). Nga te gjitha llojet e kohe vonesave ne shkrim apo lexim, me e madhja perbene kohen e ciklit. Ne katalloge, behen shume specifikime per memorien, por duhet te bazohemi kryesisht tek koha e ciklit. Kjo tregon nese kjo memorie eshte kompatibel me mikroproçesorin apo nese duhen shtuar cikle pritje per te bere te mundur komunikimin e sigurte ndermjet tyre. Perveç termit koha e ciklit perdoret dhe koha e thirrjes qe jane po e njejta madhesi te siguruara ne shumicen e memorieve dhe ajo luhatet nga disa nano sekonda deri ne qindra nano sekonda. ( Access time = eshte parametri i mikroproçesorit dhe duhet te perputhet me ate te ciklit qe te funksionoje si qark me te njejtin bus. Shpesh perdoret edhe si parameter per pershtatshmerine e memorieve ) .
2.5 Busi i te dhenave Busi i te dhenave te sistemit eshte me dy drejtime te qarkullimit te informacionit dhe me tre gjendje.Ne bus lidhen : = folesa ( japin informacion ). = degjues ( marrin informacion ).
28
= foles / degjues ( japin / marrin informacion ). Nje specifikim i mundshem do te ishte : = CPU dhe RAM , foles / degjues. = ROM, EPROM, foles. = Porta e hyrjes, foles. = Porta e daljes, degjues. Koncepti foles = e dhena del nga ky qark dhe percillet ne bus. Koncepti degjues = e dhena merret nga busi dhe percillet ne brendesi te qarkut. Bllokskema qe ilustron idene e mesiperme eshte paraqitur ne figuren 2.19.
BUS i Te Dhenave
CPU
RAM
EPROM
RD/WR CS
CE
Porte hyrje CE
Porte dalje CLK
Kontroll Logjik
Fig 2.19 Komunikimi i qarqeve ne busin e te dhenave 2.6 Busi i adresave Me ane te busit te adresave mikroproçesori zgjedh qarqet e veçante me te cilet do te komunikoje nepermjet busit te te dhenave. Busi i adresave eshte nje drejtimesh, çdo lokal memorie ( edhe porte I / 0 ) ka nje adrese unike. Para se nje e dhene te transferohet sipas busit te te dhenave, mikroproçesori duhet te nxjerre nje adrese. Adresa specifikon nje lokal memorie ( ose porte I / 0 ) te cilen mikroproçesori deshiron ta therrese.Ne kete menyre mikroproçesori mund te zgjedhe cdo pjese te sistemit me te cilen ai deshiron te komunikojedoje. Mikroproçesori 8085 A ka 16 linja adresash ( A0 -- A15 ), dhe ka aftesi adresimi 216 = 65536 lokale memorie. A15 --------------------- A0 MSB ( Most significant bit )
LSB ( Least significant bit ) n = 16
C = 216 = 65536 Mikroproçesoret 8088, 8086 kane ( A0 -- A19 ) linja adresash, kurse ai 80286 ( A0 -- A23 ) , pra mundesite e adresimit direkt te tyre jane shume te medha.
29
2.7 Dekodimi i adresave Ne fushen e adresave ( per lehtesi n = 16 bit ) A0 ----- A15 , vendosen memorie dhe porta te ndryshme qe mund ta mbulojne ose jo kete fushe. Ne rastin ne shqyrtim kjo fushe do te ishte :
0 0 0 0
F F F F
Kujtese RAM , EPROM
Hex
Porta Hyrje - Dalje Hex
Per administrimin e fushes se adresave, vendosen dekoduesit, te cilet nxjerrin nje sinjal ne dalje sipas nivelit qe kerkojne qarqet ( kryesisht ulet ) me ndonje perjashtim p.sh porta 8156 kerkon CS = 1, per fushen qe ai qark duhet te funksionoje. Per ilustrim marrim nje shembull : Duam te realizojme dekodimin per nje porte e cila do te vendoset ne adresen 3000 Hex. A15 0
A8 0
1
1 0
3
0
0
A7 0
A6 0
0
0
0
0
0
0
0
0
0
0
A15 A14 A13 A12
CPU
A11
OR
Porte CS
3000 Hex
A0
Me ane te nyjes OR arrijme te veçojme nga gjithe fusha ( 0000 ----- FFFF ) Hex adresen 3000 Hex qe deshirojme.Sinjali CS/ = 0, vetem ne adresen 3000 Hex,
30
jashte saj ai eshte CS/ = 1, pra porta çaktivizohet dhe nese ke bufer 3 gjendje ne busin e te dhenave ai kalon ne gjendjen e trete. Dekodimin mund ta realizojme me disa menyra : = Direkt nga linja e adreses. = Me ndihmen e memorieve PROM duke i programuar ato per fushen e dhene. = Me ndihmen e nyjeve logjike me portat AND, OR, dekoduesa ose memorie e programuar per dekodim, etj. Me gjithe format e perdorura, adresimi behet duke perdorur menyren I0 / M/ ose jo.Perdorimi i saj do te veçonte adresen e portave nga ai i memorieve. Ne kete rast adresat e memorieve do te ishin me kater shifra kurse ato te portave me dy ne formen : ( 0000 -- FFFF ) Hex, Memorie. ( 00 -- FF ) Hex, Porta. 2.8 Portat e daljes Portat e daljes jane konceptuar si nje fiksues apo bistabel ( latch ). Ajo merr te dhenen nga busi dhe e ruan ne brendesi te saj, kur jepet sinjali ne linjen aftesuese qe eshte nje kombinim logjik: i fushes se adresave, te portes dhe i sinjalit te kontrollit WR/ . E dhena e percjelle ne dalje qendron derisa te kemi nje adresim me te dhene te re tek kjo porte (fig 2.20). BUS i Adresave te sistemit
Dekodues
OR
WR CLK Fiksues
nga CPU
Dalja e Portes d1 .. d8
BUS i Te Dhenave te sistemit
Fig 2.20 Komunikimi me porten e daljes Prodhohen porta dalje me shkalle te larte integrimi qe realizojne shume funksione, po permendim disa prej tyre : 8255 PIO , porte hyrje / dalje paralele 8155 / 8156 ( PIO + memorie RAM + Numrator ) 8279 Kontroller i programuar per nderprerje Shpesh per porta dalje te thjeshta, per komandim proçesi diskret perdoren 74LS373 etj.
2.9 Portat e hyrjes
31
Portat e hyrjes marrin sinjalet diskrete nga ambienti i jashtem dhe i transmetojne ne busin e te dhenave. Ato jane komponente qe vetem lexohen, dhe ne kete moment percjellin hyrjet ne busin e te dhenave (fig 2.21).
BUS i Adresave te sistemit
Dekodues
OR
RD CLK Fiksues
nga CPU
hyrjet diskrete h1 .. h8
( nga jashte ) BUS i Te Dhenavete sistemit
Fig 2.21 Komunikimi me porten e hyrjes Si porte hyrje mund te sherbeje çdo drajver me tre gjendje ( qe te mos ndodh konflikt ne bus ). Porta hyrje mund te realizohen, ashtu si dhe ato te daljes , me shkalle te larte integrimi per shembull 8155, 8156 . Per hyrje nga proçesi shpesh perdoret familja e qarqeve te integruar 74 LS .. ( p.sh 74 LS 241 ). Vrejtje : per dekodimin e portave perdoren keto sinjale : = Adresa e busit = RD / dhe WR/ __ = IO / M __ Ne rastin e shfrytezimit te sinjalit te kontrollit te mikroproçesorit I0 / M = 1, adresat ( buset ) mbi vendosen: ( A15 ----- A8 ) perseriten ne ( A7 ----- A0 ). 2.10 Dekodimi i memorieve Fusha e adresave te memorieve si kriter te pare ka mosnderprerjen e saj. Kjo eshte e detyrueshme per ato EPROM, ku vendoset programi operativ, kurse ato RAM ne te cilat ruhen te dhena te perkoheshme ky problem nuk eshte i dukshem ( tedenca eshte unifikimi i fushes). Adresat e sistemit duhet te fillojne, ose te mbarojne ne lokalin ku vendoset program numeratori ( PC ) kur behet Resetimi i mikroproçesorit. Per sistemin 8085 nje fushe e mundeshme do te ishte si me posht.
32
0000 Hex
EPROM 7FFF 8000
RAM PORTA Hyrje-Dalje
A000
ose
Kujtese FFFF Hex
Dekodimi ne forme ilustruese do te kishte figuren 2.22. BUS i Adresave te sistemit
Dekodues A8-An (offset) RD
A0-A7 Dekodues (segment)
ROM 256 Byte
OR
CS
nga CPU BUS i Te Dhenavete sistemit
Fig 2.22 Dekodimi i fushes se adresave te memories 2.11 Programimi ne mikrokompjuterat 2.11.1 Mekanizmi i interpretimit te instruksioneve. Programet shkruhen ne memorien e sistemit ne formen e biteve te organizuar ne heksadecimal sipas busit te te dhenave te mikroproçesorit. Per te bere te qarte kete mekanizem, ilustrojme interpretimin e kodeve me mekroproçesorin 8085 A ku fenomenet jane me te qarta, pasi perfaqeson mikroproçesorin industrial me te thjeshte. Sipas kesaj rruge mund te nxierrim perfundime edhe per mikroprocesore te tjere ( nuk eshte qellim ne vetvehte vet mikroprocesori ne kete pjese).Instruksioni perbehet prej kodit te operimit dhe te dhenes apo te dhenat shoqeruese, por ka instruksione edhe pa asnje te dhene shoqeruese.Per shembull nje instruksion qe sherben per ngarkimin e akumulatorit me te dhenen perkatese eshte :
33
3E 08
3E = Kodi i operimit ( ngarkon akumulatorin e mikroproçesorit ). 08 = E dhena qe do te ngarkohet ne akumulator. Instruksioni qe komunikon mikroproçesori me memorien : 0000 Hex
3A
1000
05
1001
30
Adresat perkatese
1002 FFFF Hex
3A = Kodi i operimit, qe i tregon mikroproçesorit se çfare duhet te beje. 05 = e dhena e pare. 00 = e dhena e dyte. Ne rastin tone e dhena e plote eshte 3005 Hex ku : 05 = BU ( bajti i ulet ) 00 = BL ( bajti i larte ). Pavaresisht se ne themi te dhena, pasi ato ne fund te fundit te dhena jane, te cilat jane ngarkuar ne memorie, por ato shprehin nje adrese qe do te kuptohet me poshte. Per thjeshtesi te trajtimit te problemit, pozojme se keto instruksione jane te shkruajtura ne kujtesen e sistemit ne adresen e pare, pra duke filluar nga adresa 0000. Paraqitja e memories me te dhenat perkatese do te kishte rrjedhshmerine e me poshteme. 3E
0000 Hex
08
0001
*
0002
FFFF Hex
34
Adresat perkatese
Ecuria e interpretimit do te ishte : = Kur behet resetimi i mikrokompjuterit, adresa qe nxjerr program numeratori ( PC ) per rastin e 8085 do te ishte 0000 Hex, pra çdo linje e basit te adresave vendoset ne nivelin ulet. = Dekoduesi i fushes se adresave te sistemit me çfaqjen e kesaj adrese ne hyrjen e tij, nxjerr ne dalje sinjalin e fushes se adreses CS/ qe eshte sinjali aftesues i kesaj memorie ( qarku memorie ). = Memoria aftesohet, dhe meqenese shkon edhe sinjali i kontrollit te mikroproçesorit RD/, ajo nxjerr ne busin e te dhenave edhe te dhenen qe eshte ne kete lokal te saj ( 3E ).Busi i te dhenave merr pamjen : D7
D6
D5
0
0
1
D4 1
D3
D2 1
D1 1
D0 1
0 3E Hex
= Te dhenen ( 3E ) Hex, te çfaqur ne bus e kap regjistri i instruksioneve ( i cili eshte i gatshem me resetimin e mikroproçesorit ) dhe ja perciell dekoduesit te instruksioneve. = Dekoduesi i instruksioneve dekodon kete kod operimi ( opkod ) dhe jep te dhenen e nevojshme ( fjalen e komandes ) ne bllokun e logjikes dhe kontrollit ne kohe, i cili duhet te kryej veprimin e nevojshem. Dekoduesi e kupton se kodi i operimit ( opkodi ) 3E, do te thote ngarko akumulatorin me te dhenen ne lokalin e me adrese pasuese. = Kontrolli logjik afteson akumulatorin, inkrementon program numeraatorin ( PC ) ne adresen perkatese ( 0001 ) , çafteson rregjistrin e instruksioneve. Meqenese adresa u rrit, dekoderi i sistemit nxjerr prap ne dalje CS/ = 0, pasi jemi ne kete fushe adresash, dhe afteson qarkun e memories, si dhe jepet sinjali RD = 0, e dhena 08 shfaqet ne busin e te dhenave te cilen e merr akumulatori i cili eshte i aftesuar dhe pas kesaj program numeratori ( PC ) inkrementohet ne adresen perkatese ( 0002 ), ku gjen patjeter nje opkod dhe procedura perseritet ne te njejten menyre si ne fillim. Bllokskema qe tregon rruget e rrjedhjes se te dhenave ne shembullin e mesiperm paraqitet ne figuren 2.23.
35
BUS i Te Dhenave D0-Dn-1
Regjister Instruksioni A Dekodues Instruksioni
PC ROM A0-An-1
Kontrolli Logjik
BUS i Kontrollit
Mikroprocesor Fig 2.23 Ecuria e ekzekutimit te instruksionit te 8085 2.12 Programimi ne gjuhe te nivelit te ulet. Programet ( apo ndryshe siç i themi software ) qe mbarten ne mikrokompjuterat jane dy lloje : = Programe monitor, behet fjale per sistemet me baze mikroproçesor, ose programe apo sisteme operative qe jane nje teresi me e zhvilluar. = Programet e perdoruesit, te cilat shfrytezojne programet monitor apo sistemet operative dhe jane te nje destinacioni te caktuar. Programet monitor administrojne hardwerin e sistemit dhe bejne te mundur ekzekutimin e programit te perdoruesit. Sipas aftesive, pra detyrave qe kryen programi monitor, ata quhen sisteme operative, kur keto detyra jane me komplekse. Pa programin monitor sistemi ( hardware ) eshte i " vdekur " ai nuk eshte ne gjendje te kryej asgje, pra programi monitor e afteson ate dhe i ve detyrat perkatese .Hardueri ne menyre te ngurte ben interpretimin e instruksioneve te programit. Programet zhvillohen me gjuhe te caktuara, te cilat jane ne dy nivele : = gjuhe e nivelit te ulet, ku perfshihet Assambler dhe gjuha Makine. = gjuhe te nivelit te larte qe jane nje teresi llojesh. Ky lloj klasifikimi ka te beje me pozicionin qe ze kjo gjuhe ne raportin perdorues- makine. Gjuha e nivelit te ulet esshte larg koncepteve te perditeshme te njeriut dhe i afrohet llojit te mikroproçesorit me te cilin eshte ndertuar mikrokompjuteri, pra eshte e ulet si nivel sepse pranohet e tille aftesia per te interpretuar kompjuteri. Gjuha e nivelit te larte me instruksionet e saj i afrohet teper shprehive te perditshme, gjuhes se folur ,pra sintakses se saj.
36
2.12.1 Nje koncept mbi fushen e adresave Zhvillimet e softuerit jane te lidhura me adresen e punes te sistemit dhe kryesisht te memorieve (kur zhvillojme vet programe dhe i mbartim ato ne memorie) si dhe te portave per çdo lloj komunikimi. Fusha e adresave eshte funksion i tipit te mikroproçesorit qe perdoret, megjithate koncepti eshte i njejte ne te gjitha rastet. Per ilustrim shikojme ndarjen e meposhtme :
80256 8088 8085 A23
A19
A15
A9 A8 . A7
A0 256 Byte 1024 Byte
64 KB 1 MB 16 MB
A19...............................................A8
AD7......................AD0
D0 ...D7 A0...A7
20 C = 2 = 1 MB
A0.-- A19
Per shembull : mikroproçesori 8088 ( 8 bit te dhena D0 -- D7 ) dhe 20 bit adresa ( A0 -- A19 ) ka kete permbajtje : A19 ----- A8 AD7 ----- AD0 D0 -- D7 C = 220 = 1 Mbyte. Programet operative ngarkohen ne memoriet ROM ose EPROM, kurse te dhenat fillestare ose ato qe dalin gjate ekzekutimit te nje programi ruhen ne memorien RAM (fig 2.24).
37
Adresa Instruksioni Lokali ipare i kujteses
0000 Hex
EPROM Kerkese per Lexim / Shkrim
Adresa e fillimit ( ....... Hex )
........ Hex RAM Adresa e fundit
Fig 2.24 Ndarja e memorieve sipas problemeve Memoria EPROM fillon si fushe adresash, ne adresen ku vendoset Program numeratori me resetimin e mikroproçesorit. ( p.sh 8085 e ka 0000 ). Nje vendosje e rekomanduar e adresave per sistemet me 8085 A do te ishte si me posht.
0000 Hex
EPROM
32 KByte 7FFF 8000
RAM
32 KByte ( edhe shkeputje) FFFF 80 - 87
PORTA F7 - FF
Per cdo porte eshte pranuar deri 8 adresa te mundeshme
__ Adresimi i portave hyrje / dalje shfrytezon sinjalin e kontrollit I0 / M te mikroproçesorit ( 8085 A ) dhe lehtesohet mjaft marrja e masave te mos nderhyrjes se portave ne memorie dhe anasjelltas. Kjo ka dhe nje avantazh te tjeter te rendesishem. Fusha e adresave per sistemin eshte 64 kbyte, ajo mund te shfrytezohet e gjitha per memorie ose per memorie dhe porta, pra kufizohet
38
fusha e adresimit memorie.Pra kemi dy mundesi : __ = I0 / M nuk çfrytezohet per adresim, atehere adresa e portes eshte njelloj si dhe adresa e memories, per shembull 8000 Hex.Mikroproçesori do ti drejtohet portes njelloj ( me te njejtat instruksione pershembull LDA 8000 ose STA 8000 ) si dhe memories. __ = I0 / M shfrytezohet ne proçesin e dekodimit te fushes se adresave. Adresimi peson mbivendosje ( me çfaqjen e instruksionit IN ose OUT dhe I0 / M = 1 ) ku BL i adreses perseritet tek BU i saj dhe busi i adresave do te ishte :
A15 A14 A7
A6
A13 A12 A11 A10 A9 A5
A4
A3
A2
A1
A8 A0
Bajti i larte Bajti i ulet
__ I0 / M = 1 ( INstruksionet IN dhe OUT ) __ I0 / M = 0 ( Instruksionet LDA dhe STA ) IN Porte , OUT Porte = instruksione lexim / shkrim ne porta. LDA adrese, STA adrese = instruksione lexim / shkrim ne memorie. 2.12.2 Komunikimet e brendeshme te sistemit ( gjuha makine ) Mikroproçesori interpreton direkt instruksionet e shkruara ne gjuhen makine ( te rregjistruara ne binar 1 ose 0 dhe te shprehura ne Hex ). Disa veçori te gjuhes makine : = Eshte e lidhur ngushte me tipin e mikroproçesorit, pasi çdo mikroproçesor ka instruksionet e tij. = Interpretohet direkt nga mikroproçesori. = Krijon module shume optimale per administrimin e hardwerit. = Shpejtesia e ekzekutimit eshte teper e madhe. = Kujtesa e EPROM per ruajtjen e programit eshte minimale. = Kerkon investime fillestare teper te medha pasi kerkon njohje ne imtesi te problemit dhe harduerit. = Duke qene e lidhur vetem me ate tip mikroproçesori humbet aftesite e saj. Instruksioni ne gjuhen makine i mikroproçesorit karaakterizohet nga kodi operativ dhe te dhenat.
Kodi i Operimit E Dhena e pare E Dhena e dyte
Pa te dhena Kodi i operimit mund te ndiqet nga
1 E Dhene 2 Te Dhena
39
Kodi i operimit, eshte nje kod i shkruar ne binar qe kuptohet direkt nga mikroproçesori(regjistri dhe dekoduesi i instruksioneve te tij) i cili kryen veprimet perkatese. Per thjeshtesi po paraqesim opkodet me kryesore (ku reflektohen dhe te dhenat perkatese) te mikroprocesorit 8085 A. 1. Transferim
MVI reg, data M0V reg, data LBA adrese STA adrese
2. Veprime Arithmetike ADD reg ADC reg SUB reg SBB reg 3. Veprime Logjike ANA reg XRA reg ORA reg CMP reg 4. Speciale. DAA CMA STC CMC 5.Rrotullimi RLC RRC RAL RAR 6. Arithmetik dhe logjik ADI ACI SUI SBI ANI XRI ORI CPI 7. Komandimi per degezim JMP adr JNZ adr JZ adr JNC adr JC adr JPO adr JP adr JPE adr JM adr PCHL 8. Thirrje rutinash CALL adr
40
INR reg INX reg DCR reg DCX reg
CNZ CZ CNC CC CPO CPE CP CM 9. Ristart.
adr adr adr adr adr adr adr adr
RST ( 0 -- 7 )
9. Rikthimi nga thirja e rutinave. RET RNZ RZ RNC RC RPO RPE RP RM 10. Hyrje / dalje dhe kontroll makine. PUSH reg POP reg XTHL SPHL IN byte OUT byte 11. Komandime DI EI NOP HLT 12. Interrapti. RIM SIM
2.12.3 Element te veçante te komunikimit = Komunikimi mikroproçesorit me memoriet, lexim / shkrim i te dhenave ne memorie.
41
LDA adresa STA adresa
LDA A
E Dhena
Adresa
STA Adresa = permbajtja e reg. BC ose DE STAX XX Aresa = BC
LDAX reg (B) (C) STAX reg (B) (C)
A LDAX
= Komunikimi midis rregjistrave MVI B, byte Regjistri psh B
B MVI
B, Byte
Byte E Dhena Imediate
= Komunikimi me portat
IN Adresa e Portes
IN Adrese porte
OUT Adrese porte
A
* OUT
= Ruajtja e permbajtjes se rregjistrave apo flegeve. PUSH reg POP reg fundit
42
( permbajtjen e rregjistrit e çon ne stak ) ( terheq permbajtjen e stakut sipas dhenesit te ne rregjistrin perkates ).
PUSH PSW PUSH - i i trete Ruajtja ne Stak e permajtjes PUSH - i i dyte se regjistrave PUSH - i i pare
Terheqia nga staku e permbajtjes se regjistrave
PUSH B PUSH D PUSH H
POP H POP D POP B POP PSW
= Degezimi
Adresa 0000 Hex
JMP 0800
Permbajtja
C3 00 08
0800 Hex
Program Numeratori Merr dhe Kercen ne adresen 0800 Hex
Opkod
= Thirrja e rutinave
43
Moduli kryesor
PC = Program Numeratori merr adresen e modulit qe thirret
Moduli dytesor CALL
PC
Opkod
Adrese Moduli tretesor
CALL
PC
Ret
Opkod
Ret
Adrese fillimi
Adrese fundi
= Mekanizmi i nderprerjes. RST 7.5 3C HEX RST 6.5 34 RST 5.5 2C TRAP 24
INTR = >
RST 0 .......... .......... RST 4 MVI A, byte SIM ( vendos masken e interrapteve ) EI ( afteson interrupten )
Kur ndodh nderprerja ( interrupti ), automatikisht çaftesohet ai vete dhe te tjeret, njelloj sikur te jepet MVI A, byte SIM DI ( çafteson interruptet ) Shembull : Kerkohen matje te vazhdueshme ne kohe me nje periode kampionimi (h) konstante te dhene gjate kohes kur sistemi ( programi kryesor ) eshte i zene me komandime te tjera. Kjo do te kerkonte nje nderprerje te programit per pak çaste sa te kryhet detyra e matjes dhe me tej vazhdon detyra kryesore (fig 2.25).
44
Moduli kryesor
Opkod
RST 6.5 (10mS)
Opkod
EPROM 0000 Hex
JMP matje
0034 Hex
Kur PC ndodhet tek PC ky instruksion (lokal) Moduli i matjes ndodh nderprerja matje: Opkod adrese
CLK = 10 mS
PC Ret
Fig 2.25 Shembull organizimi te nje interrapti
2.12.4 Mjetet teknike te programimit Per realizimin teknik ne gjuhe makine te nje programi te dhene nevoiten nje sere mjetesh hardware dhe software. Programi i shnderruar ne gjuhe makine eshte rrjedhim i nje programi burim i zhvilluar ne gjuhe te nivelit te larte qe kompilohet ose duke shfrytezuar mnemoniket elementare te gjuhes Assambler. Relizohet kjo proçedure (fig 2.26).
45
Programi Burim Zhvilluare me editorin e Sistemit Zhvillimit
SRC Asemblator Module te tjere qe do te bashkohen
OBJ
Adresat jane relative
OBJ
OBJ Linker
LNK
Disa module te lidhur sebashku ne adresa relative.
Lokator
Testime te
EXE
" Software"
Jepet adresa absolute e offsetit te modulit kryesor EPROM
Qarku
programues SME RAM operativ
Fig 2.26 Struktura e zhvillimit te nje programi Programi ne gjuhe makine mund te ekzekutohet ne disa ambiente : = EPROM qe permban programin operativ ( program monitor nese do te ishte me i vogel se 3 kbyte). = EPROM program perdoruesi ne serite e CPU. ( komandim numerik ) = Mikrokompjuter, sistem zhvillimi, ose nje personal kompjuter. Dy rastet e para jane te qarte, u trajtuan me siper, persa i perket ketij te fundit bejme edhe kete sqarim (fig 2.27).
46
Programe burim ne gjuhe te nivelit te larte
Programe ne gjuhe makine
Interpretues i gjuhes
Sistem Operativ
EXE
Vendos Programin ne zonen e detikuar per ekzekutim
Kompilatori
PC = adresen e zones Ekzekutim
Fig 2.27 Strukture per zhvillim ne gjuhe te nivelit te larte
2.12.5 Perparesit e programimit ne Assembler ndaj atij ne gjuhe makine. Perparesite jane te shumta por mund te permendim disa nga me kryesoret. = Punohet me instruksione ( mnemonike ) duke krijuare lehtesi zhvillimi. = Adresimi eshte relativ nepermjet etiketave, pra mund te behen shtesa ne çdo kohe ne programin burim ( SRC ). = Zonen RAM apo EPROM te te dhenave e rezervojme lehtesisht per qellime shkrim leximi. Per ilustrim, japim nje koke programi te shkruar ne assambler. ORG 0800 Hex. baze 1 : baze 2 : adpd adph
DS DS
72H 24H EQU EQU ORG JMP ORG JMP
Tab 1.
80H 81H
ORG
Init ; kalo tek inicializimi i programit. 0034H matje ; Kalo ne matjen A / N kur ndodh interrupti. 60H
DB DB
04, 07, --------- 09 02, 0AF --------
47
ORG Init : Lok 1 :
Matje :
0100H
MVI
A, 27H
JMP
lok 1
MVI SIM EI ....... ....... ....... ....... RET.
A, ODH
Direktivat : DS = segmenton te dhenat ne memorie. DB, DW = fut te dhena ne etiketen perkatese. EQU = dhenie vlere nje parametri. TAB = etikete qe paraqet nje adrese çfaredo.
2.13 Mikroproçesori 80286 Ne figure jepen sinjalet e ndryshem te organizur ne buset perkatese te mikroproçesorit 80286. Figura.
48
Nga qarku mbeshtetes 8284
CLK
Reset
Ready
HOLD A0 -- A23
HLDA INTR
D0 -- D15
NMI PEREQ PEACK Nderfaqie BUSY me Ekstension. ERROR
80286
BNE M / IO S1 S0 COD / INTA LOCK
Nje mikroproçesor 80286 me frekuance 8 MHZ eshte 6 here me i shpejte se sa standarti 8086 5 MHZ. Mikroproçesori 80286 administron memorie fizike 224 byte ( 16 MB ) dhe ne menyren virtuale deri ne 1 GB ( 230 byte ). 80286 eshte kompatibel me 8086 / 8088 persa i perket softuerit. Duke perdorur 8086 ne menyren e adresimit real, 80286 eshte nje objekt kod kompotibel me softuerin ekzistues 8086 / 8088. Sinjalet me kryesore. Disa nga sinjalet me te rendesishem te ketij mikroproçesori, te cilin duhet ta njohim per dy aresye jane si me posht : 1. Keto sinjale ( kryesisht dhe jo vetem keto ) dalin ne busin e CPU ( njesise qendrore ) ku do te assemblojme kartat e ndryshme qe lidhen me proçesin. 2. Do te na duhet te njohim fushen e adresave te brendshem per te bere zgjedhjet e nevojshme. ____ 1. BHE ( dalje ) ( Bus high enable ) kur ky sinjal ka nivele te ndryshme dhe detyrat qe kryen jane te tilla. ____ BHE = 0 A0 = 0 transferim fjale ( dy byte ) ____ BHE = 0 A0 = 1 transferon nje byte ne ( D8 ----- D15 ) ____
49
BHE = 1
A0 = 0 transferim nje byte ne gjysmen e ulet te busit te dhenave ( D0 -- D7 )
2. ( A0 ----- A23 ) dalje. A0 = 0 kur e dhena transferohet ne gjysmen e ulet te te basit te te dhenave ( D0 ----- D7 ). ( A10 ----- A23 ) = 0 gjat transferimit I / 0 hyrje / dalje. Nga me siper, adresat e portave do te ishin : A23 ....... A10
A10 A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0 .........0
0
0
0
0
0
0
0
0
0
0
0
0..........0
0
1
1
1
1
1
1
1
1
1
1
Fusha e adresave te portave eshte:
000 -- 3FF
3. ( D0 ----- D15 ) busi i te dhenave 16 bit , me dy drejtime. hyrje = kur lexohen memoriet, portat I / 0, dhe gjate ciklit te leximit te interruptit. dalje = gjate shkrimit te te dhenave ne memorie, porta Z(rezistence e larte) = gjate ciklit HLDA: __ 4. M / I0 ( memory / I / 0 ) ,dallon thirrjet memorie prej thirrjeve I / 0. Mikroproçesori 80286 eshte nje mikroproçesor i avancuar me shpejtesi te larte, me aftesi optimale per sisteme me shumeperdorus (multiuser ) dhe shume detyra ( multitask ). Ai eshte 6 here me i shpejt dhe kompatibel nga pikepamja e softwerit ne mikroproçesoret 8088 / 8086 dhe 80186 ( 88 ). Mikroproçesori 80286 eshte 16 bit dhe permban disa rregjistra qe tregohen me posht.
50
7 Regjistrat AX dhe Dx sherbejne per shumezime pjestime dhe instruksione hyrje dalje BX dhe BP = Regjistra te bazes
SP = Ruhet staku i sistemit
0 7
0
AX
AH
AL
DX
DH
DL
CX
CH
CL
BX
BH
BL
BP
Regjistri i Bazes
SI
Regjister Indeksues
DI
Regjister Indeksues
SP
SI dhe DI= Regjistra per ne segmentet e te dhenave
Stak Regjister
Regjistrat e perdorimit te pergjithshem 15
0 CS
CS= Segmenti i Kodeve DS= Segmenti i te Dhenave
DS SS
SS= Segmenti i Stakut
ES
ES= Segment i vecante
Regjistrat e segmenteve F IP MSW Regjistriat e gjendjes dhe kontrollit te makines
F= fleget qe rezultojne nga veprimet arithmetike dhe logjike. IP= Shenuesi i Instruksioneve MSW= Fjala e gjendjes se makines.
2.14 Kompakt Kompjuterat Pasi analizuam bllokskemen e mikrokompjuterit ( mikroproçesor, memorie, porta hyrje - dalje ) kalojme ne trajtimin e mikrokompjuterit minimal qe gjen aplikime te shumta. Keta quhen edhe kompjutera ne nje bord ( karte ) apo kompakt kompjutera. Duke analizuar skemen minimale, eshte me lehte per te gjykuar per skemen e komandimit numerik te ndertuar ne disa karta apo per sisteme industriale te bazuar tek personal kompjuteri dhe automatet. Kompjuteri minimal gjen perdorime gjeresisht ne automatike per komandimin logjik te proçeseve diskrete qe zoterojne nje vektor parametrash hyrje dhe dalje te kufizuar ( 8, 16, 24 hyrje / dalje ). Keto sisteme perbejne nje fushe te caktuar dhe klase te caktuar te sistemeve, pavaresisht se mikroproçesoret dhe kompjuterat kane arritur nivele te tilla zhvillimi sa jane permbysur edhe koncepte. Ashtu si ne çdo teknike tjeter qe ka disa nivele edhe ne sistemet e komandimit numerik ndeshen te gjitha klasat e mbartesave te komandes, duke filluar nga kompjuteri me nje bord dhe duke vazhduar me sistemet e komandimit industrial me kod ( automatet e programuar ), sistemet bazuar ne
51
personal kompjuterin, komandimi ne distance dhe ne rrjet i kompjuterave per komandim hierarkik te proçeseve industriale. Perderisa ekzistojne makina individuale me numer te kufizuar hyrje / dalje ( si presat plastike, ashensoret, makinat eperpunimit te drurit , makinat ngritese etj ) do te kete nevoje per sistemet minimal. Kalimi nga nje sistem ne tjetrin behet i detyrueshem per arsyet qe diktohen nga kushti i drejtimit racional te tij. Percaktuese eshte linja: kosto cilesi - siguri .Disa referenca te mundeshme do te ishin keto te meposhtemet. = Kerkesa ndaj numrit te hyrje daljeve diskrete dhe analoge kur nuk mund te perballohen nga nje klase me e hershme. = Shpejtesia e ekzekutimit te programit, pasi programet optimal jane relativisht te gjate dhe kerkojne kohe te konsiderueshme ne ekzekutim. = Kapaciteti i programit kryesor si dhe aftesia ruajtese ( ruajtja e te dhenave ). = Komunikimi i sistemeve me njeri tjetrin dhe me sistemin qendror qe do te drejtoje te gjithe nensistemet per te optimizuar nje repart apo uzine komplekse. = Aftesite vizualizuese dhe monitorizuese te rezultateve. Ne baze te kerkesave te teknologjise zgjidhet edhe mbartesi qe do te realizoje kete komande. Nese numri i hyrje/daljeve eshte i kufizuar, aftesite perpunuese plotesohen me shpejtesira te vogla, kapaciteti i programimit eshte i vogel ( 2 - 4 kbyte ) dhe nuk kerkon aftesira grafike apo baze te dhenash, atehere pa diskutim qe duhet te zgjedhim nje sistem minimal. Sistemi minimal me 8085 A. Sistemi perdor elementet me te domosdoshem qe te funksionoje normalisht si: = Mikroproçesor. = Memorie EPROM dhe RAM. = Porta hyrje dhe dalje. Nga te gjithe komponentet e mundshem, zgjidhen ato qe kane te integruar ne te njejtin qark disa funksione per shembull : memorie EPROM dhe porte hyrje dalje, memorie RAM dhe porte hyrje dalje.Ne figuren 2.28 tregohet skema elektrike e nje sistemi minimal, i cili permban nje seri komponentesh te panjohura per ne te cilat do ti trajtojme me posht : 1. Memorie EPROM 8355 / 8755A. Qarku 8355 / 8355 - 2 eshte kujtese ROM dhe njekohesisht porte hyrje ose dalje ( I / 0 ). Kapaciteti i kujteses eshte 2 kbyte, sasia e linjave eshte ndare ne dy porta PA dhe PB, sejcila prej tyre mund te programohet per hyrje dhe dalje sipas fjales se komandes qe jepet ne inicializim. Ky qark ka kohen e thirrjes ( access time ) 300 - 350 nanosekonda duke qene kompatibel me 8085 A dhe 8085 A - 2 ( 3.144 M Hz dhe 5 M Hz ) . Qarku 8755 / A ose 8755 A, eshte kryesisht EPROM dhe pothuajse gjithe karakteristikat e tjera jane si te qarkut si qarku 8355. Ne jemi te interesuar kryesisht per 8755A sepse ai mund te programohet nga ne dhe te mbarte programin perkates.Koha e thirrjes ( access time ) eshte 450 nanosekonda,pra komunikon me mikroprocesorin 8085A pa pasur nevoje per cikle pritje.
52
Serial , DMA dhe Nderprerjet HOLD SID HLDA/ SOD
INTA
TRAP RST7.5 RST6.5 RST5.5
INTR
Interraptet Res In Reset Out x1 IO/M/ 8085A WR/ Ready x2 RD/ A8 A15 AD-AD7ALE A12 A10 CLK A11
+5v Reset 100K
D1
DMA dhe Seriali
1
3
1mkF
6.144 MHz 10K
D1 1N914 +5v
+5v CE2 VDD
2
IOR
Prog / CE1/ Ready CLK PA0-PA7 A8 -- A10 Reset IO/M/ 8755A WR / RD / PB0-PB7 ALE AD0-AD7 GND +5v +5v 3.9K
3.9K
CE
I/O
PA0-PA7
8156 Reset IO/ M/ WR/ PB0--PB7 RD/ ALE PC0-PC5 AD0-AD7
Shenim WR/ dhe RD/ Jane aktiv ulet. IO/M/ tregon qe M eshte aktiv ulet
+5v
Fig .2.28 Skema elektrike e sistemit minimal me 8085 Sinjalet TRAP, INTR, HOLD duhet te tokezohen sepse nuk perdoren , ne te kundert mund te aftesohen dhe krijojne probleme. __ 2. Perdor sinjalin standart I0 / M per fushen e adresave,
53
ose perdor A15 per fushen e adresave sipas I / 0. 3. Kjo lidhje eshte e nevojshme nese deshiron te kesh cikle pritje. ___ ___ 4. RD dhe WR kane nevoje per rezistenca ngritese niveli ne menyre qe sistemi te punoje ne menyre sa me te sigurte. Secili kanal porte ka rregjistrin e daljes dhe ate te drejtimit me adresat perkatese, te cilat komunikojne me basin e brendshem te qarkut. Me posht tregohet adresimi i tyre duke variuar dy bitet e adreses AD0 dhe AD1. ( Adresimet jane te multipleksuara me te dhenat, si ne mikroproçesoriin 8085A). AD1 AD0 0 0
0 1
1 1
0 1
Porta qe zgjidhet Porta A Porta B Reg. i Drejtimit PA Reg. i Drejtimit PB
Fusha e adresave ne rastin kur ( I0 / M8755 = I0 / MCPU ). 00 Hex = PA 01 = PB 02 = Reg. i drejtimit te Portes A 03 = Reg. i drejtimit te Portes B. Fusha e adresave kur behet lidhja I0 / M8755 = A15CPU. 80 = PA 81 = PB 82 = Reg. i drejtimit te Portes A 83 = Reg. i drejtimit te Portes B Fjala e komandes jepet ne rregjistrin e drejtimit te portes ( ne fillim te programit, dhe keshtu behet inicializimi i portes ), per shembull 00 = ne DDRA kthen PA te gjitha ne hyrje. FF = ne DDRB kthen PB te gjithe ne dalje. __ Kur ( I0 / M = A15 ) : A15 A14 A13 A12
A11A10 A9 A8
A7 A6
A3 A2
A5 A4
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
Fusha e adresave per memoriet
54
A1 A0
EPROM 8755 dhe
( 80 -- 87 ) Hex 8755A
( 98 -- 9F ) Hex 8156
RAM 8156
CS 8755A (aktiv nenivel te ulet)
A15A14A13A12
A11A10 A9 A8
A7 A6 A5
A4
A3
A2
A1 A0
0
0
0
0
0 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
1
1
1
1
1
1
1
1
1
1
1
0
0
0 11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0 11
1
0
0
0
1
1
1
1
1
1
1
1
CS 8156 ( Aktiv nivel i larte ) 8755A ne adresat (0000 -- 07FF ) Hex dhe 8156 ne adresat ( 1800 -- 18FF ) Hex
Ne kete menyre sigurohet mosnderhyrja e dy qarqeve tek njeri tjetri. Fusha e adresave ka edhe te tjera kombinime ( mjafton te ndryshoje A15 , A14 , A13 ) qe mund te dalim ne nje zone tjeter.
2. 8156. ( Memorie RAM dhe porta h / d ). Ashtu si dhe qarku 8755, edhe 8156 eshte nje qark i kombinuar, ai perdoret per disa qellime : = memorie RAM ( 256 byte ) = porta hyrje / dalje 22 linja te programueshme ( 8 + 8 + 6 ) qe mund te u ndryshohet destinacioni. = Numerator 1 kanal me 14 bit, i programueshem. Adresat dhe te dhenat ne hyrje te qarkut jane te multipleksuara ( AD0 -AD7 ), dhe ndahen brenda qarkut me ane te sinjalit te kontrollit ALE. Per adresimin e memories RAM, mjafton te sigurohet CS/ = 1 ( Aktiv lart ), te jepet sinjali RD/ ose WR/ i kontrollit dhe te shfaqet ne bus ( AD0 -- AD7 ). Qarku ka 2n = 28 = 256 mundesi zgjedhje, pra 256 byte te dhena qe adresohen nga jashte. Puna e portave hyrje / dalje ka bllokskemen si ne figuren 2.30.
55
BUS i Brendshem i qarkut 8156
Komanda WR/
PA
PB
PC
Komanda RD/
Kohues
Kohues
MSB
LSB
Lloji i kohimit
8
8
6
Kanalet hyrje-Dalje
Fig 2.30 Bllokskema e qarkut 8156 Inicializimi konsiston ne dhenien e fjales se komandes ne regjistrin e fjales se komandes , fjale e cila permban informacionin e nevojshem per kanalet e portave. Rregjistri i gjendjes, vetem mund te lexohet per te pare sipas biteve perkates, gjendjet e ndryshme.
56