Osnove elektronike i programiranje mikroprocesorske tehnike. Mikroprocesorska tehnika. Mikroprocesori i mikroprocesorska oprema. Naredbe za prijenos podataka

OSNOVE MIKROPROCESORSKE TEHNIKE

Bilješke s predavanja

Moskva 2013

ORGANIZACIJA MIKROPROCESORA I MIKROPROCESORSKIH SUSTAVA

MIKROPROCESORSKI SUSTAVI TEMELJENI NA MIKROPROCESORSKIM KOMPLETIMA K580 SERIJE

Sastav mikroprocesorskog kompleta

K580 serija MPC sadrži skup LSI za izgradnju mikroprocesorskih sustava male brzine koji rade na radnom taktu do 2,5 MHz. Pomoću ovog MPC-a grade se mikroprocesorski sustavi (MPS) koji rješavaju probleme upravljanja različitim tehnološkim procesima.

Komplet ima sljedeće karakteristike. Omogućuje centralni procesor LSI, koji sadrži operativne i upravljačke uređaje u jednom čipu, što značajno pojednostavljuje konstrukciju mikroprocesorskog sustava. Osim toga, kako bi se olakšalo programiranje pri upravljanju MPC mikro krugovima, koristi se fiksni skup naredbi, što dovodi do smanjenja brzine mikroprocesorskog sustava. To je zbog činjenice da predloženi skup naredbi može biti nedovoljan za rješavanje određenog problema.

Brojni mikro krugovi uključeni u MPC izrađeni su pomoću n-MOS tehnologije, drugi - pomoću TTLSh tehnologije. Međutim, bez obzira na tehnologiju proizvodnje, svi ulazni i izlazni signali mikrosklopova serije K580 odgovaraju razinama logičkih sklopova TTL tehnologije, što pojednostavljuje koordinaciju s mikrosklopovima TTL tehnologije bilo koje serije.

Svi MPC mikro krugovi mogu raditi u temperaturnom rasponu od -10 ° C do + 70 ° C. Mikro krug K580VM80A zahtijeva tri izvora napona: napajanje: +5 V, -5 V i +12 V, mikro krug K580GF24 zahtijeva dva izvora: + 5 V i +12 V, ostali mikro krugovi su iz jednog izvora: +5 V.

Tablica 2.1 prikazuje sastav kompleta mikroprocesora serije K580.

Tablica 2.1 Sastav mikroprocesorskog kompleta

Oznaka čipa Svrha Funkcija izvršena
K580VM80A Paralelni CPU Središnji procesor s fiksnim skupom instrukcija za obradu paralelnih 8-bitnih informacija
K580VV51A Univerzalni sinkroni/asinkroni primopredajnik 8-bitni univerzalni sinkroni/asinkroni serijski primopredajnik
K580VI53 8 ili 16-bitni mjerač vremena Generira softverski kontrolirane vremenske odgode za sinkronizaciju kontroliranih objekata u stvarnom vremenu
K580VV55A 8-bitni paralelni port Programabilni I/O paralelnih informacija
K580VT57 8 ili 16-bitni DMA kontroler Brza razmjena informacija između MPS memorije i perifernih uređaja
K580VN59 Kontroler prekida Služi do osam zahtjeva za prekid od vanjskih uređaja
K580VV79 8-bitna tipkovnica i sučelje zaslona I/O kontroler za tipkovnicu i zaslon
K580VG75 8 ili 16-bitno CRT sučelje Kontroler za ispis informacija iz MPS memorije na ekran katodne cijevi
K580VK91A Sučelje kanala Uređaj za povezivanje mikroprocesora s informacijsko-mjernim sustavom
K580VA93 Kanalni primopredajnik Mikroprocesor primopredajnika - javni kanal
K580GF24 Generator takta Generira dvije sekvence taktnih impulsa potrebnih za rad središnjeg procesora
K580VK28 K580VK38 Kontrolor sustava i vozač autobusa Generira upravljačke signale za razne uređaje uključene u MPS
K580IR82 K580IR83 Međuspremnik registar 8-bitni tri-state međuspremnik registar
K580VA86 K580VA87 Bus bivši Dvosmjerni, 8-bitni, visokoopterećeni, tri-state driver sabirnice

Registrirajte blok

Mikroprocesor K580 sadrži softverski dostupne 8-bitne registre Opća namjena(RON) i 16-bitni specijalizirani registri: programski brojač i registar pokazivača steka. Osim toga, postoje registri koji nisu izravno dostupni programu: 8-bitni registri privremene pohrane W, Z i 16-bitni adresni registar.

Registri opće namjene B, C, D, E, H, L koriste se za pohranjivanje operanda, srednjih i konačnih rezultata, kao i adresa i indeksa za neizravno i indeksno adresiranje. Za izvođenje operacija s riječima dvostruke duljine te operacija formiranja i prijenosa dvobajtnih adresa moguće je operirati sa sadržajem registarskih parova BC, DE, HL.

Posebna značajka bloka registra MP je prisutnost u njegovom sastavu sheme povećanja/smanjenja(INC/DEC), koji proizvodi preko sadržaja brojač programa(PC) i stack pokazivač registar(SP) operacija zbrajanja/oduzimanja 1 bez uključivanja ALU.

Brojač programa(16-bitni registar) dizajniran je za pohranu adrese naredbe; nakon uzorkovanja iz RAM memorija tekuće naredbe, sadržaj brojača se povećava za jedan i tako se formira adresa sljedeće naredbe (u nedostatku bezuvjetnih i uvjetnih prijelaza).

Pokazivač snopa(16-bitni registar) koristi se za adresiranje memorije steka. MP K580 koristi "obrnuti" skup, tj. Kada se riječ gurne na stog, vrijednost pokazivača steka (adresa vrha stoga) se smanjuje, a kada se riječ izbaci iz stoga, povećava se.

Adresiranje steka široko se koristi pri radu s potprogramima i prekidnim rutinama.

Registri služe za kratkotrajnu pohranu nekih operanda i rezultata operacija. privremena pohrana podataka W, Z. Korištenje registara privremene pohrane omogućuje MP-u implementaciju, na primjer, takve operacije kao što je razmjena sadržaja dvaju registara u jednom ciklusu izvršavanja naredbi.

Registarski blok uključuje registar memorijske adrese(RA), dizajniran za pohranjivanje adrese memorijske ćelije u kojoj je zapisana trenutna naredba. Adresni registar nije dostupan programeru. Međutim, bilo koji par registara (BC, DE, HL) može se koristiti za specificiranje adresa instrukcija i podataka u programu.

Međuspremnici

Dvosmjerni međuspremnik sabirnice podataka dizajniran je za logički i električni odvajanje unutarprocesorske sabirnice podataka od vanjske, sistemske sabirnice podataka. Međuspremnik se sastoji od registra zasuna i izlaznog kruga s tri stanja, tj. sklop koji osigurava izlazna stanja 0, 1 i potpuno odspajanje od opterećenja (stanje visoke impedancije).

U načinu unosa informacija, unutarnja sabirnica podataka povezana je s registrom zasuna međuspremnika, koji se učitava iz vanjske sabirnice putem međuspremničkog kruga pod kontrolom naredbe.

U načinu izlaza informacija, sklop međuspremnika prenosi sadržaj registra međuspremnika zasuna u podatkovnu sabirnicu, na čiji se ulaz učitava informacija za izlaz iz jednog od registara putem interne sabirnice.

Tijekom obavljanja poslova u MP koji nisu vezani za postupke razmjene sa vanjski uređaji Međuspremnik je odspojen od sabirnice podataka.

Tijekom izvođenja operacija u MP-u koje se ne odnose na postupke razmjene sa sistemskim uređajima izvan MP-a, međuspremnik se odvaja od sabirnice podataka, tj. prelazi u stanje visoke impedancije (ne nula, ne jedan).

Međuspremnik adresne sabirnice je jednosmjeran i osigurava prijenos adresa naredbi i podataka, kao i broja perifernih uređaja od MP do sustava. Izlaz adresnog međuspremnika, baš kao i podatkovni međuspremnik, može prijeći u onemogućeno stanje.

Kontrolni uređaj

Kontrolni blok uključuje:

8-bitni registar naredbi (RK), dizajniran za primanje i pohranjivanje koda operacije;

Jedinica za upravljanje i sinkronizaciju (CU), koja generira upravljačke signale za sve interne registre i MP blokove, kao i svoje izlazne upravljačke signale;

Upravljačka memorija, implementirana na programabilnoj logičkoj matrici, u kojoj su pohranjeni mikroprogrami pojedinih operacija. Korisnik ne može mijenjati sadržaj upravljačke memorije, a time ni sastav naredbi.

Naredbe za prijenos podataka

Naredbe za prijenos podataka izvode operacije pohranjivanja, razmjene, učitavanja i premještanja podataka. Među svim instrukcijama mikroprocesora, ove su instrukcije najčešće korištene. Znakovi uvjeta nisu postavljeni naredbama u ovoj grupi. Tablica 2.5 prikazuje naredbe za prijenos podataka.

Tablica 2.5 Naredbe za prijenos podataka

Mnemotehnika zapovijedi Šifra operacije Broj bajtova po naredbi Provedene radnje
MOV R1, R2 01DDDSSS 1 1 (R1) (R2)
MOV R, M 01DDD110 1 2 (R)M(HL)
MOV M, R 01110SSS 1 2 M(HL) (R)
MVI R, podaci 00DDD110 2 2 (R) (bajt2)
MVI M, podaci 00110110 2 3 M(HL) (bajt2)
LXI RP, podaci 00RP0001 2 3 (RH) (bajt 3); (RL) (bajt2).
LDA adresa 00111010 3 4 (A) ((bajt3)(bajt2))
LHLD adresa 00101010 3 5 L((bajt3)(bajt2)); H ((bajt3)(bajt2)+1).
LDAX RP 00RP1010 1 2 (A) (M)
XCHG 11101011 1 1 (H) « (D); (L) « (E)
STA adresa 00110010 3 4 ((bajt3)(bajt2)) (A)
SHLD adresa 00110010 3 5 ((bajt3)(bajt2)) (L); ((bajt3)(bajt2)+1) (H)
STAX RP 00RP0010 1 2 M(RP) (A)

Uputa za prijenos s adresom registra MOV A, D) prenosi sadržaj registra D u akumulator. Izravno adresiranje naredbe MVI D, 4E 16 prenosi broj zadan u drugom bajtu naredbe (u primjeru broj 4E 16) u registar D, čija je adresa navedena u bitovima 5...3 prvog bajta naredbe. Naredba za izravno adresiranje LDA 0200 16 prenosi sadržaj memorijske ćelije, čija je adresa navedena u drugom i trećem bajtu naredbe (0200 16), na bateriju. Tim LDAX pr U akumulator se učitava sadržaj RAM ćelije čija je adresa sadržaj para registara BC.

Timovi logičke operacije

Svrha ovih naredbi je izvođenje logičkih operacija I, ILI, XOR, usporedbe, pomaka i invertiranja. Ove instrukcije izvode logičke operacije nad podacima u memoriji ili registrima i atributima. Tablica 2.7 prikazuje naredbe za logičke operacije.

Tablica 2.7 Naredbe za logičke operacije

Mnemotehnika zapovijedi Šifra operacije Broj bajtova po naredbi Vrijeme izvršenja naredbe, ciklusi Provedene radnje
ANA R 10100SSS 1 1 (A) (A)Ù(R). Zastave su postavljene – Z, S, P, AC.
ANA M 10100110 1 2 (A) (A)ÙM(HL). Zastave su postavljene – Z, S, P, AC.
Podaci ANI 10101SSS 2 2 (A) (A)Ù(bajt2). Zastave su postavljene – Z, S, P, AC.
XRA R 10101SSS 1 1 (A) (A)Å(R). Zastavice su postavljene – Z, S, P.
XRA M 10101110 1 2 (A) (A)ÅM(HL). Zastavice su postavljene – Z, S, P.
XRI podaci 11101110 2 2 (A) (A)Å(bajt2). Zastavice su postavljene – Z, S, P.
ORA R 10110SS 1 1 (A) (A)Ú(R). Zastavice su postavljene – Z, S, P.
ORA M 10110110 1 2 (A) (A)ÚM(HL). Zastavice su postavljene – Z, S, P.
ORI podataka 11110110 2 2 (A) (A)Ú(bajt2). Zastavice su postavljene – Z, S, P.
CMP R 10111SSS 1 1 (A)-(R). Zastavice – Z=1 ako je (A)=(R), C=1 ako je (A)<(R).
CMP M 10111110 1 2 (A)-M(HL). Zastavice – Z=1 ako je (A)=(M), C=1 ako je (A)<(M).
CPI podaci 11111110 2 2 (A)-(bajt2). Zastavice – Z=1 ako je (A)=(bajt2), C=1 ako je (A)<(байт2).
RLC 00000111 1 1 Pomak ulijevo (A) (2A). Zastavica C je postavljena.
RRC 00001111 1 1 Pomak udesno. (A) (A/2). Zastavica C je postavljena.
RAL 00010111 1 1 Ciklični pomak ulijevo. Zastavica C je postavljena.
RAR 00011111 1 1 Ciklični pomak udesno. Zastavica C je postavljena.
CMA 00101111 1 1
CMC 00111111 1 1
STC 00110111 1 1 (C) 1.

