Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Razvoj algoritma za rad MPS-a. Projektovanje mikroprocesorskog upravljačkog sistema Projektovanje mikroprocesora

Razvoj algoritma za rad MPS-a. Projektovanje mikroprocesorskog upravljačkog sistema Projektovanje mikroprocesora

Dizajn mikroprocesorskog sistema

Struktura

Blok dijagram sistema prikazan je na slici 3.2.

Slika 3.2 - Blok dijagram MPS-a

MP je centralni blok Ministarstva željeznica. Kontrolira sve čipove i obrađuje podatke.

MP generiše adresu u SAD-u i vrši razmjenu sa SHD-om.

RAM je dizajniran za skladištenje međupodataka.

ROM je dizajniran za pohranjivanje programskog koda i raznih konstanti.

PPI je dizajniran za povezivanje vanjskih uređaja. ADC, diskretni signali i PP su povezani na PPI.

ADC je dizajniran za pretvaranje analognog signala sa senzora u digitalni kod.

Softver je dizajniran da organizira razmjenu putem serijskog kanala između kontrolnog centra i MP.

Dizajn kola

MPS mora obezbijediti:

  • - ispitivanje 7 analognih senzora;
  • - prikupljanje 8 diskretnih signala;
  • - formiranje 4 diskretne upravljačke akcije.

Potrebna količina memorije podataka izračunava se pomoću formule

gdje je i broj analognih i diskretnih ulaznih signala, respektivno; i - dubina bita analognih i diskretnih signala.

U našem slučaju i.

Kao rezultat, potrebno je pohranjivanje podataka senzorskog istraživanja

Za centralnu jedinicu sistema odabran je mikrokontroler KM1816BE51. Njegove glavne prednosti su:

  • - prisutnost rezidentne memorije programa i podataka;
  • - prisustvo ugrađenog softvera;
  • - 4 priključka;
  • - niska potrošnja energije;
  • - ugrađeni tajmeri-brojači.

Ugrađenih 128 bajtova MK programske memorije koristi se za pohranjivanje podataka. Program će biti pohranjen u rezidentnoj programskoj memoriji.

Za ispitivanje analognih senzora koristi se mikro krug K572PV4. Prednosti mikrokola uključuju:

  • - prisustvo ugrađenog multipleksora;
  • - automatsko prozivanje senzora bez učešća mikroprocesora;
  • - pohranjivanje rezultata konverzije za svaki kanal u ugrađenoj statičkoj memoriji.

Budući da MK nema izlaze generatora, mikrokolo generatora K531GG1 koristi se za generiranje taktnog signala.


Za organizaciju razmjene informacija sa kontrolnim centrom koristi se primopredajnik ugrađen u MK. Međutim, KM1816BE51 PP prenosi podatke koristeći pet-voltne logičke signale: jedan je predstavljen nivoom napona od 2,4 V do 5 V, a nula - od 0 do 0,8 V. Kada se prenosi preko RS-232 kanala, nula i jedan su kodirani sa istom vrijednošću (od 5 do 12 V), ali sa signalima različitih predznaka.

Budući da se pet-voltni logički signali moraju konvertovati u signale drugog nivoa za prenos preko RS-232, MPS koristi MAX202E čip od Maxima. Sadrže pretvarač napona od +5 V do ±10 V i kaskade koje pretvaraju logičke signale standardnog pet-voltnog nivoa prema RS-232 standardu. Sadrži pretvarače logičkog nivoa za dva prijemnika i dva predajnika, od kojih se koristi samo jedan primopredajni kanal.

Šematski dijagram MPS-a dat je u Dodatku B.

Kvarcni rezonator ZQ1 na 12 MHz povezan je na pinove XTAL1 i XTAL2 mikrokontrolera DD1. Za stabilniji početak, terminali kvarcnog rezonatora povezani su na zajedničku žicu preko kondenzatora C1 i C2 kapaciteta 21 pF.

Kada je napon napajanja priključen na mikrokontroler, potrebno je resetovati mikrokontroler. U tu svrhu RST ulaz je povezan na sabirnicu napajanja preko 6 μF kondenzatora C3 i na zajedničku žicu preko 100 kOhm otpornika R1. Kada se napajanje uključi, kondenzator se prazni, a ulaz za resetiranje je na potencijalu blizu napona napajanja. Uprkos smanjenju ovog potencijala zbog punjenja C3, desetine milisekundi nivo signala na ulazu za resetovanje ostaje jedinica, a mikrokontroler se ispravno pokreće.

Na ulaz se dovodi logička jedinica, jer mikrokontroler će izvršiti program iz rezidentne memorije.

Diskretni ulazni signali DDAT1-DDAT8 su povezani na linije P0 porta mikrokontrolera DD1. ADC DA1 je povezan na linije porta P1. Diskretne upravljačke akcije DOUT1-DOUT4 formiraju se na linijama P1.0-P1.3.

Budući da analogni senzori povezani na ADC DA1 moraju imati izlazni napon u rasponu od 0V do 2.5V. Za pretvaranje strujnih signala senzora u signal napona koriste se otpornici R2-R13.

Specifikacija elemenata je predstavljena u Dodatku D.

Razvoj algoritma za rad MPS-a

MPS radi u sljedećem redoslijedu:

  • a) inicijalizacija sistema;
  • b) ispitivanje senzora;
  • c) upravljanje pumpnom jedinicom;
  • d) razmjena podataka sa kontrolnim centrom;
  • e) idite na korak b.

Blok dijagrami algoritama za program rada MPS-a prikazani su u Dodatku E, a fragment programskog koda je u Dodatku E.

Proračun potrošnje energije

Snaga koju troši cijeli sistem definira se kao zbir snaga koje troše svi dijelovi sistema.

Proračun snage je sažet u tabeli 3.4.

Tabela 3.1 - Proračun potrošnje energije

Sistem troši energiju.

Uređaj za prijenos podataka

Da bi se osigurala razmjena sa kontrolnim centrom, koristi se konverter interfejsa MI 486. On vam omogućava da primate/prenosite podatke preko Ethernet mreže sa računara brzinom do 112 kbaud.

Pretvarač interfejsa je prikazan na slici 3.3.

Slika 3.3 - Pretvarač interfejsa MI 486

specifikacije:

  • - izlazni interfejs: RS-232;
  • - max. brzina - do 112 kbaud;
  • - Ethernet 10BaseT/100BaseT ulazni interfejs;
  • - RJ45 konektor.

Ministarstvo opšteg i stručnog obrazovanja

Ruska Federacija

Državni univerzitet u Tuli

Katedra za elektronske računare

Objašnjenje

za predmetni projekat iz discipline "Mikroprocesorski sistemi"

Dizajn mikroprocesorskog sistema za identifikaciju kontrolisanog objekta

Specijalnost: 220100

KP oznaka: K2.006.106

Rukovodilac rada: Ventslavovich Yu.R.

UVOD

Predmetni projekat je osmišljen za sticanje praktičnih veština u projektovanju jednostavnih mikroprocesorskih sistema za različite namene. Projekat se zasniva na teorijskom dijelu discipline „Mikroprocesorski sistemi“. Zadatak za predmetni projekat izdaje voditelj projekta.

Predmetni projekat se realizuje sa ciljem objedinjavanja znanja iz predmeta „Mikroprocesorski sistemi“ i razvijanja veština za samostalno projektovanje mikroprocesorskih sistema specijalizovanih za određenu vrstu informacija.

Ciljevi kursa projekta su:

· praktično ovladavanje metodologijom projektovanja mikroprocesorskih sistema;

· analiza opcija projektnih rješenja i na osnovu toga izbor optimalnog rješenja;

· sinteza funkcionalnog dijagrama mikroprocesorskog sistema na osnovu analize početnih podataka i usvojenog optimalnog rješenja;

· sticanje vještina u razvoju hardvera i softvera za mikroprocesorski sistem;

· dalji razvoj vještina u funkcionalno-logičkom, dizajnu kola i dizajnu, izvođenju i izdavanju projektne dokumentacije u skladu sa GOST-om.

Da biste riješili ove probleme, potrebno vam je znanje ne samo kursa “Mikroprocesorski sistemi”, već i niz srodnih disciplina, kao i sposobnost korištenja regulatornih i referentnih informacija.

TEHNIČKI ZADATAK

1. Algoritam za obradu ulaznih podataka.

Model objekta je dat jednadžbom:

gdje su: ai (i=1,…,r) i bi (i=1,…,l) nepoznati parametri;

xn - neuočljiva buka;

xn-i i zn-i su posmatrane varijable.

Procjene parametara su određene iterativnom postupkom Kalmanovog filtera:


gdje je: j = T

q = T

s02 - varijansa nezavisnog neuočljivog šuma xn

1. Karakteristike ulaznih informacija:

broj izvora ulaznih informacija - 8;

min/max nivo promene ulaznih signala - 3/4;

minimalna varijansa greške merenja, ´´10-2 - ssi2 = 5;

maksimalna disperzija greške merenja, ´´10-2 - ssc2 = 50;

1. Potrebne karakteristike izlaznih informacija:

broj potrošača izlaznih informacija - 1;

ograničenje vremena kašnjenja izlazne informacije u odnosu na ulaz (vrijeme formiranja odgovora), ms - 0,15;

2. Zahtevane opšte karakteristike MPS-a:

vrsta veze sa izvorom ulaznih informacija - serijski;

vrsta komunikacije sa potrošačem izlaznih informacija - serijski;

3. Projektni parametri:

Desktop kućište - 152x533x419mm

tip ploče - Baby-AT 8,57x13,04 inča

tip monitora - SVGA 15"

napajanje - 250 W

4. Operativna grupa - prenosiva i prenosiva, namenjena za dugotrajno nošenje od strane ljudi na otvorenom ili u negrejanim nadzemnim i podzemnim objektima, koji rade i ne rade u pokretu.

Klimatski faktori

promjena temperature okoline

niska temperatura, So -50

vrijeme održavanja, sat 2-6

povišena temperatura, C 60

vrijeme održavanja, sat 2-6

visoka vlažnost

relativna vlažnost, % 93

temperatura, C 40

vrijeme ekspozicije, sat 72

niske temperature

limit -50

radni -10

povišena temperatura

granica 50

radnik 60

nizak pritisak

temperatura -10

pritisak, Pa 6,1*104

vrijeme održavanja, sat 2-6

padavine

intenzitet kiše, mm/min 3

vrijeme zadržavanja, sat 0,33

morska magla

temperatura 27

vrijeme zadržavanja, sat 48

Mehanički

vibracije na istoj frekvenciji

frekvencija, Hz 20

ubrzanje, g 2

vrijeme zadržavanja, sat 0,5

vibracije u frekvencijskom opsegu

frekvencijski opseg, Hz 10-70

ubrzanje, g 0,8-3,8

višestruki udarci

broj u minuti 40-80

ubrzanje, g 15

ukupan broj udaraca 12000

ANALIZA RAČUNARSKOG ALGORITMA

Na osnovu tehničkih specifikacija možete konstruisati sljedeću shemu za povezivanje mikroprocesorskog sistema koji se razvija:


Ulazne informacije u ovom predmetnom projektu su ulazne i izlazne vrijednosti parametara identificiranog objekta (xn i zn). Grafički, algoritam za izračunavanje vektora procjena q = prikazan je na Sl. 2.

Koristeći prikazani algoritam, napisan je program na jeziku C, simulirajući proces proračuna koji proizvodi MPS. Lista programa je u Dodatku 1, a rezultat simulacije je dat u Dodatku 2.

ODREĐIVANJE SASTAVA MPS

Centralni dio razvijene strukture mikroprocesorskog sistema je centralni procesor, izgrađen na bazi mikroprocesora (MP) i koji obavlja glavne funkcije procesa obrade informacija i upravljanja ovim procesom. Interna memorija MPS-a (za pohranjivanje programa i podataka) je poluvodičkog tipa, smještena na istoj ploči zajedno sa CPU-om, predstavljena je u obliku modula samo za čitanje (ROM). Mikroprocesorom upravlja generator takta (G). Sistem takođe sadrži matematički koprocesor (FPU).

MPS je povezan sa okolinom preko izvora ulaznih informacija i potrošača izlaznih informacija. Kao izvori Sn koriste se senzori koji mjere vrijednosti varijabli posmatranog objekta, na primjer, tehnološkog procesa. Kao Dn potrošači mogu poslužiti aktuatori različitih tipova (ventili, zasuni, pretvarači i pojačivači signala, itd.).

Informacijski ulazni i izlazni kanali pretvaraju dolazne signale u potreban oblik i obezbjeđuju komunikaciju između vanjskog okruženja i MPS-a preko ulazno/izlaznih portova.

U istom ciklusu rada MPS-a, ulazne informacije se unose u MPS i izlaze iz MPS-a. Ograničenje ciklusa je određeno vremenskim karakteristikama objekta. Neizbežno kašnjenje u takvim slučajevima između izlazne informacije (kontrolne akcije) i ulazne informacije (stanja objekta) mora biti ograničeno vrednošću koja je određena i karakteristikama objekta (njegove funkcije prenosa, margine stabilnosti u amplitudi i faza, itd.). Stoga se odabir parametara MPS elemenata vrši uzimajući u obzir takva ograničenja.

Trajanje ciklusa Tc određuje se iz izraza:

1. Kapacitet ADC-a

1. Zaokruživanje rezultata je optimalno


gdje je h korak uzorkovanja po nivou signala

1. Preciznost konverzije


1. Vrijeme konverzije

1. Trajanje ciklusa

gdje je tn vrijeme za pretvaranje vrijednosti signala u digitalni kod,

m je broj izvora ulaznih informacija.

Nakon što ste odredili ograničenje trajanja Tc, možete odrediti ograničenje trajanja ciklusa procesora


RAZVOJ SOFTVERA

Popis programa za procjenu parametara objekta dat je u Dodatku 3.

Cijeli program se nalazi u ROM-u i sastoji se od dva funkcionalna bloka: bloka za inicijalizaciju MPS-a (podešavanje procesora, koprocesora po potrebi, inicijalizacija varijabli) i radnog dijela koji prima i obrađuje podatke u realnom vremenu (algoritam za obradu ulaznih podataka informacije su prikazane na slici 2).

