Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10....

92
Fakultet strojarstva i brodogradnje Katedra za strojarsku automatiku Mikroprocesorsko upravljanje Dr. Sc. Davor Zorc 2015.

Transcript of Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10....

Page 1: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

Fakultet strojarstva i brodogradnje Katedra za strojarsku automatiku

Mikroprocesorsko upravljanje

Dr. Sc. Davor Zorc

2015.

Page 2: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

2

MIKROPROCESORSKO UPRAVLJANJE

KOLEGIJ SE BAVI PRIMJENOM MIKRORAČUNALA U UPRAVLJANJU STROJEVA I PROCESA, TE PRIPADNIM SKLOPOVIMA I POSTUPCIMA.

SADRŽAJ:

� 1. UVOD

� 2. STRUKTURA MIKRORAČUNALA

� 3. ANALOGNO/DIGITALNI PRETVORNICI

� 4. DIGITALNO/ANALOGNI PRETVORNICI

� 5. SENZORI I PRIHVAT SIGNALA

� 6. AKTUATORI

� 7. IMPLEMENTACIJA UPRAVLJAČKIH ALGORITAMA

� 8. DISTRIBUIRANO I PARALELNO PROCESIRANJE

� 9. INDUSTRIJSKI RAČUNALNI SUSTAVI I MREŽE

� 10. PROGRAMIRANJE

DODACI: DIGITALNI SUSTAVI UPRAVLJANJA LABORATORIJSKE VJEŽBE:

DIGITALNI SUSTAVI UPRAVLJANJA PRAKTIKUM IZ MIKROPROCESORA PRAKTIKUM IZ PLC – PROGRAMABILNO LOGIČKIH KONTROLERA

Page 3: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

3

Potrebno predznanje:

� OSNOVE AUTOMATSKE REGULACIJE

� OSNOVE ELEKTRONIKE

� OSNOVE DIGITALNIH RAČUNALA

LITERATURA

AUTOMATSKA REGULACIJA - DIGITALNO UPRAVLJANJE • Phillips: Digital control systems, Analysis & Design, 3th-edition, Mc

Graw Hill Int., 1994. • Fadali: Digital Control Engineering Analysis and Design, Elsevier, 2009 • Šurina: Automatska regulacija, Školska knjiga, 1985.

RAČUNALA • Gibson: Computer systems, concepts and design, Prentice Hall Int,

1991. • Ribarić: Građa računala - arhitektura i organizacija računarskih sustava,

Algebra učilište, 2011

PARALELNO I DISTRIBUIRANO PROCESIRANJE • Hwang, Briggs: Computer architecture and parallel processing, Mc

Graw Hill Int. 1990. • Sharp: An Introduction to distributed and parallel processing, Blackwell,

London, (Alfred Waller Ltd), 1987.

PROGRAMABILNI LOGIČKI KONTROLERI • W. Bolton: Programmable Logic Controllers, 5th-edition, Elsevier-

Newnes, 2009.

STRUKTURNO PROGRAMIRANJE • Goodman: Introduction to the design and analysis of algorithms, Mc

Graw Hill, 1977. • Knuth: The art of Computer programming, Addison-Wesley

Professional; 1st edition, 1998 • H.Schildt : C - the complete reference, Osborne-McGraw-Hill, 1990.

Page 4: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

4

1. UVOD

• Procesno računalo opremljeno je sklopovima za fizičko povezivanje s vanjskim uređajima/ strojevima