Tehnike programiranja

Za programiranje MP-a potrebno je poznavati sastav instrukcija, dobro poznavati svrhu i mjesto registara, tj. poznavati arhitekturu mikroprocesora.

Faze razvoja programa moraju se izvoditi u sljedećem redoslijedu:

1. Definicija i analiza problema;

2. Izrada blok dijagrama algoritma rješenja u općem obliku i strojnog algoritma;

3. Pisanje programa na asemblerskom jeziku;

4. Prijevod programa u strojne kodove;

5. Otklanjanje grešaka u programu (pronalaženje i otklanjanje grešaka);

6. Dokumentiranje programa.

Formulirajmo opće zahtjeve za programe napisane u asemblerskom jeziku.

Općenito, svaka naredba u asemblerskom jeziku piše se na sljedeći način:

Oznaka: Podaci o operaciji; Komentar

Označiti koristi se za označavanje adrese memorijske lokacije u kojoj je pohranjena data instrukcija. Može imati šest znakova, ne smije sadržavati interpunkcijske znakove ni razmake, a prvi znak mora biti slovo. Oznaka je uvijek određena dvotočkom i izborni je element naredbe. Koristi se samo po potrebi.

Operacija je obavezni element naredbe. To je mnemonički zapis od dva do četiri slova koja označavaju prirodu radnji koje se izvode, na primjer:

HLT je mnemonička oznaka za naredbu za zaustavljanje MP K580.

Podaci– dio naredbe koji može sadržavati jednu ili dvije osmobitne riječi ovisno o vrsti naredbe (adresa memorijske ćelije, adresa I/O porta, izravni podaci).

6.3.3. Zadaci učenja programiranja

Počnimo s programiranjem obrazovnih zadataka pisanjem programa koji očitava stanje gumba SB1 i prikazuje ga na LED indikatoru VD2 tako da se tipka ne pritisne (visoka razina signala na ulazu RA4 ) odgovara stanju užarenosti LED-a i obrnuto.

Listing 12.2. (html, txt)

Listing 12.2. (html, txt)

;glavni program

PETLJA

CALL SB1_VD2 ;pozovi potprogram SB1_VD2

; ponavljanje procesa

GET_RA ;podprogram za čitanje statusa

;priključak A

SB1_VD2 ;potrutina LED izlaza

;VD2 stanje gumba SB1 (bit 4

;registracija TEMPA)

GOTO P0 ;idite na P0

;TEMPA,4=0 (gumb pritisnut)

GOTO P1 ;idite na P1

BCF VD2 ;gasi LED

POVRATAK

Listing 12.2.

Glavni program sadrži zatvorenu petlju PETLJA IDITE NA PETLJU , potrebno za povremeno ponavljanje ciklusa praćenja stanja gumba i njegovog prikaza na indikatoru. Tim CLRWDT eliminira utjecaj mogućeg resetiranja zbog prekoračenja watchdog timera na rad programa. Sljedeće dvije naredbe pozivaju potprograme GET_RA i SB1_VD2. Prvi od njih (GET_RA ) prvo očitava trenutno stanje porta A , koji se upisuje u radni registar W . Budući da radni registar može biti potreban pri izvršavanju drugih instrukcija, njegov se status upisuje u registar TEMPA , koji se ovdje koristi za privremeno pohranjivanje stanja porta A . Dakle, nakon povratka iz potprograma GET_RA u rangu 4 registri TEMPA sadrži informacije o stanju gumba SB1 : "1" nije pritisnut, "0" je pritisnut.

Potprogram SB1_VD2 TEMPA i ovisno o tome svijetli ili gasi LED. U sustavu naredbi mikrokontrolera PIC16F84 nema uvjetnih naredbi za skok, stoga se za organiziranje provjere jednog ili drugog uvjeta koriste naredbe koje vam omogućuju da preskočite izvršavanje sljedeće programske naredbe, ovisno o stanju određenog bit u datom registru ( BTFSS i BTFSC ). Konkretno, tim BTFSS TEMP,4 preskače izvršenje naredbe GOTO P0 ako je TEMP,4 = 1 (gumb nije pritisnut). Tako je naredba implementirana BSF VD2 , koji svijetli LED VD2 . Zatim se analizira stanje TEMP,4 = 0 (tipka je pritisnuta) i, ako se dogodi, LED se gasi.

Moguća je jednostavnija implementacija zadanog algoritma, budući da pritisnuto stanje tipke isključuje nepritisnuto stanje (i obrnuto), ali je prikazana opcija jasnija.

Razmotrimo složeniju verziju programa, koja uključuje paljenje LED diode VD2 samo sa sljedećim stanjem prekidača i gumba za raspored: SA1 = 1, SA2 = 1, SB1 = 1 i SB2 = 0.

Listing 12.3. (html, txt)

Listing 12.3. (html, txt)

;glavni program

PETLJA

CLRWDT ;poništavanje psa čuvara

POZOVI GET_RA ; pozivanje potprograma GET_RA

POZOVI GET_RB ; pozivanje potprograma GET_RB

NAZOVI ZAG_1110 ; poziv potprograma ZAG_1110

GOTO LOOP ;idite na LOOP oznaku za

; ponavljanje procesa

GET_RB ;podprogram za čitanje statusa

;priključak B

MOVF PORTB,W ;čitanje stanja porta B u W

MOVWF TEMPB ;naprijed W do TEMPB

POVRATAK

ZAG_1110 ; svijetli VD2 LED samo kada

;sljedeće stanje prekidača i

;izgled gumba:

;SA1 = SA2 = SB1 = 1 i SB2 = 0

BTFSS TEMPA,2 ;preskoči naredbu if

IDITE NA P0 ;TEMPA,2=1

BTFSS TEMPA,3 ;preskoči naredbu if

IDITE NA P0 ;TEMPA,3=1

BTFSS TEMPA,4 ;preskoči naredbu if

IDITE NA P0 ;TEMPA,4=1

BTFSC TEMPB,0 ;preskoči naredbu if

GOTO P0 ;TEMPB,0=0

BSF VD2 ;svijetli LED VD2

IDITE NA P1

BCF VD2 ;gasi LED VD2

POVRATAK

UKLJUČI GET_RA.ASM

Listing 12.3.

Potprogrami GET_RA i GET_RB staviti u registre TEMPA i TEMPB trenutna stanja luka A i B , odnosno. Potprogram ZAG_1110 analizira stanja bitova 2, 3 i 4 registra TEMPA i bit 0 registra TEMPB i podložno TEMPA,2,3,4 = 1,1,1 i TEMPB,0 = 0 , svijetli LED VD2 . Ako barem jedan od ovih uvjeta nije ispunjen, LED se gasi.

Korištenje direktive UKLJUČI GET_PORTA.ASM omogućuje vam da uključite module potprograma s već otklonjenim greškama u trenutni program. Kako bi se koristila ova značajka, potrebno je spremiti module s otklonom grešaka kao zasebne asemblerske datoteke.

Pokušajmo sada upotrijebiti indikator od sedam segmenata za praćenje stanja preklopnih prekidača izgleda. Prvo, napišimo program koji se prikazuje na indikatoru H.L. sedmosegmentna slika bilo kojeg binarnog broja iz 0b do 1111b u heksadecimalnom zapisu.

Listing 12.4. (html, txt)

Listing 12.4. (html, txt)

;glavni program

PETLJA

CLRWDT ;poništavanje psa čuvara

MOVLW 0x0A ;pošalji konstantu 0A u W

GOTO LOOP ;idite na LOOP oznaku za

; ponavljanje procesa

SEV_SEG ;podrutina održavanja

;indikator sa sedam segmenata

ANDLW 0x0F ; maskiranje 4 najmanje značajne znamenke

;W i nuliranje 4 najveća

ADDWF PCL,F ;dodajte W s PCL i naprijed

;rezultat u PCL

RETLW 0x80 ;povratak iz potprograma od 80 do W

RETLW 0xF2 ;povratak iz potprograma iz F2 u W

RETLW 0x48 ; povratak iz potprograma od 48 do W

RETLW 0x60 ; povratak iz potprograma od 60 do W

RETLW 0x32 ;povratak iz potprograma od 32 do W

RETLW 0x25 ; povratak iz potprograma od 25 do W

RETLW 0x04 ; povratak iz potprograma 04 u W

RETLW 0xF0 ;povratak iz potprograma iz F0 u W

RETLW 0x00 ;povratak iz potprograma od 00 do W

RETLW 0x20 ;povratak iz potprograma od 20 do W

RETLW 0x10 ;povratak iz potprograma od 10 do W

RETLW 0x06 ;povratak iz potprograma od 06 do W

RETLW 0x8C ;povratak iz potprograma iz 8C u W

RETLW 0x42 ; povratak iz potprograma od 42 do W

RETLW 0x0C ;povratak iz potprograma od 0C do W

RETLW 0x1C ;povratak iz potprograma iz 1C u W

Listing 12.4.

Program započinje svoj rad slanjem konstante 0x0A u radni registar W . Zatim se poziva podrutina održavanja indikatora od sedam segmenata SEV_SEG . Operacija potprograma SEV_SEG počinje maskiranjem 4 najmanje značajne znamenke W i vraćanje 4 najstarija na nulu. Stoga su najvažniji bitovi podataka prenesenih iz radnog registra isključeni iz analize. W brojevima. Zatim maskirani registar sadržaja W dodaje se trenutnom stanju niskog bajta programskog brojača PCL , a rezultat se stavlja u PCL . Tako se vrši dodatni pomak programskog brojača za iznos koji je prenesen u radni registar. Na primjer, ako postoji W=0 , tada se sadržaj programskog brojača neće promijeniti, te će se izvršiti sljedeća naredba RETLW 0x80 0x80 = B"1000000" u W registar . Ako, kao što je bio slučaj u datom programu, W=0A , zatim na sadržaj PCL broj će biti dodan 0x0A , a dogodit će se dodatni pomak od 10 koraka. Kao rezultat toga, naredba će biti izvršena RETLW 0x10 , što će uzrokovati povratak potprograma s unosom 0x10 = B"0001000" u W registar.

Nakon povratka iz potprograma vrši se prijenos W do PORTB i prikazivanje njegovog statusa na indikatoru od sedam segmenata H.L. . Konkretno, ako W = 0, a zatim pri izlazu 1000000b na port B prikazat će se indikator od sedam segmenata 0, a kada je W = A pokazat će A .Dakle, može se prikazati bilo koji 4-bitni binarni broj.

Metoda izravne kontrole brojača programa koja se koristi u potprogramu SEV_SEG , može se koristiti za implementaciju tablične konverzije brojeva. Imajte na umu da ova metoda ne dopušta pretvaranje više od 256 vrijednosti u jednoj tablici. Osim toga, program za pretvorbu tablice mora se u potpunosti nalaziti unutar bloka od 256 bajta kako bi se izbjeglo prekoračenje donjeg bajta programskog brojača.

Korištenje potprograma SEV_SEG , napišimo sada program koji čita stanja prekidača SA1 i SA2 i prikazuje odgovarajući broj na indikatoru.

Listing 12.5. (html, txt)

Listing 12.5. (html, txt)

;glavni program

PETLJA

CLRWDT ;poništavanje psa čuvara

POZOVI GET_RA ; pozivanje potprograma GET_RA

RRF TEMPA,F ;pomak desno jedan bit

;putem prijenosa

RRF TEMPA,W ;pomak desno jedan bit

;putem prijenosa

ANDLW 0x03 ;maska ​​za dva bita nižeg reda

POZIV SEV_SEG ; poziv potprogramu SEVEN_SEG

MOVWF PORTB ; prosljeđivanje W na PORTB