Sav softver je kompajliran na asemblerskom jeziku odabranog MP-a, što vam omogućava da direktno dobijete binarne („objektne“) komandne kodove, koji se zatim upisuju u ROM. Kada se napajanje uključi ili RESET signalom, kontrola se prenosi na inicijalizacijski modul, koji postavlja sistem u njegovo početno stanje.

Program samostalno obrađuje situaciju dijeljenja nulom. Nestanak struje ili drugi hitni događaji, kao što je kvar hardvera, nemaju kritičan uticaj na MPS i ne mogu ga onemogućiti. Iz čega možemo zaključiti da MPS ne zahtijeva rukovaoce prekida.

Razmjena sa vanjskim okruženjem se vrši preko 8-bitnih serijskih ulazno/izlaznih portova u jednom ulaznom i izlaznom ciklusu, respektivno. Softver je optimiziran za brzinu izvršavanja za odabrani mikroprocesor i koristi prednosti 32-bitne obrade podataka i interakcije s vanjskim uređajima.

IZBOR MPC-a I RAZVOJ MPS ARHITEKTURE

Izbor je napravljen između MPC baziranog na 8086 procesoru i MPC baziranog na Intel 80386 procesoru. Da bismo procijenili kašnjenje izlaznih podataka, izračunavamo broj ciklusa takta potrebnih za svaki procesor da izvrši proračune. Rezultati poređenja prikazani su u tabeli 1.

Tabela 1


Na frekvenciji sinhronizacije od 33 MHz, vrijeme jednog ciklusa takta je 30 ns, što znači da je vrijeme potrebno za prijem, obradu i izdavanje rezultata:

*4892 = 146760 ns = 0,147 ms,

sa prihvatljivim vremenom kašnjenja od 0,15 ms.

Tako je odabran mikroprocesorski komplet baziran na mikroprocesoru Intel 80386 sa frekvencijom od 33 MHz, koji u potpunosti zadovoljava zahtjeve i ograničenja. Ovaj MPC je mikroprocesor sa jednim čipom sa fiksnim skupom instrukcija i arhitekturom. Koristeći LSI interfejsa i aplikativni softver, MPS je konfigurisan za datu klasu algoritama. Prilikom dizajniranja MPS-a, potrebni su alati za pripremu i otklanjanje grešaka u programima.

Mikroprocesor radi na 33 MHz; obrađuje ulazne podatke cjelobrojnog tipa u bajt formatu. Informacije koje ulaze u MPS pohranjuju se u obliku vektora (jednodimenzionalni niz), neki od međurezultata i konstanti se pohranjuju u obliku nizova odgovarajućih dimenzija.

MPS, za implementaciju svojih zadataka, sadrži sljedeći skup LSI-a:

· CPU i80386;

· i80387 aritmetički koprocesor;

· generator takta 82384;

· primopredajnik podataka 8286;

· adresne brave 8282;

· statički RAM MS KM185RU8, ROM MS KR556RT20 i skup MS-ova koji generišu kontrolne signale (1533ID3, 1533ID14, 1533LA3);

· MS univerzalni sinhroni-asinhroni primopredajnik (KP580BB51A), dizajniran za protokol za serijsku razmjenu podataka.

DIZAJNIRANJE MPS PROCESORA

dizajn mikroprocesorskog softvera

U ovoj fazi se razvija procesor. Početna informacija pri razvoju procesora je njegova arhitektura. Na osnovu toga se razvija struktura procesora i njegov interfejs sa sistemskom magistralom.

Prilikom projektovanja procesora zasnovanih na MPC-ovima sa MPC-ovima sa jednim čipom, rešeni su problemi razvoja alata za sinhronizaciju, interfejsa sabirnice podataka, adrese i sistemske magistrale; sredstva za kontrolu i sinhronizaciju operacija čitanja/pisanja na sistemskoj magistrali; sredstva za pristup sistemskoj magistrali; sredstva za podršku režimima rada procesora.

Sastav i struktura interfejsa sistemske magistrale se određuje u skladu sa organizacijom i širinom sabirnica podataka i adresa i njihovim potrebnim kapacitetom opterećenja. Interfejs adresne magistrale implementiran je registrom adresnog bafera, a interfejs sabirnice podataka implementiran je od strane drajvera sabirnice. Struja opterećenja upravljačkih programa magistrale i bafer registara sučelja određuje kapacitet opterećenja sistemske magistrale.

Za sinhronizaciju operacija čitanja/pisanja koristi se sinhroni metod, za koji je vremenski interval čitanja/pisanja određen trajanjem kontrolnih signala. Metoda osigurava najveću propusnost sistemske magistrale. Koristi se sinhroni metod razmjene sa kontroliranim trajanjem intervala razmjene, a promjena trajanja intervala je moguća samo u smjeru povećanja istog pod kontrolom signala potvrde razmjene koje generiše memorija i upravljačka jedinica. Za povećanje trajanja intervala razmjene na sistemskoj magistrali koristi se režim mirovanja procesora.

Sastav sredstava pristupa mreži određen je tipom magistrale. MPS koji se razvija je jednoprocesorski i koristi SSH za jednog korisnika. U ovom slučaju, sabirnicom upravlja sam procesor i nisu potrebni dodatni alati za upravljanje.

Interfejs adresne magistrale implementiran je registrom adresnog bafera, a interfejs sabirnice podataka implementiran je od strane drajvera sabirnice. Struja opterećenja upravljačkih programa magistrale i bafer registara sučelja određuje kapacitet opterećenja sistemske magistrale.

Proračun nosivosti adresne sabirnice:

Jer RAM modul ili ROM modul može raditi istovremeno.

Iout182 = max(4* IinROM1, 4* IinROM1) = max(4*4×10-5, 4*0,04) = 0,16mA £ 32mA

Iout082 = max(4* IinROM0, 4* IinROM0) = max(4*0,25, 4*0,45) = 1,8mA £ 5 mA

Proračun nosivosti magistrale podataka:

Jer RAM modul ili izlazni port mogu istovremeno raditi.

Iout186 = max(IinRAM1, IinIOP1) = max(0,04, 0,0007) = 0,04mA £ 32mA

Iout086 = max(IinRAM0, IinIOP0) = max(0,3, 0,05) = 0,3mA £ 5mA

Proračun nosivosti CS linija za RAM i ROM iz dekodera:

Iout1DC = max(4* IinROM1, 4* IinROM1) = max(4*4×10-5, 4*0,04) = 0,16mA £ 0,4mA

Iout0DC = max(4* IinROM0, 4* IinROM0) = max(4*0,25, 4*0,9) = 3,6mA £ 8 mA

Proračun nosivosti W/R linija za RAM iz MS 8282:

Iout182 = 4* IinRAM1 = 4*0,04 = 0,16mA £ 32mA

Iout082 = 4* IinRAM0 = 4*0,45 = 1,80mA £ 5mA

Proračun nosivosti sabirnica podataka, adresa i upravljanja pokazao je da predloženo povezivanje memorijskih čipova i portova ne zahtijeva dodatna mikro kola za povećanje nosivosti linija.

Generator takta 82384, koji se koristi u sistemima baziranim na i80386 MP, generiše signale takta za obavljanje sinhronih operacija različitih komponenti sistema. Na izlazu CLK2 generatorskog kruga generiraju se impulsi s frekvencijom jednakom frekvenciji vanjskog kvarca (33 MHz), a na izlazu CLK - sa frekvencijom upola manjom. Signali na CLK izlazu i interni signali sinhronizacije MP-a su u fazi. Faze ovih signala su poravnate pomoću rezova RESET signala.

RESET signal se koristi za resetovanje MP i drugih komponenti sistema i generiše ga generator iz eksternog RC kola. ADS# signal pruža potrebna vremena podešavanja i zadržavanja za CLK2 signal, a ADS0# signal se koristi u sprezi sa CLK za kontrolu perifernih uređaja. F/C# pin je uzemljen jer Koristi se kvarcni rezonator.

8282 registri adresnog zasuna obavljaju funkcije sučelja adresne sabirnice, zbog čega se povećava nosivost adresne sabirnice. Podaci u registrima su zaključani na rubu ADS# signala koji dolazi iz generatora takta. Ulazni signal OE# - onemogućavanje trećeg stanja izlaza, je u aktivnom stanju.

Upravljački programi sabirnice 8286 izvode funkcije sučelja sabirnice podataka za povećanje nosivosti sabirnica podataka. Ulazni signal T - postavlja smjer prijenosa podataka. Ulazni signal OE# - onemogućavanje trećeg stanja izlaza, je u aktivnom stanju.

Aritmetički koprocesor 80387 je dizajniran da radi ili potpuno sinhrono ili pseudo-sinhrono sa 80386 MP U pseudo-sinhronom režimu, logika interfejsa koprocesora 80387 radi na signalu 80386 MP, dok radi na svom internom logičkom signalu takta. Kada 80386 MP radi s koprocesorom 80387, on izvodi sve potrebne petlje okosnice memorije i prijenose podataka do i od 80387. Svi transferi sa 80387 koprocesorom su 32-bitni.

Dostupne su sljedeće veze između 80386 MP i 80387 koprocesora:

· izlazi BUSY#, ERROR#, PEREQ koprocesora 80387 su povezani na odgovarajuće pinove MP 80386;

· RESET ulaz koprocesora 80387 povezan je sa RESET izlazom generatora takta 82384;