• Veze (signali) mogu biti analognog ili digitalnog tipa

)(tu

t

MJ.

PO

DR

JE

)(tu

t

"1"

"0"

ANALOGNI SIGNAL DIGITALNI SIGNAL

• Signali mogu nadalje biti:

� ulazni (prihvat informacije),

� izlazni (generirani signal),

• Sustavi mogu biti:

• Akvizicijski sustav (mjerni sustav, nadzorni sustav),

� samo primaju informacije iz procesa.

• Upravljački sustavi - šalju informacije u proces

• Regulacijski sustavi - Primaju informacije i, na osnovu obrade, generiraju izlazne signale, koji preko aktuatora utječu na proces.

Page 5: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

5

REGULACIJSKA PETLJA

SENZORI

OBJEKT

AKTUATOR

REGULATOR

POREMEĆAJI

OSTALE IZLAZNE VELIČINE

VOĐENE VELIČINE

OSTALE UL. VELIČINE

UPRAV. VELIČINE

VODEĆE (REFERENTNE)VELIČINE

• Cilj regulacije je dovesti vođene (upravljane) veličine na iznos vodećih (željenih, referentnih) veličina

ϑ

TRNTC

BATU+

REFU+

BU

AU

+A

POJAČALOSNAGE

iUPOJAČALO

REFERENTNA VELIČINA

� Jednostavni analogni regulator

ϑ NTCR BUiU RTP ϑ

Page 6: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

6

DIGITALNA REGULACIJA

• Sklopovi potrebni za regulaciju izvode se u digitalnoj tehnici, najčešće pomoću mikroračunala.

OBJEKT

AKTUATORI SENZORI

PRIHVATSIGNALA

VOĐENE VAR.

ANALOGNISIGNALIDIGIT. S.

TIPKA IA/D

REFERENTNEVELIČINE

ULAZI

RAČUNALO

+UPRAVLJAČKIALGORITAM

IZLAZI

UPRAVLJAČKEVARIJABLE

PRILAGOĐSNAGE

D/A IZADRŽ. SIG.

Page 7: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

7

Prednosti i mane digitalnog upravljanja

• Prednosti:

� Upotreba digitalnih pretvornika (preciznost, linearnost, manja osjetljivost na smetnje)

� Digitalni signali – lako se spremaju i prenose bez degradacije, prijenos više signala istim medijem

� Obrada digitalnim računalom

� Fleksibilnost (zamjena software-a)

� Složenost obrade po volji, proizvoljni operatori

� Velika preciznost proračuna

� Lako izvodivi hijerarhijski sustavi upravljanja

� Daljinska kontrola/ nadzor/ upravljanje

• Mane:

� Matematička analiza upravljanja je složenija

� Diskretizacija uzrokuje gubitak informacije po vremenu i amplitudi

� Kašnjenje reakcije zbog trajanja A/D pretvorbe, itd.

� Smanjena stabilnost uz iste parametre

� Greške u software-u – kritično za sigurnost

� Otkazi su najčešće potpuni (u analognim sustavima degradacija je često postupna)

� Problem oporavka nakon smetnji i otkaza

Page 8: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

8

UZORKOVANJE I KVANTIZACIJA SIGNALA

A/DT

Bx Dxx

Dxx

T T2 t

bx

T T2 t

0

0

1

1

0

1

0

1

0 0

1 1

1 0

0 0

T T2 T3 t

f

( )fx ( )fxb

f

Spektri signala

1/T

RAČUNALO(OBRADA)

D/A

DXbY Y

0

0

0

1

( )tYb

T T2 T3 T4t

( )tY

T T2 T3 T4t

Page 9: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

9

• Uzorkovanje:

� Kontinuirana funkcija x (t) zamjenjuje se svojim vrijednostima na intervalima k * T

� Tako nastaje diskontinuirana funkcija

� Spektar uzorkovanog signala (xb) razlikuje se od spektra ulaznog signala (x)

• Shannonov teorem uzorkovanja:

� Signal koji ne sadrži komponente mf≥ , potpuno je određen nizom svojih vrijednosti na jednoliko raspodijeljenom intervalu ( )mfT 2/1= .

� Tful 2

1max

= - maksimalna frekvencija koja će se moći

rekonstruirati iz uzoraka (= max. harmonička komponenta ulaznog signala – po Fourierovoj transformaciji)

� Antialiasing filteri stavljaju se ispred A/D pretvornika i iza D/A pretvornika da se zadovolji teorem.

• Kvantizacija

� Vrijednost ulaznog signala aproksimira se cjelobrojnim višekratnikom koraka kvantizacije q, čime se čini greška kvantizacije.

iX

uX

q

• Kodiranje

� Svakom iznosu qkX i ⋅= pridjeljuje se kôd (brojka)

Page 10: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

10

• Primjer:

� msT 100= - period uzorkovanja

� 2010..10 =+−= VVA - ulazni opseg

� 8=N - dužina digit. riječi (D0...D7)

mVA

q

HzT

f

N

ul

7825620

2

52,0

121

max_

===

===

� TTAD < (vrijeme A/D konverzije mora biti kraće od T)

Ulazni signal mijenja se za vrijeme A/D konverzije ADT

( ) ( )ADtst T

dt

tdxtx ⋅=∆ =/

� Ta promjena treba biti manja od nivoa kvantizacije

NN

Ax

Aq

22≤∆→=

� Za sinusni napon na ulazu --> maksimalna frekvencija:

ADNu TM ⋅

≤ −121ω

A/D

T

ulu7D

0D

Page 11: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

11

2. STRUKTURA MIKRORA ČUNALA

Mikroračunalo je digitalni automat sposoban za izvršenje računskih operacija, a na osnovu programa pohranjenog u memoriji. Izvedeno je od jednog ili više integriranih krugova.

Pµ MEMORIJAROM

MEMORIJARAM

Input/Output

Vanjskiuređaji

SABIRNICA

TAKT

• Mikroprocesor (µP, CPU) upravlja radom i izvršava instrukcije (program) koji se nalazi u memoriji

• Input/ Output (I/O) sklopovi povezuju računalo s okolinom

• Sabirnice su vodiči koji sve povezuju u cjelinu

• Program se u pravilu izvršava sekvencijalno, instrukciju po instrukciju.

• Mikrokontroler (MCU) je cijelo mikroračunalo u obliku jednog integriranog kruga. Može sadržavati A/D, D/A pretvornike i druge periferne sklopove.

Page 12: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

12

Memorija

• RAM memorija se sastoji od niza paralelnih registara, svaki registar se sastoji od niza bistabila (8, 16, 32,…)

• Može se adresirati određeni registar i čitati ili mijenjati njegov sadržaj.

• N – Adresnih linija može adresirati 2N lokacija (registara)

• Memorija se spaja na sabirnicu podataka, adresa i upravljačku sabirnicu: Read/ Write, CS= chip select.

• Vrijeme pristupa.. 5.. 500 nS

001 01 01 1

1 1 11 0 0 00

7D 0DSADRŽAJ ADRESA

D0

D1

D2

D3

D4

0 0 0

0 0 1

0 01

0 1 1

1 0 0

RAM

ADRESA

0A

1A0D

7D

PODACI

<><>

<>

<>

<><>

<><>

WR/ CSUPRAVLJANJE

� RAM – statičke i dinamičke Read/ Write memorije

� ROM – ne sadrži bistabile –> samo za čitanje

� PROM – programabilni ROM

� EPROM, EEPROM, FLASH – izbrisivi programabilni

Page 13: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

13

Sabirnice mikrora čunala

Sabirnicu čini niz fizičkih linija za internu vezu µP, memorije i sklopova za ulaz/izlaz

• Adresna sabirnica: postavlja adresu

• Sabirnica podataka: prenosi podatke

• Upravljačka sabirnica: signali WR/ itd.

Sekvenca (vremenski tijek) događaja na sabirnici strogo je propisana za određeni procesor. Sabirnica može biti izvedena kao niz utičnica za dodatne pločice s memorijom, I/0 sklopovima, itd.

Sklopovi za ulaz/ izlaz (input- output I/0)

Povezuju računalo s perifernim dijelovima (disk, A/D, D/A, komunikacija s drugim sustavima, veza sa strojevima i procesima)

• Paralelni I/0. N-fizičkih linija= komunikacija riječ po riječ

• Serijski I/0. Jedna informacijska linija: komunikacija bit po bit. Pretvara se u paralelnu pomoću UART-a

( )tu

t0DST. 2D 4D 7D

UARTSERIJSKA

VEZA

RT

7D

0D

Page 14: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

14

Primjer paralelnog izlaznog sklopa

X

M

REGISTAR

DD Q

7D

0DŽ

+

+

SABIRNICAPODATAKA

D D Q

CL

Enable

DEKODERADRESE

I

0A

15A

SABIRNICAADRESE

WRITEIO/MEM IZLAZI

Primjer paralelnog ulaznog sklopa

VRATA STRI STANJA

7D

0D

SABIRNICAPODATAKA

Enable

I

0A

15A

SABIRNICAADRESE

READ10/MEM

O.E.

+

ULAZ-TIPKA

Page 15: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

15

Memorijska mapa

Memorijsko (adresno) polje radne memorije može biti popunjeno različitim vrstama memorije ili I/0 uređajima

ROM

RAM 1

RAM 2

I/0

ADRESA

0000

1FFF

2FFF

3FFF

4A00

Adresni dekoder je sklop koji prima adresne linije i za određeno polje adresa aktivira pripadni memorijski (ili I/0) krug (daje signal CS). I/O krugovi mogu biti spojeni i na posebne adresne linije.

DEKODERADRESE

TAKT

ROM RAMPµ CS CS

R wR / I/OD Q

PCS

UPRAVLJANJE

ADRESE

Podaci

Page 16: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

16

Struktura mikroprocesora op će namjene

Procesna snaga mikroprocesora najviše zavisi o vremenu izvršenja instrukcija i dužini riječi

Proizvođač: Dužina: INTEL: MOTOROLA: Frekv. [MHz]:

8 8080, 8085 6800 ≈ 3 … 8 16 8086, 80286 68000 ≈ 12 … 20 32 80386, 80486 68020 ≈ 25 … 66 64 Pentium 4 PowerPC ... 1400 ... 4000

PROCESORµKONTROLNA JEDINICA

KONTROLNA MEMORIJAPROGRAMSKO BROJILO

PC

REGISTAR INSTRUKC.

IR

STATUSNA RIJEČ

PSWDA P Z N C

POKAZIVALO SLOŽAJA

SP

INTERNA MEMORIJA/SLOŽAJ TAKT GENERATOR

A

BALU

PREGISTRI µ ARIT./LOG. JED UPRAVLJ. SABIRNICOM

PODACI ADR. UPRAVLJ.SABIRNICE

• Programsko brojilo (PC) sadrži adresu na kojoj će se tražiti slijedeća instrukcija iz memorije. Pri uključenju postavlja se na nulu.

Page 17: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

17

• Registar instrukcije (IR) sprema instrukciju preuzetu iz memorije

• Akumulator (A registar) sadrži zadnji rezultat

• Statusna riječ procesora (PSW)– niz bistabila koji označavaju stanje ALU (aritmetičko-logičke jedinice), te svojstva zadnjeg rezultata (nula, negativan, preliv,..)

• Kontrolna memorija sadrži mikrokod izvođenja instrukcije

• Pokazivalo složaja (SP= Stack Pointer). Složaj (stog) je pomoćna struktura podataka tipa LIFO (last-in first-out). Pokazivalo složaja sadrži adresu zadnjeg unosa u složaj.

MEMORIJA

SP = ADRESA ZADNJEG UNOSA

Registri Pµ - privremeni spremnici rezultata, adresa i sl.

• Koraci izvođenja jedne instrukcije:

� Instruction fetch (dobavi instrukciju)

� Instruction decode (dekodiraj instrukciju)

� Operand fetch (dobavi operand- podatak)

� Execute (izvrši instrukciju)

� Store result (spremi rezultat)

• Instrukcije traju 1, 2 ili više koraka takta

Page 18: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

18

Registri procesora 8080 (INTEL)

AKUMULATOR

A

1 8

DA P Z N C PSW

1 8 16

REGISTAR INSTRUKCIJE

IR

PROGRAMSKO BROJILO

PC

POKAZIVAČ SLOŽAJA

SP

1 16

B

D

H

C

E

L

Program u strojnom kodu

Proizvođač Pµ definira skup instrukcija i njihove kodove. Instrukcije, podaci i adrese su binarni brojevi.

• Primjer programa procesora (INTEL) 8085:

1

0 0 0 1 1 11

1

0 0

adr. 0..7

adr. 7..150 D D D S S S

0

1

1

1

1 00

2

13

1 0

0

4

1

1 0

adr. 0..7

adr. 7..15

0 0 S S S

C C C 0 0

adr. 0..7

adr. 7..15

65

7

8

910

MEMORIJA MNEMONIČKI ZAPIS

LDA NUM1

MOV B,A

LDA NUM2

ADD B

JZ

AKTIVNOST

( ) ( )( )( )23 bytebyteA ←

( ) ( )AB ←

( ) ( )( )( )23 bytebyteA ←

( ) ( ) ( )BAA +←

( ) ( )( )23 bytebytePC ←

Page 19: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

19

• Dogovoreni su kodovi i načini za pohranjivanje:

� Slova, brojeva i znakova (ASCII standard kod)

� Brojeva s pokretnim zarezom, itd.

Skup instrukcija mikroprocesora (primjer)

Mnemonički zapis Assembler program pretvara u strojni program. Svaki procesor ima drugačije instrukcije.

• Instrukcije za prijenos podataka

MOV r1, r2 ( ) ( )21 rr ← MOV=COPY!

MOV r, M ( ) ( )( )( )LHr ←

MVI r, data ( ) ( )2byter ←

• Aritmetičke operacije

ADD r ( ) ( ) ( )ArA +←

SUB r ( ) ( ) ( )rAA −← Za cjelobrojne vrijednosti, brojevi (0..2N)

• Logičke operacije (između bitova operanada)

I (AND), ILI (OR), Ekskluzivno ILI (EX-OR), NOT

ANA r ( ) ( ) ( )rAA +←

• Manipulacije podatka u registru

� Rotiranje znamenki u lijevo (RLC), desno (RRC), povećanje za 1 (INR), smanjenje za 1 (DCR), negacija bitova u Akumulatoru (CMA), itd.

Page 20: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

20

RLC 00010010 00100100

• Instrukcije za manipulaciju znamenkama (bitovima) mogu postavljati ili čitati određenu znamenku u binarnom broju.

• Instrukcije za grananje u programu

JMP adr bezuvjetni skok JZ adr skok ako je sadržaj nula (uvjetni)

• Instrukcije za ulaz/izlaz

� OUT port – piše podatke u vanjski I/0 uređaj

� IN port – čita podatak sa vanjskog uređaja

• Instrukcije za rad sa složajem (stack)

� PUSH – dodaje broj u složaj

� POP – vadi zadnji uneseni broj iz složaja

• Instrukcije za kontrolu rada procesora

� HLT – zaustavi izvođenje

� EI/ DI – omogući/ onemogući prekide (interrupt)

� NOP – instrukcija koja ne radi ništa

• Instrukcije za poziv podprograma i povratak

� CALL adr – poziv podprograma na adresi

� RET – povratak iz podprograma u glavni program

Page 21: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

21

Koncepcije ulazno/ izlaznog prijenosa

1. Programski prijenos (POLLING).

� Stanje I/0 uređaja ispituje se u programskoj petlji – neprihvatljivo za rijetke i nepredvidive događaje

2. Prekidni prijenos (INTERRUPT TRANSFER)

Mikroprocesor ima fizički ulaz kojim se može tražiti prekid rada u bilo kojem trenutku. Slijedi:

� 1. Pµ spremi trenutno stanje i pošalje signal da je prekid prihvaćen

� 2. Pµ prebacuje programsko brojilo (PC) na adresu gdje se nalazi prekidni program

� 3. izvrši se prekidni program

� 4. Na kraju izvršenja prekidnog programa obnavlja se predhodni status Pµ i nastavlja redovni program.

- Često postoji više prekidnih linija uz hijerarhiju (zadani prioriteti)

- Pogodan za hitne ili/i sporadične događaje. Prekid se može programski onemogućiti

- Korisnik ima dojam da se glavni i prekidni program istovremeno odvijaju

- Može postojati također i «software interrupt request» gdje se prekid zatraži preko instrukcije

Page 22: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

22

3. Prijenos s direktnim pristupom memoriji (DMA)

Pµ RAMADRESEPODACI

DMAKONTROLER

DMAZAHTJEV

VANJSKIUREĐAJ

DMA kontroler obustavlja rad Pµ , preuzima kontrolu nad sabirnicama, zatim velikom brzinom prenosi podatke u/iz memorije.

Ako postoji cache memorija, Pµ može za vrijeme DMA nastaviti izvoditi program

Hijerarhija memorije složenih sustava

KAPACITET MEMORIJE

INTERNI REG.

CACHE RAM

RADNA MEM.

DISK CACHE

VIRTUAL. MEM.

DISKBRZINA PRIJENOSA

• Virtualna memorija nadoknađuje nedostatak RAM-a stvaranjem slike dijela RAM-a na disku.

Page 23: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

23

• Međumemorija (CACHE)

Ako radna (glavna RAM) memorija nije dovoljno brza, manja količina brze memorije može se umetnuti između radne memorije i mikroprocesora.

ADRESE

GLAVNAMEM.

TAG-RAM

CACHE

MATCH

UPRAVLJ.WAIT

PODACI

� CACHE HIT – tražena lokacija postoji u CHACHE-u → dobavlja se bez čekanja

� CACHE MISS – tražene lokacije nema u CACHE-u → dobavlja se iz glavne memorije, a ujedno kopira u CACHE

� Efikasnost: %80≈+ MISSHIT

HIT (ovisno o količini CACHE-a)

TAG –RAM sadrži adrese podataka koji su trenutno u cache-u.

Cache se nadopunjuje po principu ““briši najmanje korišteno u zadnje vrijeme”” (LRU –least recently used).

Također, može se organizirati i druga CACHE-memorija: između diska i radne memorije (izvedena programski - bez dodatnog hardware-a)

Page 24: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

24

Procesori za posebne namjene

• 1. Procesor za brojeve s pokretnim zarezom (floating point co-processor), ubrzava rad s takvim podacima za red veličine. Danas se integrira sa CPU

FPU CPU RAM

• 2. RISC-procesori (reduced instruction set)

� Mali broj instrukcija uz veliku brzinu izvođenja

• 3. Signalni procesori – služe u digitalnoj obradi signala (digitalno filtriranje itd.).

Posjeduje instrukcije za realne brojeve visoke preciznosti (množenje realnih brojeva ≅ 100 nS). Najpoznatija tzv. Harvard arhitektura, odvojena sabirnica za program i podatke. Većina sadrži i internu memoriju, neki i A/D i D/A pretvornike.

• 4. Specijalne arhitekture

Vektorski procesori,

Nizovi procesora (ARRAY),

Višeprocesorski sustavi,

Masivno paralelni sustavi,

Grafički procesori, GPGPU (moguće ubrzanje 50x)

Neuronske mreže, ...

Page 25: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

25

Posebni zahtjevi i sklopovi kod ra čunala za upravljanje procesima

Zahtijeva se visoka pouzdanost, neosjetljivost na smetnje i uvjete okoline te rad u realnom vremenu.

UTJECAJ OKOLINE: RJEŠENJE:

Temperatura komponente za –25..+85°C Agresivni plinovi, prašina zaptivanje, zaštita Vlaga, pritisak zaptivanje, zaštita Vibracije, šokovi mehanički prigušivači Elektro-mag. smetnje E.M. filteri, galvansko odvajanje

• Suzbijanje elektro-magnetskih smetnji:

� Upotreba elektro-magnetskih filtera

� Galvansko odvajanje

� Kontrola ispada programa

� Kontrola napona napajanja

� Rezervno (neprekidno) napajanje

Page 26: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

26

• Sat realnog vremena

RµOSCILATOR

1 Hz

:60:60

BRO-JILO

+

SATIMIN.

SEK.

Radi se o nezavisnom sklopu iz čijih se izlaznih registara može očitati realno vrijeme (sati, minute, sekunde)

• Kontrola napona napajanja

RµbU

+

PIO/INTR

+

+

-

-+

+

1refU

2refU

1refb UU >

2refb UU <

KOMPARATORI

� bNref UU ⋅= 1,11 - gornja granica, bNref UU ⋅= 95,02 - donja granica

Ako je napon izvora bU viši od gornje granice, ili niži od donje granice, komparatori mogu izazvati prekid (INTERRUPT). Prekidna rutina može sačuvati važne podatke prije prekida rada.

Page 27: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

27

• Vremenski sklop za kontrolu izvođenja programa (WATCH-DOG TIMER)

U programsku petlju ubaci se instrukcija koja preko PI0 (parallel I/O) izlaza Up prazni kondenzator u pravilnim vremenskim intervalima. Ispad programa će preko komparatora izazvati prekid.

Rµ+

pU

P/0IZLAZ

cU

bU+

-

KOMPARATOR

refU+ izlU

2/bref UU =

PREKID / RESET

izlU

cU

2/bU

Upt

t

t

PREKID

Druga mogućnost izvedbe: digitalno brojilo koje se resetira sa pU .

• Sustav dvostrukog napajanja

U slučaju ispada napona napajanja, cijeli sustav – ili samo vitalni dijelovi mogu koristiti rezervni izvor. Upis u RAM treba biti

onemogućen za vrijeme dok Pµ nema kontrolu nad sabirnicom.

Ovisno o zahtjevima, dvostruko napajanje može biti primijenjeno na cijelo računalo, stroj ili objekt.

pU+

Pµ RAMSABIRNICA

Pomoćnabaterija

U+ U+

+

Page 28: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

28

• Filtriranje vanjskih elektromagnetskih smetnji

Smetnje na linijama napajanja ili ulazno/ izlaznim (I/O) linijama mogu uništiti sklopove ili poremetiti tok programa. To se sprječava EM filterima i prenaponskom zaštitom (Varistori, Zener diode).

MIKRORAČUNALOFILTER

FILTER

FILTERULAZI

IZLAZI

IZVOR

I/O Rµ

METALNOKUĆIŠTE

Primjeri filtera:

ulU

R

C

PROCES Rµ

F

MREŽA

0

CC

C L

L

F

0

EM smetnje koje potječu iz samog sustava upravljanja:

� Izlazni uređaji (aktuatori) stvaraju smetnje (iskrenje kontakta, induktivni tereti, tiristorski regulatori)

� Mehanički kontakti – efekt istitravanja

� Ulazni signali koji dolaze preko kontakata – treba ugraditi program za eliminaciju istitravanja (KEY DEBOUNCING)

Page 29: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

29

I

t

ON OFF

• Zaštita mikroračunala i osoblja galvanskim odvajanjem

RµPROCES

ODVAJANJE

ULAZI

IZLAZI ULAZ IZLAZ

bU

+

-

+

-

OPTOSPOJKA

� Poželjno je galvanski odvojiti sklopove visokog i niskog energetskog nivoa

� Umjesto žicama, signali se u sredinama s jakim smetnjama prenose optičkim vlaknom

Page 30: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

30

• Autonomni sustavi za nadzor / zaštitu

UPRAVLJAČKEVELIČINE

PROCES

RµUPRAVLJAČKI

SISTEM

ZAŠTITA/NADZOR

IZLAZNE (VOĐENE)VELIČINE

NEZAVISNONAPAJANJE

� Zaštitni sustav treba biti potpuno nezavisan od upravljačkog i imati svoj vlastiti izvor napajanja i senzore.

� Aktuatori zaštite nadređeni su aktuatorima upravljačkog sustava.

� Štiti se sam proces ali i okolina i ljudi SIGURNOSNI ASPEKTI UPRAVLJANJA I ZAŠTITE Treba analizirati najgore moguće situacije i za njih pronaći metode dvostruke zaštite (neovisne o računalu) Primjer: LIFT Najgore situacije:

• ulazak u lift kad nema kabine: mehaničko blokiranje vrata kad nema kabine na toj poziciji

• puknuće nosivog užeta: centrifugalna kočnica koja blokira kabinu ako je brzina prevelika

• nestanak struje: • samokočni motori blokiraju pomicanje kabine uzrokovano gravitacijom • osigurati mehaničko dovlačenje kabine do najbližeg kata i otvaranje

vrata • osmisliti što treba napraviti lift kad struja ponovo dođe • potpuni kvar upravljačkog kruga: omogućiti izlazak putnika • gubitak kontrole motora: prisilno zaustavljanje iza zadnjeg i ispod prvog

kata

Page 31: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

31

3. ANALOGNO/DIGITALNI PRETVORNICI

TAKT

A/D

( )tUul

KRAJPRETVORBE

START

1−ND

0D

CSADT

T

KRAJ PR.

t

t

t

10... −NDD

START

• Karakteristike A/D pretvornika

1. Razlučivanje (2N mogućih iznosa) 2. Vrijeme pretvorbe (nS…mS) 3. Točnost mjernog područja A 4. Temperaturni koeficijent, stabilnost 5. Izlazni kod (binarni, BCD, …) 6. Linearnost

A

MI

ulU

idealnakarakt.

111

110

101

100

011

010

001000

� Integralna nelinearnost IM je maksimalno odstupanje stvarne od idealne karakteristike.

Page 32: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

32

A/D pretvornik s dvostrukim nagibom

Dual slope (integrating) converter - spor ali precizan, može i potiskivati mrežne smetnje.

ulU+

refU−

R

S1

INTEGRATOR

C

iU+-

+-

S2

KOMPARATOR

START

Cl

e

CpBrojilo

TAKT

DIGIT. IZLAZI

iU

0T 1T 2T

1t 2t 3tt

Page 33: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

33

• Ciklus rada:

1. Prazni se C trenutnim uključivanjem S2, brojilo se vraća na nulu pomoću Cl (Period T0)

2. Integracija ulaznog napona (Period T1). Sklopka S1 je u gornjem položaju. Brojilo broji do preliva: 2N impulsa

3. Integracija ref. napona (Uref) (Period T2). S1 je u donjem položaju. Brojilo broji dok se napon Ui ne vrati na nulu. Očita se n2 impulsa.

• Na kraju ciklusa:

( ) ( ) ( )

TTnT

TUTUconstUU

dttURC

dttURC

tU

N

refulreful

t

t

t

t

refui

⋅=⋅=

=+→=

=−−= ∫ ∫

2

0,

011

11

21

3

2

1

3

2

21

222 2

nU

T

TUUTnT

N

refreful ⋅−=⋅−=→⋅=

Page 34: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

34

Sklop za zadržavanje signala (SAMPLE & HOLD)

Zadržava signal na stabilnom iznosu za vrijeme A/D pretvorbe.

~ C

SAMPLE

A/D

ulUizlR

ulRiU

( )1>>=

⋅=⋅=

izl

ul

NAB

IZB

ulIZB

izlNAB

R

R

CR

CR

ττ

ττ

MAX

MINaaqAD

MAX fT

TTTf

1;

1 =++

=

u lU

S

a Qt

U

at

A D M A Xt

iU

t

tS HH

� ta – aperture time – kašnjenje između naredbe HOLD i stvarnog zaustavljanja

� taQ – vrijeme potrebno za primanje novog uzorka i stabilizaciju tog iznosa

Page 35: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

35

A/D pretvornik sa sukcesivnom aproksimacijom

Ulazni napon uzastopno se uspoređuje sa određenim djelom referentnog napona.

� Brz: potrebno N komparacija napona (koraka) 1..50 µs

� Zahtjeva stabilan ulazni napon (SAMPLE & HOLD)

refU+

ulUKOMPARATOR

KRAJ PRETVORBE+-

EOC

REGISTARSUKCES.APROX.

SAR

IZLAZMSB

LSB

1−ND

2D

1D

0D

DA

ulU

NE

2A

U >

0D

1XX 0XX

DA NE

11X 10XAU4

3>

AU8

7>DA NE DA NE

111 110

AU8

5>

AU4

1>

101 100

DA NE DA NE

011 010 001 000

DA NE01X 00X 1D

2D 1

2

3

BIT KORAK

Page 36: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

36

Paralelni A/D pretvornik (FLASH CONVERTER)

KODER

R

R

R

R

R

R

R

+-

+-

+-

+-

+-

+-

+-

REFU

ulU2D

1D

0D

KOMPARATORI

� Komparatori uspoređuju ulazni napon s djelom referentnog napona (1 korak)

� Koder pretvara kôd n od M u binarni

� Za N-bita treba 2N -1 komparator

� Vrijeme konvencije 10 ns..1 µs (frekvencija reda 100 MHz)

Page 37: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

37

Analogni multiplekser

UPRAVLJANJE

ULAZI

ADRESA

SAMPLE

START

KRAJ KONV.

S&H A/D PODACI

M

01

2

3

4

5

Sekvenca upravljanja: Trajanje:

1. Postavi adresu ulaza MUXT

2. Uzmi uzorak (HOLD) aaQ TT + 3. Start A/D

4. Kraj konverzije ADT

( )ADMUXAaQMAX TTTTM

f+++

= 1

Page 38: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

38

4. DIGITALNO /ANALOGNI PRETVORNICI

D/A iU

0D

1D

1−ND

iU

D00

0

001

10 0

011

0

10 0

1

1

2D

MSB

LSB

1D

0D

REFU−

22/R

12/R

02/R

0R

iU

n = D0 · 20 + D1· 2

1 + D2 · 22 Ui

= - Uref · n · R0/R

Page 39: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

39

Karakteristike D/A pretvornika:

� Linearnost

� Točnost područja

� Stabilnost, temperaturni koeficijent

� Vrijeme pretvorbe (reda µs)

Programski D/A pretvornik

t

t

T T1tD AU−

P W MU

PWMUD/A

IZLAZ

+

-

T=konst.T

tkonstU DA

1.⋅−=

Rµ izvodi program za pulsno-širinsku modulaciju

Page 40: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

40

Programski A/D pretvornik

ulU

IZLAZI

RµULAZI

D/A

KOMPARATOR

+-

Računalo postavlja svoje izlaze prema algoritmu sukcesivne aproksimacije, D/A pretvornik to pretvori u odgovarajući napon, zatim računalo očitava stanje izlaza komparatora

Page 41: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

41

5. SENZORI I PRIHVAT SIGNALA

Senzori su takvi elementi kod kojih neko električko svojstvo ovisi o jednoj fizikalnoj (neelektričkoj) veličini.

Aktivni senzori: Pasivni senzori:

- fotodioda (svjetlo) - fotootpornik

- piezokristal (sila) - zavojnica s pomičnom jezgrom

- EM – indukcija - potenciometar (pomak)

- HALL-generator (mag. polje)

- tenzometar (deformacija)

SENZORSKI SKLOP

SENZOR

S ePrihvat iprilagođenje

( )Sfe=

S – fizikalna veličina, e – električka veličina (analogna ili digitalna)

• Podjela

� Digitalni senzorski sklopovi – daju digitalnu informaciju o ulaznoj veličini (koja je analogna ili digitalna)

� Analogni senzorski sklopovi – daju analognu informaciju o analognoj ulaznoj veličini

Ako sklop za prihvat signala senzora može dati digitalni signal izbjegava se upotreba A/D pretvornika – to je direktna digitalizacija.

Page 42: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

42

Digitalni senzorski sklopovi s analognom ulaznom veli činom

• Oblici digitalnih (izlaznih) signala:

� f= func (S) – promjenljiva izlazna frekvencija

� i= func (S) – broj izlaznih impulsa

� d= func (S) – digitalni broj na izlazu

• Optički digitalni senzorski sklopovi

Mjerenje kuta, pomaka, brzine (koristi optičke barijere)

+

+

+

batU batU

2D

1D

0D

0

1

4 3

25

6

xxx

� Korištenje svih izlaza = apsolutni koder položaja

� Korištenje jednog izlaza = brojanje impulsa, mjerenje ω, mjerenje relativnog pomaka

Page 43: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

43

• Linearna izvedba optičkog senzora

D0

D1

D2

D3

vl,

opto-barijere

• Magnetski digitalni senzorski sklopovi

--

refU-+

AHALLOVASONDA

f/u

Komparator

Mjeri se brzinastrujanja

BROJILO

DIGIT. IZLAZ

0D

1−NDRµ

• Sklopka blizine (proximity switch)

N

0D

S

S 0

A+-

refU

iU0DKOMPARATOR

pomak S

"0"

"1"

digitalni izlaz (1 bit)

Sklopka blizine služi za indikaciju približavanja predmeta.

Page 44: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

44

Posebne izvedbe za indikaciju:

� Feromagnetskih

� Metalnih

� Nemetalnih materijala

Analogni senzorski sklop

� Mjere analognu veličinu i daju na izlazu analogni signal

� Standardni naponski signal (0..10 V, -10..+10 V)

� Standardni strujni signal (0..20 mA, 4..20 mA)

S

Se eprihvat iprilagođenje

kompenzacijafiltriranjepojačanje

linearizacijanormiranje

1. Prihvat i prilagođenje signala – Pasivne senzore treba spojiti na električki izvor. Aktivni senzor treba spojiti na odgovarajuće trošilo, te na ulaz pojačala.

2. Kompenzacija – Ako je izlazna veličina senzora es funkcija više fizikalnih veličina (1 mjerena + smetnje) smetnje se mogu posebno mjeriti i oduzeti od signala

3. Filtriranje – Potiskivanje smetnji (npr. elektro-magnetskih od mreže) ili potiskivanje neželjenih frekventnih komponenti signala.

4. Pojačanje – Frekventni opseg pojačala mora biti prilagođen dinamici senzora i željenom spektru, također željenom izlaznom opsegu.

5. Linearizacija – Ako )(SfeS = nije linearna funkcija, to se može

ispraviti nelinearnim pojačalom ili računalom.

6. Normiranje – željeno područje maxmin ...SS se preslikava u maxmin ...ee .

Granice izlaznog signala su standardizirane.

iU

refU

St S

Page 45: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

45

• Sklop za mjerenje rasvjete

0=&uliA

+-

0=&DU

0R

izlUEki sD ⋅=

ERk

RiUUU

s

DRDizl

⋅⋅==⋅=+=

0

00 &

Struja koju generira fotodioda linearno je zavisna od rasvjete. MOS-FET operacijsko pojačalo pojačava tu vrlo malu struju i održava napon na diodi 0≈DU . Vrijeme odziva je reda veličine µs.

• Mjerenje temperature termoparom

Komp.1ϑ

2ϑNi

SU

CrNi ( )kU

ulUaR

0RR

izlU

2ϑ⋅= sk kU

A/D

Filtriranje

Lineariza-cija

( )21 ϑϑ −⋅= ss kU 1ϑkUUU Ksul =+=

+-

� Napon termopara funkcija je razlike 21 ϑϑ −

� Da se dobije 1ϑ⋅= kUs treba ugraditi sklop za kompenzaciju koji mjeri 2ϑ (temperaturu ambijenta) i poništava njen utjecaj

� Pojačanje 10 +=R

RA treba biti veliko ( )mVC 501000 ≈o

, a

pojačalo vrlo precizno i neovisno o temperaturi

Page 46: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

46

Prilago đavanje nivoa signala (skaliranje) • Iznos mjernog signala treba prilagoditi području A/D pretvornika • Ako se ne koristi cijelo ulazno područje napona A/D pretvornika

onda je efektivna rezolucija manja. Primjer mjernog lanca termopar → pojačalo → A/D pretvornik: S = 0 ... 1000 °C (signal) Ks = 40µV/°C (konstanta termopara) Us= 40µV/°C •1000 = 40mV (maksimalni napon termopara) Mjerno područje A/D: Aad = 0 ... 1.2V = 1.2V Potrebno pojačanje: Av = Aad /Us = 1200 mV /40 mV = 30 Zadana rezolucija: qs = 1 °C → qs /S = 1/1000 = 0.1 % A/D pretvornik treba davati 1000 diskretnih vrijednosti → d = 2N Rezolucija A/D pretvornika N=10 bita daje 210 = 1024 diskretnih vrijednosti, što zadovoljava zadanu rezoluciju. Egzaktan iznos potrebnog broja bitova dobije se na sljedeći način:

2N = 1000 /log2 (logaritmiranje)

96.9303.0

3

)2(log

)1000(log)1000(log

10

102 ====N

Računanje mjerene temp. (očitanje A/D: N = 10, D = 0 ... 1023):

sv

adN KA

AD

)12(C]Temp[

−=°

Page 47: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

47

• Mjerenje deformacije tenzometrom

1R

Mjerilootpora

F

0R

B

R

0R

R+- izlU

V

FkAUU

FkU

ABizl

AB

⋅=⋅=⋅=

&

& (usko područje)

batU+

R1 R2

R4R3

A

� Otpor R1 (tenzometar) pod utjecajem sile F podvrgnut je deformaciji i mijenja otpor

� Wheatstoneov most R1..R4 postavi se u ravnotežu za F=0

� Diferencijalno pojačalo je spojeno na mjestu galvanometra u mostu, pojačava UAB

� Ulazni napon < 1 mV (problem pomaka radne točke – drift-a, zahtijeva precizno pojačalo)

• Nove tehnologije – «inteligentni senzori»

� Senzori s ugrađenim procesorom i A/D pretvornikom

� Bežične i žičane mreže senzora

� Plug and Play: senzori koji se identificiraju nadređenom računalu, automatska konfiguracija i kalibracija

Page 48: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

48

6. AKTUATORI

D/A

PARALELNIIZLAZ

ULAZRµ

M

M

KONTROLA

DIGITALNIAKTUATORSKI

SKLOP

ANALOGNIAKTUATORSKI

SKLOP

� Aktuatori pojačavaju energetski nivo izlaznih signala i prilagođavaju oblik energije trošilima (upravljačkim uređajima)

� Potrebno je također i galvansko odvajanje trošila

Digitalni aktuatorski sklop

PI0Rµ0D

2D

mA

Vili

1

50+

~

M

100mA

R S T

TRANZIST.SKLOPKA

RELEJ SKLOPNIK AVx 25/3803

� Koriste se tranzistorske sklopke za pojačanje signala

� Releji i sklopnici također omogućuju upravljanje velike snage iz kruga male snage (uz galvansko odvajanje)

Page 49: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

49

Analogni aktuatorski sklopovi

� Ulazni i izlazni signal se kontinuirano mijenja

ULAZ IZLAZ AKTUATORSKI SKLOP TROŠILO

( )( )ti

tu

ul

ul

( )( )tiK

tuK

ul

ul

⋅⋅

Pojačalo snage, tirist., reg.

(fazna reg. i ispravljači) tirist. regulatori (Zero crossing)

DC MOTORI, GRIJALA

( )tuul ( )tuK ul⋅

U/f pretvarač SINKRONI I ASINKRONI

MOTORI

� Izlazno djelovanje prilagođeno je trošilu i može uključivati i ispravljačko djelovanje

� Izlazno djelovanje je često prekidačko (tiristori) zbog velikog iskorištenja tj. malih gubitaka regulacije

• Fazni regulator izmjenične snage

~UF

IND.PROLAZA

NULE

batU+

RcU

C

M

gi

1A

2A

G

0

++-

KU

ulU

0...10 V

KOMPARATORPOJAČALO

STRUJE

ulUk ⋅=&α

� Tiristor – istosmjerna snaga

� Trijak – izmjenična snaga

� ( )ulT UfU = - inverzna i nelinearna funkcija

Page 50: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

50

� sklop uspoređuje ulazni napon s pilastim naponom i tako generira impuls u momentu kad se oni izjednače

� potrebno je riješiti i problem galvanskog odvajanja mreže od ulaznih signalnih linija

CU

u lU

αGi

TU

~U

t

t

t

KU

Page 51: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

51

7. IMPLEMENTACIJA UPRAVLJA ČKIH ALGORITAMA

Svojstva upravlja čkih algoritama:

� Pojam vremena je vrlo važan (tzv. realno vrijeme): SOFT REAL TIME, HARD REAL TIME

� Program se stalno izvršava (cikličko ponavljanje)

� Prestanak rada i druge greške mogu izazvati havariju

� Program je upravljiv vanjskim događajima od kojih neki dolaze u pravilnim vremenskim intervalima. Vrijeme odziva je bitno

� Ulazni podaci se čitaju direktno i bez kašnjenja. Izlazni podaci se odmah po nastajanju šalju u okolinu

� Obrađuju se neposredno nastali signali = sadašnje stanje računala (procesa)

� Česta su upravljanja više vanjskih procesa – uređaja u vremenskoj paraleli

� Često se koristi distribuirano procesiranje sa više računala

� Kritična je brzina rada a nekad i utrošak memorije

� Kritična je pouzdanost i predvidiv rad u svim redovnim i izvanrednim okolnostima (naglasak na software-u)

Page 52: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

52

Ciklus rada digitalnog regulatora

SDACAD TTTTT +++≥

max2

1

ulfT ≤ (Shannonov teorem) + drugi uvjeti

� Izlazni signal kasni u odnosu na ulazni

ADTCT DAT ADTST

t

kT T ( )Tk 1+

� TS – sistemsko vrijeme potrebno je za dijagnostiku sistema i vremensku rezervu

• Maksimalno raspoloživo vrijeme za proračun:

SDAADC TTTTT −−−=

Page 53: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

53

• Ocjena potrebne snage

1. Iz upravljačkog programa potrebno je zbrojiti vremena izvođenja svih instrukcija koje se izvrše u jednom ciklusu (TC). Vremena za pojedine instrukcije daje proizvođač procesora.

2. Ponavljati korak 1) za različite procesore i/ili moguće frekvencije generatora takta dok se ne uskladi brzina procesora sa potrebnim TC