GOTO LOOP ;idite na LOOP oznaku za

; ponavljanje procesa

UKLJUČI GET_RA.ASM

UKLJUČI SEV_SEG.ASM

Listing 12.5.

Potprogram GET_RA stavlja u registar TEMPA trenutni status porta A . Dakle, u bitovima 2 i 3 registra TEMPA trenutno stanje prekidača je pohranjeno SA1 i SA2 . Kako bi statusni bitovi prekidača zauzeli položaje 0 i 1 registra TEMPA , dva pomaka udesno se izvode putem prijenosa, a rezultat drugog pomaka stavlja se u registar W . Zatim se maska ​​primjenjuje na dvije niže znamenke radnog registra i poziva se potprogram SEV_SEG . Nakon izlaska iz potprograma, rezultat se šalje u port B i prikazuje se na indikatoru.

Razmotrimo sada programe koji rade u stvarnom vremenu, tj. proizvodeći signale određenog trajanja i stope ponavljanja, ili uzimajući u obzir vremenske parametre ulaznih signala. Glavni element takvih programa je potprogram za generiranje vremenske odgode. Razmotrimo jednu od mogućih opcija za takvu podrutinu pomoću softverskih metoda za generiranje kašnjenja, tj. bez korištenja ugrađenog timera.

Listing 12.6. (html, txt)

Listing 12.6. (html, txt)

;glavni program

MOVLW 0xL ;slanje konstante H"L" u W

CALL DELAY ;poziv potprograma DELAY

DELAY ;potrutina formiranja

;vremenska odgoda

LOOPD

RETURN ;povratak iz potprograma

Listing 12.6.

Glavni program poziva potprogram ODGODITI s nekom konstantom L u radnom registru W , koji određuje broj unutarnjih petlji potprograma. Potprogram ODGODITI započinje svoj rad učitavanjem sadržaja radnog registra u korisnički registar BROJ 1. Naredba DECFSZ COUNT1,F Smanjuje sadržaj registra za jedan BROJ 1 i provjerava jednakost s nulom. Registrirajte nulto stanje BROJ 1 uzrokuje izlazak iz petlje i povratak iz potprograma. Za izvršenje svakog unutarnjeg ciklusa potrebna su tri ciklusa MC stroja (1 ciklus po izvršenju naredbe DECFZ s rezultatom različitim od nule i 2 ciklusa za svaku naredbu IĆI ). Izlazak iz potprograma ODGODITI će zahtijevati 4 ciklusa (2 ciklusa za izvršenje naredbe DECFZ s nultim rezultatom i 2 ciklusa za POVRATAK ). Ako tome dodamo još 4 ciklusa potrebna za učitavanje konstante u radni registar, pozovimo potprogram i učitaj korisnički registar BROJ 1 , zatim ukupno vrijeme izvršenja potprograma ODGODITI (kašnjenje) bit će

TD = 4 + 3*(L 1) + 4 = 5 + 3*L ciklusi,

gdje je L konstanta prošla kroz radni registar do potprograma ODGODITI.

L = H"00" = .0 maksimalni generirani vremenski interval bit će 1,55 ms. Ovaj rezultat je rezultat činjenice da tim DECFZ prvo smanjuje sadržaj registra ( H"00" 1 = H"FF" ), a zatim analizira rezultat.

Minimalni generirani vremenski interval bit će 5 ciklusa ili 10 μs pod istim uvjetima. Da biste dobili takav interval, prije poziva potprograma, ODGODITI učitati broj u radni registar 0x01 .

Da biste proširili gornju granicu generiranih vremenskih intervala, kao i da biste poboljšali pogodnost rada s potprogramom, možete dodati u petlju LOOPD jedna ili više dodatnih naredbi, a najčešće korištena naredba je NOP . Na primjer, razmotrite potprogram za generiranje vremenske odgode DELAY_C

Listing 12.7. (html, txt)

Listing 12.7. (html, txt)

DELAY_C ;potrutina formiranja

;vremenska odgoda (opcija C)

LOOPD

NOP ;prazna naredba

GOTO LOOPD ;ponovite petlju H"L" puta

RETURN ;povratak iz potprograma

Listing 12.7.

Ukupno vrijeme izvršenja potprograma DELAY_C , uključujući njezin poziv, bit će

TD = 4 + 4*(L 1) + 4 = 4 + 4*L ciklusi.

Pri frekvenciji takta fosc = 2 MHz i konstantnom opterećenju L = H'F9' = .249 generirani vremenski interval bit će točno 2 ms. Smanjenje konstante za jedan smanjuje generirani vremenski interval za 8 μs. Konkretno, kada L=.124 stvara se kašnjenje od 1 ms.

Za formiranje velikih vremenskih odgoda, koje leže u rasponu frakcija i jedinica sekunde, ovaj pristup je nezgodan. U ovom slučaju koriste se ugniježđene petlje, kao što je prikazano u sljedećem primjeru.

Listing 12.8. (html, txt)

Listing 12.8. (html, txt)

;glavni program

MOVLW 0xL ;šalji konstantu H'L' u W

CALL DELAY_D ;poziv potprograma DELAY_D

DELAY_D ;podrutina formiranja

;dugo vremensko kašnjenje (opcija D)

LOOPD

CLRWDT ;poništavanje psa čuvara

RETURN ;povratak iz potprograma

Listing 12.8.

DELAY_D je 3*256 + 4

TD = 5 + (3*256 + 4)*L ciklusa.

Na taktnoj frekvenciji fosc = 2 MHz, vrijeme ciklusa je tc = 2 μs, pa pri učitavanju L = H'00' = .0 maksimalni generirani vremenski interval bit će oko 0,4 s.

Budući da je generirani vremenski interval prilično velik, naredba za resetiranje nadzornog mjerača vremena uključena je u vanjsku petlju.

Vremenski interval od 0,4 s nije sasvim prikladan za dobivanje vremenskih odgoda koje su višekratnici sekunde, pa razmotrimo drugu verziju potprograma za generiranje velikih vremenskih odgoda s dodatnom naredbom NOP u unutarnjoj petlji.

Listing 12.9. (html, txt)

Listing 12.9. (html, txt)

DELAY_E ;potrutina formiranja

;dugo vremensko kašnjenje (opcija E)

CLRF COUNT1 ;resetirati sadržaj registra COUNT1

LOOPD

NOP ;prazna naredba

GOTO LOOPD ;ponovite petlju 256 puta

CLRWDT ;poništavanje psa čuvara

GOTO LOOPD ;ponovi petlju H'L' puta

RETURN ;povratak iz potprograma

Listing 12.9.

Vrijeme izvršenja unutarnje petlje potprograma DELAY_E je 4*256 + 4 strojnih ciklusa MK, tako da će ukupno kašnjenje biti

TD = 5 + (4*256 + 4)*L ciklusa.

Na taktnoj frekvenciji fosc = 2MHz i pri dizanju L = H'F3' = .243 generirani vremenski interval bit će oko 0,5 s s pogreškom ne većom od 0,2%. Ako je potrebna veća preciznost, potreban broj praznih operacija može se umetnuti u vanjsku petlju generiranja kašnjenja.

Razmotrimo zatim nekoliko programa koji koriste potprograme za generiranje vremenskih odgoda. Počnimo s pisanjem programa koji šalje zvučni signal zvučniku BA1 kada pritisnete gumb SB1 . Zvučnik će se oglasiti samo ako je izlaz RA0 dat će se signal koji se povremeno mijenja. Da bi se zvuk jasno čuo, njegova frekvencija mora biti blizu maksimalne čujnosti ljudskog uha. Odaberimo frekvenciju zvuka jednaku 1 KHz, što odgovara periodu ponavljanja impulsa signala od 1 ms.

Listing 12.10. (html, txt)

Listing 12.10. (html, txt)

;glavni program

PETLJA

CLRWDT ;poništavanje psa čuvara

NAZOVI GET_RA ;poziv potprograma GET_PORTA

CALL SB1_BA1 ;poziv potprograma SB1_BA1

GOTO LOOP ;idite na LOOP oznaku za

; ponavljanje procesa

SB1_BA1 ;potprogram za opskrbu zvukom

;zvučnik BA1 kada pritisnete tipku

;SB1

BTFSC TEMPA,4 ;preskoči naredbu if

;TEMPA,4=0 (gumb pritisnut)

IDITE NA B0 ;idite na B0

BSF BA1 ; napajanje visoke razine za RA0

;H'3E' = 0,62 u W

BCF BA1 ; niska razina napajanja RA0

MOVLW 0x3E ;pošalji konstantno

;H'3E' = 0,62 u W

CALL DELAY_C ;poziv potprograma DELAY_C

POVRATAK

UKLJUČI GET_RA.ASM

UKLJUČI DELAY_C.ASM

Listing 12.10.

Kao i prije, potprogram GET_RA očitava trenutno stanje porta A, koje se zatim prosljeđuje u registar TEMPA. Potprogram SB1_BA1 analizira stanje bita 4 registra TEMPA a ovisno o rezultatu govornik govori BA1 ili ne. Potrebna brzina linije RA0 u pojedinačnim i nultim stanjima osigurava potprogram DELAY_C s parametrom L = H'3E' = .62 . To odgovara vremenu kašnjenja od oko 0,5 ms, što rezultira potrebnom brzinom ponavljanja signala od 1 kHz.

Zatim razmislite o programu koji tjera LED da treperi VD2 kada pritisnete gumb SB1 . Kako bi treptanje bilo jasno vidljivo, odabiremo njegovu frekvenciju od 1 Hz.

Listing 12.11. (html, txt)

Listing 12.11. (html, txt)

;glavni program

PETLJA

CLRWDT ;poništavanje psa čuvara

POZOVI GET_RA ; pozivanje potprograma GET_RA

CALL SB1_VD2M ;poziv potprograma

;SB1_VD2M

GOTO LOOP ;idite na LOOP oznaku za

; ponavljanje procesa

SB1_VD2M ;LED treptanje potprograma

;VD2 kada pritisnete tipku SB1

BTFSC TEMPA,4 ;preskoči naredbu if

;TEMPA,4=0 (gumb pritisnut)

GOTO V0 ;idite na V0

BSF VD2 ;svijetli LED VD2

;H'F3' = .243 u W

BCF VD2 ;gasi LED

MOVLW 0xF3 ;pošalji konstantno

;H'F3' = .243 u W

CALL DELAY_E ;pozovi potprogram DELAY_E

BTFSS TEMPA,4 ;preskoči naredbu if

;TEMPA,4=1 (gumb nije pritisnut)

GOTO V1 ;idite na V1

BCF VD2 ;gasi LED

POVRATAK

UKLJUČI GET_RA.ASM

UKLJUČI DELAY_E.ASM

Listing 12.11.

Program radi gotovo isto kao i prethodni. Prva razlika je u tome što se LED dioda prisilno gasi kada tipka nije pritisnuta. Druga razlika je veličina vremenskog intervala, koji je ovdje 0,5 s i formiran je potprogramom DELAY_E .

Rutine vremenskog odgađanja također mogu biti korisne pri radu s vanjskim izvorima signala kao što su prekidači, gumbi, prekidači itd. Činjenica je da svi mehanički prekidači imaju jedno negativno svojstvo, poznato kao "odbijanje" kontakata, koje je uzrokovano mehaničkim vibracijama kontakata kada se zatvaraju i otvaraju. Trajanje oscilacija je obično nekoliko milisekundi, tijekom kojih se na ulazu MC može primiti prasak impulsa umjesto idealnog pada.

Hardverske metode rješavanja odskoka kontakta temelje se na korištenju RS flip-flopova, monostabila ili Schmittovih okidača. U uređajima koji se temelje na MCU-u, suzbijanje odbijanja kontakta obično se provodi softverskim metodama koje se temelje na ponovnom očitavanju stanja linije priključka nakon određenog vremena.

Kao primjer, razmotrite verziju potprograma "bez odbijanja" za čitanje stanja porta A.

Listing 12.12. (html, txt)

Listing 12.12. (html, txt)

GET_RAD ;podprogram za čitanje statusa

;port A u registar TEMPA

;sa potiskivanjem "zveckanja"

MOVF PORTA,W ;čitanje stanja porta A u W

ANDLW 0x1C ;prekrivanje maske b'00011100'

;na neiskorištene bitove W

MOVWF TEMPA ;pošalji W u TEMPA

CLRWDT ;poništi mjerač vremena WDT

MOVLW 0x0A ;pošalji konstantno

;H'0A' = 0,10 in W