· Ulazi za odabir čipa aritmetičkog koprocesora 80387 (CS1#, CS2) su direktno povezani na M/IO# i A31 izlaze, respektivno. Za cikluse sa koprocesorom, signal A31 je uvijek visok, a M/IO# signal je uvijek nizak;

· Ulaz koprocesora 80387 (CMD0#) odvaja podatke od naredbi. Ovaj ulaz je povezan sa izlazom A2. MP 80386 izlazi adresu 800000F8h prilikom pisanja naredbe i adresu 800000FCh kada se piše ili čita podaci;

· svih 32 linije (D31-D0) sabirnice podataka MP 80386 su direktno povezane na sabirnicu podataka 80387 koprocesora;

· READY#, ADS#, W/R# ulazi koprocesora 80387 su povezani na odgovarajuće pinove 80386 MP. Koprocesor 80387 koristi READY# i ADS# signale za praćenje aktivnosti magistrale i trenutka u. vrijeme kada W/R#, CS1 signali mogu biti pozvani #, CS2 i signali za omogućavanje stanja (STEN);

· STEN signal je odabrani signal 80387 čipa. Može se postaviti na visoki napon. Ako isti 80386 MP radi sa nekoliko 80387 koprocesora, onda se STEN signal može koristiti za aktiviranje jednog od njih u određenom trenutku;

· Spreman izlaz (READYO#) je dodatni izlaz. Može se koristiti za generiranje stanja čekanja koje zahtijeva koprocesor.

Ako 80386 MP detektuje koprocesorsku naredbu, automatski generiše jedan ili više I/O ciklusa na adresama 800000F8H i 800000FCH. Procesor izvodi sve potrebne petlje okosnice memorije i prenosi do i od koprocesora 80387. Sva komunikacija sa 80387 koprocesorom je 32-bitna. Ako se iz bilo kojeg razloga koristi 16-bitni memorijski podsistem, 80386 MP automatski izvodi konverzije prije prijenosa podataka u ili iz aritmetičkog koprocesora.

Prijenos podataka sa 80387 koprocesora na 80386 MP zahtijeva najmanje jedno stanje čekanja. Ciklusi pisanja u koprocesor 80387 ne zahtijevaju stanja čekanja. Pošto je interfejs sa 80386 MP uvek sinhroni, CLK2 pin koprocesora 80387 mora biti povezan na CLK2 ulaz 80386 MP. Stanje SCM ulaza koprocesora 80387 određuje u kojem od dva režima radi.

U pseudo-sinhronom načinu rada, SCM signal je nizak. Izvor takta mora biti povezan na CLK2 ulaz 80387 koprocesora. Samo logika interfejsa koprocesora 80387 je sinhrona sa 80386 MP Interna logika koprocesora 80387 radi iz izvora frekvencije takta sa 80387 CLK2 ulaza.

U sinhronom načinu rada, SCM signal je visok i 80387 CLK2 ulaz nije nigdje spojen. Koprocesor 80387 radi od glavnog signala takta CLK2. Operacije aritmetičkog koprocesora su potpuno sinhrone sa radom MP 80386.

Koprocesor 80387 koristi dvije metode za interakciju sa 80386 MP. Prvi se koristi kada operacije sa koprocesorom inicira 80386 MP. program. Drugi način komunikacije se javlja kada koprocesor koristi PEREQ signal da zatraži da 80386 MP počne sa prijenosom operanda u ili iz sistemske memorije. Ovi prijenosi se izvode na zahtjev koprocesora, tako da su asinhroni sa izvršavanjem naredbi MP 80386. Prijenosi podataka za koprocesor imaju isti prioritet na magistrali kao i prijenosi podataka pod kontrolom programa.

MIKROPROCESORSKA ORGANIZACIJA

80386 ima dvije odvojene magistrale: adresnu sabirnicu i sabirnicu podataka. Sabirnica podataka je 32-bitna i dvosmjerna. U većini modula koji se koriste za lokalnu sabirnicu velike brzine, koriste se 32 adresna bita, koja se prenose preko adresne magistrale, od kojih se 2 najmanje značajna bita dekodiraju u 4 signala stroboskopa podataka (svaki od ovih signala dozvoljava ili onemogućuje prijenos odgovarajući bajt podataka, signali BE0#-BE3#), a preostalih 30 bitova predstavljaju binarni kod adrese. Za upravljanje razmjenom na adresnoj sabirnici i sabirnici podataka koriste se odgovarajući kontrolni signali.

Promenljiva širina (bit) sabirnice podataka omogućava procesoru interakciju sa 32-bitnim i 16-bitnim eksternim magistralama u sinhronom režimu.

Pinovi mikroprocesora:

Signal sata (CLK2)

CLK2 obezbjeđuje glavni takt za 80386. Ova brzina takta je podijeljena na pola kako bi se formirala interna brzina takta procesora, koja se koristi kada se izvršavaju instrukcije unutar procesora.

Sabirnica podataka (D0-D31)

Dvosmjerne linije sabirnice podataka u tri stanja prenose podatke sa 80386 na druge uređaje. Prisustvo visokog naponskog nivoa na ulazima/izlazima sabirnice podataka ukazuje na prisustvo logičkih kodova "1" na ovim pinovima. Sabirnica podataka može prenositi podatke i na 32- i 16-bitne magistrale zbog činjenice da je moguće promijeniti veličinu magistrale podataka; Veličina sabirnice podataka određena je vrijednošću ulaznog signala BS16#. Tokom bilo koje operacije pisanja (uključujući cikluse zaustavljanja i isključivanja), 80386 uvijek prenosi svih 32 bita podataka, čak i ako je trenutni ciklus širok 16 bita.

Adresna sabirnica (BE0#-BE3#, A2-A31)

Ovi izlazi u tri stanja pružaju adresiranje fizičke memorije ili adresiranje I/O uređaja. Adresna magistrala pruža 4 gigabajta adresnog prostora fizičke memorije (00000000H do FFFFFFFFH) i 64 kilobajta I/O adresnog prostora (00000000H do 0000FFFFH) za pristup I/O uređajima.

Vrijednosti BE0#-BE3# signala strobova podataka određuju one bajtove 32-bitne sabirnice podataka koji su uključeni u trenutni prijenos. Ovo je posebno pogodno za interakciju sa vanjskom opremom.

Signali detekcije tipa ciklusa sabirnice (W/R#, D/C#, M/IO#, LOCK#)

Ovi izlazi u tri stanja određuju tip trenutnog ciklusa sabirnice. Ovisno o vrijednosti W/R#, svi ciklusi se dijele na cikluse pisanja i cikluse čitanja. D/C# dijeli sve cikluse na cikluse razmjene podataka i cikluse razmjene kontrolnih signala. M/IO# razlikuje cikluse pristupa memoriji od ciklusa pristupa I/O uređaju. Signal LOCK# razlikuje cikluse sa blokiranom magistralom.

16-bitni pokazivač sabirnice (BS16#)

BS16# signal omogućava 80386 da komunicira direktno sa 32-bitnim i 16-bitnim sabirnicama podataka. Postavljanje aktivnog nivoa ovog ulaza rezultirat će činjenicom da će se u trenutnom ciklusu sabirnice razmjena vršiti samo na donjoj polovini sabirnice podataka (D0-D15) u skladu sa vrijednostima BE0# i BE1# signali. Dodatni uticaj BS16# signala (podešenog u aktivno stanje) se neće pojaviti ako su u trenutnom ciklusu aktivni samo signali BE0# ili BE3#, delovanje BS16# signala (aktivni nivo) će prisiliti 80386 procesor da izvrši neophodna prebacivanja za ispravan prenos višeg(ih) bajta(ova) na linijama D0-D15.

U ovom radu ovaj signal je uvijek postavljen u pasivno stanje i samo se 32-bitni podaci razmjenjuju sa memorijom.

Signali prekida INTR, NMI

Može prekinuti ili pauzirati procesorsko izvršavanje trenutnog skupa instrukcija. Pošto rukovanje prekidima nije potrebno, ovi se signali ne koriste.

· Reset signal (reset) (RESET).

Ovaj ulazni signal zaustavlja svaku operaciju u toku i dovodi 80386 u stanje poznato kao stanje resetovanja. 80386 se resetuje zadržavanjem RESET signala aktivnim 15 ili više CLK2 perioda. RESET signal može biti asinhroni u odnosu na CLK2. Ako je potrebno, faza unutrašnjeg takta procesora kao i cjelokupno stanje 80386 mogu se u potpunosti sinhronizirati sa vanjskim krugovima.

Opis rada sabirnice 80386 ima odvojene paralelne sabirnice: adresnu sabirnicu i sabirnicu podataka. Sabirnica podataka je 32-bitna i dvosmjerna. Širina adresne magistrale je 32 bita: od kojih je 30 bitova visokog reda adresa operanda, a 2 bita su formirana od 4 signala strobe podataka, od kojih se svaki koristi za odabir odgovarajućeg bajta u operandu. Tip svakog ciklusa sabirnice određuju tri signala: M/IO#, W/R# i D/C#. Istovremeno sa ovim signalima uspostavlja se važeća adresa na linijama BE0#BE3# i A2-A31. Adresni strobe signal ukazuje da je procesor 80386 izdao novi tip ciklusa sabirnice i adresu. Kada je u radu, sabirnica obavlja jedan od sljedećih ciklusa sabirnice:

Tabela 1. Definicija ciklusa sabirnice

TIP TRANSMISSION

Potvrda prekida

Specijalni ciklusi BE0-BE3

Čitanje podataka sa I/O

Upisivanje podataka na I/O

Prethodno dohvaćanje (čitanje) instrukcija iz memorije

(rezervisano)

Čitanje podataka iz memorije

Zapisivanje podataka u memoriju


RAZVOJ MPS MEMORIJSKOG PODSISTEMA

Prilikom projektovanja MPS memorije rešeni su problemi razvoja kola za skladištenje informacija i kola za povezivanje RAM-a i ROM-a sa sistemskom magistralom.

Potreba za RAM-om se utvrđuje pomoću asemblerskog programa:

· podaci za privremene varijable - 688 bajtova;

· Količina memorije za programski kod je 928 bajtova.

Posebnost dizajna memorijskih modula za mikroprocesor 80386 je da se za pristup podacima koristi 32-bitna sabirnica podataka (tj. razmjena se vrši u 4 bajta, željeni bajt se bira pomoću signala za odabir bajta BE0#- BE3#). Na osnovu toga, memorijski moduli se grade od četiri banke širine 1 bajt.

RAM uređaj za skladištenje je izgrađen na bazi KM185RU8 mikrokola statičkog tipa dimenzija 256´8, sa vremenom pisanja/čitanja od 45 ns, Rss = 915 mW. ROM drajv je izgrađen na bazi mikro kola 556PT17 dimenzija 512´8, sa vremenom očitavanja od 50 ns, Rss = 998 mW.

Iz vremenskih dijagrama datih u Dodatku 4 proizilazi da organizacija ciklusa čekanja prilikom pristupa memoriji nije potrebna, jer Ciklusi čitanja/pisanja uklapaju se u vremenska ograničenja - dva ciklusa procesora T1 + T2 = 1/33MHz + 1/33MHz = 61ns.

MP adresni izlaz A11 i M/IO# izlaz se koriste za odabir jednog od adresabilnih prostora, a signali BE0#, BE1#, BE2#, BE3# se koriste za odabir adresabilnog bajta u RAM ili ROM modulima.

Količina memorije je odabrana na osnovu potreba sistema, a MPS adresni prostor je podijeljen i dostupan za korištenje na sljedeći način:

Raspon adresa

Adresabilni prostor

I/O portovi

1Kbyte RAM

2KB ROM


RAZVOJ INPUT-OUTPUT PODSISTEMA

MPS ulazno/izlazni podsistem je skup ulazno/izlaznih kanala, od kojih svaki opslužuje pojedinačne računare. Kanal sadrži sredstva za povezivanje sa SB (interfejsom uređaja) i sredstva za kontrolu ulaza/izlaza i implementiran je u hardveru i softveru.

Budući da MPS prima informacije od osam senzora, u proceduri unosa, prije početka prijema podataka, sekvencijalno se bira host sa kojim će se izvršiti razmjena. Potreban senzor se specificira u ciklusu upisivanjem njegovog broja u DX registar. Koristeći ovaj broj, hardver (dekoder adrese i kontrole) omogućava prijem sa izvora sa datim brojem. Interfejs kanala je implementiran na osnovu ulaznih/izlaznih portova.

Povezivanje MS serijskog porta.

Interfejsi serijskih I/O kanala su implementirani na programabilnom serijskom komunikacijskom sučelju LSI, na primjer, KR580VV51A.

LSI KR580VV51A je univerzalni sinhroni-asinhroni serijski komunikacioni primopredajnik koji obavlja funkcije prijema i pretvaranja paralelnih formata riječi podataka u serijske formate sa uslužnim simbolima za prijenos preko CS-a (komunikacijski kanal) i serijskim formatima primljenim od CS-a riječi podataka u paralelni format za unos u CPU. LSI se može programirati da radi u 5 načina: asinhroni prijenos, asinhroni prijem, sinhroni prijenos, sinhroni prijem sa internom sinhronizacijom, sinhroni prijem sa eksternom sinhronizacijom. Greške u primljenim riječima podataka za paritet ili neparnost, greške u strukturi koda tokom asinhronog prijema koje nastaju zbog odsustva stop bitova, kao i greške preklapanja koje nastaju kao rezultat kršenja sinkronizacije razmjene kada sljedeća riječ stigne prije prethodni je pročitan se prate. Brzina razmene do 64000 bauda.

Kontrola transmisije.

Kontrola prenosa reguliše sve aktivnosti vezane za prenos serijskih podataka. On prima i proizvodi sljedeće signale, eksterne i interne, za obavljanje ove funkcije:

· TxRDY (Transmitter Ready): Ovaj izlaz signalizira sistemskoj jedinici da je predajnik spreman da primi karakter podataka. TxRDY se automatski resetuje na rastućoj ivici WR izlaza kada se karakter podataka učita iz sistemske jedinice;

· TxC (Sat prenosa): Sat prenosa kontroliše brzinu kojom se karakter mora preneti. U sinhronom načinu rada, bitovi u sekundi su jednaki TxC frekvenciji. Opadajući rub TxC signala pomjera serijske podatke.

Prijenos podataka.

Tokom sinhronog prenosa, TxD izlaz je konstantno na nivou markera sve dok sistem ne pošalje svoj prvi simbol, a to je KR580BB51A simbol sinhronizacije. Svi bitovi napreduju na padajućoj ivici TxC-a.

Jednom kada je prijenos započeo, tok podataka na TxD izlazu mora se nastaviti brzinom TxC. Ako sistem ne obezbijedi KR580BB51A simbole podataka prije nego što bafer za prijenos postane prazan, tada će se simboli za sinhronizaciju automatski umetnuti u tok podataka. U ovom slučaju, TxE bit u statusnom registru se prebacuje na visoko kako bi signalizirao da je KR580BB51A prazan i da se sinkronizacijski simboli prenose. TxE ne pada nisko kada se simbol sinhronizacije pomakne. TxE statusni bit se automatski resetuje kada se karakter podataka upiše u KR580BB51A.

Reception management.

· RxRDY (Receiver Ready): Ovaj izlaz pokazuje da KR 580VV51A sadrži znak spreman za prenos na sistemsku jedinicu;

· RxC (Sat prijemnika): Frekvencija takta prijemnika kontroliše brzinu kojom se karakter treba primiti. Brzina prijenosa je jednaka stvarnoj frekvenciji RxC.

Prijem podataka.

Prijemnik prima serijske podatke, pretvara ih u paralelni format, provjerava bitove ili znakove koji zavise od načina komunikacije i šalje obrađeni karakter sistemskoj jedinici. Ulaz serijskih podataka ide na pin RxD i taktuje se na rastućoj ivici RxC.

Procedura programiranja za KR580VV51A.

KR580BB51A je napunjen skupom kontrolnih riječi koje definiraju komunikacijsko okruženje. Kontrolne riječi dolaze u dva formata: instrukcija načina rada i instrukcija naredbe. Instrukcije i naredbe za način rada moraju slijediti određeni redoslijed kako bi uređaj ispravno radio. Instrukcija za način rada mora se umetnuti odmah nakon operacije resetiranja, prije korištenja KR580VV51A za komunikaciju. Potom se u KR580BB51A učitavaju potrebni sinkronizacijski simboli za odabrani način komunikacije. Sve kontrolne riječi napisane u KR580VV51A nakon instrukcije načina rada će označavati instrukciju komande. KR580VV51A je povezan sa sistemskim magistralama procesora preko pinova sabirnice podataka D7-D0, kontrolisanih LSI signalima uzorkovanja, čitanja i pisanja koji se dostavljaju na CS, C/D, RD, WR ulaze. Ulaz C/D se kontroliše sa linije A2.

Za čitanje/pisanje podataka sa I/O portova, potrebno je samo pristupiti odgovarajućem adresnom prostoru.

RAZVOJ TEZ-a

Strukturno, pretprocesor za datu veličinu ploča može biti implementiran na jednom TEZ-u. Pored mikrokola, TEZ uključuje:

· 1 konektor tipa SNP34-90;

· 1 konektor tipa PS9 - za napajanje i uzemljenje;

· filterski kondenzatori: 2 elektrolitička i 6 (1 komad - za 5 mikro krugova) keramičkih KM-51-N90-0.05, instalirani na ploči u neposrednoj blizini mikrokola;

· kvarcni rezonator i oscilirajući krug na 33 MHz.

· Za napajanje nivoa “1” u ovom radu, umjesto otpornika nominalne vrijednosti 1K, koriste se “ekstra” linije logičkog elementa 2I-NOT, čiji se ulazi napajaju sa “0”.

Za zaštitu od vibracija i udaraca potrebno je koristiti konstrukcije visoke čvrstoće i posebne držače, koji također djeluju kao hladnjaci za odvođenje topline (glavni izvori topline su procesor i koprocesor).

Toplotni uslovi su obezbeđeni prirodnim vazdušnim hlađenjem, a ploča je napravljena na metalnoj podlozi koja odvodi toplotu. U cilju zaštite elemenata i štampane ploče od vlage, TEZ je premazan PFL-86 lakom.

ZAKLJUČAK

Prilikom projektovanja mikroprocesorskog sistema korišten je sljedeći softver:

· Borland C++ 3.1 i Turbo Assembler 3.1 - za procjenu veličine MPS programa;

· Sistem kompjuterskog projektovanja Visio 4.5 i Microsoft Word 2000 - za izradu projektne dokumentacije.

Kao rezultat kursnog projekta izgrađen je MPS na bazi mikroprocesora i80386DX33 za koji se mogu procijeniti sljedeće tehničke karakteristike:

· dubina bita - 32;

jer širina magistrale podataka - 32 bita

· performanse (RG-RG), op/s: - 6,6*106;

jer MP 80386 izvršava jednu naredbu u prosjeku od 5 ciklusa takta, što rezultira performansama određenim prema: 33 MHz / 5 = 6,6 * 106 operacija/s

· zapremina interne memorije, KB: - RAM - 1, ROM - 2;

· maksimalna brzina razmene podataka, Kbaud: - 64;

· potrošnja energije, W: - 17,25;

· napon napajanja, V (Hz): - 220 (50),

Tokom kursa riješeni su sljedeći projektni problemi MPS-a:

· modeliranje izvora ulaznih informacija, zadanog algoritma i potrošača izlaznih informacija;

· određivanje parametara MPS elemenata na osnovu rezultata modeliranja;

· sinteza i izrada funkcionalnih i šematskih dijagrama MPS-a;

· razvoj MPS softvera;

· izrada projektne i projektne dokumentacije za projekat (crteži i objašnjenje).

Kriterijum kvaliteta sistema je jednak:

BIBLIOGRAFSKI LIST

· Mikroprocesor 80386: Imenik /K. Pappas, W. Murray / M.: Radio i komunikacije, 1993.-320 str.

· Procesor 80386DX u kolu personalnog računara / Polyakov A.V. -M.:IKS, 1994.

· Mikroprocesori i mikroprocesorski setovi integrisanih kola: Imenik. U 2 toma/Ed. V. A. Šahnova - M.: Radio i veze, 1988. - 368 str.: ilustr.

· Logičke IC-ove KR1533, KR1554: priručnik. U 2 toma /Ed. I. I. Petrovsky, BINOM, 1993, sa ilustr.

· Primena memorijskih čipova u elektronskim uređajima, O. N. Lebedev, M.: Radio i komunikacije, 1994. - 216 str.: ilustr.

· GOST 2.743-91 ESKD. Uvjetne grafičke oznake u shemama. Elementi digitalne tehnologije.

· GOST 2.708-81 ESKD. Pravila za izvođenje električnih kola digitalne električne opreme.

· GOST 2.755-87 ESKD. Uvjetne grafičke oznake u shemama. Preklopni uređaji i kontaktne veze.

· Tokarev V. L. Mikroprocesorski sistemi: uputstva za izvođenje laboratorijskih radova i kursni projekat za studente specijalnosti 220100 dnevnog i večernjeg studija. - Tula: TSU, 1997. - 48 str.

· Matikashvili T.I. Priprema dokumenata o programiranju i digitalnoj elektronici Tula: TSTU, 1994. -44 str.

DODATAK 1

Listing programa za modeliranje objekta posmatranja i MPS-a

#include

#include

#include

(();();= 0,0;= 0,0;(O, 0, sizeof(float)*(R+L));(fi, 0, sizeof(char)*(R+L));(r, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

((i=R-1; i>0; i--) fi[i] = fi;(i=R+L-1; i>R-1; i--) fi[i] = fi; = z; fi[R] = x;= ((float)rand()/RAND_MAX)*sigma;= ((float)rand()/RAND_MAX)*2-1;= 0.0;(i=0; i;

((j=i+1; j

(= r[i][j]; r[i][j] = r[j][i]; r[j][i] = tmpr;

)(chisl, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

((j=0; j

((l=0; l

([i][j]+=hline[l]*r[l][j];

)(i=0; i

((j=0; j

([i][j]-=chisl[i][j]/znam;

)[i] = rfi[i]/znam;

)= 0,0;(i=0; i

DODATAK 2

Rezultati modeliranja objekta posmatranja i MPS

Korak 1: fi = [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ]= 0.405= [ 0.000 0.000 0.000 0.000 0.000] = 0.000 0.0 0 .4 05 0,022 0,000 0,000 0,000 0,000 0,000 0,000 ]= 0,578= [ 0,930 0,413 0,000 0,000 0,000 0,000 0,000 0,000 ]3: fi = [ 0,627 0,653 0,022 0,000 0,000 0,000 0,000 0,000 ]= -0,322= 0,032= 0,0.0.2 000 0 0,000 0,000 ]4: fi = [ 0,696 -0,774 0,653 0,022 0,000 0,000 0,000 0,000 ] = -0,092= [ 0,303 0,005 -0,001 -0,001 0,000 0,000 0,000 0,000 ]5: fi = [ 0,048 0,973 -0,774 0,653 0,022 0.0= 0.0] . 0. 821 0.377 -0.409 0.030 0.704 0.000 0.000 0.000 ]6: fi = [ 0,853 -0,425 0,973 -0,774 0,653 0,022 0,000 0,000 ]= 0,091= [ 0,875 0,411 -0,429 0,033 0,765 -0,30] [0,033 0,765 -0,30] 0,225 -0,42 5 0,973 -0,774 0,653 0,022 0,000 ]= -0,242= [ 0,467 0,233 -0,247 -0,026 0,375 -0,109 0,007 0,000 ]8: fi = [ 0,225 0,266 0,225 -0,425 0,973 -0,774 0,602] - 0,602 = .80 220 -0,242 -0,018 0,34 8 -0,126 0,054 -0,202 ]9: fi = [ 1.007 -0.375 0.266 0.225 -0.425 0.973 -0.774 0.653 ]= -0.008= [ 0.491 0.212 -0.238 -0.020 0.336 -0.10] -0.20 : -0,940 -0,375 0,2 66 0,225 -0,425 0,973 - 0,774 ]= 0,372= [ 0,821 0,451 -0,467 -0,260 0,789 -0,323 0,299 -0,482 ]11: fi = [ 0,701 0,817 -0,940 -0,265] 0,265] = 0,084= [ 0,836 0,4 62 -0,436 -0,218 0,702 -0,320 0,297 -0,439 ]12: fi = [ 1,047 -0,970 0,817 -0,940 -0,375 0,266 0,225 -0,425 ]= -0,256= [ 0,504 0,263 -0,410 -0,3190 ] .285 ]13: fi = [ 0.533 -0.762 -0.970 0.817 -0.940 -0.375 0.266 0.225 ]= -0.020= [ 0.522 0.260 -0.247 -0.071 0.436 -0.138 0.026 -0.289 ]= -0.289 ] .970 0.817 -0.940 -0.375 0.266 ]= 0.023= [ 0,343 0,263 -0,251 -0,073 0,239 - 0,135 0,019 -0,291 ]15: fi = [ 0,939 0,325 -0,969 -0,762 -0,970 0,817 -0.5] 0,176 -0,220 -0,037 0,259 -0,124 0,0 48 - 0,136 ]16: fi = [ 0,648 -0,632 0,325 -0,969 -0,762 -0,970 0,817 -0,940 ]= 0,048= [ 0,343 0,272 -0,210 -0,240] 0,217 -0,247 17: fi = [ 0,753 0,478 -0,632 0,3 25 - 0.969 -0.762 -0.970 0.817 ]= 0.552= [ 0.765 0.439 -0.471 -0.201 0.673 -0.355 0.232 -0.404 ]18: fi = -0.439 -0.471 -0.201 0.673 -0.355 0.232 -0.404 .969 -0.762 -0.970 ]= 0.023= [ 0.776 0.4 42 -0.450 -0.203 0.675 -0.358 0.225 -0.410 ]19 : fi = [ 0.974 -0.256 -0.946 0.478 -0.632 0.325 -0.969 -0.762 ]= 0.762 ]= 0.762 ]= 0.762 -0.7 0,212 0,673 -0,359 0,229 -0,404 ]20: fi = [ 0,95 4 0,139 -0,256 -0,946 0,478 -0,632 0,325 -0,969 ]= -0,368= [ 0. 517 0,275 -0,246 -0,015 0,438 -0,150 0,006 -0,256 ]21: fi = [ 1,736 0,134 0,139 -0,256 -0,946 0,478 -0,630] -0,250 -0,250 48 -0,065 0,441 -0,150 0,056 -0,258 ]22 : fi = [ 0,679 -0,488 0,134 0,139 -0,256 -0,946 0,478 -0,632 ]= 0,222= [ 0,664 0,329 -0,357 -0,126 0,545 -0,12] fi = 0,126 5 0,531 -0,488 0,134 0,139 -0,256 -0,946 0,478 ]= 0,176= [ 0,675 0,341 -0,357 -0,115 0,558 -0,236 0,122 -0,346 ]24: fi = [ 1,015 -0,361 0,531 -0,488 0,1362] -0,1362 - 0,1362 0= [ 0,587 0,294 -0,397 -0,122 0,442 -0,245 0,111 -0,217 ]25: fi = [ 0,755 0,111 -0,361 0,531 -0,488 0,134 0,139 -0,256 ]= -0,173= [ 0,546 0,270 -0,1362 -0,1362 .2 51 ]26: fi = [ 0,420 0,660 0,111 -0,361 0,531 -0,488 0,134 -0,139 ]= 0,310= [ 0,596 0,297 -0,314 -0,118 0,516 -0,186 0,091 -0,296 ]27: fi = -0 0,297 -0,314 -0,118 0,516 -0,186 0,091 -0,296 ]27: fi = -0 0,161 .531 -0.4 88 -0.134 ]= 0.119= [ 0.615 0.321 - 0,276 - 0,078 0,532 -0,152 0,114 -0,301 ]28: fi = [ 0,242 -0,715 -0,775 0,660 0,111 -0,361 0,531 -0,488 ]28: fi = [ 0,242 -0,715 -0,775 0,660 0,111 -0,361 0,531 -0,488 ]31 -0,488 ]= 0,05 -0,31 0,096 0,5 26 -0,163 0,102 -0,302 ]29: fi = [ 0,610 -0,327 -0,715 -0,775 0,660 0,111 -0,361 0,531 ]

DODATAK 3

Popis ROM firmver programa

TEXT segmentni bajt javni "CODE"cs:_TEXT, ds:_TEXT 100h

; Procedura inicijalizacije

; Nuliranje O

;di,offset Oax,dses,axax,axcx,16stoswstart:word ptr x,0word ptr x+2,0word ptr z,0word ptr z+2,0

; r -> matrica identiteta

mov word ptr i,0

@1@58:bx,word ptr icl,5bx,clax,word ptr icl,2ax,clbx,axword ptr r,16256word ptr r,0word ptr iword ptr i,8 kratko @1@58

; Postavljanje I/O portova

@1@581:dx,4al,11110101B ; asinhron.,

; 6 bitova znakova, čak i paritet

mov al,00111110B ; receiverdx,al@1@581dx,4al,11111101B ; asinhron.,

; 8 bitova znakova, čak i paritet

mov al,00110011B ; transmitterdx,al

; Obrada podataka

mov cx,8dx,0bx,0

@1@1599:dx,4al,dxbyte ptr fi,albx@1@1599

; Resetovanje rfi

;di,offset rfiax,axcx,16stosw

; rfi proračun

@1@198:word ptr j,0

@1@226:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr ibx,cldword ptr rfibx ,word ptr ibx,cldword ptr rfiword ptr jword ptr j,8short @1@226word ptr iword ptr i,8short @1@198

;word ptr znam+2,0word ptr znam,0

; Obračun znam

;word ptr i,0si,sicl,2si,clsi,offset rfi

@1@450:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr znamdword ptr znamsi,4word ptr isi,offset rfi+32short @1@450

;ax,word ptr sigmaword ptr temp,axword ptr tempdword ptr znamdword ptr znam

; Transpose r

@1@590:ax,word ptr iaxword ptr j,ax@1@674

@1@618:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axax,word ptr rword ptr temp,axax,word ptr rword ptr temp+2,axdx,bxbx,word ptr jcl,5bx ,clax,word ptr icl,2ax,clbx,axax,word ptr rword ptr temp+4,axax,word ptr rword ptr temp+6,axax,word ptr tempword ptr r,axax,word ptr temp+2word ptr r,axbx ,dxax,word ptr temp+4word ptr r,axax,word ptr temp+6word ptr r,axword ptr j

@1@674:word ptr j,8@@28@1@618

@@28:word ptr iword ptr i,8@@29@1@590

; Reset chisl

;di,offset chislax,axcx,128stosw

; Chline proračun

@1@814:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,2bx,cldword ptr rfibx,word ptr jbx,cldword ptr chlineword ptr jword ptr j,8short @1@814

; Izračunavanje čisl

@1@926:word ptr l,0ax,word ptr icl,5ax,cldx,word ptr jcl,2dx,clax,dxsi,ax

@1@982:bx,word ptr lcl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr lbx,cldword ptr chlinedword ptr chisldword ptr chislword ptr lword ptr @1,8short ptr ptr j,8short @1@926word ptr iword ptr i,8@@30@1@786

; Izračunavanje r

@1@1206:word ptr j,0

@1@1234:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr chisldword ptr znamdword ptr rdword ptr rword ptr jword ptr j,8short @1@1234

; Izračunavanje k

;bx,word ptr icl,2bx,cldword ptr rfidword ptr znamdword ptr kword ptr iword ptr i,8@@31@1@1206

;word ptr e,0word ptr e+2,0

; Obračun e

;riječ ptr i,0si,sicl,2si,clsi,offset O

@1@1486:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr edword ptr esi,4word ptr isi,offset O+32short @1@1486

;al,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr edword ptr e

; Obračun O

@1@1850:bx,word ptr icl,2bx,cldword ptr kdword ptr edword ptr Odword ptr Oword ptr iword ptr i,8short @1@1850

;ax,100word ptr temp,axax,0word ptr temp+2,axcx,8bx,0

@1@1860:dword ptr Odword ptr tempword ptr temp+4al,byte ptr temp+420h,albx,4@1@1860calc

;db 2 dup (?)db 2 dup (?)db 2 dup (?)dd 0.5db 4 dup (?)db 4 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (? )db 32 dup (?)db 8 dup (?)db 8 dup (?)db 4 dup (?)db 32 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (?)

TEXT endsinit

DODATAK 4

Vremenski dijagrami rada sistema

Slika 1. Ciklus čitanja iz RAM-a

Slika 2. Ciklus pisanja u RAM

Slika 3. Ciklus čitanja iz ROM-a

Značenje

Mikroprocesorski sistem za prikupljanje podataka mora ispuniti sljedeće zahtjeve: osigurati visoke performanse i biti jednostavan za implementaciju, mora osigurati stabilan rad bez problema, biti relativno jeftin i trošiti malo resursa. Za obavljanje postavljenih zadataka iu skladu sa osnovnim zahtjevima, prikladan je mikrokontroler serije K1816BE51.

Slika 3 - Blok dijagram mikroprocesorskog sistema za prikupljanje podataka.

mikroprocesorski programski algoritamski čip

Mikroprocesorski sistem (MPS) sastoji se od sljedećih blokova: mikrokontroler (MC), memorija sa slučajnim pristupom (RAM), memorija samo za čitanje (ROM), programabilni tajmer (PT), paralelno programabilni interfejs (PPI), analogno-digitalni pretvarač (ADC), digitalno-analogni pretvarač (DAC), multiplekser (MUX), programabilni kontroler prekida (PIC).

MK formira adresnu sabirnicu (ABA), sabirnicu podataka (SD) i kontrolnu sabirnicu (CC). RAM, ROM, PT, PPI, PKP blokovi su povezani na magistrale.

RAM memorija je dizajnirana za pohranjivanje podataka istraživanja senzora, kao i međupodataka. ROM je dizajniran za pohranjivanje programskog koda i raznih konstanti.

PT je dizajniran da broji vremenski interval koji će biti potreban za izvršavanje MK komandi. Prije nego što se operacija izvrši, PT se pokreće. Ako je operacija uspješna, MK resetuje PT. Ako od MC nije primljena komanda za poništavanje brojanja (došlo je do zamrzavanja), PT, na kraju odbrojavanja vremenskog intervala, generiše signal MC resetovanja.

PPI je namijenjen povezivanju vanjskih uređaja. ADC, diskretni multipleksor i DAC su povezani na SPI.

ADC je dizajniran za pretvaranje analognog signala iz senzora i digitalnog koda, koji se dovodi u MK preko PPI. Analogni senzori su povezani na ADC preko analognog multipleksora.

Podaci sa diskretnih senzora se primaju preko diskretnog multipleksora.

DAC je dizajniran da generiše kontrolnu akciju.

Kontrolna tabla je dizajnirana da servisira vanjske prekide.

Ministarstvo nauke i obrazovanja Republike Kazahstan

Multidisciplinary College

Državni univerzitet Sjevernog Kazahstana

nazvan po akademiku M. Kozybaevu

Objašnjenje

za projekat kursa

u disciplini: “Digitalni uređaji i mikroprocesorski sistemi”

na temu: „Projektovanje mikroprocesorskog sistema baziranog na mikroprocesoru I 8086“

Opcija br. 16

Završio: student gr. RES-k-09

Safronov S.V.

Provjerio: nastavnik

Mikhailova A.N.

Petropavlovsk 2010

1. Uvod

2. Opšta struktura Ministarstva željeznica

3. 16-bitni i8086 mikroprocesor

3.1 Komandni sistem

4.Unutrašnja struktura

5. Memorijski uređaji

6. RAM. Principi konstrukcije

7. Memorija samo za čitanje (ROM)

8.Digitalno-analogni pretvarači (DAC)

9.Izrada funkcionalnog dijagrama ulazno/izlaznog modula

10 Zaključak

Bibliografija

Dodatak A

1. Uvod

Svrha discipline „Digitalni uređaji i mikroprocesori“ je proučavanje principa konstruisanja digitalnih uređaja različite funkcionalne složenosti – od logičkih elemenata do mikroprocesora i mikroračunara.

Kompaktna mikroelektronska „memorija“ se široko koristi u modernoj elektronskoj opremi za različite namene. U PC-u, memorija je definirana kao funkcionalni dio dizajniran za snimanje, pohranjivanje i izdavanje naredbi i obrađenih podataka. Skup tehničkih sredstava koja implementiraju memorijsku funkciju naziva se uređaj za pohranu (storage device). Da bi se osigurao rad procesora (mikroprocesora) potreban je program, odnosno niz naredbi i podataka na kojima procesor izvodi operacije propisane komandama. Komande i podaci ulaze u glavnu memoriju računara putem ulaznog uređaja, na čijem izlazu dobijaju digitalni oblik reprezentacije, odnosno oblik kodnih kombinacija O i 1. Glavna memorija se po pravilu sastoji od dva vrste memorije: operativna (RAM) i stalna (ROM).

RAM je dizajniran za pohranjivanje promjenjivih informacija i omogućava da se njegov sadržaj mijenja dok procesor izvodi računske operacije s podacima. To znači da procesor može odabrati (režim čitanja) instrukcijski kod i podatke iz RAM-a i, nakon obrade, smjestiti rezultirajući rezultat u RAM (režim pisanja).

Ovaj kurs je posvećen proučavanju memorijskog bloka. Naime, zadatak je izgraditi memorijski prostor zadate veličine i konfiguracije.

2. Opšta struktura Ministarstva željeznica

Mikroprocesor (MP) - centralni dio svakog mikroprocesorskog sistema (MPS) - uključuje aritmetičko-logičku jedinicu (ALU) i centralnu upravljačku jedinicu (CCU), koja implementira komandni ciklus. MP može funkcionirati samo kao dio MPS-a, koji uključuje, pored MP-a, memoriju, ulazno/izlazne uređaje, pomoćne sklopove (generator sata, kontrolere prekida i direktni pristup memoriji (DAM), upravljačke programe sabirnice, registre za zaključavanje, itd. .

U bilo kojem MPS-u mogu se razlikovati sljedeći glavni dijelovi (podsistemi):

    procesorski modul;

  • eksterni uređaji (eksterna memorija + uređaji za ulaz/izlaz);

    podsistem prekida;

    podsistem direktnog pristupa memoriji.

Slika 1 – Struktura MPS-a sa interfejsom “Common Bus”.

Komunikacija između procesora i drugih MPS uređaja može se vršiti korištenjem principa radijalnih veza, zajedničke magistrale ili kombinirane metode. U jednoprocesorskim MPS-ovima, posebno 8- i 16-bitnim, najviše je rasprostranjen komunikacioni princip “Common Bus” u kojem su svi uređaji povezani na interfejs na isti način (slika 1).

Svi signali interfejsa su podeljeni u tri glavne grupe - podaci, adresa i kontrola. Brojni tipovi sučelja "Common Bus" omogućavaju prijenos preko zasebnih ili multipleksiranih linija (sabirnica). Na primjer, Microbus sučelje, na kojem radi većina 8-bitnih MPU-ova baziranih na i8080, prenosi adresu i podatke na odvojenim magistralama, ali neki kontrolni signali se prenose na sabirnici podataka. Q-bus interfejs koji se koristi u mikroračunarima iz DEC-a (domaći analogni - mikroprocesori serije K1801) ima multipleksiranu magistralu adresa/podataka, preko koje se ove informacije prenose sa vremenskom podelom. Naravno, ako postoji multipleksirana magistrala, potrebno je u upravljačke linije uključiti poseban signal koji identifikuje vrstu informacija na sabirnici. Informacije se razmjenjuju preko sučelja između dva uređaja, od kojih je jedan aktivan, a drugi pasivan. Aktivni uređaj generiše pasivne adrese uređaja i kontrolne signale. Aktivni uređaj je obično procesor, a pasivni uređaj je uvijek memorija i neki računari.

Međutim, ponekad host uređaji velike brzine mogu djelovati kao glavni (aktivni uređaj) na sučelju, kontrolirajući razmjenu s memorijom. Koncept “Common Bus” pretpostavlja da se pristup svim MPS uređajima vrši u jednom adresnom prostoru, međutim, kako bi se proširio broj adresabilnih objekata, u nekim sistemima adresni prostori memorije i memorije, a ponekad čak i programske memorije i memorija podataka, su umjetno odvojeni.

3.16-bitni i8086 mikroprocesor

Intel je 1978. godine objavio prvi 16-bitni procesor i8086. Frekvencija - 5 MHz, performanse - 0,33 MIPS za instrukcije sa 16-bitnim operandima (kasnije su se pojavili procesori od 8 i 10 MHz). Tehnologija od 3 mikrona, 29.000 tranzistora. Adresabilna memorija 1 MB. Godinu dana kasnije pojavio se i8088 - isti procesor, ali sa 8-bitnom magistralom podataka. Istorija IBM PC-a je počela sa njim, neraskidivo povezana sa svim daljim razvojem Intelovih procesora. Masovna distribucija i otvorenost IBM PC arhitekture dovela je do lavinskog tempa pojave novog softvera koji su razvili veliki, srednji i mali. firmama, kao i pojedinačnim entuzijastima. Tehnički napredak tada i sada bio bi nezamisliv bez razvoja procesora, ali s obzirom na ogroman obim postojećeg softvera za računare, princip nazadne softverske kompatibilnosti nastao je i tada - stari programi bi trebali raditi na novim procesorima. Dakle, sve inovacije u arhitekturi narednih procesora morale su biti vezane za postojeće jezgro.

16-bitni MP i8086 bio je dalji razvoj linije MP-a sa jednim čipom koju je započeo i8080. Uz povećanje bitnog kapaciteta, i8086 implementira niz novih arhitektonskih rješenja:

proširen je komandni sistem (skupom operacija i metoda adresiranja);

MP arhitektura je fokusirana na višeprocesorski rad. Grupa pomoćnih LSI (kontrolera i specijalizovanih procesora) je razvijena za organizovanje multimikroprocesorskih sistema različitih konfiguracija;

počelo je kretanje ka kombinovanju izvođenja različitih operacija u vremenu. MP uključuje dva paralelna radna uređaja

obrada podataka i komunikacija sa autoputem, što omogućava vremensko kombinovanje procesa obrade informacija i njihovog prenošenja duž autoputa;

uvedena je nova (u poređenju sa i8080) organizacija memorije, koja je kasnije korišćena u svim starijim modelima INTEL porodice – segmentacija memorije. Da bi se održao kontinuitet modela sa i8080, i8086 pruža dva režima rada - „minimalni“ i „maksimalni“, au minimalnom režimu i8086 jednostavno radi kao prilično brz 16-bitni i8080 sa proširenim komandnim sistemom ( arhitektura MPS-a zasnovanog na i8086-min liči na arhitekturu na bazi i8080).

Maksimalni režim je usmeren na rad i8086 kao dela multimikroprocesorskih sistema, u kojima, pored nekoliko centralnih procesora i8086, mogu da rade specijalizovani i8089 ulazno/izlazni procesori i i8087 plutajući aritmetički koprocesori. Hajde da jasnije definišemo pojmove uvedene gore:

Centralni procesor - održava sopstveni ciklus komandi, izvršava program pohranjen u sistemskoj memoriji nakon resetovanja sistema, kontrola se obično prenosi na centralni procesor (ili jedan od CPU-a, ako ih ima nekoliko u sistemu); Specijalizovani procesor - održava sopstveni ciklus instrukcija, izvršava program pohranjen u sistemskoj memoriji, ali se inicijalizira samo naredbom iz CPU-a i po završetku programa obavještava CPU da je završio svoj rad. Koprocesor ne podržava sopstveni ciklus instrukcija, on izvršava komande koje je za njega izabrao CPU iz opšteg toka komandi. U suštini, koprocesor je proširenje CPU-a.

3.1 Komandni sistem

U sistemu instrukcija mikroprocesora 8086 bilo je 98 instrukcija: 19 komandi za prenos podataka, 38 komandi za obradu podataka, 24 različite uslovne i bezuslovne komande grananja i 17 komandi za upravljanje procesorom.

Svaka instrukcija se sastojala od koda operacije (nazvanog opcode) i operanada. Tipično, operacijski kod je dodijeljen prvom bajtu naredbe i tri srednja bita drugog bajta, ili (u slučaju jednobajtne komande) visokom dijelu prvog bajta naredbe. Ukupno, postoji skoro 4000 različitih komandnih opcija u i8086.

Prema svojoj namjeni, mikroprocesorske komande I8086 podijeljene su u 6 grupa:

1 Komande za prijenos podataka: MOV, XCHG, PUSH, POP, PUSHF, POPF, LEA, LDS, LES, LAHF, SAHF, XLAT, IN.

2 Aritmetičke komande: ADD, ADC, INC, AAA, DAA, SUB, SBB, DEC, NEG, CMP, AAS, DAS, MUL, IMUL, DIV, IDIV, AAM, AAD.

3 logičke komande: NOT,SHL / SAL,SHR,SAR,ROL,ROR,RCL,RCR,

I, TESTIRAJ, ILI, XOR.

4 lančane naredbe za manipulaciju: CMPS, LODS, MOVS, REP, SCAS, STOS.

5 komandi za prijenos kontrola: JMP, CALL, RET, LOOP/LOOPE, LOOPZ, LOOPNE/LOOPNZ, JCXZ, JE/JZ, JNE/JNZ, JL/JNGE, JLE/JNG, JB/JNAE, JBE/JNA, JP/JPE , JNP/JPO, JO, JNO, JS, JNS, JG/JNLE, JGE/JNL, JA/JNBE, JAE/JNB.

6 komandi za kontrolu procesora: CLC, CMC, STC, CDL, STD, CLI, HLT WAIT, ESC, LOCK

4.Unutrašnja struktura

Blok dijagram i8086 MP je prikazan na Sl. MP uključuje tri glavna uređaja:

UOD - uređaj za obradu podataka;

USM - uređaj za komunikaciju sa autoputem;

UUS - uređaj za kontrolu i sinhronizaciju.

UOD je dizajniran za izvršavanje instrukcija i uključuje 16-bitni ALU, sistemske registre i druga pomoćna kola; registarski blok (RON, osnovni i indeksni) i mikroprogramski kontrolni blok.

USM osigurava formiranje 20-bitne fizičke memorijske adrese i 16-bitne adrese domaćina, izbor komandi iz memorije, razmjenu podataka sa memorijom, hostom i drugim procesorima preko magistrale. USM uključuje sabirač adresa, blok registara reda komandi i blok registara segmenta.

UUS obezbeđuje sinhronizaciju rada MP uređaja, generisanje kontrolnih signala i statusnih signala za razmenu sa drugim uređajima, analizu i odgovarajući odgovor na signale drugih MPS uređaja.

MP može raditi u jednom od dva načina rada - “minimum” (min) i “maksimum” (max). Minimalni režim je dizajniran za implementaciju jednoprocesorske MPS konfiguracije sa organizacijom sličnom MPS-u zasnovanom na i8080, ali sa povećanim adresnim prostorom, većom brzinom i značajno proširenim skupom instrukcija. Maksimalna konfiguracija pretpostavlja prisustvo nekoliko MP-a i posebne jedinice bus arbitra u sistemu (koristi se Multibus interfejs).

Eksterni pinovi MP i8086 široko koriste princip multipleksiranja signala - prenos različitih signala preko zajedničkih linija sa vremenskom podelom. Osim toga, isti pinovi se mogu koristiti za prijenos različitih signala u zavisnosti od načina rada (min - max).hardverski dizajn... implementiran kursni projekat mikroprocesor sistem on baza mikrokontrolera - ... rad uređaja On osnovu funkcije uređaja...

  • Dizajn mikroprocesor uređaji za obradu podataka

    Ostalo >> Računarstvo, programiranje

    Kurs dizajn je sistem prikupljanje i obrada podataka, implementirano on osnovu moderna elementna baza - mikroprocesor ... on osnovu drugi MP je sličan, iako ima neke karakteristike povezane sa razlikama u arhitekturi mikroprocesori ...

  • Mikroprocesor sistema

    Izvještaj o praksi >> Informatika

    Prema obrazovnoj praksi" Mikroprocesor sistemi" Opcija br. 1 Izvršeno... Računar za automat dizajn, naučna istraživanja, ... ko treba da zna osnove organizacija i funkcionisanje univerzalnog... kursor udesno on jedna pozicija. On simbol...

  • Periferni hardver i softver sistema prikupljanje očitavanja toplomjera

    Sažetak >> Računarstvo

    Uporedivo sa 16-bitnim mikroprocesori i mikrokontroleri za performanse i... računarstvo Za dizajn on osnovu pouzdani računari... način izrade lemljenja mikroprocesor sistema on osnovu AVR je akvizicija...

  • Uvod

    Specijalnost „Računarski sistemi i mreže“ jedna je od najvažnijih i najuniverzalnijih u savremenom obrazovnom sistemu. Područje njenog interesovanja obuhvata širok spektar objekata i upravljačkih uređaja - od elementarnih regulatora do najsloženijih upravljačkih sistema za proizvodne procese i eksperimentalna istraživanja.

    S obzirom na višenamjensku prirodu razvoja i proizvodnje računarske tehnologije, problem daljeg povećanja njihove efikasnosti, određen sistemom strukturnih i funkcionalnih karakteristika, postaje od najveće važnosti.

    Posljednjih godina, mikroelektronika je doživjela brzi razvoj u smjeru koji je povezan s proizvodnjom mikrokontrolera, koji su dizajnirani da „intelektualiziraju“ opremu za različite namjene. Mikrokontroleri su uređaji dizajnirani u obliku LSI i uključuju sve glavne dijelove „golog“ mikroračunara: mikroprocesor, programsku memoriju i memoriju podataka, kao i programabilna kola interfejsa za komunikaciju sa vanjskim okruženjem. Upotreba mikrokontrolera u sistemima upravljanja postižu izuzetno visoke pokazatelje efikasnosti uz tako nisku cenu (u mnogim aplikacijama sistem se može sastojati od samo jednog mikrokontrolera LSI) da mikrokontroleri očigledno nemaju razumnu alternativnu bazu elemenata za kontrolu zgrade i/ili regulatorne sisteme .

    Do danas, više od dvije trećine globalnog tržišta mikroprocesora čine mikrokontroleri.

    Strukturna organizacija, skup komandi, te hardver i softver za unos/izlaz informacija mikrokontrolera su najpogodniji za rješavanje problema upravljanja i regulacije u uređajima i sistemima automatizacije, a ne za rješavanje problema obrade podataka.

    1. Analiza tehničkih specifikacija

    U ovom predmetnom radu potrebno je projektovati mikroprocesorski sistem baziran na mikrokontroleru K1816BE31. Potrebno je opisati i izraditi strukturni i funkcionalni dijagram projektovanog uređaja (sistema), opravdati izbor pojedinih elemenata, izraditi šematski dijagram projektovanog uređaja (sistema), izraditi program za inicijalizaciju glavnih komponenti, kao i kao funkcionalni program u asemblerskom jeziku za mikrokontroler.

    2. Izrada blok dijagrama projektovanog uređaja

    Osnovu blok dijagrama mikrokontrolera (slika 1) čini interna dvosmjerna 8-bitna magistrala koja povezuje sve glavne čvorove i uređaje: rezidentnu memoriju, ALU, blok registra posebne funkcije, upravljački uređaj i ulazno/izlazne portove.

    Aritmetičko-logički uređaj. 8-bitni ALU može izvoditi aritmetičke operacije sabiranja, oduzimanja, množenja i dijeljenja; logičke operacije AND, OR, ekskluzivno OR, kao i operacije cikličkog pomaka, resetovanja, inverzije, itd. ALU ima softverski nedostupne registre T1 i T2, namenjene za privremeno skladištenje operanada, kola decimalne korekcije i kola za generisanje karakteristika.

    Najjednostavnija operacija sabiranja se koristi u ALU za povećanje sadržaja registara, napredovanje registra pokazivača podataka i automatsko izračunavanje sljedeće RPP adrese. Najjednostavnija operacija oduzimanja se koristi u ALU za dekrementiranje registara i upoređivanje varijabli.

    Najjednostavnije operacije automatski formiraju “tandeme” za izvođenje operacija u ALU, kao što je, na primjer, povećanje 16-bitnih parova registara. ALU implementira mehanizam za kaskadno izvršavanje jednostavnih operacija za implementaciju složenih naredbi. Tako, na primjer, kada se izvrši jedna od naredbi uslovnog prijenosa kontrole na osnovu rezultata dodavanja u ALU, SK se povećava tri puta, RPD se čita dva puta, vrši se aritmetičko poređenje dvije varijable, 16 -formira se adresa prijelaza bita i donosi se odluka o tome da li će se prijelaz izvršiti ili ne po programu. Sve gore navedene operacije se izvode u ALU za samo 2 μs.

    Važna karakteristika ALU-a je njegova sposobnost da operiše ne samo bajtovima, već i bitovima. Pojedinačni softverski dostupni bitovi mogu se postaviti, obrisati, invertirati, prenijeti, testirati i koristiti u logičkim operacijama. Ova sposobnost ALU-a da manipulira bitovima je toliko važna da se u mnogim opisima mikroprocesora spominje kao da ima "Boolean procesor". Za upravljanje objektima često se koriste algoritmi koji sadrže operacije na ulaznim i izlaznim Booleovim varijablama (true/false), čija je implementacija pomoću konvencionalnih mikroprocesora povezana s određenim poteškoćama.



    Slika 1. Blok dijagram KR1816BE31

    ALU može da radi sa četiri tipa informacionih objekata: Boolean (1 bit), digitalni (4 bita), bajt (8 bita) i adresa (16 bita). ALU izvodi 51 različitu operaciju za prijenos ili transformaciju ovih podataka. Koristi se 11 načina adresiranja (7 za podatke i 4 za adrese), kombinacijom "operativnog/adresiranja" osnovni broj od 111 instrukcija se proširuje na 255 od 256 mogućih sa jednobajtnim opkodom

    Stalna memorija . Programska memorija i memorija podataka smještena na KR1816BE31 čipu su fizički i logički odvojene, imaju različite mehanizme adresiranja, rade pod kontrolom različitih signala i obavljaju različite funkcije.

    Programska memorija (ROM ili EPROM) ima kapacitet od 4 KB i dizajnirana je za pohranjivanje naredbi, konstanti, inicijalizacijskih kontrolnih riječi, tablica konverzije ulaznih i izlaznih varijabli itd. RPP ima 16-bitnu adresnu magistralu, preko koje se omogućava pristup sa programskog brojača ili iz registra pokazivača podataka. Potonji obavlja funkcije osnovnog registra tokom indirektnih tranzicija kroz program ili se koristi u naredbama koje rade s tabelama.

    Memorija podataka (RAM) je dizajnirana za skladištenje varijabli tokom izvršavanja aplikacijskog programa, adresirana je jednim bajtom i ima kapacitet od 128 bajtova. Pored toga, adrese registra specijalnih funkcija (SRF), koje su navedene u tabeli 3, su susedne RPD adresnom prostoru.

    Programska memorija, kao i memorija podataka, mogu se proširiti do 64 KB povezivanjem eksternih LSI-ova.

    Baterija i SSP . Akumulator je izvor operanda i mjesto gdje se bilježi rezultat prilikom izvođenja aritmetičkih, logičkih operacija i niza operacija prijenosa podataka. Osim toga, samo korištenjem akumulatora mogu se izvesti operacije pomaka, provjera nule, generiranje zastavice pariteta, itd.

    Tabela 3.1

    Simbol Ime Adresa
    * ACC Baterija 0E0N
    * IN Registar ekspandera akumulatora 0F0N
    *PSW Riječ statusa programa 0D0H
    SP Registar pokazivača steka 81N
    DPTR

    Registar pokazivača podataka (DPH)

    * P0 Port 0 80N
    * P1 Luka 1 90N
    * P2 Luka 2 0A0N
    * P3 Luka 3 0V0N
    * IP Prioritetni registar 0V8N
    *IE Registar maske prekida 0A8N
    TMOD Registar načina rada tajmera/brojača 89N
    * TCON Registar kontrole/statusa tajmera 88N
    TH0 Tajmer 0 (visoki bajt) 8CH
    TL0 Tajmer 0 (niski bajt) 8AN
    TH1 Tajmer 1 (visoki bajt) 8DH
    TL1 Tajmer 1 (niski bajt) 8BN
    Simbol Ime Adresa
    * SCON Kontrolni registar primopredajnika 98N
    SBUF Transceiver Buffer 99N
    PCON Registar kontrole snage 87N

    Bilješka. Registri čija su imena označena sa (*) dozvoljavaju adresiranje pojedinačnih bitova.

    Table. 3.2

    Simbol Pozicija Naziv i svrha
    WITH PSW.7 Nosite zastavu. Postavite i resetirajte pomoću hardvera ili softvera prilikom izvođenja aritmetičkih i logičkih operacija
    AC PSW.6 Pomoćna zastavica za nošenje. Postavlja i briše samo hardver kada se izvršavaju instrukcije za dodavanje i oduzimanje i signalizira prijenos ili posudbu u bitu 3.
    F0 PSW.5 Oznaka 0. Program može postaviti, obrisati ili provjeriti kao korisnički specificiranu zastavicu.
    Odabir banke registra. Podešavanje i resetovanje programa za odabir radne banke registara (vidi napomenu)
    O.V. PSW.2 Overflow flag. Podešavanje i resetovanje hardverom prilikom izvođenja aritmetičkih operacija.
    PSW.1 Nije korišteno.
    R PSW.0 Zastava pariteta. Hardverski postavlja i resetuje svaki ciklus instrukcija i fiksira neparan/paran broj od jednog bita u akumulatoru, tj. vrši provjeru pariteta.

    Bilješka. Odabir radne banke registara

    RS1 RS0 Banka Address Boundaries
    0 0 0 00N-07N
    0 1 1 08N-0FH
    1 0 2 10H-17H
    1 1 3 18H-1FH

    Kada se mnoge komande izvrše u ALU-u, generira se određeni broj atributa operacije (zastavice), koji se zapisuju u SSP registar. Tabela 4 daje listu BSC zastava, daje njihova simbolična imena i opisuje uslove za njihovo formiranje.

    Najaktivnija SSP zastavica je oznaka za nošenje, koja učestvuje i modificira se u procesu izvođenja mnogih operacija, uključujući sabiranje, oduzimanje i pomake. Osim toga, oznaka za nošenje (C) funkcionira kao “Boolean akumulator” u uputama za manipulaciju bitovima. Oznaka prelivanja (OV) otkriva aritmetičko prelivanje u operacijama s predznakom i omogućava korištenje aritmetike u komplementarnim kodovima za dva. ALU ne kontroliše zastavice za odabir banke registara (RS0, RS1), a njihova vrijednost je u potpunosti određena aplikacijskim programom i koristi se za odabir jedne od četiri banke registara.

    Blok dijagram mikrokontrolerskog sistema dat je u grafičkom dijelu kursnog projekta, Prilog A.

    3. Izrada funkcionalnog dijagrama mikrokontrolerskog sistema

    Razvoj memorijskog podsistema

    U sistemima mikrokontrolera izgrađenim na bazi KR1816BE31 moguće je koristiti dvije vrste eksterne memorije: programsku memoriju samo za čitanje (RPM) i memoriju podataka sa slučajnim pristupom (RDM). Pristup pisti se vrši pomoću kontrolnog signala RD, koji obavlja funkciju stroboskopskog signala, očitava. Pristup VPD-u je omogućen kontrolnim signalima RD i WR, koji se generiraju u linijama P3.7 i P3.6 kada port 3 obavlja alternativne funkcije.

    Kada se pristupa subVI, uvijek se koristi 16-bitna adresa. VPD-u se može pristupiti pomoću 16-bitne adrese (MOVXA,@DPTR) ili 8-bitne adrese (MOVXA,@RI).

    Kad god se koristi 16-bitna adresa, visoki bajt adrese se zaključava (i drži nepromijenjen za jedan ciklus pisanja ili čitanja) u registru zatvaranja porta 2.

    Ako sljedeći ciklus eksterne memorije (MOVXA,@DPTR) ne slijedi odmah prethodni ciklus eksterne memorije, tada se nepromjenjivi sadržaj registra zatvarača porta 2 vraća u sljedećem ciklusu. Ako se koristi 8-bitna adresa (MOVXA,@RI), tada sadržaj registra zasuna porta 2 ostaje nepromijenjen na njegovim vanjskim pinovima tokom cijelog ciklusa eksterne memorije.

    Preko porta 0, u režimu vremenskog multipleksiranja, izdaje se niži bajt adrese i prenosi se bajt podataka. CAVP signal se mora koristiti za pisanje bajta adrese u vanjski registar. Zatim, u ciklusu pisanja, bajt izlaznih podataka pojavljuje se na vanjskim pinovima porta 0 neposredno prije nego što se pojavi signal. U ciklusu čitanja, bajt ulaznih podataka prima se na port 0 na rubu stroboskopskog signala.

    Kad god pristupa eksternoj memoriji, kontrolni uređaj KR1816BE31 učitava kod 0FFH brave porta 0 u registar, brišući na taj način informacije koje bi se u njemu mogle pohraniti.

    Pristup pisti je moguć ako su ispunjena dva uslova: ili se na ulaz onemogućavanja rezidentne programske memorije () dovodi aktivni signal ili sadržaj programskog brojača prelazi vrijednost 0FFFH. Prisustvo signala je neophodno da se omogući pristup nižim 4K adresama VPP adresnog prostora kada se koristi KR1816BE31.

    Glavna funkcija SAVP signala je da obezbijedi privremenu koordinaciju prijenosa sa porta 0 na vanjski registar nižeg bajta adrese u ciklusu čitanja iz VPP-a. SAVP signal postaje 1 dvaput u svakom ciklusu mašine. Ovo se dešava čak i kada nema poziva subVI u ciklusu uzorkovanja. Pristup VPD-u je moguć samo ako je SAVP signal odsutan. Prvi CAVP signal u drugom mašinskom ciklusu MOVX instrukcije je onemogućen. Shodno tome, u bilo kojem MK sistemu koji ne koristi VPD, SAVP signal se generiše sa konstantnom frekvencijom jednakom 1/16 frekvencije rezonatora i može se koristiti za sinhronizaciju eksternih uređaja ili za implementaciju različitih vremenskih funkcija.

    Prilikom pristupa RPP-u, signal se ne generira, ali pri pristupu VPP-u obavlja funkciju čitanja strobo signala. Kompletan ciklus čitanja VPA, uključujući instalaciju i uklanjanje signala, traje 12 rezonatorskih perioda.

    Specijalni način rada KR1816BE31 . Sadržaj programske memorije KR1816BE31 se popunjava jednom u fazi razvoja MK sistema i ne može se mijenjati u gotovom proizvodu. Iz tog razloga, mikrokontroleri nisu mašine klasične „von Neumannove“ arhitekture. RAM podaci se ne mogu koristiti za pohranjivanje programskih kodova. Ova karakteristika MC arhitekture se objašnjava činjenicom da većina MC aplikacija zahtijeva prisustvo jednog nepromjenjivog aplikativnog programa pohranjenog u ROM-u, prisustvo RAM-a malog kapaciteta za privremeno skladištenje varijabli i efikasne, a samim tim i različite metode za adresiranje programa. memorija i memorija podataka.

    Mikrokontroler KR1816BE31 nema internu programsku memoriju i stoga koristi samo eksternu memoriju, koja se može modifikovati ponovnim narezivanjem eksternog ROM čipa.

    Mikroprocesor tipa K1816BE31. Količina eksterne RAM memorije je 4 KB. U ovom mikroprocesoru (u skladu sa strukturom instrukcija), eksterno adresiranje memorije podataka omogućava adresiranje 64Kbajta eksterne memorije. Za razvoj memorijskog podsistema odabiremo mikrokolo u skladu s popisom elemenata datim u Dodatku D.

    Razvoj podsistema za mjerenje vremena

    Registri posebnih funkcija. Registri sa simboličkim imenima IP, IE, TMOD, TCON, SCON i PCON se koriste za fiksiranje i programsku promjenu kontrolnih bitova i statusnih bitova prekidačkog kola, tajmera/brojala, primopredajnika serijskog porta i za kontrolu napajanja KR1816BE31.

    K1816BE31 serijski port može raditi u četiri različita načina rada.

    Način rada 0. U ovom režimu, informacije se i prenose i primaju preko ulaznog pina eksternog prijemnika (RXD). Osam bitova podataka se prima ili prenosi. Preko izlaznog pina eksternog predajnika (TXD), emituju se impulsi pomaka koji prate svaki bit. Frekvencija prijenosa informacijskog bita je 1/12 frekvencije rezonatora.

    Način rada 1 . U ovom režimu, deset bitova informacija se prenosi preko TXD ili prima od RXD: početni bit (0), osam bitova podataka i stop bit. Brzina prijema/prijenosa je promjenjiva vrijednost i postavlja se pomoću tajmera.

    Režim 2 . U ovom režimu, jedanaest bitova informacija se prenosi preko TXD-a ili prima od RXD-a: početni bit, osam bitova podataka, programabilni deveti bit i stop bit. Tokom prijenosa, deveti bit podataka može poprimiti vrijednost 0 ili 1, ili, na primjer, da bi se povećala pouzdanost prijenosa provjerom parnosti, vrijednost zastavice parnosti iz riječi statusa programa (PSW.0) može se staviti u to. Frekvenciju prijema/prenosa bira program i može biti jednaka 1/32 ili 1/64 frekvencije rezonatora u zavisnosti od SMOD kontrolnog bita.

    Režim 3 . Isto kao u modu 2 u svim detaljima, osim frekvencije prijema/prenosa, koja je promjenjiva vrijednost i postavlja se pomoću tajmera.

    UART režim rada kontroliše se preko posebnog registra SCON. Ovaj registar ne sadrži samo kontrolne bitove koji određuju način rada serijskog porta, već i deveti prijemni ili prenosni bit (RB8 i TB8) i bitove prekida primopredajnika (RI i TI).

    Aplikacioni program, učitavanjem 2-bitnog koda u bitove visokog reda posebnog registra SCON, određuje način rada UART-a. U sva četiri načina rada, prijenos iz UART-a inicira se bilo kojom instrukcijom koja specificira SBUF registar kao odredišni bajt. Prijem na UART u modu 0 vrši se pod uslovom da je RI=0 i REN=1. U modu 1,2,3, prijem počinje sa dolaskom startnog bita ako je REN=1.

    U bitu TB8, vrijednost devetog bita podataka, koji će se prenositi u modusu 2 ili 3, je programirana. U modu 1, ako je SM2=0, stop bit se ubacuje u bit RB8. U modu 0, bit RB8 se ne koristi.

    Zastavicu prekida odašiljača TI postavlja hardver na kraju perioda osmog bita u modu 0 i na početku stop bita u modovima 1, 2 i 3. Odgovarajuća rutina održavanja mora resetovati TI bit.

    Oznaku prekida RI prijemnika postavlja hardver na kraju perioda osmog bita u modu 0 i na sredini prijema stop bita u modovima 1, 2 i 3. Rutina usluge prekida mora obrisati RI bit.

    Brzina prijema/prenosa informacija preko komunikacione linije utvrđuje se na početku rada na predmetnom projektu i iznosi 600 bauda.

    Programabilni tajmer se nalazi unutar mikrokontrolera K1816BE31.

    Tajmer/brojac . Alati KR1816BE31 uključuju parove registara sa simboličkim imenima TH0, TL0 i TH1, TL1, na osnovu kojih rade dva nezavisna softverski upravljana 16-bitna tajmera/brojača događaja.

    Dva programabilna 16-bitna tajmera/brojača (T/C0 i T/C1) mogu se koristiti kao tajmeri ili eksterni brojači događaja. Kada radi kao tajmer, sadržaj T/C se povećava u svakom ciklusu mašine, tj. svakih 12 perioda rezonatora. Kada radi kao brojač, sadržaj T/C se povećava pod uticajem prelaza sa 1 na 0 eksternog ulaznog signala koji se dovodi na odgovarajući (T0, T1) pin K1816BE31. Vrijednost eksternog ulaznog signala se ispituje u trenutku S5P2 svakog ciklusa mašine. Brojač će se povećati za 1 ako je ulazni signal visokog nivoa (1) očitan u prethodnom ciklusu i signal niskog nivoa (0) u sljedećem ciklusu. Nova vrijednost brojača će se generirati u trenutku S3P1 u ciklusu koji slijedi nakon onog u kojem je detektovan prijelaz signala od 1 do 0 Budući da su potrebna dva strojna ciklusa da se prepozna prijelaz, maksimalna frekvencija brojanja ulaznih signala je 1/. 24 frekvencije rezonatora. Ne postoje gornja ograničenja za trajanje perioda ulaznog signala. Da bi se garantovalo očitavanje ulaznog brojanog signala, on mora zadržati vrijednost 1 za najmanje jedan K1816BE31 mašinski ciklus.

    Za kontrolu režima rada T/S i za organizaciju interakcije tajmera sa sistemom prekida koriste se dva registra posebnih funkcija (RRTS i RUST). Kao što slijedi iz opisa RRTS kontrolnih bitova, za oba T/S režima rada 0, 1 i 2 su isti. Načini rada 3 za T/C0 i T/C1 su različiti. Razmotrimo ukratko rad T/S u sva četiri načina rada.

    Način rada 0. Prebacivanje bilo kog T/C u mod 0 čini da izgleda kao MK48 tajmer (8-bitni brojač), čiji je ulaz povezan sa 5-bitnim frekvencijskim predskalerom za 32. U ovom režimu, registar tajmera ima širinu od 13 bits. Prilikom prelaska iz stanja “sve jedinice” u stanje “sve nule”, postavlja se zastavica prekida sa tajmera TF1. Ulaz sata tajmera 1 je omogućen (na T/C ulazu) kada je kontrolni bit TR1 postavljen na 1, a kontrolni bit GATE je 0 ili je izlaz zahtjeva za prekidom na nivou 1.

    Tabela 8 prikazuje registre režima tajmera/brojača, a tabela 9 prikazuje registre kontrole/statusa tajmera.

    Postavljanje bita GATE na 1 omogućava tajmeru da izmjeri trajanje impulsnog signala primijenjenog na ulaz zahtjeva za prekid.

    Tabela 4.2.1

    Simbol Pozicija Naziv i svrha
    GATE TMOD.7 za T/C1 i TMOD.3 za T/C0 Upravljanje blokiranjem. Ako je bit postavljen, tada je tajmer/brojač "x" omogućen sve dok je "INTx" ulaz visok i "TRx" kontrolni bit je postavljen. Ako je bit čist, T/C je omogućen čim se postavi kontrolni bit "TRx".
    TMOD.6 za T/C1 i TMOD.2 za T/C0 Bit za odabir načina rada tajmera/brojača događaja. Ako se bit resetuje, tajmer pokreće interni izvor takta. Ako je bit postavljen, tada brojač radi od eksternih signala na “Tx” ulazu.
    M1 TMOD.5 za T/C1 i TMOD.1 za T/C0 Način rada (vidi napomenu).
    M0 TMOD.4 za T/C1 i TMOD.0 za T/C0
    M1 M0 Način rada
    0 0 Tajmer MK48. "TLx" radi kao 5-bitni predskaler.
    0 1 16-bitni tajmer/brojač. "THx" i "TLx" su povezani u seriju.
    1 0 8-bitni tajmer/brojač sa automatskim ponovnim punjenjem. "THx" pohranjuje vrijednost koja se mora ponovo učitati u "TLx" svaki put kada se prelije.
    1 1 Tajmer/brojač1 se zaustavlja. Tajmer/brojač0: TL0 radi kao 8-bitni tajmer/brojač i njegov način rada je određen kontrolnim bitovima Tajmera0.

    Način rada 1 . Rad bilo kog T/S u modu 1 je isti kao u modu 0, osim što tajmer registar ima širinu od 16 bita.

    Režim 2 . U načinu 2, operacija je organizirana na takav način da prelijevanje (prijelaz iz stanja "sve jedinice" u stanje "sve nule") 8-bitnog brojača TL1 ne samo da postavlja TF1 zastavicu, već i automatski ponovo učitava sadržaj visokog bajta (TH1) u registar tajmera TL1, koji je prethodno podešen softverom.

    Režim 3. U modu 3, T/C0 i T/C1 rade drugačije. T/C 1 zadržava svoj trenutni sadržaj nepromijenjen. Drugim riječima, učinak je isti kao kod resetiranja kontrolnog bita TR1 na nulu.

    U modu 3, TL0 i TH0 funkcioniraju kao dva nezavisna 8-bitna brojača. Rad TL0 je određen kontrolnim bitovima T/C 0 (, GATE, TR0), ulaznim signalom i zastavicom prelivanja TF0. Rad TN0, koji može obavljati samo funkcije tajmera (brojeći MK mašinske cikluse), određen je kontrolnim bitom TR1. U ovom slučaju, TH0 koristi oznaku prelijevanja TF1.

    Razvoj komunikacionog podsistema sa centralnim računarom

    Projektovani uređaj mora da šalje sadržaj memorije u centralni računar, a takođe i da prima informacije od centralnog računara.

    Jer Budući da se informacije razmjenjuju na velikim udaljenostima, prijenos se mora vršiti u serijskom formatu. UART pretvara podatke iz paralelnih u serijske i obrnuto. UART je univerzalni asinhroni primopredajnik dizajniran za implementaciju dvosmjerne asinhrone razmjene podataka predstavljenih u paralelnom formatu i kontrolnih riječi s mikroprocesorom, kao i dvosmjerne asinhrone razmjene podataka predstavljenih u serijskom formatu sa drugim sistemskim modulima, kao što su video terminali, drajvovi magnetne trake , itd. .d. Dakle, UART konvertuje paralelni kod primljen od sistema preko sabirnice podataka u serijski kod, i emituje ga bit po bit u komunikacioni kanal, a takođe vrši reverznu konverziju.

    UART, koji se često naziva serijski port, uključuje registre pomaka za prijem i prenos, kao i poseban bafer registar (SBUF) za primopredajnik. Upisivanje bajta u bafer automatski upisuje bajt u registar pomaka predajnika i inicira početak prijenosa bajta. Prisustvo registra bafera prijemnika omogućava vam da kombinujete operaciju čitanja prethodno primljenog bajta sa primanjem sledećeg bajta. Ako do trenutka prijema bajta prethodni bajt nije pročitan iz SBUF-a, bit će izgubljen.

    UART režimom rada upravlja se preko posebnog registra sa simboličnim imenom SCON. Ovaj registar ne sadrži samo kontrolne bitove koji određuju način rada serijskog porta, već i deveti bit primljenih ili odaslanih podataka (RB8 i TB8) i bitove prekida primopredajnika (R1 i T1).


    Tabela 4.5.1

    Simbol Pozicija Naziv i svrha
    TF1 TCON.7 Zastavica prelivanja tajmera1. Podešava se hardverom kada se tajmer/brojač prepuni. Resetujte prilikom servisiranja prekida u hardveru
    TR1 TCON.6 Kontrolni bit tajmera 1. Podešavanje/resetovanje programom za start/stop.
    TF0 TCON.5 Zastavica prelivanja tajmera1. Instaliran hardverski. Resetujte prilikom prekida servisiranja
    TR0 TCON.4 Kontrolni bit tajmera 0. Podešavanje/resetovanje programom za start/stop. tajmer/brojac.
    IE1 TCON.3
    IT1 TCON.2 Kontrolni bit tipa prekida 1. Postavljen/obrisan softverom za specifikaciju zahtjeva (prekid/niski).
    IE0 TCON.1 Oznaka ivice prekida 1. Postavlja se od strane hardvera kada se detektuje prekid eksternog signala. Resetujte prilikom prekida servisiranja
    IT0 TCON.0 Tip prekida Kontrolni bit 0. Postavlja/briše softver za specifikaciju zahtjeva (prekid/nisko).

    Mod 3 se koristi u slučajevima kada se K1816BE31 koristi kada je potreban dodatni 8-bitni tajmer ili brojač događaja. Možemo pretpostaviti da u modu 3 K1816BE31 ima 3 tajmera/brojača. U slučaju da se T/C0 koristi u modu 3, T/C1 se može ili uključiti ili isključiti, ili staviti u svoj vlastiti mod 3, ili ga serijski port može koristiti kao generator frekvencije prijenosa, ili se konačno može koristi se u bilo kojoj aplikaciji koja ne zahtijeva prekid.

    Nakon određivanja brzine prijema/prenosa informacija, potrebno je osigurati taktnu frekvenciju RxC prijema i TxC prijenosa. Ovi satni signali se generišu pomoću programabilnih kanala tajmera. Početna frekvencija koja se isporučuje programabilnom tajmeru jednaka je frekvenciji mikroprocesorskog sistema koji se razvija. Za određivanje postavke snimljene na odgovarajućem kanalu programabilnog tajmera potrebno je odrediti faktor konverzije originalne frekvencije sistema u frekvenciju prijema/prenosa putem komunikacijske linije, te odabrati odgovarajući način rada uređaja. uključeni tajmer kanali.

    5. Izrada šematskog dijagrama projektovanog uređaja

    Izbor baze elemenata

    Kontroler koji se razvija u ovom predmetnom projektu koristi kao centralni dio jednočipski mikroračunar KM1816BE31, napravljen na bazi visokog nivoa n-MOS tehnologija i interakcija sa okolinom u standardnim TTL kolima sa tri izlazna stanja. Ovo vam omogućava da koristite IC-ove iz 580 serije brzih mikroprocesorskih kompleta TTL serije prilikom razvoja kola. Kao što je gore spomenuto, mikrokontroler uključuje programabilni tajmer, asinhroni serijski interfejs (UAS) i 1 KB ROM.

    Za izradu projektovanog uređaja odabrana je sljedeća elementska baza:

    Programabilni kontroler tastature i ekrana KR580VV79;

    Statička RAM memorija kapaciteta 16Kb AT28S128;

    Blok sedmosegmentnih indikatora ALS318;

    Buffer registar K1533IR22;

    ROM K573RU8;

    Izbor ovih mikro krugova je zbog njihove kompatibilnosti nivoa, niske potrošnje energije, prilično velike brzine i otpornosti na buku.

    6. Razvoj softvera

    Za obavljanje zadatih zadataka, mikroprocesorskom sistemu je potreban funkcionalni program, prema kojem će mikroprocesor izdavati upravljačke signale upravljačkoj magistrali, adrese memorijskih ćelija i uređaja adresnoj magistrali i razmjenjivati ​​podatke preko sabirnice podataka. Jer S obzirom da sistem sadrži i programabilne kontrolere, rad sa njima zahtijeva tzv. inicijalizaciju, koja učitava kontrolne riječi u posebne registre. Štaviše, inicijalizacija svih kontrolera mora da se izvrši pre nego što sistem počne da izvršava zadatak i jednom nakon uključivanja napajanja (izuzetak je resetovanje hardverskog sistema). Za inicijalizaciju sistema, konstante pohranjene u ROM-u mikrokontrolera se koriste kao kontrolne riječi za IC.

    Sistem također ima hardverske prekide, zbog kojih se moraju izvršiti neke radnje, nakon čega glavni program nastavlja svoje izvršavanje. Takve prekide servisiraju rutine za rukovanje prekidima (postoje dvije u sistemu: rutina za rukovanje prekidima tajmera i rutina za rukovanje prekidima serijskog interfejsa).

    Operativni program se može podijeliti u dva dijela: inicijalizacija i radni ciklus.

    Inicijalizacija je unošenje u određene registre određenih konstanti koje određuju režime rada procesora i pojedinih delova sistema.

    Radni ciklus je skup procedura i operatora koji se izvršavaju u beskonačnoj petlji i osiguravaju izvršavanje funkcija dodijeljenih sistemu. Grafički dijagram algoritma rada i potprograma, prikazan na listu 4 grafičkog dijela.

    Potprogram za inicijalizaciju kontrolera tastature i ekrana

    Za razvoj je korišten PKKI tip KR580VV79. Njegovo podešavanje se vrši učitavanjem kontrolne riječi „podešavanje načina rada kontrolera tastature i displeja“ u odgovarajući registar kontrolne jedinice. Način rada bloka interfejsa tastature: sekvencijalno prozivanje matrice tastera sa dekodiranjem stanja brojača skeniranja i zabranom pritiskanja 2 ili više tastera. Režim rada displeja: prikaz znakova na 8-bitnom displeju, postavljanje s leva na desno.

    Slika 6.2 – Format kontrolne riječi “soft reset”

    Bitovi D7 – D5 – adresa kontrolne riječi “soft reset”;

    Bitovi D4 = 0 – kodovi koji se nalaze u internoj indikacionoj RAM memoriji izlaze na OUT izlaze; D1 = 1 – brisanje registra statusa RAM tastature i IRQ izlaza – signal niskog nivoa; D0 ºD4.


    Slika 6.4 – Format kontrolne riječi “write to display RAM”

    Bitovi D7-D5 – adresa kontrolne riječi; D3-D0 – indikacija adrese RAM ćelije.

    Format kontrolne riječi „Čitanje RAM-a tipkovnice s više načina rada“ sličan je formatu kontrolne riječi „Čitanje iz RAM-a ekrana“, osim sadržaja bitova D7-D5.

    0 1 0 1 X X X X

    Slika 6.5 – Format registra kontrolnih riječi tipkovnice

    Bitovi D7-D5 – adresa kontrolne riječi; D4 – znak autoinkrementa; D3-D0 – adresa RAM ćelije tastature.

    Programabilna rutina inicijalizacije paralelnog interfejsa

    PPI se konfiguriše učitavanjem kontrolne riječi u registar kontrolne riječi. Podešavanje se vrši na sljedeći način: port A radi u načinu unosa informacija sa senzora preko ADC-a, a port B radi u načinu izlaza informacija u DAC. Port C će upravljati procesima prijema i izdavanja informacija.

    U razvijenom sistemu, PPI radi u 0 modu. Funkcije ovog načina rada:

    1) Dva 8-bitna i dva 4-bitna porta.

    2) Svi portovi mogu biti i ulazni i izlazni.

    3) Izlazni portovi su zaključani, a ulazni nisu.

    Format registra PPI kontrolne riječi prikazan je na Sl. 6.6.

    Slika 6.7 – Format registra SCON.

    SM1 i SM0 (D7, D6) – određuju način rada serijskog porta (režim 2: 9-bitni asinhroni primopredajnik, fiksna brzina prijenosa);

    REN (D4) – zastavica kontrole dozvole prijema;

    TB8 (D3) – podešavanje stanja 9. bita primljenih podataka;

    RB8 (D2) – analiza stanja 9. bita primljenih podataka;

    TI (D1) – bit prekida prijenosa;

    RI (D0) – bit spreman.

    Rutina prozivanja tastature

    Programabilni kontroler tastature i ekrana je konfigurisan da čita multi-mode RAM tastature sa automatskim povećanjem i unosi broj RAM ćelija tastature u brojač. Tastatura se sekvencijalno proziva, nakon čega se podaci o pritisnutim funkcijskim tipkama upisuju u RAM tipkovnice.

    Potprogram za izlaz podataka indikatorima

    Prilikom pozivanja ove potprograme, brojač se prvo resetuje na nulu, a zatim se povećava na određeni broj indikatora. Programabilna tastatura i kontroler ekrana su konfigurisani da upisuju u RAM ekrana i informacije se sekvencijalno izlaze na indikatore. Izlaz iz potprograma će se dogoditi nakon što se svi kodovi simbola iznesu na indikatore.

    Prozivanje senzora i izdavanje izlaznih signala

    Prozivanje senzora i izlazni signali se izdaju prema sljedećem algoritmu:

    1) broj anketiranih senzora se unosi u brojač;

    2) informacije se čitaju sa senzora u port A, koji je prethodno bio inicijalizovan za prijem podataka;

    3) primljena informacija se preko baterije prepisuje u RAM ćeliju posebno određenu za informacije sa senzora;

    4) smanjenje broja brojača senzora za 1;

    5) ako su svi senzori anketirani, tada se PPI rekonfiguriše da izlazi informacije sa porta B;

    6) broj izlaznih signala se unosi u brojač;

    7) informacije iz RAM ćelije se unose u port B preko baterije;

    8) informacije se izlaze.

    Potprogram za razmjenu informacija sa centralnim računarom

    Ovaj potprogram prvo čita UART statusni registar. Nakon toga, vrši se provjera da li je peti bit registra postavljen na 1. Ako je postavljen, to znači da je UART spreman za prijenos informacija i bit-po-bit podaci se prenose na komunikacijsku liniju do brojača prenijetih bitova informacija jednaka je nuli. Čim se svi informacijski bitovi prenesu na komunikacijsku liniju, izvršit će se nova početna podešavanja (početna RAM adresa, broj informacijskih bitova) i potprogram će završiti svoje izvršavanje. Ako, u prvoj fazi, peti bit registra nije postavljen na 1, tada će potprogram biti napušten, jer UART u ovom slučaju nije spreman za prijenos informacija.

    Rutina inicijalizacije tajmera

    Za kontrolu režima rada tajmera/brojala i za organizaciju interakcije tajmera sa sistemom prekida koriste se dva posebna registra: TCON i TMOD.

    Slika 6.9 – TMOD format registra.

    TMOD registar specificira načine rada T/C0 i T/C1. Postavili smo prvi način rada za T/C1: 16-bitni tajmer/brojač. TH1 i TL1 su povezani serijski. Prilikom prelaska iz stanja “sve jedinice” u stanje “sve nule”, postavlja se zastavica prekida sa tajmera TF1. Ulaz sata tajmera 1 je omogućen (na T/C ulazu) kada je kontrolni bit TR1 postavljen na 1 i ili je GATE kontrolni bit 0 ili je izlaz zahtjeva za prekid na nivou 1.), blokiranje je onemogućeno, tajmer radi iz internog izvora signala.

    Tajmer 1 mora biti inicijaliziran da obezbijedi frekvenciju takta serijskog porta i da organizuje prekid, tokom kojeg će podsistem trebati da prenese informacije o stanju analognih senzora i stanju tastature do centralnog računara.

    Registri tajmera su popunjeni:

    FEh je upisan u TH1

    EBh je upisan u TL1

    Vrijednosti TH1 i TL1 se ažuriraju u odgovarajućim rutinama prekida.


    Z zaključak

    Tokom kursa razmatrana je strukturna organizacija, načini rada i algoritmi rada mikroprocesorskog uređaja baziranog na mikrokontroleru serije K1816.

    U toku rada na predmetnom projektu razvijena je strukturna i shema kola, kao i njen softver, za čiju kompilaciju je korišten komandni sistem KM1816BE31 i operativni algoritam, koji je omogućio razumijevanje koji se procesi zapravo odvijaju. u sistemu mikrokontrolera i kako se izvode.

    Spisak izvora

    1. Digitalna i analogna integrirana kola: Priručnik / ur. S.V. Yakubovsky. – M: Radio i komunikacije, 1990. – 496 str.

    2. Mikroprocesori / K.G. Samofalov, O.V. Viktorov – Kijev: Tehnika, 1989. – 312 str.

    3. Priručnik za digitalna kola / I.V. Zubchuk, V.P. Sigorsky. – K.: Tehnologija, 1990 – 448 str.

    4. DAC i ADC mikrokola: rad, parametri, primjena / B.G. Fedorkov, V.A. Taurus - M.: Energoatomizdat, 1990. 320 str.

    5. Stashin V.V., Urusov I.A. Mologontseva I.A. Dizajn digitalnih uređaja na mikroračunarima sa jednim čipom. M. Energoatomizdat – 1990 – 285 str.

    Najbolji članci na ovu temu