3. Ako se problem ne može riješiti jednim procesorom potrebno je razmotriti upotrebu distribuiranog ili paralelnog procesiranja sa više procesora, ili primjenu jednostavnijeg upravljačkog algoritma

� Vrijeme izvođenja se stohastički mijenja unutar nekih granica (± 20%).

� Kod primjene viših jezika potrebno je probno izvođenje

� Dominantne su operacije sa realnim brojevima jer su spore.

� Cijena potrebne procesorske snage ovisi o samoj potrebnoj brzini (MIPS – Mega Instructions Per Second)

$

MIPS

MIPS

Page 54: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

54

8. DISTRIBUIRANO I PARALELNO PROCESIRANJE

� Postupak proračuna (program) može se prikazati dijagramom toka podataka

� Dekompozicija programa u računarske procese

INICIJALIZACIJA

ČITANJE A/D

PRORAČUN

UPIS U D/A

SISTEMSKI PROGRAM

PROCESNIDIJAGRAM

Mogući slučajevi:

� nezavisni paralelni procesi

� sekvencijalni niz

� opći slučaj – proizvoljan procesni dijagram

Page 55: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

55

Nezavisni paralelni procesi

Ako se proračun sastoji od niza vremenski paralelnih aktivnosti (npr.: regulacija više objekata) i ako su te aktivnosti međusobno neovisne (ne razmjenjuju podatke u toku rada), lako je sprovesti distribuirano procesiranje na više nezavisnih Rµ .