ODGODA POZIVA_E ; pozivanje potprograma DELAY_E

MOVF PORTA,W ;čitanje stanja porta A u W

ANDLW 0x1C ; maska ​​za preklapanje b'00011100' na W

SUBWF TEMPA,W ;oduzmi W od TEMPA

BTFSS Z ;preskoči naredbu ako je rezultat

;nula

GOTO DD ;idi na oznaku DD

POVRATAK

UKLJUČI DELAY_E.ASM

Listing 12.12.

Bit potprograma je ponovno očitavanje stanja porta A neko vrijeme nakon prethodne i uspoređujući je s prethodnom vrijednošću. Konstantno H'0A' = .10 , poslano u registar W prije poziva potprograma DELAY_E , osigurava vrijednost vremenske odgode od oko 20 ms - to je obično dovoljno za dovršetak prijelaznih procesa prilikom prebacivanja mehaničkih sklopki. Maskiranje neiskorištenih port bitova poboljšava pouzdanost rutine. Poništavanje mjerača vremena čuvara prije pozivanja potprograma odgode potrebno je kako bi se spriječilo resetiranje MCU-a između dvije procedure prozivanja porta A.

Razmotrimo sada rad programa koji koristi neke od prethodno razvijenih potprograma. Neka cilj programa bude brojanje klikova na gumb SB1 s rezultatom prikazanim na indikatoru od sedam segmenata u heksadecimalnom kodu.

Listing 12.13. (html, txt)

Listing 12.13. (html, txt)

;glavni program

CLRF COUNT3 ;resetirati brojač pritisaka na tipku

PETLJA

CLRWDT ;poništavanje psa čuvara

CALL GET_RAD ;pozovi potprogram GET_RAD

BTFSC TEMPA,4 ;ispitivanje tlaka SB1

GOTO LOOP ;ako se ne pritisne povratak

;na oznaku LOOP

INCF COUNT3,F ;povećanje brojača

MOVF COUNT3,W ;prosljeđivanje sadržaja

;brojač u radni registar

CALL SEV_SEG ;poziv potprograma SEV_SEG

MOVWF PORTB ;naprijed W do PORTB

TEST

CALL GET_RAD ; pozivanje potprograma GET_RAD

BTFSS TEMPA,4 ;ispitivanje tlaka SB1

GOTO TEST ; ako je i dalje pritisnut povratak

;na oznaku TEST

GOTO LOOP ;povratak na oznaku LOOP

UKLJUČI GET_RAD.ASM

UKLJUČI SEV_SEG.ASM

Listing 12.13.

Programi predstavljeni u poglavlju ne pokrivaju ni mali djelić mogućnosti koje čak i tako jednostavan raspored kao što je prikazano u riža. 6.3 . Međutim, nadam se da će njihovo svladavanje biti korisno početnicima korisnicima PIC kontrolera.

Komunikacija, komunikacija, radioelektronika i digitalni uređaji

MP mikroprocesor je procesno-upravljački uređaj koji može obavljati obradu informacija, donošenje odluka, unos i izlaz informacija pod programskom kontrolom, a izrađen je u obliku jednog ili više LSI-ja. služi za privremenu pohranu informacija tijekom rada MP. Za razliku od ROM-a, RAM može čitati i pisati informacije pomoću signala za čitanje i pisanje u ćeliju čija se adresa nalazi na SHA. Ulazom signala Vv u razvodni ormar informacija se prenosi s vanjskog uređaja na SD, a izlazom signala izlaz...

Predavanje 12

Mikroprocesorska tehnika

1 Mikroprocesori i mikroprocesorska oprema

1.1 Definicija mikroprocesora

Početkom 70-ih, napredak u tehnologiji u mikroelektronici doveo je do stvaranja nove baze elektroničkih elemenata - mikroelektroničkih velikih integriranih sklopova (LSI) (modul 1, poglavlje 1.6.3). Prema stupnju integracije (broj aktivnih elemenata: dioda i tranzistora), integrirani sklopovi (IC) se konvencionalno dijele na IC s niskim stupnjem integracije - do 100 aktivnih elemenata, srednjim stupnjem integracije (SIS) - do do 1000 aktivnih elemenata, LSI - preko 1000 aktivnih elemenata, VLSI - preko 10.000 elemenata. Puštanje novog LSI-ja na sadašnju razinu automatizacije dizajna vrlo je složen i skup proces zbog velikih početnih troškova razvoja njegove logičke strukture i topologije, izrade fotomaski i tehnološke pripreme za proizvodnju. Ovo je 0,5-1 godina rada za veliki tim. Stoga je proizvodnja LSI-ja ekonomski opravdana kada njihova proizvodnja iznosi nekoliko desetaka do stotina tisuća jedinica godišnje. Praktički je nemoguće proizvesti specijalizirane LSI za svaku pojedinu primjenu. Kao rezultat potrage za područjima masovne primjene mikrosklopova s ​​visokom razinom integracije, njihovi programeri predložili su ideju stvaranja jednog univerzalnog LSI-ja ili određenog skupa LSI-ja, čija je specijalizacija za svaku specifičnu primjenu postignuto ne sklopovima, već softverom. Tako su se pojavili standardni univerzalni elementi - mikroprocesorski LSI s strukturom sličnom računalu.

Mikroprocesor (MP)ovo je uređaj za obradu i upravljanje koji može obavljati obradu informacija, donošenje odluka, unos i izlaz informacija pod programskom kontrolom i izrađen u obliku jednog ili više LSI-ja.

1.2 Tehnologija proizvodnje MP LSI

Postoje dvije vrste tehnologije proizvodnje LSI: bipolarna - koja se temelji na korištenju bipolarnih tranzistora i MOS (metal-oxide-semiconductor) - tehnologija koja se temelji na korištenju tranzistora s efektom polja.

LSI proizvedeni korištenjem bipolarne tehnologije razlikuju se po svojim shematskim metodama implementacije. Uglavnom se koriste tranzistor-tranzistorska logika sa Schottky diodama (TTLS) i emitersko spregnuta logika (ECL). TTLSH logika koristi bipolarne npn tranzistore dopunjene Schottky diodama (DS). DS je ispravljački kontakt na sučelju Al-nSi metal-poluvodič. U metalu i siliciju većinski nositelji su iste vrste – elektroni, a manjinskih nema. DS se otvaraju na U=0,1-0,3 V i imaju strmu strujno-naponsku karakteristiku. Spojeni su paralelno na kolektorski spoj n-p-n tranzistora i tvore Schottkyjev tranzistor, proizveden u jednom tehnološkom postupku. Korištenje DS značajno povećava performanse tranzistora, budući da se eliminira zasićenje kolektorskog spoja i u njemu nema resorpcije naboja.

U MOS tehnologiji (modul 1, poglavlje 1.5.5) možemo razlikovati 3 metode sklopova za implementaciju LSI-ja: MOS s vodljivošću kanala p- ili n-tip (p-MOS ili n -MOS) i komplementarne MOS tehnologije (CMOS). CMOS tehnologija koristi par MOS tranzistora n-tip i str -tip, spojen u seriju (sl. 1-1). Za bilo koji signal na ulazu, jedan od tranzistora je otvoren, drugi je zatvoren. Stoga je struja koja teče kroz krug vrlo mala. CMOS LSI imaju najmanju potrošnju energije u usporedbi s drugim tipovima.

Koristeći MOS tehnologiju, prvi MP LSI (r-MOS) proizvedeni su 1971. Koriste kontrolu R -kanal, gdje su glavni nosioci naboja rupe. Stoga je brzina LSI relativno niska. Kasnije su se pojavili n-MOS i CMOS LSI koji su i danas u širokoj uporabi.

ESL logika temelji se na korištenju diferencijalnog pojačala na dva tranzistora s povezanim emiterima (slika 1-2.). Omogućuje najbrže performanse, ali troši najviše energije.

Osnovni podaci za neke MP LSI dani su u tablici.1

1.3 Struktura mikroprocesorskih sustava

Cijela raznolikost MPS-a temelji se na upotrebi dvije vrste MP-a:

a) MP s jednim čipom s fiksnom širinom riječi i fiksnim sustavom naredbi (s krutom kontrolom);

B) višečipni (sekcijski) MP s promjenjivom širinom riječi i mikroprogramskom kontrolom.

Razmotrimo značajke njihove strukture.

1.3.1 Struktura MPS-a temeljena na MP-u sa strogom kontrolom

sl. 1-3

Komunikacija pojedinih elemenata MPS-a međusobno i s vanjskim uređajima odvija se pomoću tri sabirnice. Svaki autobus je autocesta koja se sastoji od nekoliko (8-16) linija.

ŠA - adresna sabirnica, preko koje se prenose adrese memorijskih ćelija i vanjskih uređaja;

SD - sabirnica podataka preko koje se informacije unose ili izlaze iz MP;

SHU je upravljačka sabirnica preko koje se prenose upravljački signali kako bi se osiguralo normalno funkcioniranje MPS-a;

MP je središnji element koji kontrolira funkcioniranje svih ostalih elemenata; adresira sve ostale elemente sustava, postavljajući njihovu adresu na SHA;

G - generator taktnog impulsa koji sinkronizira rad MP;

ROM je memorijski uređaj samo za čitanje (modul 2, poglavlje 9.1), koji pohranjuje naredbe programa koje izvršava MP i konstante potrebne za rad. Adresa memorijske ćelije u kojoj je pohranjena tražena naredba ili konstanta prima se preko ShA, a signalom Read (čitanje) iz MP-a, informacije pohranjene u ovoj ćeliji pojavljuju se na ShD;

RAM je memorijski uređaj s izravnim pristupom (modul 2, poglavlje 9.2) koji služi za privremenu pohranu informacija tijekom rada MP-a. Za razliku od ROM-a, u RAM-u je moguće čitati i pisati informacije (koristeći signale Read i Write) u ćeliju čija se adresa nalazi na SHA. U najjednostavnijem MPS-u, RAM može biti odsutan, a njegovu ulogu igraju interni registri opće namjene (GPR) MP-a;

IU je sučelni uređaj (komunikacijski uređaj) koji koordinira rad MPS-a i vanjskih uređaja, uzimajući u obzir razlike u njihovim radnim brzinama i razinama signala. Pomoću signala Vv (ulaz) u upravljačku jedinicu informacije se prenose s vanjskog uređaja na SD, a pomoću signala Vv (izlaz) - u suprotnom smjeru. Podatkovna sabirnica je zajednička za sve elemente MPS-a, ali elementi sustava ne bi trebali smetati jedni drugima. Stoga je izlaz svakog od njih spojen na motor preko takozvanog kruga s 3 stanja. Može biti ne samo u aktivnim stanjima ("0" ili "1"), što je potrebno za prijenos informacija, već iu trećem stanju, u kojem je element praktički isključen iz zajedničke sabirnice. Prijelaz iz trećeg stanja u aktivno provodi se upravljačkim signalima MP. U svakom trenutku samo je jedan element koji prenosi informacije povezan sa zajedničkim SD-om, a "sukob" na SD-u je eliminiran. Ako je potrebno, nekoliko elemenata može primati informacije iz SD-a odjednom. Ovakva organizacija MPS-a uz pomoć zajedničkog SD-a je prisilna i nastaje zbog činjenice da je broj pinova LSI paketa ograničen, a isti se pinovi koriste za više namjena.

1.3.2 Struktura MPS-a na bazi MP-a s mikroprogramskim upravljanjem

Čvrsto kontrolirani MP sastavljen je od n odvojenih LSI odjeljaka središnjeg procesorskog elementa CPE, od kojih svaki obrađuje 2 (4, 8, 16) bita podataka. To rezultira središnjim procesorom koji ima 2n (ili 4n, 8n, 16n) bita. CPE izvodi najjednostavnije akcije - mikrooperacije kada se nalozi - mikronaredbe (MC) - predaju upravljačkim ulazima. Za izvršavanje naredbi sličnih MP naredbama s krutim upravljanjem potrebno je do 10-15 mikrooperacija i isto toliko mikronaredbi. Organizacija naredbi iz dostupnih mikro-naredbi prepuštena je korisniku.

Glavna prednost mikroprogramski upravljanih MP kada su se pojavili bila je velika brzina obrade informacija, što je omogućilo upravljanje i kontrolu vrlo brzih procesa, na primjer, nuklearnih reakcija. Trenutno je njihova uloga znatno smanjena, budući da moderni višebitni MP-ovi s čvrstom kontrolom i visokim brzinama takta omogućuju još bržu obradu informacija.

2 mikroprocesor

2.1 Struktura MP K580VM80

LSI koji se razmatra je jednočipni MP baziran na n-MOS tehnologiji. Dizajniran za izgradnju računalnih uređaja, kontrolera, mikroračunala. Veličina bita MP - 8 bita, frekvencija takta 2 MHz, vrijeme izvršenja naredbe 2-9 μs, napon napajanja +12, +5 i -5 V, potrošnja energije 0,75 W. Na slici je prikazan njegov blok dijagram.

2.1.1 Osnovni elementi MP

Informacije se razmjenjuju preko osmobitnog međuspremnika (modul 2 poglavlje 7) DB-a, spojenog na eksterni i interni SD MP.RK - registar naredbi. U nju se upisuje šifra naredbe i pohranjuje tijekom njezina izvođenja.DshK je dekoder naredbe koji šalje signale u upravljački uređaj CU i sklop za odabir SVR registra.

SVR - shema odabira registra. Sadrži: 6 softverski dostupnih registara opće namjene (RON) B, C, D, E, H, L (postoje naredbe u kojima se razmatraju u parovima B- B, C; D - D, E; H - H, L); 2 programski nedostupna registra W i Z, dizajnirana za pohranu drugog i trećeg bajta naredbe (prvi bajt je uvijek pohranjen u RK);

M multiplekser (modul 2, poglavlje 5.2), koji povezuje interni SD s registrima W, Z;

PS - 16-bitni programski brojač, omogućuje MP-u izvršavanje programa koji sadrže do 216 = 65536 riječi;

US - 16-bitni pokazivač steka (poglavlje 2.1.3);

LED - krug inkrement-dekrement (zbrajanje ili oduzimanje 1);

BA - 16-bitni međuspremnik adresa;

A - registar rezultata (akumulator);

ALU je aritmetičko-logičko sredstvo koje izvodi računske operacije zbrajanja - oduzimanja, povećanja - dekrementa, logičke operacije konjunkcije, disjunkcije, inverzije i druge. Povezan je preko registara međuspremnika BR1 i BR2 s baterijom i internom sabirnicom podataka;

RP - registar znakova u kojem se tijekom izvođenja naredbe pojavljuju znakovi rezultata (nula rezultat, pozitivan ili negativan, paran ili neparan rezultat), koji se koristi u sljedećim naredbama, na primjer, uvjetni skok;

SDK - shema decimalne korekcije, koja se koristi u slučaju kada se informacije ne obrađuju u binarnom, već u binarnom decimalnom kodu (modul 2, poglavlje 3.2);

CU je upravljački uređaj koji omogućuje kontrolu nad radom MP i vanjskih uređaja. Razmotrimo njegov rad i sastav upravljačke sabirnice.

2.1.2 Upravljački uređaj

Upravljački uređaj se taktira iz vanjskog generatora koji generira niz impulsa F1 i F2. Povezan je s ostatkom MP internim upravljačkim signalima US i značajnim signalima Pi. Upravljačka jedinica povezana je s vanjskim okruženjem pomoću upravljačke sabirnice koja sadrži 10 linija (4 signala dolaze izvana, a 6 signala izdaje MP).

Sastav upravljačke sabirnice.

1. Početna instalacija (reset). Kada se na ovaj ulaz primijeni "1", PS se vraća na 0 i izvršavanje programa počinje iznova.

2. Sinkronizacija. Signal “1” na ovom izlazu generira se na početku svakog ciklusa rada MP (prije svakog MP pristupa bilo kojem vanjskom elementu).

3. Čitanje. Signal "1" označava da je MP spreman za primanje informacija preko SD izvana. Ovaj signal je obično povezan s ulazom za "čitanje" memorije i ulaznih uređaja.

4. /Plaća Signal "0" označava da je MP stavio informacije na podatkovnu sabirnicu za pisanje u RAM ili izlaz na izlazne uređaje.

5. Spremni. Signal "1" na ovom ulazu označava MP-u kraj ciklusa čitanja ili pisanja. Proizvode ga vanjski uređaji na kraju svog radnog ciklusa. Ako signal "1" nije primljen, tada MP ulazi u stanje čekanja, tijekom kojeg MP drži adresu na ShA, kontrolni signal "čita" ili "piše" i održava krugove za prijenos informacija kroz DB ​​otvorene. Stanje čekanja održava se do dolaska "1" - "spremno". U slučaju kada svi vanjski elementi rade brzinom MP ili višom, "1" je stalno spojen na ulaz "spreman".

6. Čekanje. Signal "1" na ovom izlazu označava da je MP u stanju pripravnosti. Ovaj signal pomaže identificirati neispravnu jedinicu koja je uzrokovala zaustavljanje MP-a.

7. Z.Pr. - unos zahtjeva za prekid (poglavlje 7.2.7). Signal “1” dolazi izvana ako je potrebno prekinuti rad MP.

8. R.Pr. - omogućivanje prekida. 1 na ovom izlazu označava da su prekidi omogućeni. Prekidi se omogućavaju i onemogućuju posebnim naredbama.

9. Hvatanje. Kada se primi signal "1", MP prestaje s radom, BA i DB prelaze u treće stanje. U ovom slučaju, MP je isključen iz ShA i ShD.

10. Potvrda snimanja. Signal "1" označava da je MP u stanju hvatanja.

2.1.3 Memorija pohrane - stog

Kada se pristupa ćelijama RAM memorije u MPS-u s procesorom K580VM80, potrebne su dugačke naredbe od tri bajta. Prvi bajt sadrži samu naredbu pristupa, a drugi i treći bajt označavaju adresu memorijske ćelije. Takva naredba se relativno dugo izvršava, a čestim pristupima memoriji rad MPS-a se znatno usporava. Za ubrzanje rada MPS-a koristi se memorijsko spremište – stog. Radi na principu: broj koji je posljednji napisan prvi se čita. Redoslijed pristupa stogu je striktan, ali nema potrebe za navođenjem adrese, a vrijeme pristupa je značajno smanjeno. Stog je vrlo prikladan za pohranjivanje međuinformacija u slučaju prekida. Njegova druga svrha je osigurati rad s programima. Prilikom prelaska na potprogram, sadržaj RON-a šalje se na stog; nakon izvršenja potprograma, poziva se sa stoga na RON. Stog može biti autonoman (ugrađen u MP) i vanjski (smješten u RAM-u). K580VM80 MP koristi vanjski stog, a u čipu se nalazi poseban registar - stack pointer (ST), koji pohranjuje adresu prve slobodne ćelije steka. Stog se obično dodjeljuje starijim ćelijama RAM memorije. Prvo se postavlja adresa 111 ... 1, kod pisanja se adresa smanjuje (A-1), kod čitanja se povećava (A+1). Kada se radi sa stogom, sadržaj MS-a izlazi u SHA; kada se radi s glavnom memorijom, izlazi se sadržaj iz PA-a. 2.2

2.2 Djelovanje MP u sastavu Ministarstva željeznica

2.2.1 Algoritam izvršenja naredbi

Prilikom izvršavanja bilo koje naredbe, radni ciklus MP uvijek počinje odabirom prvog bajta naredbe - šifre operacije (OPC) u registar naredbi (poglavlje 2.1.1). U ovom slučaju, adresa naredbe iz PS-a šalje se preko BA u SH, CU generira signal čitanja, a COP se šalje kroz DB ​​u RC. DshK analizira COP i, ako je potrebno, MP odabire 2. i 3. bajt naredbe u registre W odnosno Z. Adresa sljedećeg naredbenog bajta formira se u PS-u povećanjem njegovog sadržaja za 1 pomoću LED-a. Zatim se naredba izvršava. Na kraju se analizira postojanje zahtjeva za prekid (ZPr signal). Ako postoji takav zahtjev, stanje PS-a se pamti i dolazi do prijelaza na program za obradu prekida.

2.2.2 Vremenski dijagram rada MP

Rad MP odvija se pod utjecajem dva nepreklapajuća niza taktnih impulsa F1 i F2 (slika 2-2).

Većinu transformacija informacija provodi MP koristeći F2. Vremenski interval tijekom kojeg se izvodi jedna mikrooperacija naziva se strojni ciklus (označava se T1, T2 itd.). Strojni ciklus (MC) je slijed taktnih ciklusa tijekom kojih se informacije razmjenjuju između MP-a i elementa izvan njega (označenog M1, M2, itd.). MC sadrži 3-5 mjera. Naredba se izvršava u 1-5 MC. Slika 2-3 konvencionalno prikazuje slijed izvršavanja triju naredbi koje sadrže različit broj MC-ova. U M1 ciklusu uvijek se dohvaća prvi bajt instrukcije. Većina MP-a su taktirani digitalni sklopovi koji rade pod utjecajem generatora taktnog impulsa (GTI). MP K580VM80 taktira GTI, generirajući dvije sekvence nepreklapajućih impulsa F1 i F2 s periodom Tclock = 0,5 - 2 μs.

2.2.3 MP statusna riječ

SD MP se ne koristi u T1 i početku T2 za primanje i izdavanje osnovnih informacija. MP osigurava sklopove koji osiguravaju da se osmobitna statusna riječ (SS) šalje na SD u ovom trenutku. Ovih 8 značajki mogu koristiti vanjski elementi i, općenito, omogućuju pojednostavljenje organizacije MPS-a. Statusna riječ izdaje se na početku svakog ciklusa u taktu T2 tijekom F1 impulsa (Slika 2-4). Znakovi SS karakteriziraju samo ovaj MC. SS se dodjeljuje pomoću registra stanja RS (Sl. 2-5), u koji se informacija iz SD-a bilježi u trenutku t, u kojem su F1 i “Sync” impulsi istovremeno prisutni. MP K580VM80 ima deset tipova MC i, sukladno tome, 10 CC, identificirajući ove cikluse. Tablica 2 prikazuje SS koji odgovara svim tipovima MC-a.

sl. 2-4

sl. 2-5

Tablica 2 Statusne riječi MP K580VM80

Ovdje:

MEMR - čitanje memorije;

INP - znak ulazne naredbe (generiran u MC3);

M1 - znak MC1 (CP se uzorkuje, počinje izvršenje naredbe);

OUT je znak ulazne naredbe, generiran u MC3. Sličan signalu /Zp MP, ali se pojavljuje nešto ranije i ostaje u RS do kraja ciklusa;

HLTA - potvrda zaustavljanja;

STAK - znak rada sa stogom, generiran prilikom pristupa memoriji korištenjem naredbi za rad sa stogom, što vam omogućuje da imate 216 RAM ćelija i 216 ćelija steka;

/WO - znak snimanja ili izlaza;

INTA je znak početka rada u režimu prekida.

Na primjer, u izlaznoj naredbi, CC br. 1,2,7 se izdaju u tri MC-a. Korištenje SS omogućuje bolju organizaciju upravljanja Ministarstvom željeznica. Za rad s vanjskim uređajima, MP ima samo 2 upravljačka signala Rt i /Zp, koji ne razlikuju ROM, RAM i druge vanjske uređaje. Stoga je potrebno koristiti neke ShA bitove za označavanje određenog objekta. U CC-u MEMR signal omogućuje odvajanje memorije od ostalih uređaja, što pojednostavljuje organizaciju međusobnog povezivanja pojedinih dijelova MPS-a.

3 Uređaji za pohranu

Uređaj za pohranu ili skraćeno memorija koristi se za pohranu digitalnih informacija.

MPS memorija se dijeli na:

programska memorija, dizajnirana za pohranjivanje programa i obično implementirana u obliku memorije samo za čitanje (ROM);

podatkovna memorija ili memorija s izravnim pristupom (RAM) (modul 2, poglavlje 9);

vanjska memorija za pohranjivanje velikih količina informacija, obično implementirana u obliku magnetskog diska (tvrdog diska).

Najčešće se u MPS-u koriste poluvodički ROM i RAM. Imaju takve prednosti kao što su velika brzina, niska potrošnja energije, visoka pouzdanost, niska cijena i električna kompatibilnost s drugim MPS komponentama. Glavni nedostatak poluvodičkog RAM-a je njegova volatilnost. Ne sprema podatke kada je napajanje isključeno. Kada to nije prihvatljivo, RAM se podržava baterijama ili akumulatorima, ali to dodatno usložnjava i skuplja sustav.

Funkcionalno, memorija se sastoji od ćelija iste vrste (registra) namijenjenih za pohranu jedne riječi. Svakoj ćeliji je dodijeljena adresa, predstavljena binarnim kodom.