t

1P

2P

3P3T

1T

2T

POČETAK

1Rµ

KRAJ

1T 2T 3T

2Rµ 3Rµ

M M M

1T 2T 3T

1P 2P 3P

� Svaki regulacijski program Ti izvodi se na zasebnom procesoru. MAXiC TT =

� Alokacija: 332211 ,, PTPTPT →→→

Page 56: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

56

Sekvencijalni niz

Ako se proračun sastoji od niza sekvencijalnih aktivnosti, opet je moguće koristiti više procesora i u cikličkom radu postići povećanje propusnosti (PIPELINE)

1T

2T

3T

1T 1T 1T

2T 2T 2T

3T 3T 3Tt

t

t

1=k 2=k 3=k

1=k 2=k 3=k

1=k 2=k 3=k

1P

2P

3P

11 PT →

22 PT →

33 PT →

1Rµ 2Rµ 3Rµ

M M M

P P P

� Sekvencijalno izvođenje na jednom procesoru:

321321

1

ττττττ

++=→++= fTC

� Paralelno izvođenje uz TT=== 321 τττ :

TTf

1= → dobije se 3 puta brže izvođenje

� Ova metoda primjenjivanja je i unutar mikroprocesora (T1, T2, T3,… su tada dijelovi instrukcije)

Page 57: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