Kapacitet memorijskog IC-a obično se izražava u bitovima ili bajtovima—t, 1024 bajta (ili 1Kbajt), 4K bita, itd. Organizacija informacija (ili format) memorije određena je umnoškom m (riječi) x n (duljina riječi). Na primjer, IC s kapacitetom od 1024 bita može imati organizaciju 1024x1 (1Kx1), 256x4, 128x8. Duljina memorijskih riječi (nmemory) obično se bira jednaka duljini riječi (bitni kapacitet) središnjeg procesora MPS ncp. Ako je nmemorija< nцп, то применяется несколько корпусов ИС. Например, с помощью 2-х ИС памяти 256х4 можно организовать ЗУ с форматом 256х8.

Memorija može obavljati dvije operacije: unos informacija u adresabilnu ćeliju – zapis (Zp); te ispisivanje informacija iz adresirane ćelije – čitanje ili čitanje (Rt). Obje operacije zajednički se nazivaju pristup ili, drugim riječima, pristup memoriji.

3.1 Trajna memorija

Ako memorija u pokrenutom sustavu izvodi samo operacije čitanja, tada se naziva memorija samo za čitanje ili ROM. Zapisivanje informacija u ROM može se izvršiti na različite načine. ROM kristali programirani s maskom (ROM-PM) ispisuju se samo jednom tijekom procesa proizvodnje pomoću posebne maske (foto predloška). Nije moguće promijeniti pohranjene podatke. ROM-PM imaju visoku pouzdanost i brzinu, veliku gustoću pakiranja i energetsku neovisnost. Njihov je trošak u masovnoj proizvodnji nizak. Koriste se za pohranjivanje nepromjenjivih programa i raznih konstanti.

Ako korisnik jednom zapisuje u memoriju pomoću posebnog uređaja - programatora, a zatim radi samo za čitanje, tada se takva memorija naziva korisnički programibilni ROM (ROM-PP). Koriste se za izradu prototipova i otklanjanje pogrešaka MPS-a, kao i za proizvodnju u malim serijama.

Također se koriste reprogramabilni ROM-ovi (PROM). Korisnik im može više puta pisati informacije koristeći programator, ali u pokrenutom sustavu oni izvode samo operaciju čitanja. Informacije u EPROM-u mogu se obrisati, a zatim se u njih mogu upisati nove informacije. Brisanje se provodi uklanjanjem IC iz sustava i izvodi se ili električnim impulsima s amplitudom od 30-50 V, ili korištenjem ultraljubičastog zračenja.PROM-ovi su skuplji od ROM-PM i ROM-PP i imaju manju gustoću pakiranja .

Pogledajmo pobliže unutarnju strukturu PP ROM-a na primjeru najjednostavnijeg IC K155RE3 (Sl. 3-1), koji ima organizaciju 32x8. Za adresiranje 32 riječi, postoji 5 adresnih ulaza A0...A4 (budući da je 25=32). Pohranjenu riječ od 8 bita formira višeemiterski tranzistor, u čijem se svakom emiterskom krugu nalazi topljivi spoj izrađen od nikroma debljine 200 Angstroma. Kada adresni dekoder odabere određenu riječ, otvara se jedan od višeemiterskih tranzistora. Ako postoji kratkospojnik na odgovarajućoj liniji bitova, uspostavlja se visoka razina napona i otvara se i izlazni tranzistor VT2, a potencijal izlaza 1 je blizu nule (logička "0"). Ako je kratkospojnik otopljen, tada odgovarajuća linija bitova nije nigdje spojena ("plutajući") i tranzistor VT2 je zatvoren (logička "1"). ROM izlazi PP su krugovi s otvorenim kolektorom. Za normalan rad moraju biti spojeni na +Ek napajanje preko otpornika Rn (prikazano točkastom linijom na slici).

U neprogramiranom IC-u, svi kratkospojnici su netaknuti, tranzistori VT2 su otvoreni u svim riječima, a izlazi imaju razine logičke "0". Za programiranje određenog bita (čije se stanje mora promijeniti iz “0” u “1”), signali željene adrese šalju se u liniju A0...A4 i pojavljuje se visoka razina na temelju odabranog višestrukog broja. emiterski tranzistor. Vanjski krug postavlja napon od oko 8 V na izlaz programabilnog bita. Ovaj napon je dovoljan za uključivanje zener diode VD1 s pragom od oko 7 V, koji uključuje tranzistor VT1 i prvi terminal kratkospojnik je uzemljen. Tada se napon napajanja višeemiterskih tranzistora povećava na 12 V, a zatim se između izvoda kratkospojnika dovodi napon od oko 5 V. Rezultirajuća struja zagrijava i topi kratkospojnik.

U PP ROM-u ovog tipa ponekad su mogući kvarovi zbog opetovanih kratkih spojeva oštećenih kratkospojnika. Razmak je vrlo uzak i ponekad "pliva". Kako bi se povećala pouzdanost, programirani ROM-ovi se drže u termostatu 24 sata na temperaturi od 100oC i ponovno se provjeravaju snimljene informacije. Ako se otkrije "plivanje" skakača (neki zabilježeni "1" pretvorio se u "0"), onda se oni ponovno spaljuju.

U praksi se široko koriste EPROM-ovi izbrisani ultraljubičastim zračenjem. Izgrađeni su na MOS tranzistorima, koji se od konvencionalnih razlikuju po tome što su između vrata i poluvodiča (supstrata) postavljena još jedna “plutajuća” vrata potpuno sa svih strana izolirana silicijevim oksidom. Ako se pri snimanju informacija na vrata takvih tranzistora primijeni pozitivan napon od oko 25 V i trajanje od nekoliko desetaka milisekundi, tada se pod njegovim utjecajem elektroni, krećući se prema glavnim vratima, talože na plutajuća vrata. Prilikom očitavanja, na vrata se dovodi pozitivan napon ne veći od 5 V. Ako na plutajućim vratima nema elektrona, kanal izvor-odvod postaje vodljiv, što odgovara pohranjivanju logičke jedinice. Ako postoje elektroni na plutajućim vratima, tada oni štite vrata svojim nabojem i jaz izvor-odvod ostaje neprovodljiv, što odgovara pohranjivanju logičke "0". Budući da su plutajuća vrata okružena izolacijskim slojem, elektroni koji ulaze u područje plutajućih vrata ne mogu ga napustiti. U stvarnosti postoji curenje elektrona, što dovodi do postupnog gubitka informacija. Prema brojnim tvrtkama, ovo vrijeme je najmanje 10 godina.

Informacije se brišu ultraljubičastim zračenjem nekoliko desetaka minuta u svim elementima odjednom. U tom slučaju, elektroni se pobuđuju zračenjem i teku u supstrat. Kao rezultat toga, sva plutajuća vrata su oslobođena elektrona, odnosno svim elementima se piše logička "1".

Takvi PROM-ovi uključuju široko korišteni IC K573RF2 (RF4, RF5, itd.).

3.2 RAM

Memorija s izravnim pristupom ili memorija s izravnim pristupom (RAM) (Modul 2, Poglavlje 9.2) koristi se za pohranjivanje operativnih informacija potrebnih tijekom obrade. RAM, za razliku od ROM-a, omogućuje vam da: i unesete informacije u adresiranu ćeliju (Rp operacija) i ispišete je (Rt operacija). Budući da se bilo kojoj adresabilnoj ćeliji može pristupiti bilo kojim redoslijedom, takve se memorije nazivaju uređaji za pohranu s izravnim pristupom (RAMS) .). Mogući su različiti načini razmjene informacija između RAM-a i MP-a. Najčešće korišteni memorijski uređaji su memorije s izravnim pristupom, koje omogućuju pristup bilo kojoj adresi bilo kojim redoslijedom. Postoje statički i dinamički RAM.

Statički RAM implementiran je korištenjem izravno spojenih flip-flopova, koji, kada su uključeni, mogu pohranjivati ​​informacije na neodređeno vrijeme bez dodatnih kontrolnih signala.

Većina RAM-ova izrađena je na bazi MOS tranzistora i ima takozvanu matričnu organizaciju. Funkcionalni dijagram RAM-a 256x1 s organizacijom matrice 16x16 prikazan je na slici (3-2). Nakon dekodiranja nižih bitova adrese A0-A3 pojavljuje se signal Xi koji povezuje i-ti red matrice. Kolona matrice Yj odabire se dekoderom najvažnijih bitova adrese A4-A7 i memorijski element EPij povezuje se s informacijskim izlazom ili ulazom sklopa ovisno o vrijednosti signala Sch//Zp. Kada je Sch//Zp=1, informacija se čita iz memorije; kada je Sch//Zp=0 - snimanje u memoriju. VM enable signal (odabir čipa) aktivira ovaj IC. Kada je VM signal inhibiran, matrica je izolirana od izlaza dekodera i I/O sabirnice.

Statički RAM može se graditi na različitim vrstama poluvodičkih uređaja. Trenutno su najčešći IC-ovi statičke memorije MOS tranzistori. CMOS memorijski element sastoji se od 5 tranzistora, od kojih četiri (VT1-VT4) čine okidač. Okidač za pisanje i čitanje kontrolira se pomoću ključa - tranzistora VT5 (slika 3-3).

3.3 Spajanje memorije na podatkovnu sabirnicu

Budući da je sabirnica podataka (DB) zajednička mnogim uređajima, "sukob" je neizbježan kada rade istovremeno. Potrebno je da u svakom trenutku samo jedan uređaj bude spojen na SD - izvor informacija. Nekoliko prijemnika informacija može se spojiti istovremeno. Važno je samo da izlazna snaga izvora informacijskih signala bude dovoljna za spajanje više prijamnika. Operativno povezivanje i povezivanje izlaza bilo kojeg uređaja provodi se pomoću izlaznog kruga koji ima 3 moguća stanja: 1, 0 i "onemogućeno". Izlaz bilo kojeg TTL IC-a može se jednostavno predstaviti kao dva tranzistora povezana u seriju (vidi sliku 3-4).

Ako je tranzistor VT1 otvoren, a VT2 zatvoren, tada je razina izlaznog signala visoka ("1"). Ako je suprotno: VT2 je otvoren, VT1 je zatvoren, tada je izlaz niske razine ("0"). Ako su oba tranzistora istovremeno isključena, izlaz IC-a je odspojen od izvora napajanja i nema nikakvog utjecaja na rad drugih uređaja spojenih na zajedničku sabirnicu.

Slika 3-4 Izlaz u tri stanja

4. Uređaji sučelja

Uređaji sučelja (ID) koriste se za povezivanje vanjskih uređaja s MPS-om. Obično se implementiraju u obliku jednog ili više SIS ili LSI.

STRANICA \* MERGEFORMAT 3


Kao i ostala djela koja bi vas mogla zanimati

45328. Referendum - pojam, vrste pravnog uređenja 25,75 KB
Oblik neposrednog izražavanja volje građana Ruske Federacije o najvažnijim pitanjima državnog i lokalnog značaja u svrhu donošenja odluka koje se provodi glasovanjem građana Ruske Federacije koji imaju pravo sudjelovati na referendumu. . Vrste referenduma ovisno o teritoriju: 1 Sveruski referendum, održava se o pitanjima od općefederalnog značaja na temelju odluke predsjednika Ruske Federacije; 2 referendum konstitutivnog subjekta Ruske Federacije, održava se o pitanjima iz nadležnosti odgovarajućeg konstitutivnog subjekta Ruske Federacije ili zajedničke nadležnosti Ruske Federacije i konstitutivnih subjekata Ruske Federacije, ako ta pitanja nisu...
45329. Funkcije predsjednika Ruske Federacije 21 KB
Imenovanje uz suglasnost Državne dume predsjednika Vlade Ruske Federacije drugih članova Vlade Ruske Federacije, usmjeravanje njezine politike i donošenje odluke o ostavci Vlade Ruske Federacije ; 2 predstavljanje Državnoj dumi kandidature za mjesto predsjednika Središnje banke Ruske Federacije; rješavanje pred njom pitanja razrješenja predsjednika Središnje banke Ruske Federacije; 3 predstavljanje Vijeću Federacije kandidata za imenovanje na položaje sudaca Ustavnog suda Ruske Federacije...
45330. Postupak izbora i razrješenja predsjednika Ruske Federacije 23,1 KB
Postupak izbora i razrješenja predsjednika Ruske Federacije. Predsjednika Ruske Federacije na vrijeme od šest godina biraju državljani Ruske Federacije na temelju općeg, jednakog i neposrednog biračkog prava tajnim glasovanjem. Za predsjednika Ruske Federacije može biti izabran državljanin Ruske Federacije koji ima najmanje 35 godina i ima stalno prebivalište u Ruskoj Federaciji najmanje 10 godina.Ista osoba ne može dulje obnašati dužnost predsjednika Ruske Federacije. od dva uzastopna mandata. Postupak izbora predsjednika...
45331. 22,83 KB
INSTITUT POVJERENIKA ZA LJUDSKA PRAVA U RF U Ruskoj Federaciji, Povjerenik za ljudska prava u Ruskoj Federaciji odgovoran je za zaštitu prava i sloboda građana i njihovo poštivanje od strane državnih tijela, lokalnih vlasti i dužnosnika. U okviru svoje nadležnosti, povjerenik za ljudska prava u Ruskoj Federaciji: 1. razmatra pritužbe državljana Ruske Federacije i stranih državljana i osoba bez državljanstva koji se nalaze na teritoriju Ruske Federacije; 2 razmatra pritužbe protiv odluka ili radnji državnih tijela, službenika lokalne samouprave...
45332. Državna duma Ruske Federacije - dom Savezne skupštine Ruske Federacije 26,28 KB
Ovlasti lokalne samouprave su prava i odgovornosti dodijeljene stanovništvu relevantnih teritorija od strane izabranih i drugih tijela lokalne samouprave, dodijeljene saveznim zakonodavstvom, kao i regulatornim pravnim aktima konstitutivnih entiteta Ruske Federacije i pravnim aktima tijela lokalne samouprave u vezi s provedbom poslova i funkcija lokalne samouprave na dotičnom području. Ovlasti lokalne samouprave neposredno ostvaruju stanovnici gradskih i seoskih naselja drugih područja putem...
45333. Ustavni i pravni status člana Vijeća Federacije i zamjenika Državne dume 25,69 KB
Ustavno-pravni status člana Vijeća Federacije i zamjenika Državne dume Ustavno-pravni status člana Vijeća Federacije i zamjenika Državne dume određen je Ustavom Ruske Federacije, čl. O statusu člana Vijeća Federacije i zamjenika Državne dume Savezne skupštine Ruske Federacije. Zamjenik Državne dume je izabrani predstavnik naroda ovlašten za obavljanje zakonodavnih i drugih ovlasti u Državnoj dumi predviđenih Ustavom Ruske Federacije i saveznim zakonom. Mandat...
45334. Sustav zakonodavnih (predstavničkih) i izvršnih tijela državne vlasti konstitutivnih subjekata Ruske Federacije 20,8 KB
Sustav zakonodavnih predstavničkih i izvršnih tijela državne vlasti konstitutivnih subjekata Ruske Federacije uspostavljaju oni neovisno u skladu s osnovama ustavnog sustava Ruske Federacije i Saveznim zakonom od 06. O općim načelima organizacija zakonodavnih predstavničkih i izvršnih tijela državne vlasti konstitutivnih subjekata Ruske Federacije Obrazovanje formiranje aktivnosti zakonodavnih predstavničkih i izvršnih tijela državne vlasti konstitutivnih subjekata Ruske Federacije njihove...
45335. Zakonodavni proces u Ruskoj Federaciji 25,93 KB
Gradsko naselje može sadržavati i seoska naselja koja nemaju status seoskog naselja u kojima lokalnu samoupravu ostvaruje stanovništvo neposredno i/ili preko izabranih i drugih tijela lokalne samouprave. Gradska četvrt je gradsko naselje koje nije u sastavu općinske četvrti i čija tijela lokalne samouprave ostvaruju ovlasti rješavanja statutarnih pitanja od lokalnog značaja naselja i pitanja od lokalnog značaja općinske četvrti, a mogu i...
45336. Pristupi izgradnji sustava umjetne inteligencije 33 KB
Strukturni pristup Strukturni pristup odnosi se na pokušaje izgradnje umjetne inteligencije modeliranjem strukture ljudskog mozga. Glavna modelirana strukturna jedinica u perceptronima, kao iu većini drugih opcija modeliranja mozga, je neuron. Kasnije su se pojavili i drugi modeli koji se obično nazivaju neuronske mreže. Ti se modeli razlikuju po strukturi pojedinih neurona, topologiji veza među njima i algoritmima učenja.

Svrha ove knjige je podučiti čitatelja osnovama mikroprocesorske tehnologije. Pretpostavlja se određena početna razina znanja iz radiotehnike. Ovu razinu definiram kao stručnjaka ili amatera koji je upoznat s radijskom i pulsnom tehnologijom. Svrha ove knjige nije objasniti što su otpornici, kondenzatori ili tranzistori. Pretpostavlja se da je čitatelj upoznat s ovim i sa strujnim krugovima analognih uređaja, ali jedva čeka saznati što su mikroprocesorski uređaji i naučiti kako ih sam dizajnirati. Na početku knjige otkrivaju se opći principi digitalnog prikaza signala, otkrivaju se pojmovi kao što su logički elementi, digitalni signal, te principi pohranjivanja i obrade digitalnih informacija. Također je opisan princip rada onih elemenata digitalne tehnologije koji će nam trebati u budućnosti kada budemo naučili graditi mikroprocesorski sustav. Opis svih ovih elemenata u knjizi je dat samo u onoj mjeri u kojoj je potrebno za brzo razumijevanje osnovnih principa izgradnje mikroprocesorskih sustava. Za potpunije razumijevanje rada svakog elementa, preporučujem da pogledate moju web stranicu pod nazivom “Digitalni čipovi i mikroprocesori” http://www.mirmk.ru.

Kao primjer mikroprocesorskog uređaja, ova knjiga uzima pravi dizajn koji je razvio autor - pozicioner satelitske antene. Pozicioner je dizajniran za automatizaciju kontrole rotacije kućne satelitske antene. U stanju je zapamtiti do 99 pozicija (uputa do satelita), a zatim automatski instalirati antenu na bilo koju od tih pozicija. Da biste to učinili, samo trebate odabrati broj ovog položaja pomoću daljinskog upravljača ili pomoću gumba na prednjoj ploči uređaja. Krug i program pozicionera razvio je autor knjige. Prototip je proizveden i ispitan pomoću standardnog inozemnog vlasničkog rotacijskog uređaja (motor, mjenjač, ​​senzor reed prekidača). Kontroler se temelji na mikrokontroleru AT 89C 2051 tvrtke Atmel ( www.atmel.com ili www.atmel.ru). U tom smislu, studija mikroprocesora također će se provesti na primjeru procesora AT 89C 2051. Atmel se trenutno prebacio na modernije procesore kao što je AVR. Međutim, s moje točke gledišta, izgradnja mikroprocesorskih uređaja na ovom procesoru potpuno je opravdana, budući da su njegovi parametri savršeni za ovaj zadatak, a cijena procesora AT 89C 2051 znatno je niža u usporedbi s bilo kojim procesorom iz obitelji AVR.

U knjizi se detaljno razmatra shematski dijagram pozicionera i svake njegove komponente. Zatim je dana struktura upravljačkog programa. Cjeloviti tekst programa nalazi se u prilogu (floppy disk). Posljednja poglavlja opisuju osnovne tehnike programiranja, koristeći specifične softverske module kao primjere.

Autor se nada da će ova knjiga biti od koristi širokom krugu stručnjaka i radioamatera te će biti zahvalan na svim komentarima i komentarima na knjigu. Sve komentare pošaljite na adresu Krim, Simferopolj, ul. Ruska, 194 ili putem e-maila: [email protected]. Treba napomenuti da je ovdje objavljeni tekst prvi nacrt knjige. Od njegova pisanja knjiga je u cijelosti napisana i objavljena 2004. godine. Tada je knjiga doživjela prilično značajne izmjene i već je doživjela desetak reprinta. Najnovije izdanje knjige u papirnatom izdanju možete naručiti po sniženoj cijeni odlaskom na odgovarajuću stranicu na ovoj web stranici

Edukativni program za početnike

Poglavlje 1. Što je mikroprocesor.

Što je mikroprocesor? I po čemu se razlikuje od mikrokontrolera?

Općenito, procesor je jedna od komponenti računala. Prije nego što je izumljen mikroprocesor (to jest, procesor na jednom čipu), postojale su cijele procesorske jedinice. Na velikim računalima. Da biste razjasnili problem, morate razumjeti što je računalo. Računalo je uređaj za automatsku obradu informacija. Štoviše, informacije na računalu prikazane su u obliku brojeva. Svaki računalni sustav sastoji se od sljedećih glavnih dijelova: procesora, memorijske jedinice, I/O portova. Naš zadatak nije proučavanje drevnih tipova računala. U budućnosti ćemo govoriti o mikroprocesorima i mikrokontrolerima. Tako:

ü Memorija. Ovo je skup ćelija od kojih svaka pohranjuje jedan broj. Štoviše, to nije baš ona brojka s kojom smo navikli imati posla. Ovo je pojednostavljeni računalni broj. Tipično, svaka memorijska ćelija može pohraniti broj u rasponu od nula do 255. O tome će se detaljnije raspravljati u nastavku.

ü I/O portovi. To su neka vrsta mikrosklopova uz pomoć kojih mikroprocesorski sustav može komunicirati s vanjskim svijetom. Preko ulaznih portova računalni sustav prima informacije izvana, a preko izlaznih portova proizvodi rezultate svog rada i upravlja vanjskim uređajima. Samo zahvaljujući tim istim ulazno/izlaznim priključcima, uređaji poput tipkovnice, miša, disk jedinica, CD-ROM-a itd. povezani su s računalom. Oni čitatelji koji su upoznati s računalima možda su čuli izraze "paralelni port" (LPT) i "serijski port" (COM). Dakle, u ovom slučaju govorimo o sasvim drugom konceptu. Ovo su samo slični pojmovi. Paralelni i, posebno, serijski portovi računala su cijeli, prilično složeni sklopovi, koji se zauzvrat kontroliraju pomoću ulazno/izlaznih portova. Također ne morate misliti da tipkovnica i miš koriste samo ulazne priključke, a zaslon koristi izlazni priključak. Za upravljanje većinom računalnih uređaja koriste se i ulazni i izlazni priključci mikroprocesorskog sustava. Možda ćete se iznenaditi da i tvrdi disk i disketni pogon nazivam vanjskim uređajima. Tamo, unutar računala, krije se još puno uređaja koji su vanjski mikroprocesoru, iako se često nalaze ne samo unutar računala, već i izravno na matičnoj ploči – glavnoj ploči računala.

ü CPU. Procesor je najvažniji dio, srce cijelog sustava. Dizajniran je za izvođenje različitih nizova radnji s brojevima u memoriji i s podacima u I/O portovima. I to je sve!

Sva tri dijela računalnog sustava međusobno su povezana tzv. podatkovnim sabirnicama. Ove sabirnice prenose digitalne signale od procesora do memorijskog modula i I/O portova i natrag do procesora.

Riža. 1.

Što procesor može učiniti s ovim brojevima? Da, što možete učiniti s njima? Može ih čitati iz različitih memorijskih ćelija, zbrajati, oduzimati, uspoređivati, zatim pisati u iste ili druge memorijske ćelije. Također može izvoditi logičke (Booleove) operacije s brojevima (dolje ću opisati što je to u detalje). Snažniji procesori mogu čak množiti i dijeliti brojeve. Pa, neke posebne operacije koje ćemo svakako analizirati kada detaljnije proučimo rad mikroprocesora.

Procesor radi puno manje s I/O portovima nego s memorijskim ćelijama. Uostalom, ulazni portovi su uređaji na koje izvana dolaze neki električni signali koje procesor čita u obliku istih brojeva. A izlazni priključci su određeni uređaji kojima procesor može dostaviti razne brojeve. A ti se brojevi pretvaraju u električne signale koji kontroliraju sve vanjske uređaje.

To je zapravo sve što procesor može. Ali to je dovoljno za izvođenje svih čuda koja smo navikli vidjeti od računala. Ispada da se sve na svijetu može opisati brojevima. I tekst, i slike, i zvukovi, uključujući glazbu. Znanstvenici i matematičari napravili su dobar posao. Uspjeli su razviti matematičke modele svih tih procesa. Samo broji brže! Ali moderni procesori to mogu! Naravno, moderni procesori imaju mnogo veći skup instrukcija. Ali, u osnovi, to su specijalizirane grupne naredbe koje zamjenjuju bilo koji često korišteni skup jednostavnijih. Naša knjiga nema za cilj proučavanje modernih mikroprocesora za osobna računala. Naš zadatak su mali specijalizirani mikroprocesorski uređaji. Kao što je, na primjer, neki lukavi mjerač vremena, upravljački sustav perilice rublja ili upravljačka jedinica satelitske antene. Imaju zajednički naziv: mikroprocesorski kontroleri. Ovdje ćemo usmjeriti našu pozornost.