57

Opći slu čaj – proizvoljan procesni dijagram

Upravljački postupak sastoji se od više aktivnosti a one su na proizvoljan način međusobno uslovljene (razmjenom podataka)

Postupak implementacije:

1. Particija → 2. alokacija → 3. vremenski redoslijed

• 1. Particija (podijela) proračuna u procese

PROCES IZRAZ VRIJEME PRETHODNICI

1T

2T

3T

4T

5T

6T

A:=sin(ALFA)

B:=sin(BETA)

C:=A*B

D:=A/B

E:=C+DF:=A+C

G:=ALFA+BETA

300

300

100

100

50+50

50

-

-

21,TT

21,TT

431 ,, TTT

,

,

1T 2T

3T 4T

5T

6T

A B

C D

E,F

G

� Pretpostavka je da je proračun stalan i unaprijed poznat.

Svaki proces ima poznato iτ , m= broj procesa, n= broj procesora.

� Proces vežu uvjeti precendencije (prethođenja), to daje djelomično vremensko uređenje

� 1, 2 i 6 su početni procesi (bez prethodnika)

� 5 i 6 su završni procesi (bez nasljednika)

� 6 je ujedno i nezavisan proces

Page 58: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

58

• 2. Alokacija procesa na procesore

1P 3P2P 4P

1T 2T 3T 4T

-- 6T 5T2M1M 3M 4M

KOMUNIKACIJA

Postupkom alokacije pridjeljuju se procesi pojedinom procesoru (računalu) na koje će se izvršavati.