Pa, što je ovaj prekrasan uređaj - mikroprocesor? On čita i računa i piše i radi toliko raznih pametnih stvari! Kako može sve to? Očigledno vrlo pametan čip? Zapravo, mikroprocesor je jednostavno automatski stroj koji izvršava operacije sadržane u njemu prema PROGRAMU. Program je niz naredbi za procesor, zapisanih u istoj memoriji, također u obliku brojeva. Međutim, ponekad se memorija dijeli na dva dijela: programsku memoriju i podatkovnu memoriju. Procesor sadrži jednostavan algoritam. Odmah nakon uključivanja ili nakon dolaska signala resetiranja ( Reset ), procesor počinje čitati iz memorijskog područja koje je dodijeljeno za pohranu programa, broj po broj, jedan po jedan. Svaki takav broj kodira naredbu. Naredba je jedna od radnji koje mikroprocesor može izvesti. Broj kojim je kodirana naredba naziva se kod operacije. Procesor čita operacijski kod i izvodi operaciju. Zatim čita sljedeći kod i ponovno ga izvršava. Stoga čita ove kodove sekvencijalno i izvršava ih. Ovo je proces izvršavanja programa. Tko je zapisao te kodove u memoriju? Programer! Programer je prvi smislio program. Zatim sam to zapisao u memorijski čip. Umetnuo sam čip u mikroprocesorski sustav i uključio struju. Sustav je proradio. Evo pametnog auta za vas. Vulgarna strojnica.

Mikroprocesorski kontroleri koriste takozvane memorijske uređaje samo za čitanje (ROM) za pohranjivanje programa. Na engleskom zvuči kao ROM (read only memory). Nazivaju se trajnim jer se informacija jednom tamo zapiše, više se ne mijenja. Snimanje je poseban proces koji se izvodi pomoću posebnih uređaja – ROM programatora. Informacije se u njima pohranjuju spaljivanjem određenih područja čipa. Jednom sam ga skinuo i koristim ovu informaciju dugo vremena. Ovo je vrlo prikladno za pohranu programa mikroprocesora. Mikroprocesor može samo čitati iz takve memorije. Tamo neće moći ništa napisati. Ako pokuša tamo napisati informacije, neće se dogoditi ništa loše. U sjećanju će ostati ono što je bilo prije pokušaja snimanja. Osim trajnog uređaja za pohranu, sustav mora nužno imati memoriju napravljenu na RAM čipovima. Odnosno, memorija s izravnim pristupom (RAM). Na engleskom RAM. Procesor može zapisati informacije u ovu memoriju i zatim ih pročitati. Nijedan program ne može bez određenog broja memorijskih ćelija za pohranu mnogih međurezultata i pomoćnih vrijednosti. U te svrhe služi RAM.

Pa, što su mikrokontroleri? Ponekad čitamo "AT 89C 2051 mikrokontroler". Mikrokontroler je dijete daljnje integracije; to je cijeli mikroprocesorski sustav na jednom čipu! Jedan čip sadrži sve komponente mikroprocesorskog sustava: memoriju, ulazno/izlazne portove i sam procesor. Osim toga, tamo se često nalaze i neki vanjski (u odnosu na procesor) uređaji (takvi se uređaji često nazivaju "perifernim"): mjerači vremena, prekidni uređaji, komparatori itd. Značenje ovih još uvijek nejasnih pojmova naučit ćete u sljedećim poglavljima. Općenito, postoji određena zabuna s pojmovima "mikroprocesor" i "mikrokontroler". Ono što sam upravo nazvao mikrokontrolerom ponekad se naziva i mikroprocesor. Kako biste razumjeli o čemu govorimo, pratite kontekst navedenih informacija.

Prema gornjoj definiciji, mikroprocesorski sustav je zbirka međusobno povezanih LSI-ja mikroprocesorskog skupa (ponekad dopunjenih LSI-jevima iz drugih skupova) sastavljenih u jedinstvenu cjelinu, organiziranu u sustav, tj. računalni ili kontrolni sustav s mikroprocesorom kao jedinica za obradu informacija. Opći blok dijagram. Tipična struktura mikroprocesorskog sustava prikazana je na sl. 3. Opisimo ukratko čvorne module koji ulaze u njegov sastav, s izuzetkom već opisanog mikroprocesora.

Generator taktnih impulsa je izvor niza pravokutnih impulsa, uz pomoć kojih se događaji kontroliraju u vremenu. Određuje ciklus instrukcija—vremenski interval potreban za čitanje uzorka instrukcije iz memorije i njezino izvršenje. Naredbeni ciklus sastoji se od određenog niza elementarnih radnji koje nazivamo stanjima (ciklusima). Neki mikroprocesori ne zahtijevaju vanjski generator takta; on se nalazi izravno u krugu mikroprocesora s jednim čipom.

Glavna memorija sustava (eksterna u odnosu na mikroprocesor) sastoji se od ROM-a i RAM-a.

Memorija samo za čitanje (ROM) je uređaj koji pohranjuje program (i, ako je potrebno, skup konstanti). Sadržaj ROM-a ne može se obrisati. Koristi se kao memorija programa koji je unaprijed sastavio proizvođač u skladu sa zahtjevima korisnika. U takvim slučajevima kaže se da je program čvrsto spojen na uređaj za pohranu. Za implementaciju drugog programa potrebno je koristiti drugi ROM ili njegov dio. Iz ROM-a možete samo odabrati riječi koje su tamo pohranjene, ali ne možete dodavati nove, brisati ili zamijeniti snimljene riječi drugima. To je poput ispisane tablice dobitaka obveznica: tamo možete samo čitati brojeve, ali ih ne možete zamijeniti niti dodati nove.

Osim ROM-a koriste se i PROM i RPROM.

Programabilna memorija samo za čitanje (PROM) razlikuje se od ROM-a po tome što korisnik može samostalno programirati ROM (u njega unijeti program) pomoću posebnog uređaja - programatora, ali samo jednom (nakon unosa programa, sadržaj memorije može više se ne mijenja).

Reprogramabilna memorija samo za čitanje (RPM), koja se također naziva i ROM koji se može izbrisati, ima sljedeću značajku: pohranjene informacije mogu se obrisati nekoliko puta (pritom se uništavaju). Drugim riječima, EPROM omogućuje reprogramiranje, koje se provodi pomoću programatora. To olakšava ispravljanje otkrivenih pogrešaka i omogućuje promjenu sadržaja memorije.

Memorija s izravnim pristupom (RAM), inače nazvana memorija s izravnim pristupom (RAM) ili memorija s izravnim pristupom (RAM), služi kao memorija za podatke koji se obrađuju i rezultate izračuna, au nekim mikroprocesorskim sustavima i za programe koji se često mijenjaju . Njegovo karakteristično svojstvo je da vrijeme potrebno za pristup bilo kojoj memorijskoj ćeliji ne ovisi o adresi te ćelije. RAM omogućuje pisanje i čitanje riječi. U odnosu na ovaj uređaj za pohranjivanje prihvatljiva je analogija s pločom na kojoj su brojevi ispisani kredom: oni se mogu više puta pročitati bez uništavanja, a po potrebi se broj može obrisati i napisati novi. slobodni prostor. Treba imati na umu da informacije sadržane u RAM-u nestaju ili se brišu ako dođe do prekida napajanja.

Sučelje se naziva uređaj sučelja. Ovo je pojednostavljena definicija. U strožem tumačenju, sučelje se shvaća kao skup električnih, mehaničkih i softverskih alata koji vam omogućuju međusobno povezivanje modula sustava is perifernim uređajima. Njegove komponente su hardver za razmjenu podataka između čvorova i softver - protokol koji opisuje proceduru interakcije modula tijekom razmjene podataka. Sučelje mikroprocesorskog sustava odnosi se na sučelja stroja. U mikroprocesorskom sustavu za povezivanje perifernih uređaja sa sustavom koriste se posebna sučelja LSI (na slici 2 prikazana su u obliku modula ulaznog sučelja i izlaznog sučelja). Ove LSI karakterizira svestranost, koja se postiže programskom promjenom funkcija koje obavljaju.

Jednostavniji zadaci rješavaju se I/O portovima - sklopovima dizajniranim (programiranim) za razmjenu podataka s određenim perifernim uređajima: primanje podataka s tipkovnice ili čitača, prijenos na zaslon, teletipkač, itd.

Priključak je srednje integrirani krug koji sadrži adresabilni višemodni I/O međuspremnik (MBR) s tristabilnim izlaznim krugovima (o kojima se govori u nastavku pri opisu RAM sklopa), upravljačku logiku i konektor za povezivanje I/O uređaja. Mogućnosti reprogramiranja priključka su ograničene.

Kada su periferni uređaji koji su dio mikroprocesorskog sustava složeni i izvode brojne različite operacije, za povezivanje se koristi sofisticirano sučelje koje se zove periferni programabilni adapter. Sadrži skup ugrađenih portova i drugih registara koji olakšavaju programiranje i koordinaciju vremena. Nekoliko jednostavnih I/O uređaja može se spojiti na jedan periferni programabilni adapter. Takvo se sučelje smatra univerzalnim sučeljem sa širokom primjenom, jer se može kombinirati s gotovo svim dostupnim perifernim uređajima.

Mnoge mikroprocesorske sustave i mikroračunala karakterizira nesklad između relativno velike brzine obrade informacija unutar mikroprocesora i niske brzine razmjene podataka između modula putem sučelja.

Ulazni uređaj unosi podatke za obradu i naredbe u sustav. Izlazni uređaj pretvara izlazne podatke (rezultat obrade informacija) u oblik pogodan za percepciju ili pohranjivanje korisnika. Ulazno/izlazni uređaji uključuju jedinice za čitanje informacija s bušene i magnetske vrpce (ili zapisivanje na njih), kasetofone, diskete, tipkovnice, zaslone, analogno-digitalne i digitalno-analogne pretvarače, plotere, teletipove itd. .

Zatim će predmet naše pažnje biti sistemske sabirnice. Sabirnica je skupina prijenosnih linija koje se koriste za obavljanje određene funkcije (jedna linija za svaki preneseni bit). Osobitost strukture mikroprocesorskog sustava leži u okosnici organizacije veza između njegovih sastavnih modula. Obavlja se s tri autobusa. Oni prenose sve informacije i signale potrebne za rad sustava. Ove sabirnice povezuju mikroprocesor s vanjskom memorijom (RAM, ROM) i ulazno-izlaznim sučeljima, što rezultira mogućnošću razmjene podataka između mikroprocesora i ostalih modula sustava, kao i prijenosa upravljačkih signala.

Razmotrimo svrhu i funkcije svake od tri sabirnice (na primjeru 8-bitnog mikroprocesora) prikazanog na sl. 3.

Sabirnica podataka. Ovo je dvosmjerna sabirnica: kroz nju se podaci mogu slati prema mikroprocesoru ili iz njega (na slici 3, ova značajka podatkovne sabirnice naglašena je strelicom s dvije točke, od kojih je jedna okrenuta prema mikroprocesoru, a druga daleko od toga). Potrebno je još jednom naglasiti da je istovremeni prijenos podataka u oba smjera nemoguć. Ovi su postupci razmaknuti u vremenu kao rezultat vremenskog multipleksiranja.

Adresna sabirnica (ili adresna sabirnica). On prenosi informacije samo u jednom smjeru - od mikroprocesora do memorije ili ulazno-izlaznih modula.

Kontrolna sabirnica. Služi za prijenos signala koji određuju interakciju i sinkronizaciju rada svih modula sustava i internih komponenti mikroprocesora. Jedan dio linija upravljačke sabirnice služi za prijenos signala koji dolaze iz mikroprocesora (na slici 3 to je konvencionalno prikazano strelicom, čiji je vrh usmjeren udesno), a drugi dio linija prenosi signale na mikroprocesor (na slici 3 - strelica s vrhom usmjerenim ulijevo).

Prednost strukture sabirnice je mogućnost povezivanja novih modula s mikroprocesorskim sustavom, na primjer, nekoliko blokova RAM-a i ROM-a za dobivanje potrebnog memorijskog kapaciteta.