Riješiti PROBLEM ALOKACIJE znači pronaći optimalan raspored procesa koji daje minimalno vrijeme izvođenja posla. Problem alokacije je za opći slučaj posla nerješiv (bez ispitivanja svih mogućnosti - što je također nemoguće). Zbog toga je i optimalno rješenje nepoznato.

Pretpostavke za paralelan rad:

� Mora postojati mogućnost komunikacije među procesorima

� Mora postojati mehanizam sinkronizacije tako da se procesi mogu upuštati kad su za njih spremni svi ulazni podaci

Page 59: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

59

• 3. Redoslijed izvođenja u vremenu

� Jednostavna strategija- upustiti proces čim je spreman (ne daje uvijek najbolje rješenje):

5T4T3T6T

2T1T pT

1P

2P

3P4P

tt

tt p

i

TSP ∑=

τ

n

SP

nT p

i =⋅

= ∑ τη

• 4. Alokacija i vremenski raspored korištenjem heurističkih algoritama:

NIVO PROCESA je najveća vremenska udaljenost tog procesa od

završnog procesa:

+= ∑=

SS

SSiiN

1

max ττ (zbroj po svakoj mogućoj

stazi, SS = broj nasljednika)

KRITIČNA STAZA je staza na (usmjerenom) grafu s najvećom

sumom iτ . Vrijeme izvođenja cijelog posla ne može biti kraće od

Tks ( )KSp TT ≥

NIVO ALOKACIJA je postupak koji koristi heurističko pravilo: procesoru koji se prvi oslobađa treba (između svih nealociranih spremnih procesa) pridijeliti proces s najvećim nivoom.

Tako se dobiju kvalitetna suboptimalna rješenja nT

T

topp

p 12

_

−≤

Page 60: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

60

Podjela paralelnih sustava

� SISD – single instr. stream, single data (klasično Rµ )

� SIMD – single inst.; multiple data (npr. vector processing)

� MISD – multiple instruction stream, single data stream

� MIMD – multiple instruction, multiple data (multiprocesor)

• Izvedbe MIMD sustava:

M ZM M

P P

M M M

P PP

SABIRNICA KOMUNIKAC. LINIJA

ZAJEDNIČKA MEM. KOMUNIKACIJA PORUKAMA

� Zajednička mem. je u adresnom polju više procesora

� Postoje i masivno paralelni sustavi sa 105 procesora

• Konfiguracija povezivanja računala:

1Rµ

2Rµ

3Rµ

4Rµ

PRSTEN ZVIJEZDASISTOLIČKO

POLJE

3-D: KOCKE, HIPERKOCKE, ITD.

Page 61: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

61

9. INDUSTRIJSKI RAČUNALNI SUSTAVI I MREŽE

• Podjela mikroračunala po fizičkoj izvedbi:

1. Integrirano mikroračunalo (single – chip microcomputer, microcontroller) - sadrže CPU, manju količinu memorije (npr. 2 KB ROM, 256 bytes RAM), I/O portove, itd. Ugrađuju se u manje uređaje

2. Računala na jednoj ploči (single board microcomputer) - sadrže odvojene integrirane krugove: procesor, RAM, ROM, I/0

3. Računala s vanjskom sabirnicom – sabirnica računala izvedena je u obliku niza utičnica (npr. razne izvedbe industrijskog PC-a)

KOMUNIKACIJA

PµRAM

I/0 STRAŽNJA PLOČA

SABIRNICA

UTIČNEPLOČE

STANDARDI UTIČNICA:-VME-S100

-MULTI BUS

4. Multiprocesor: u složenijim izvedbama ima više procesorskih pločica

5. Distribuirana mreža računala

• Koncepcijska podjela industrijskih računala:

1. Integrirani kontroler (EMBEDDED CONTROLER)

2. Programabilni (logički) kontroler (PLC)

3. Računalo za upravljanje NC strojeva

4. Robotski kontroler (često višeprocesorski sustav)

5. Računalo za nadzor i umrežavanje

Page 62: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

62

Programabilni logi čki kontroler (PLC)

� U početku zamišljen kao zamjena za relejnu (kontaktnu) logiku. Danas je to univerzalna komponenta za industrijsku automatizaciju. Povezuje se u (hijerarhijsku) mrežu sa drugim PLC-ima ili nadređenim sustavom

DIGIT.ULAZI

V220~

IZLAZI

PLC

SPOJ NA MREŽU

PROGRAMATORANALOGNI I/0 + -

• Programiranje se izvodi posebnim (višim) programskim jezicima (koji su danas standardizirani):

1. - IS – instruction set, statement language, AWL

2. - LD – ladder diagram language

3. - FBL – function block language

4. - BDL – binary decision language

5. SCL – Structured Control Language (slično Pascal-u)

• Ugrađeni programski elementi u PLC-u:

Logičke operacije Aritmetičke operacije

A - AND ADD O - OR DIV N - NOT MUL XO - XOR SUB

Ostale operacije:

S/ R – BISTABILI

Page 63: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

63

SR – POSMAČNI REGISTRI C – BROJILA (GORE/ DOLJE) C...0 – BRZO BROJILO TR – VREMENSKI SKLOP ZA KAŠNJENJE

A/D PRETVORNIK D/A PRETVORNIK

Varijable mogu biti dužine 1 bit, 8 bit i 16 (32) bita.

• Ciklus rada PLC-a

1. Upis ulaznih stanja u registar

2. Obrada ulaza (privid paralelne obrade)

3. Ispis u izlazne registre

4. Sistemska provjera, povratak na korak 1.

Vrijeme ciklusa < 5 ms/1000 instrukcija “IS” (Klockner-Moeller PS3)

• Instruction set (IS), statement list (STL)

Simbol: Značenje: Simbol: Značenje:

= STORE (spremi) MUL množenje

A AND (logički I) NOT komplement

ADD Zbrajanje O OR (logički ILI)

BC, BCN uvjetno grananje R reset bistabila

DIV Dijeljenje S set bistabila

JC, JCN uvjetni skok SUB oduzimanje

JP bezuvjetni skok XO ekskluzivni ILI

L unos nove varijable EP kraj programa

Page 64: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

64

Primjer istog programa u raznim jezicima:

• Instrukcijske liste (STL, IS)

LD I123 OR Q233 ANDN I124 ANDN I125 =Q233

123I124I 125I

233Q

233Q

• LD jezik (LADDER DIAGRAM – stepenasti dijagram)

123I 124I 125I

233Q

233Q

Nazivaju se i kontaktni planovi (uobičajeni u montaži postrojenja)

• FBL jezik - funkcijski blokovi (functional blocks)

233Q

123I

124I

125I

233Q

OR

1≥ &

AND

Page 65: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

65

Prikaz je identičan sklopovskoj shemi sa integriranim krugovima, iako se to ovdje izvodi programski (simulacija). Standardiziran po IEC 65A.

• BDL jezik

125I

124I

123I

233Q

0233=Q 1233 =Q

1

1

1

1

Binary decision tree (logic)=BINARNO STABLO

ODLUČIVANJA

Ista se logička funkcija može izraziti i matematički:

• Matematička notacija (za istu funkciju):

Q233=(I123 OR Q233) AND NOT I124 AND NOT I125

• STL (Structured Text Language) (Siemens: SCL Structured Control Language) ( DIN EN 6.1131-3), koji je sličan Pascalu:

Q233:=(I123 OR Q233) AND NOT I124 AND NOT I125;

Page 66: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

66

Sekvencijski funkcijski dijagrami (SFC – Sequential Function Charts)

• to je PLC jezik za programiranje sekvencijskih automata, baziran na Petri mrežama i Grafcetu. Podržava više istovremenih stanja (concurrent sequential programming)

• graf se sastoji od linija toka (flowlines), prelazaka (transition), koraka (step) i akcija (action)

Primjer početka rada perilice rublja

Page 67: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

67

Industrijski multiprocesor – robotski kontroler

1Rµ 1ZM 2Rµ 2ZM 3Rµ

1M 2M 3M

2P1P3P

� Implementacija složenih upravljačkih algoritama robota (dinamika, kinematika) često zahtijeva višeprocesorski sustav i primjenu paralelnog procesiranja

� U jednostavnim izvedbama svakom procesoru se pridružuje proračun za jedan određeni zglob robota (kada je proračun podijeljen po zglobovima)

� Zajedničke memorije ZM služe za razmjenu podataka

Page 68: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

68

Računarske mreže za distribuirano upravljanje i nadzor

• Računala na veće udaljenosti u pravilu komuniciraju serijskim vezama (bit po bit)

( )tuSTART STOP

LSB MSBRS 485/422

0 1 2 3 4 5 6 7 1P

P=PARITETNI BIT

STANDARD NAČIN MAX. UDALJENOST

Pred/Prij BRZINA MEDIJ

RS 232-C ASIN. 15 m 1/1 20 kbit/s PARICA RS 423-A ASIN. 1200 m 1/10 100 kbit/s -“- RS 422-A SIN. 1200 m 1/10 10 Mbit/s -“- RS 485 SIN. 1200 m 32/32 10 Mbit/s -“-

Ključna su pitanja pouzdanosti prijenosa i sigurnosti.

• Za veće udaljenosti koristi se:

1. Modulatori i demodulatori (MODEMI) za prijenos podataka preko telefonske mreže. Osim fizičke veze, mora postojati podudarnost protokola i brzine prijenosa (9600 bit/s,...,54000 bit/s [bps=BAUD])

2. ADSL - (Asymmetric Digital Subscriber Line) je brzi digitalni prijenos informacija preko telefonske mreže

3. LAN (Local Area Networks) – obično preko koaksijalnog kabela, parice ili optičkog vlakna-fibera. Brzina prijenosa ≥ 10 Mbit/s (FAST 100 Mbit/s, 1Gbit/s). Standardi IEEE 802.3 za ETHERNET LAN, IEEE 802.4 za TOKEN PASSING LAN

4. MAN - metropolitan area network

5. WAN (Wide Area Networks) – globalne mreže, Internet.

Page 69: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

69

Lokalne mreže industrijskih ra čunala

Karakteristike mreže:

� Tip medija:

� Telefonska parica 1 Mbps ili više na kratkim udaljenostima

� UTP kabel 10 Mbps (do 1 Gbps na kratkim udaljenostima)

� Koaksijalni kabel 10 Mbps/ 100 Mbps/ 1 Gbps

� Optičko vlakno 100 Mbs ili više

� Bežično “Eter” (sateliti, radio signal)

� Struktura (topologija)

� Način prijenosa informacije

� Način pristupa

� Struktura poruke

� Sigurnost prijenosa

Strukture mreže

ZVIJEZDA (STAR) PRSTEN (RING)

Page 70: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

70

SABIRNICA (BUS)

STABLO (TREE)

• Nivoi industrijske komunikacije

PRODUCTIONMANAGEMENT

PROCESSMANAGEMENT

GROUPMANAGEMENT

SHOP FLOOR

ISO/OSI MODELKOMUNIKACIJE

APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

LINK LAYER

PHYSICAL LAYER

MEDIUM0

1

2

3

4

5

6

7

Page 71: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

71

• Struktura poruke

Definirana na nivou prijenosa jedne riječi (byte) i cijele poruke:

ZAGLAVLJE TIJELO REP - startni kod - adrese - kontrolne informacije.

Podaci

- podaci za ustanovljenje pogreške

Komunikacijski protokol definira kodove, način prijenosa, smjer prijenosa, format prijenosa i metode uspostavljanja i prekidanja veze.

• Način pristupa mreži:

CSMA /CD - Stohastički pristup

TOKEN PASSING - Deterministički pristup

MASTER/SLAVE -“-

MULTI MASTER -“-

CSMA/CD – Ethernet lokalna mreža (LAN)

TAP KOAX. KABEL

TERMINATOR

BUS INTERFACE UNIT1Rµ 2Rµ 2Rµ

� Princip CSMA/CD (carrier sense multiple access with collission detection = višestruki pristup uz detekciju kolizije)

Page 72: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

72

� Uglavnom se koristi za višekorisničke operativne sisteme

� Za niže nivoe industrijskog upravljanja nije pogodna zbog nepredvidivog vremena pristupa, osim brzog 100Mbps Etherneta

� Slika prikazuje moderniju izvedbu Ethernet mreže

� Switch i hub razvodnici pojačavaju signale

� Klijenti se spajaju UTP (telefonskim) kabelima

� Postoje izvedbe za 10 MBps, 100 Mbps, gigabit, a također i 10 gigabit mreža

Page 73: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

73

Token-passing ring LAN

• Mreža s prijenosom žetona (tokena)

RING INTERFACE UNIT

• Podaci se kreću prstenom u jednom smjeru

� Svi slušaju (LISTEN MODE)

� Žeton cirkulira (žeton je specijalni kod)

� Predaja: dotično računalo zaustavlja žeton i pretvara ga u konektor, slijedi poruka

� Ciljno računalo postavlja ACK (prihvat)

� Kraj poruke. Žeton se stavlja na kraju poruke

Postoji i izvedba “TOKEN BUS”. Kod nje postoji logički prsten, makar fizički veza nije u obliku prstena

� TOKEN-RING je efikasniji od CSMA/CD kod velikog opterećenja mreže. Pogodan je za sve nivoe upravljanja.

Page 74: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

74

Master/slave lokalna mreža

� Master ispituje svakog slave-a (POLLING)

� Sva komunikacija ide preko master-a

SAN - mreže za male udaljenosti

� CAN – Controller Area Network (mreža za automobile)

� Home LAN (mreže za kućnu upotrebu, HAVI, Jini,..)

� IIC (I2C) i SPI mreže za povezivanje integriranih krugova

Bežične mreže – standard IEEE 802

� WPAN- Wireless personal area networks, npr. Bluetooth, za uređaje u istoj sobi, standardi IEEE 802.15

� LAN- Wireless LAN (WLAN, Wi-FI), standardi IEEE 802.11

� MAN- WIMAX, 70 km, 70MBit/s, standardi IEEE 802.16

� WAN- mreža za velike udaljenosti, standardi IEEE 802.20

• Bežične mreže senzora («smart sensor networks», standard IEEE1451.4)

� Plug and Play: senzori koji se identificiraju na mreži. Automatska konfiguracija, kalibracija i dijagnostika.

Page 75: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

75

Povezivanje više mreža

� REPEATER – pojačalo u homogenoj mreži

� HUB, SWITCH – razdjelnik u homogenoj mreži

� BRIDGE – povezivanje različitih mreža (ISO nivo 2)

� ROUTER – povezivanje različitih mreža (ISO nivo 3)

� GATAWAY – povezivanje mreža uz pretvorbu protokola

INTERNET

� To je “mreža svih mreža”, na bazi TCP/IP protokola. Definira mrežne servise na višim nivoima.

� Najčešće primjene Interneta:

� TELNET - Korištenje računala preko udaljenog terminala

� FTP – razmjena datoteka

� E-MAIL – elektronska pošta

� W W W – World Wide Web – Internet info stranice

Page 76: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

76

Industrijske mreže – standardni protokoli

Postoje stotine različitih industrijskih mreža (Industrial Field bus) i protokola, od kojih su neki standardizirani.

Industrial Field Buses:

Control Buses: High Speed Ethernet (HSE) i Control Net,

Field Buses: Foundation Fieldbus i Profibus,

Device Buses: DeviceNet, Profibus DP, SDS i Interbu s-S,

Sensor Buses: CAN, ASI, Seriplex i LonWorks

PROFIBUS (DIN 19245) – PROCESS FIELD BUS

� udaljenosti 0.2 km – 2.4 km (15 km optički) + repeateri

� brzina 9,6 kbit/s (kilobit per second) – 12 Mbit/s

� 32 aktivna učesnika (122 sa pasivnima)

� prijenos RS 485 serijskom vezom preko oklopljenog telefonskog kabela ili preko optičkog vlakna

� metoda pristupa: MULTI MASTER/SLAVE (TOKEN PASSING + MASTER/SLAVE)

CC-link

• 10 Mbit/s brzina prijenosa • baziran na RS485, mreža do 1.2 km/ 13.2 km repeater-ima • 64 učesnika (stanica) u mreži • vrijeme osvježavanja <3.9ms za 65 I/O stanica • Master/Slave network sa Floating Masters, omogućuje “hot

swap” stanica

DeviceNet

� Za komunikaciju industrijskih kontrolera i perifernih uređaja, bazira se na CAN protokolu

� Koristi se u automobilskoj, poluvodičkoj industriji i montaži

Page 77: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

77

� Do 64 učesnika i do 500 m preko telefonskog kabela

CANopen

� U smislu OSI modela CANopen implementira sloj “network layer” te slojeve iznad njega. Niži slojevi “data link” i “physical layer” su na bazi CAN-a ali mogu biti i drugi.

Ethernet

• Ethernet 100 Mbps, Gigabit Ethernet (1000BASE)

� Brzi Ethernet (HSE) i Real – time Ethernet (RTE) sve se više koriste u industrijskoj sredini radi jednostavnosti, cijene i kompatibilnosti sa nadređenim mrežama intranet/ Internet. Neovisan o proizvođaču.

EtherCAT

• Ethernet for Control Automation Technology – je otvorena mreža visokih performansi za automatizaciju. Cilj je bio razviti industrijsku mrežu sa kratkim vremenom ciklusa- obnavljanja i niskim variranjem vremena (jitter) za bolju sinkronizaciju i nisku cijenu.

PROFINET

• otvorena mreža za automatizaciju bazirana na Ethernet standardu i TCP/IP protokolu. Ona predstavlja real-time Ethernet i omogućuje povezivanje industrijskih mreža uz niske troškove.

HART – protokol za komuniciranje sa senzorima

� Razvijen od Rosemount Inc, omogućuje nadzor, dijagnostiku i konfiguriranje senzora (Highway Addressable Remote Transducer Protocol)

� U Analog/ Digital modu koristi postojeće 4-20 mA signale na koji je dodana digitalna informacija (1200 baud Frequency Shift Keying (FSK))

� U Multidrop modu koristi samo digitalni prijenos. Do 15 senzora spaja se na isti kabel sa signalom 4 mA.

Page 78: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

78

Mrežna arhitektura za automatizaciju industrijskog pogona

Slojevi protokola za automatizaciju industrijskog pogona

Page 79: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

79

10. PROGRAMIRANJE

Programska oprema (okruženje) je skup svih programa potrebnih za razvoj, izvođenje i pronalaženje grešaka u korisničkim programima

OPERATIVNI SUSTAV (OS) upravlja radom i resursima računala (diskom, procesorom, memorijom…). Iz njega se pokreću drugi (korisnički) programi

OS K1

KORISNIČKI PROGRAM

- PR.: MS DOS NA IBM-PC

= DISK OPERATING SYSTEM

Ako se istovremeno može izvršavati više korisničkih programa OS se zove višeprocesni (MULTITASKING), a ako uz to ima isto-vremeno više korisnika > višekorisnički (MULTIUSER), npr. Unix

OS

K1

K2K3

K4

K1 K2 K3 K4 K1

tCIKLUS

P

PROCESORSKO VRIJEME

Ako postoji samo jedan procesor OS će pridijeliti svakom procesu jedan dio svog vremena (TIME SHARRING). Neki OS podržavaju programiranje s ograničenjem realnog vremena (REAL-TIME OS) za pojedine procese

Page 80: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

80

Operativni sustavi realnog vremena (Real-time operating systems- RTOS)

U širem smislu to su sustavi koji moraju odgovarati na događaje u vanjskom svijetu onim tempom kako se ovi događaju (reaktivni sustavi)

• Ograničenja realnog vremena:

� MEKA (SOFT) – npr. zadano maksimalno vrijeme izvođenja posla ili min. frekvencija

� TVRDA (HARD) – zadano maksimalno vrijeme reakcije pojedinih računarskih procesa na vanjski događaj (DEADLINE)

• Obično postoje prioriteti procesa koji obrađuju pojedine događaje.

• Izvedba je najčešće takva da se procesi mogu prekidati u toku izvođenja (PREEMPTION).

• Procesi se moraju sinkronizirati i razmjenjivati podatke

• Kod sustava realnog vremena upotrebljivost rezultata proračuna ovisi o točnosti rezultata ali i o trenutku kad je dobiven

• Za programiranje se koriste specijalni jezici (ADA, PEARL, MODULA-2, HIGH INTEGRITY PEARL, REAL-TIME EUCLID) ili standardni jezici (C) sa ekstenzijama

• Primjeri RTOS: QNX, LynxOS, Windows CE

Page 81: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

81

Pomagala za razvoj programa

� EDITOR – upis i promjena programskog teksta

� ASSEMBLER – program za prevođenje programskog teksta (mnemonički kod) u strojni kod (1:1)

� COMPILER – program prevodilac. Prevodi tekst pisan u višem jeziku (PASCAL, FORTRAN, C) u strojni (izvršni) kod ili objektni kod. Jedan red programa proizvodi više strojnih instrukcija

� LINKER – povezuje jednu ili više objektnih datoteka i stvara izvršni kod

� LOADER – program koji izvršnu datoteku kopira u radnu memoriju i pokreće taj program (dio OS)

� DEBUGGER – pronalaženje grešaka u programu (npr. izvođenjem korak po korak)

� SIMULATOR – program koji simulira rad nekog fizičkog uređaja (procesa)

Page 82: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

82

PROBLEMATIKA RAZVOJA FIRMWARE-a

• Firmware je software fiksno ugrađen u sustav

• Programi za mala računala često se razvijaju na velikima (gdje se može koristiti editor, compiler, assembler, cros-compiler, simulator, emulator), što se zajedno naziva razvojni sustav

• Kako mali sustavi nemaju disk, program treba spremiti u ROM ili FLASH memoriju, što je u industrijskim sredinama i najsigurnije

• Programirani ROM se prebacuje u malo računalo i ispita da li program radi kako je planirano

• Integrirani mikrokontroleri (MCU) sadrže RAM i FLASH memoriju u koju se može jednostavno upisati program preko serijske veze sa razvojnim sustavom.

RAZVOJNISUSTAV

EPROMPROGRAMATOR

EPROMEMULATOR

CPUEMULATOR

M

I/0UART ROM

RAM CPU IO

CILJNI SUSTAV (TARGET)

Popularni 8 bit MCU: Intel 8051 i kompatibilni, Atmel AVR (Arduino platforma), Microchip Technology PIC, Texas Instruments MSP430 (mala potrošnja), ARM (32bit MCU)

Page 83: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

83

Način razvoja programa

• Nivoi programiranja: Niži nivo > Viši nivo

� Program u strojnom kodu

� Asembler

� Viši jezici (prevodioci) prve generacije (Fortran), interpreteri (Basic)

� Strukturno programiranje (Pascal, Algol, C, Modula 2)

� Objektivno orjentirano programiranje (SMALLTALK, C++)

� Vizualno programiranje (Visual Basic, Visual C, Delphi)

� Logičko programiranje (LIST, PROLOG), Matematički programi (Matlab), simulacijski (Simulink)

� Specijalni jezici, npr. za Real-time, baze podataka, PLC i robote, skriptni jezici (Python), Internet programiranje

• Radi se o različitim pristupima programiranju

� Razvoj (Niži nivo > Viši nivo) ide prema sve većem nivou apstrakcije, (orijentacija prema problemu) gdje detalji stroja i operativnog sistema, postaju sve manje važni

� Ovakav razvoj zahtijeva brža računala i s većom memorijom, za rješenje istog problema u istom vremenu izvođenja

• Prednosti višeg nivoa:

� Niska cijena razvoja korisničkog programa

� Lako održavanje, ponovna upotreba gotovih rješenja

� Prenosivost izvornog programa na drugi stroj

Page 84: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

84

DODATAK1 - PROGRAMIRANJE

Principi strukturnog programiranja

• Strukturno oblikovanje programa

� Problem (koji treba biti potpuno definiran) razloži se u logičke cjeline (module i procedure)

� Za svaku logičku cjelinu (modul) moraju biti točno definirani ulazni i izlazni parametri i vlastiti podaci

� Nacrtati strukturu programa s modulima

PROBLEM

1X

KORAK 1)

1

X Y

KORAK 2)

XX Y

2X 3X KORAK 3)

Page 85: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

85

Strukturno programiranje (kodiranje)

• Svaki složeni problem može se raščlaniti na elementarne strukture:

� Sekvenca (niz)

� Grananje (izbor)

� Ponavljanje (iteracije, petlje)

( );4: sqra =

;2: += ab

a) b)

DA

NE

?

A B

theaIF 2>Prog B

Else Prog A

)1c ULAZ

Prog.

?

DA

NE

IZLAZWhile a>2 Do Prog;

)2c ULAZ

Prog.

?DA

NE

Repeat Prog;Until a<2:

IZLAZ

Page 86: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

86

TOP-DOWN metoda strukturnog programiranja

Uzastopno rasčlanjivanje problema na sve manje dijelove korištenjem osnovnih elemenata strukturnog programiranja.

I II III

T F III

II III

FT

T F

T

Page 87: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

87

Umjesto naredbe “GOTO” u strukturnom programiranju koriste se dane elementarne strukture te pozivi procedura i funkcija

Svaka logička cjelina programa pretvara se u proceduru (čak ako se poziva samo jednom)

Svaka procedura može imati i vlastite varijable koje su nedostupne ostalim procedurama i glavnom programu (zaštita podataka)

S pozivajućim programom komunicira se preko ulaznih/ izlaznih parametara koji moraju odgovarati po broju i tipu podataka

PARAMETRI

STRUKTURAPODATAKA

OBRADA(ALGORITAM)

programili modul

Procedure Zamjeni (VAR x,y:real)VAR temp:real;

Begin

temp:=x;x:=y;

y:=temp;End

Begin {glavni program}

Zamjeni (a, b);

End.

VAR a, b: real; {globalne var.}

� Parametri se povezuju po redoslijedu u pozivu, a ne po imenima

� Mogućnost rekurzivnog poziva procedure

� Programi= strukture podataka + algoritmi

Page 88: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

88

Programiranje u PASCALU

• Blok programa:

BEGIN … … … END

� Naredbe se separiraju znakom točka-zarez (;)

• Primjer (struktura programa):

PROGRAM Ime CONST TYPE VAR

PROCEDURE ( );

VAR

BEGIN

END

BEGIN. . .. . .

END.

PROCEDURA je programu malom

može sadržavativlastite PROCEDURE

Page 89: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

89

Proširenja (EKSTENZIJE) viših programskih jezika

� Concurrent Programming (MULTIPROGRAMMING) = više procesno programiranje (npr. CONCURRENT C)

� Real-Time Constraints = realno vrijeme (ADA, PEARL, MODULA-2, MODULA-3)

� Paralelne ekstenzije programskih jezika (PARALLEL-C, PARALLEL PASCAL)

� OBJECT ORIENTED PROGRAMMING (C→ C++)

Programski koncepti za konkurentno programiranje

Konkurentno programiranje na nivou programa rješava problem komunikacije i sinkronizacije među dijelovima programa. Dijelovi se izvode u vremenskoj “paraleli” (jedno ili više procesorski sustavi).

Više rješenja :

• Semafori (L.W. Dijkstra 1968)

Semafor je varijabla kojom se određuje vremensko uređenje. Postoje 2 operatora:

P(S) – čekaj. Ako je semafor S aktivan (true) pozivajući proces se obustavlja. Inače se S aktivira, a proces nastavlja.

V(S) – signal. Ako postoje procesi koji čekaj zbog P(S) onda se jedan od njih propušta, inače semafor se deaktivira (FALSE).

• Monitori (Hoare 1974)

Monitor je zajednička struktura podataka koja se može dosegnuti monitorskim operacijama koje se izvode uz međusobno isključivanje. Zahtjevi za operaciju nad monitorom se spremaju i

Page 90: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

90

izvode jedan po jedan. Redoslijed nije specificiran (CONCURRENT PASCAL).

• Komuniciranje porukama

Jedan proces šalje poruku, drugi je prima. U sistemu s blokiranjem, pošiljalac mora čekati dok primalac ne potvrdi prijem.

� CSP (HOARE 1978) (COMMUNICATING SEQUENTIAL PROCESSES) ovaj princip ujedinjuje komunikaciju i sinkronizaciju.

Naredbe: INPUT I OUTPUT. Mehanizam sastajanja (RANDEZ-VOUS). Jedan mora biti spreman da prima, drugi da šalje, ako jedan nije drugi ga čeka.

Druga rješenja: ADA, CONCURRENT-C, OCCAM

Postoji i implementacija u hardware-u (transputeri)

Najbolje je kad se u operativnom sistemu može specificirati procese i način njihovog komuniciranja te korištenja zajedničkih resursa.

Page 91: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

91

OpenMP je programska platforma koja omogućuje multi procesiranje bazirano na komunikaciji preko zajedničke memorije. Može se koristiti unutar C, C++ i Fortana i to na većini procesorskih arhitektura i operativnih sustava (Linux, MAC OS X, Windows, i drugi). Koristi implementaciju višenitnosti (multithreading) tako da se svaka nit izvršava na drugoj jezgri procesora. Također se koristi i na više računala (computer cluster) i na sustavima koji komuniciraju porukama.

U postojeći program umeću se direktive (pragma) koje upravljaju paralelizacijom. Petlja se izvršava na više jezgri istovremeno: int main(int argc, char *argv[]) { const int N = 100000; int i, a[N]; #pragma omp parallel for for (i = 0; i < N; i++) a[i] = 2 * i; return 0; }

http://openmp.org/ http://en.wikipedia.org/wiki/OpenMP

Page 92: Mikroprocesorsko upravljanje - titan.fsb.hrtitan.fsb.hr/~dzorc/teach/predavanja_mpu.pdf · 10. programiranje dodaci: digitalni sustavi upravljanja laboratorijske vjeŽbe: digitalni

92

< kraj predavanja > 26.10.2015