Upload
snblto
View
222
Download
2
Embed Size (px)
Citation preview
7/21/2019 Mikroprocesorska upravljanja
1/90
Fakultet strojarstva i brodogradnjeKatedra za strojarsku automatiku
Mikroprocesorsko upravljanje
Dr. Sc. Davor Zorc
2013.
7/21/2019 Mikroprocesorska upravljanja
2/90
2
MIKROPROCESORSKO UPRAVLJANJE
KOLEGIJ SE BAVI PRIMJENOM MIKRORAUNALA UUPRAVLJANJU STROJEVA I PROCESA, TE PRIPADNIMSKLOPOVIMA I POSTUPCIMA.
SADRAJ:
1. UVOD 2. STRUKTURA MIKRORAUNALA
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 RAUNALNI SUSTAVI I MREE
10. PROGRAMIRANJE
DODACI:
DIGITALNI SUSTAVI UPRAVLJANJA
LABORATORIJSKE VJEBE:DIGITALNI SUSTAVI UPRAVLJANJAPRAKTIKUM IZ MIKROPROCESORAPRAKTIKUM IZ PLC PROGRAMABILNO LOGIKIH KONTROLERA
7/21/2019 Mikroprocesorska upravljanja
3/90
3
Potrebno predznanje:
OSNOVE AUTOMATSKE REGULACIJE
OSNOVE ELEKTRONIKE
OSNOVE DIGITALNIH RAUNALA
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.
RAUNALA Gibson: Computer systems, concepts and design, Prentice Hall Int,
1991. Ribari: Graa raunala - arhitektura i organizacija raunarskih sustava,
Algebra uilite, 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 LOGIKI 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.
7/21/2019 Mikroprocesorska upravljanja
4/90
4
1. UVOD
Procesno raunalo opremljeno je sklopovima za fizikopovezivanje s vanjskim ureajima/ strojevima
Veze (signali) mogu biti analognog ili digitalnog tipa
)(tu
tMJ.PODRUJ
E
)(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.
Upravljaki sustavi - alju informacije u proces
Regulacijski sustavi - Primaju informacije i, na osnovuobrade, generiraju izlazne signale, koji preko aktuatora
utjeu na proces.
7/21/2019 Mikroprocesorska upravljanja
5/90
5
REGULACIJSKA PETLJA
SENZORI
OBJEKT
AKTUATOR
REGULATOR
POREMEAJI
OSTALE IZLAZNE VELIINE
VOENE VELIINE
OSTALE UL. VELIINE
UPRAV. VELIINE
VODEE (REFERENTNE)
VELI
INE
Cilj regulacije je dovesti voene (upravljane) veliine naiznos vodeih (eljenih, referentnih) veliina
A
TRNTC
BAU+
REU+
BU
AU
+A
POJAALOSNAGE
iU
POJAALO
REFERENTNA VELIINA
Jednostavni analogni regulator
NTCR BU iU RTP
7/21/2019 Mikroprocesorska upravljanja
6/90
6
DIGITALNA REGULACIJA
Sklopovi potrebni za regulaciju izvode se u digitalnojtehnici, najee pomou mikroraunala.
OBJEKT
AKTUATORI SENZORI
PRIHVATSIGNALA
VOENE VAR.
ANALOGNISIGNALIDIGIT. S.
TIPKA IA/D
REFERENTNEVELIINE
ULAZI
RAUNALO
+UPRAVLJAKIALGORITAM
IZLAZI
UPRAVLJAKEVARIJABLE
PRILAGOSNAGE
D/A IZADR. SIG.
7/21/2019 Mikroprocesorska upravljanja
7/90
7
Prednosti i mane digitalnog upravljanja
Prednosti:
Upotreba digitalnih pretvornika (preciznost, linearnost,manja osjetljivost na smetnje)
Digitalni signali lako se spremaju i prenose bezdegradacije, prijenos vie signala istim medijem
Obrada digitalnim raunalom
Fleksibilnost (zamjena software-a) Sloenost obrade po volji, proizvoljni operatori
Velika preciznost prorauna
Lako izvodivi hijerarhijski sustavi upravljanja
Daljinska kontrola/ nadzor/ upravljanje
Mane:
Matematika analiza upravljanja je sloenija Diskretizacija uzrokuje gubitak informacije po vremenu i
amplitudi
Kanjenje reakcije zbog trajanja A/D pretvorbe, itd.
Smanjena stabilnost uz iste parametre
Greke u software-u kritino za sigurnost
Otkazi su najee potpuni (u analognim sustavimadegradacija je esto postupna)
Problem oporavka nakon smetnji i otkaza
7/21/2019 Mikroprocesorska upravljanja
8/90
8
UZORKOVANJE I KVANTIZACIJA SIGNALA
A/DT
Bx xx
Dx
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
RAUNALO(OBRADA)
D/A
DXbY
Y
0
0
0
1
( )tYb
T T2 T3 T4 t
( )tY
T T2 T3 T4 t
7/21/2019 Mikroprocesorska upravljanja
9/90
9
Uzorkovanje:
Kontinuirana funkcija x (t) zamjenjuje se svojimvrijednostima 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 sadri komponente mf , potpuno jeodreen nizom svojih vrijednosti na jednoliko
raspodijeljenom intervalu ( )mfT 2/1= .
T
ful 2
1max
= - maksimalna frekvencija koja e se moi
rekonstruirati iz uzoraka (= max. harmonika komponentaulaznog signala po Fourierovoj transformaciji)
Antialiasing filteri stavljaju se ispred A/D pretvornika i izaD/A pretvornika da se zadovolji teorem.
Kvantizacija
Vrijednost ulaznog signala aproksimira se cjelobrojnimviekratnikom koraka kvantizacije q, ime se ini grekakvantizacije.
iX
uX
q
Kodiranje
Svakom iznosu qkXi = pridjeljuje se kd (brojka)
7/21/2019 Mikroprocesorska upravljanja
10/90
10
Primjer:
msT 100= - period uzorkovanja
2010..10 =+= VVA - ulazni opseg
8=N - duina digit. rijei (D0...D7)
mVA
q
HzT
f
N
ul
78256
20
2
52,0
1
2
1max_
===
===
TTAD < (vrijeme A/D konverzije mora biti krae od T)
Ulazni signal mijenja se za vrijeme A/D konverzije ADT
( ) ( )
ADtst Tdt
tdxtx = =/
Ta promjena treba biti manja od nivoa kvantizacije
NN
Ax
Aq
22 =
Za sinusni napon na ulazu --> maksimalna frekvencija:
AD
NuTM
12
1
A/D
T
ulu7D
0D
7/21/2019 Mikroprocesorska upravljanja
11/90
11
2. STRUKTURA MIKRORAUNALA
Mikroraunalo je digitalni automat sposoban za izvrenje raunskihoperacija, a na osnovu programa pohranjenog u memoriji. Izvedeno
je od jednog ili vie integriranih krugova.
P MEMORIJAROM MEMORIJARAM Input/Output Vanjskiureaji
SABIRNICA
TAKT
Mikroprocesor (P, CPU) upravlja radom i izvravainstrukcije (program) koji se nalazi u memoriji
Input/ Output (I/O) sklopovi povezuju raunalo s okolinom
Sabirnice su vodii koji sve povezuju u cjelinu
Program se u pravilu izvrava sekvencijalno, instrukciju poinstrukciju.
Mikrokontroler (MCU) je cijelo mikroraunalo u oblikujednog integriranog kruga. Moe sadravati A/D, D/Apretvornike i druge periferne sklopove.
7/21/2019 Mikroprocesorska upravljanja
12/90
12
Memorija
RAM memorija se sastoji od niza paralelnih registara, svaki
registar se sastoji od niza bistabila (8, 16, 32,) Moe se adresirati odreeni registar i itati ili mijenjati
njegov sadraj.
N Adresnih linija moe adresirati 2Nlokacija (registara)
Memorija se spaja na sabirnicu podataka, adresa iupravljaku sabirnicu: Read/ Write, CS= chip select.
Vrijeme pristupa.. 5.. 500 nS
001 01 01 1
1 1 11 0 0 00
7D 0DSADRAJ 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
POD
ACI
WR/ CS
UPRAVLJANJE
RAM statike i dinami
ke Read/ Write memorije
ROM ne sadri bistabile > samo za itanje
PROM programabilni ROM
EPROM, EEPROM, FLASH izbrisivi programabilni
7/21/2019 Mikroprocesorska upravljanja
13/90
13
Sabirnice mikroraunala
Sabirnicu ini niz fizikih linija za internu vezu P, memorije isklopova za ulaz/izlaz
Adresna sabirnica: postavlja adresu
Sabirnica podataka: prenosi podatke
Upravljaka sabirnica: signali WR/ itd.
Sekvenca (vremenski tijek) dogaaja na sabirnici strogo jepropisana za odreeni procesor. Sabirnica moe biti izvedena kaoniz utinica za dodatne ploice s memorijom, I/0 sklopovima, itd.
Sklopovi za ulaz/ izlaz (input- output I/0)
Povezuju raunalo s perifernim dijelovima (disk, A/D, D/A,komunikacija s drugim sustavima, veza sa strojevima i procesima)
Paralelni I/0. N-fizikih linija=komunikacija rijepo rije
Serijski I/0. Jedna informacijska linija: komunikacija bit pobit. Pretvara se u paralelnu pomou UART-a
( )tu
t0DST. 2D 4D 7D
UART
SERIJSKAVEZA
RT
7D
0D
7/21/2019 Mikroprocesorska upravljanja
14/90
14
Primjer paralelnog izlaznog sklopa
X
M
REGISTAR
DD Q
7D
0D
+
+
SABIRNICAPODATAKA
D D Q
CL
Enable
DEKODERADRESE
I
0A
15A
SABIRNICA
ADRESE
WRITEIO/MEM IZLAZI
Primjer paralelnog ulaznog sklopaVRATA S
TRI STANJA
7D
0D
SABIRNICA
PODATAKA
Enable
I
0A
15A
SABIRNICAADRESE
READ
10/MEM
O.E.
+
ULAZ-TIPKA
7/21/2019 Mikroprocesorska upravljanja
15/90
15
Memorijska mapa
Memorijsko (adresno) polje radne memorije moe biti popunjenorazliitim vrstama memorije ili I/0 ureajima
ROM
RAM 1
RAM 2
I/0
ADRESA
0000
1FFF
2FFF
3FFF
4A00
Adresni dekoder je sklop koji prima adresne linije i za odreenopolje adresa aktivira pripadni memorijski (ili I/0) krug (daje signalCS). 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
7/21/2019 Mikroprocesorska upravljanja
16/90
16
Struktura mikroprocesora ope namjene
Procesna snaga mikroprocesora najvie zavisi o vremenu izvrenjainstrukcija i duini rijei
Proizvoa:Duina: INTEL: MOTOROLA: Frekv. [MHz]:
8 8080, 8085 6800 3 816 8086, 80286 68000 12 2032 80386, 80486 68020 25 6664 Pentium 4 PowerPC ... 1400 ... 4000?
PROCESOR
KONTROLNA JEDINICA
KONTROLNA MEMORIJAPROGRAMSKO BROJILO
PC
REGISTAR INSTRUKC.
IR
STATUSNA RIJE
PSWDA P Z N C
POKAZIVALO SLOAJA
SP
INTERNA MEMORIJA/SLOAJ TAKT GENERATOR
A
B ALU
PREGISTRI ARIT./LOG. JED UPRAVLJ. SABIRNICOM
PODACI ADR. UPRAVLJ.
SABIRNICE
Programsko brojilo (PC) sadri adresu na kojoj e se traiti
slijedea instrukcija iz memorije. Pri ukljuenju postavlja sena nulu.
7/21/2019 Mikroprocesorska upravljanja
17/90
17
Registar instrukcije (IR) sprema instrukciju preuzetu izmemorije
Statusna rijeprocesora (PSW) niz bistabila kojioznaavaju stanje ALU (aritmetiko-logike jedinice), tesvojstva zadnjeg rezultata (nula, negativan, preliv,..)
Kontrolna memorija sadri mikrokod izvoenja instrukcije
Pokazivalo sloaja (SP= Stack Pointer). Sloaj (stog) jepomona struktura podataka tipa LIFO (last-in first-out).Pokazivalo sloaja sadri adresu zadnjeg unosa u sloaj.
MEMORIJA
SP = ADRESA ZADNJEG UNOSA
Registri P - privremeni spremnici rezultata, adresa i sl.
Koraci izvoenja jedne instrukcije:
Instruction fetch (dobavi instrukciju)
Instruction decode (dekodiraj instrukciju)
Operand fetch (dobavi operand- podatak) Execute (izvri instrukciju)
Store result (spremi rezultat)
Instrukcije traju 1, 2 ili vie koraka takta
7/21/2019 Mikroprocesorska upravljanja
18/90
18
Registri procesora 8080 (INTEL)
AKUMULATOR
A1 8
DA P Z N C PSW
1 8 16
REGISTAR INSTRUKCIJE
IR
PROGRAMSKO BROJILO
PC
POKAZIVASLOAJA
SP
1 16
B
D
H
C
E
L
Program u strojnom kodu
Proizvoa 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
1
3
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
6
5
7
8
9
10
MEMORIJA MNEMONIKI ZAPIS
LDA NUM1
MOV B,A
LDA NUM2
ADD B
JZ
AKTIVNOST
( ) ( )( )( )23 bytebyteA
( ) ( )AB
( ) ( )( )( )23 bytebyteA
( ) ( ) ( )BAA +
( ) ( )( )23 bytebytePC
7/21/2019 Mikroprocesorska upravljanja
19/90
19
Dogovoreni su kodovi i naini za pohranjivanje:
Slova, brojeva i znakova (ASCII standard kod)
Brojeva s pokretnim zarezom, itd.
Skup instrukcija mikroprocesora (primjer)
Mnemoniki zapis koji slijedi Assembler program pretvara u strojniprogram. Svaki procesor ima drugaije instrukcije.
Instrukcije za prijenos podataka
MOV r1, r2 ( ) ( )21 rr MOV=COPY!MOV r, M ( ) ( )( )( )LHr MVI r, data ( ) ( )2byter
Aritmetike 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),
poveanje za 1 (INR), smanjenje za 1 (DCR), negacijabitova u Akumulatoru (CMA), itd.
7/21/2019 Mikroprocesorska upravljanja
20/90
20
RLC 0001001000100100
Instrukcije za manipulaciju znamenkama (bitovima) mogupostavljati ili itati odreenu znamenku u binarnom broju.
Instrukcije za grananje u programu
JMP adr bezuvjetni skokJZ adr skok ako je sadraj nula (uvjetni)
Instrukcije za ulaz/izlaz
OUT port pie podatke u vanjski I/0 ureaj IN port ita podatak sa vanjskog ureaja
Instrukcije za rad sa sloajem (stack)
PUSH dodaje broj u sloaj
POP vadi zadnji uneseni broj iz sloaja
Instrukcije za kontrolu rada procesora
HLT zaustavi izvoenje
EI/ DI omogui/ onemogui prekide (interrupt)
NOP instrukcija koja ne radi nita
Instrukcije za poziv podprograma i povratak
CALL adr poziv podprograma na adresi
RET povratak iz podprograma u glavni program
7/21/2019 Mikroprocesorska upravljanja
21/90
21
Koncepcije ulazno/ izlaznog prijenosa
1. Programski prijenos (POLLING).
Stanje I/0 ureaja ispituje se u programskoj petlji neprihvatljivo za rijetke i nepredvidive dogaaje
2. Prekidni prijenos (INTERRUPT TRANSFER)
Mikroprocesor ima fiziki ulaz kojim se moe traiti prekid rada u
bilo kojem trenutku. Slijedi:
1. P spremi trenutno stanje i poalje signal da je prekidprihvaen
2. P prebacuje programsko brojilo (PC) na adresu gdjese nalazi prekidni program
3. izvri se prekidni program
4. Na kraju izvrenja prekidnog programa obnavlja sepredhodni status P i nastavlja redovni program.
- esto postoji vie prekidnih linija uz hijerarhiju (zadani prioriteti)
- Pogodan za hitne ili/i sporadine dogaaje. Prekid se moeprogramski onemoguiti
- Korisnik ima dojam da se glavni i prekidni program istovremeno
odvijaju
- Moe postojati takoer i software interrupt request gdje seprekid zatrai preko instrukcije
7/21/2019 Mikroprocesorska upravljanja
22/90
22
3. Prijenos s direktnim pristupom memoriji (DMA)
P RAM
ADRESEPODACI
DMAKONTROLER
DMAZAHTJEV
VANJSKIUREAJ
DMA kontroler obustavlja rad P , preuzima kontrolu nad
sabirnicama, zatim velikom brzinom prenosi podatke u/iz memorije.
Ako postoji cache memorija, P moe za vrijeme DMA nastaviti
izvoditi program
Hijerarhija memorije sloenih sustava
P
KAPACITET MEMORIJE
INTERNI REG.
CACHE RAM
RADNA MEM.
DISK CACHE
VIRTUAL. MEM.
DISKBRZINA PRIJENOSA
Virtualna memorija nadoknauje nedostatak RAM-a
stvaranjem slike dijela RAM-a na disku.
7/21/2019 Mikroprocesorska upravljanja
23/90
23
Meumemorija (CACHE)
Ako radna (glavna RAM) memorija nije dovoljno brza, manjakoliina brze memorije moe se umetnuti izmeu radne memorije imikroprocesora.
P
ADRESE
GLAVNAMEM.
TAG-RAM
CACHE
MATCH
UPRAVLJ.WAIT
PODACI
CACHE HIT traena lokacija postoji u CHACHE-u
dobavlja se bez ekanja CACHE MISS traene lokacije nema u CACHE-u
dobavlja se iz glavne memorije, a ujedno kopira u CACHE
Efikasnost: %80+MISSHIT
HIT (ovisno o koliini CACHE-a)
TAG RAM sadri adrese podataka koji su trenutno u cache-u.
Cache se nadopunjuje po principu brii najmanje koriteno uzadnje vrijeme (LRU least recently used).
Takoer, moe se organizirati i druga CACHE-memorija: izmeudiska i radne memorije (izvedena programski - bez dodatnoghardware-a)
7/21/2019 Mikroprocesorska upravljanja
24/90
24
Procesori za posebne namjene
1. Procesor za brojeve s pokretnim zarezom (floating point
co-processor), ubrzava rad s takvim podacima za redveliine. Danas se integrira sa CPU
FPU CPU RAM
2. RISC-procesori (reduced instruction set)
Mali broj instrukcija uz veliku brzinu izvoenja
3. Signalni procesori slue u digitalnoj obradi signala(digitalno filtriranje itd.).
Posjeduje instrukcije za realne brojeve visoke preciznosti
(mnoenje realnih brojeva 100 nS). Najpoznatija tzv. Harvardarhitektura, odvojena sabirnica za program i podatke. Veina sadrii internu memoriju, neki i A/D i D/A pretvornike.
4. Specijalne arhitekture
Vektorski procesori,
Nizovi procesora (ARRAY),
Vieprocesorski sustavi,
Masivno paralelni sustavi,
Grafiki procesori, GPGPU (mogue ubrzanje 50x)
Neuronske mree, ...
7/21/2019 Mikroprocesorska upravljanja
25/90
25
Posebni zahtjevi i sklopovi kod raunala zaupravljanje procesima
Zahtijeva se visoka pouzdanost, neosjetljivost na smetnje i uvjeteokoline te rad u realnom vremenu.
UTJECAJ OKOLINE: RJEENJE:
Temperatura komponente za 25..+85C
Agresivni plinovi, praina zaptivanje, zatitaVlaga, pritisak zaptivanje, zatitaVibracije, okovi mehaniki priguivaiElektro-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
7/21/2019 Mikroprocesorska upravljanja
26/90
26
Sat realnog vremena
ROSCILATOR
1 Hz
:60:60
BRO-JILO
+
SATIMIN.
SEK.
Radi se o nezavisnom sklopu iz ijih se izlaznih registara moe
oitati realno vrijeme (sati, minute, sekunde)
Kontrola napona napajanja
RbU
+
PIO/INTR
+
+
-
-
+
+
1refU
2refU
1refb UU >
2refb UU >=
=
=
izl
ul
NAB
IZB
ulIZB
izlNAB
R
R
CR
CR
MAX
MIN
aaqAD
MAXf
TTTT
f1
;1
=++
=
u lU
S
a Qt
U
at
A D M A Xt
iU
t
tS HH
ta aperture time kanjenje izmeu naredbe HOLD istvarnog zaustavljanja
taQ vrijeme potrebno za primanje novog uzorka istabilizaciju tog iznosa
7/21/2019 Mikroprocesorska upravljanja
35/90
35
A/D pretvornik sa sukcesivnom aproksimacijom
Ulazni napon uzastopno se usporeuje sa odreenim djelomreferentnog 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
1ND
2D
1D
0D
DA
ulU
NE
2
AU>
0D
1XX 0XX
DA NE
11X 10XAU 4
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 1
D
2D 1
2
3
BIT KORAK
7/21/2019 Mikroprocesorska upravljanja
36/90
36
Paralelni A/D pretvornik (FLASH CONVERTER)
KODER
R
R
R
R
R
R
R
+
-
+
-
+
-
+
-
+
-
+
-
+-
REFU
ulU2D
1D
0D
KOMPARATORI
Komparatori usporeuju ulazni napon s djelomreferentnog napona (1 korak)
Koder pretvara kd n od M u binarni
Za N-bita treba 2N-1 komparator
Vrijeme konvencije 10 ns..1 s (frekvencija reda 100 MHz)
7/21/2019 Mikroprocesorska upravljanja
37/90
37
Analogni multiplekser
UPRAVLJANJE
ULAZI
ADRESA
SAMPLE
START
KRAJ KONV.
S&H A/D PODACI
M
R
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
7/21/2019 Mikroprocesorska upravljanja
38/90
38
4. DIGITALNO /ANALOGNI PRETVORNICI
D/A iU
0D
1D
1ND
iU
D0
0
0
0
01 1
0 0
0 11
0
10 01
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
7/21/2019 Mikroprocesorska upravljanja
39/90
39
Karakteristike D/A pretvornika:
Linearnost
Tonost podruja
Stabilnost, temperaturni koeficijent Vrijeme pretvorbe (reda s)
Programski D/A pretvornik
t
t
T T1tD AU
P W MU
PWMU
D/AIZLAZ
R
+
-
T=konst.T
tkonstUDA
1. =
R izvodi program za pulsno-irinsku modulaciju
7/21/2019 Mikroprocesorska upravljanja
40/90
40
Programski A/D pretvornik
ulU
IZLAZI
R
ULAZI
D/A
KOMPARATOR
+-
Raunalo postavlja svoje izlaze prema algoritmu sukcesivneaproksimacije, D/A pretvornik to pretvori u odgovarajui napon,zatim raunalo oitava stanje izlaza komparatora
7/21/2019 Mikroprocesorska upravljanja
41/90
41
5. SENZORI I PRIHVAT SIGNALA
Senzori su takvi elementi kod kojih neko elektriko svojstvo ovisi ojednoj fizikalnoj (neelektrikoj) veliini.
Aktivni senzori: Pasivni senzori:
- fotodioda (svjetlo) - fotootpornik
- piezokristal (sila) - zavojnica s pominom jezgrom
- EM indukcija - potenciometar (pomak)
- HALL-generator (mag. polje)
- tenzometar (deformacija)
SENZORSKI SKLOP
SENZOR
S ePrihvat iprilagoenje ( )Sfe =
S fizikalna veliina, e elektrika veliina (analogna ili digitalna)
Podjela
Digitalni senzorski sklopovi daju digitalnu informaciju oulaznoj veliini (koja je analogna ili digitalna)
Analogni senzorski sklopovi daju analognu informaciju oanalognoj ulaznoj veliini
Ako sklop za prihvat signala senzora moe dati digitalni signal
izbjegava se upotreba A/D pretvornika to je direktna digitalizacija.
7/21/2019 Mikroprocesorska upravljanja
42/90
42
Digitalni senzorski sklopovi s analognom ulaznomveliinom
Oblici digitalnih (izlaznih) signala:
f= func (S) promjenljiva izlazna frekvencija
i= func (S) broj izlaznih impulsa
d= func (S) digitalni broj na izlazu
Optiki digitalni senzorski sklopovi
Mjerenje kuta, pomaka, brzine (koristi optike barijere)
+
+
+
batU bat
U
2D
1D
0D
0
1
4 3
25
6
7
xxx
Koritenje svih izlaza = apsolutni koder poloaja Koritenje jednog izlaza = brojanje impulsa, mjerenje ,
mjerenje relativnog pomaka
7/21/2019 Mikroprocesorska upravljanja
43/90
43
Linearna izvedba optikog senzora
D0
D1
D2
D3
vl,
opto-barijere
Magnetski digitalni senzorski sklopovi
-
-
refU-+
AHALLOVASONDAf/u
Komparator
Mjeri se brzinastrujanja
BROJILO
DIGIT. IZLAZ
0D
1NDR
Sklopka blizine (proximity switch)
N
0D
S
S 0
A +
-
refU
iU0D
KOMPARATOR
pomak S"0"
"1"
digitalni izlaz (1 bit)
Sklopka blizine slui za indikaciju pribliavanja predmeta.
7/21/2019 Mikroprocesorska upravljanja
44/90
44
Posebne izvedbe za indikaciju:
Feromagnetskih
Metalnih
Nemetalnih materijala
Analogni senzorski sklop
Mjere analognu veliinu 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 iprilagoenje
kompenzacijafiltriranjepojaanje
linearizacijanormiranje
1. Prihvat i prilagoenje signala Pasivne senzore treba spojiti naelektriki izvor. Aktivni senzor treba spojiti na odgovarajue troilo, tena ulaz pojaala.
2. Kompenzacija Ako je izlazna veliina senzora es funkcija viefizikalnih veliina (1 mjerena + smetnje) smetnje se mogu posebnomjeriti i oduzeti od signala
3. Filtriranje Potiskivanje smetnji (npr. elektro-magnetskih od mree)ili potiskivanje neeljenih frekventnih komponenti signala.
4. Pojaanje Frekventni opseg pojaala mora biti prilagoen dinamicisenzora i eljenom spektru, takoer eljenom izlaznom opsegu.
5. Linearizacija Ako )(SfeS = nije linearna funkcija, to se moe
ispraviti nelinearnim pojaalom ili raunalom.
6. Normiranje eljeno podruje maxmin ...SS se preslikava u maxmin ...ee .
Granice izlaznog signala su standardizirane.
iU
refU
St S
7/21/2019 Mikroprocesorska upravljanja
45/90
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 pojaalo pojaava tu vrlo malu struju i odrava
napon na diodi 0DU . Vrijeme odziva je reda veliine s.
Mjerenje temperature termoparom
Komp.1
2
NiSU
CrNi ( )kU
ulUaR
0RR
izlU
2= sk kU
A/DFiltriranje
Lineariza-cija
( )21 = ss kU 1kUUU Ksul =+=
+-
Napon termopara funkcija je razlike 21
Da se dobije 1= kUs treba ugraditi sklop zakompenzaciju koji mjeri 2 (temperaturu ambijenta) iponitava njen utjecaj
Pojaanje 10
+= R
R
A treba biti veliko ( )mVC 501000 o
, apojaalo vrlo precizno i neovisno o temperaturi
7/21/2019 Mikroprocesorska upravljanja
46/90
46
Prilagoavanje nivoa signala (skaliranje)
Iznos mjernog signala treba prilagoditi podruju A/D pretvornika Ako se ne koristi cijelo ulazno podruje napona A/D pretvornika
onda je efektivna rezolucija manja.
Primjer mjernog lanca termopar pojaalo A/D pretvornik:
S = 0 ... 1000 C (signal)
Ks= 40V/C (konstanta termopara)
Us= 40V/C 1000 = 40mV (maksimalni napon termopara)
Mjerno podruje A/D: Aad= 0 ... 1.2V = 1.2V
Potrebno pojaanje: 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 diskretnihvrijednosti, to zadovoljava zadanu rezoluciju.
Egzaktan iznos potrebnog broja bitova dobije se na sljedei nain:
2N= 1000 /log2(logaritmiranje)
96.9303.0
3
)2(log
)1000(log)1000(log
10
102 ====N
Raunanje mjerene temp. (oitanje A/D: N= 10, D= 0 ... 1023):
sv
ad
N KA
AD
)12(C]Temp[
=
7/21/2019 Mikroprocesorska upravljanja
47/90
47
Mjerenje deformacije tenzometrom
1R
Mjerilootpora
F
0R
B
R
0R
R+- izl
U
V
FkAUU
FkU
ABizl
AB
==
=
&
& (usko podruje)
batU+
R1 R2
R4R3
A
Otpor R1 (tenzometar) pod utjecajem sile F podvrgnut jedeformaciji i mijenja otpor
Wheatstoneov most R1..R4postavi se u ravnoteu za F=0 Diferencijalno pojaalo je spojeno na mjestu galvanometra
u mostu, pojaava UAB
Ulazni napon < 1 mV (problem pomaka radne toke drift-a, zahtijeva precizno pojaalo)
Nove tehnologije inteligentni senzori
Senzori s ugraenim procesorom i A/D pretvornikom
Beine i iane mree senzora
Plug and Play: senzori koji se identificiraju nadreenomraunalu, automatska konfiguracija i kalibracija
7/21/2019 Mikroprocesorska upravljanja
48/90
48
6. AKTUATORI
D/A
PARALELNIIZLAZ
ULAZR
M
M
KONTROLA
DIGITALNIAKTUATORSKI
SKLOP
ANALOGNIAKTUATORSKI
SKLOP
Aktuatori pojaavaju energetski nivo izlaznih signala iprilagoavaju oblik energije troilima (upravljakimureajima)
Potrebno je takoer i galvansko odvajanje troila
Digitalni aktuatorski sklop
PI0R 0D
2D
mA
Vili
1
50+
~
M
100
mA
R S T
TRANZIST.SKLOPKA
RELEJ SKLOPNIK AVx 25/3803
Koriste se tranzistorske sklopke za pojaanje signala
Releji i sklopnici takoer omoguuju upravljanje velikesnage iz kruga male snage (uz galvansko odvajanje)
7/21/2019 Mikroprocesorska upravljanja
49/90
49
Analogni aktuatorski sklopovi
Ulazni i izlazni signal se kontinuirano mijenja
ULAZ IZLAZ AKTUATORSKI SKLOP TROILO
( )
( )ti
tu
ul
ul
( )
( )tiK
tuK
ul
ul
Pojaalo snage, tirist., reg.(fazna reg. i ispravljai) tirist.
regulatori (Zero crossing)
DC MOTORI,GRIJALA
( )tuul ( )tuK ul U/f pretvaraSINKRONI IASINKRONI
MOTORI
Izlazno djelovanje prilagoeno je troilu i moe ukljuivati iispravljako djelovanje
Izlazno djelovanje je esto prekidako (tiristori) zbogvelikog iskoritenja tj. malih gubitaka regulacije
Fazni regulator izmjenine snage
~UF
IND.PROLAZA
NULE
batU+
RcU
C
M
gi
1A
2A
G
0
++-
KU
ulU
0...10 V
KOMPARATOR POJAALOSTRUJE
ulUk=&
Tiristor istosmjerna snaga
Trijak izmjenina snaga
( )ulT UfU = - inverzna i nelinearna funkcija
7/21/2019 Mikroprocesorska upravljanja
50/90
50
sklop usporeuje ulazni napon s pilastim naponom i takogenerira impuls u momentu kad se oni izjednae
potrebno je rijeiti i problem galvanskog odvajanja mreeod ulaznih signalnih linija
CU
u lU
G
i
TU
~U
t
t
t
KU
7/21/2019 Mikroprocesorska upravljanja
51/90
51
7. IMPLEMENTACIJA UPRAVLJAKIH
ALGORITAMA
Svojstva upravljakih algoritama:
Pojam vremena je vrlo vaan (tzv. realno vrijeme): SOFTREAL TIME, HARD REAL TIME
Program se stalno izvrava (cikliko ponavljanje)
Prestanak rada i druge greke mogu izazvati havariju Program je upravljiv vanjskim dogaajima od kojih neki
dolaze u pravilnim vremenskim intervalima. Vrijemeodziva je bitno
Ulazni podaci se itaju direktno i bez kanjenja. Izlaznipodaci se odmah po nastajanju alju u okolinu
Obrauju se neposredno nastali signali = sadanje stanje
raunala (procesa) esta su upravljanja vie vanjskih procesa ureaja u
vremenskoj paraleli
esto se koristi distribuirano procesiranje sa vie raunala
Kritina je brzina rada a nekad i utroak memorije
Kritina je pouzdanost i predvidiv rad u svim redovnim iizvanrednim okolnostima (naglasak na software-u)
7/21/2019 Mikroprocesorska upravljanja
52/90
52
Ciklus rada digitalnog regulatora
SDACAD TTTTT +++
max21ulf
T (Shannonov teorem) + drugi uvjeti
Izlazni signal kasni u odnosu na ulazni
ADT CT DAT ADTST
t
kT T ( )Tk 1+
TS sistemsko vrijeme potrebno je za dijagnostiku sistemai vremensku rezervu
Maksimalno raspoloivo vrijeme za proraun:
SDAADC TTTTT =
7/21/2019 Mikroprocesorska upravljanja
53/90
53
Ocjena potrebne snage
1. Iz upravljakog programa potrebno je zbrojiti vremena
izvoenja svih instrukcija koje se izvre u jednom ciklusu(TC). Vremena za pojedine instrukcije daje proizvoaprocesora.
2. Ponavljati korak 1) za razliite procesore i/ili moguefrekvencije generatora takta dok se ne uskladi brzinaprocesora sa potrebnim TC
3. Ako se problem ne moe rijeiti jednim procesorompotrebno je razmotriti upotrebu distribuiranog ili paralelnogprocesiranja sa vie procesora, ili primjenu jednostavnijegupravljakog algoritma
Vrijeme izvoenja se stohastiki mijenja unutar nekihgranica (20%).
Kod primjene viih jezika potrebno je probno izvoenje
Dominantne su operacije sa realnim brojevima jer suspore.
Cijena potrebne procesorske snage ovisi o samojpotrebnoj brzini (MIPS Mega Instructions Per Second)
$
MIPS
MIPS
7/21/2019 Mikroprocesorska upravljanja
54/90
54
8. DISTRIBUIRANO I PARALELNOPROCESIRANJE
Postupak prorauna (program) moe se prikazatidijagramom toka podataka
Dekompozicija programa u raunarske procese
INICIJALIZACIJA
ITANJE A/D
PRORAUN
UPIS U D/A
SISTEMSKIPROGRAM
PROCESNIDIJAGRAM
Mogui sluajevi:
nezavisni paralelni procesi sekvencijalni niz
opi sluaj proizvoljan procesni dijagram
7/21/2019 Mikroprocesorska upravljanja
55/90
55
Nezavisni paralelni procesi
Ako se proraun sastoji od niza vremenski paralelnih aktivnosti
(npr.: regulacija vie objekata) i ako su te aktivnosti meusobnoneovisne (ne razmjenjuju podatke u toku rada), lako je sprovesti
distribuirano procesiranje na vie nezavisnih R .
t
1P
2P
3P 3T
1T
2T
POETAK
1R
KRAJ
1
T2
T 3T
2R 3R
M M M
1T 2T 3T
1P 2P 3P
Svaki regulacijski program Ti izvodi se na zasebnomprocesoru. MAXiC TT =
Alokacija: 332211 ,, PTPTPT
7/21/2019 Mikroprocesorska upravljanja
56/90
56
Sekvencijalni niz
Ako se proraun sastoji od niza sekvencijalnih aktivnosti, opet je
mogue koristiti vie procesora i u ciklikom radu postii poveanjepropusnosti (PIPELINE)
1T
2T
3T
1
2
3
1
2
3
1T 1T 1T
2T 2T 2T
3T 3T 3T
t
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 izvoenje na jednom procesoru:
321321
1
++=++= fTC
Paralelno izvoenje uz TT=== 321 :
TTf
1= dobije se 3 puta bre izvoenje
Ova metoda primjenjivanja je i unutar mikroprocesora (T1,T2, T3, su tada dijelovi instrukcije)
7/21/2019 Mikroprocesorska upravljanja
57/90
57
Opi sluaj proizvoljan procesni dijagram
Upravljaki postupak sastoji se od vie aktivnosti a one su naproizvoljan nain meusobno uslovljene (razmjenom podataka)
Postupak implementacije:
1. Particija 2. alokacija 3. vremenski redoslijed
1. Particija (podijela) prorauna 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 proraun stalan i unaprijed poznat.
Svaki proces ima poznato i , m= broj procesa, n= brojprocesora.
Proces veu uvjeti precendencije (prethoenja), to daje
djelomino vremensko ure
enje
1, 2 i 6 su poetni procesi (bez prethodnika)
5 i 6 su zavrni procesi (bez nasljednika)
6 je ujedno i nezavisan proces
7/21/2019 Mikroprocesorska upravljanja
58/90
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(raunalu) na koje e se izvravati.
Rijeiti PROBLEM ALOKACIJE znai pronai optimalan rasporedprocesa koji daje minimalno vrijeme izvoenja posla. Problemalokacije je za opi sluaj posla nerjeiv (bez ispitivanja svihmogunosti - to je takoer nemogue). Zbog toga je i optimalnorjeenje nepoznato.
Pretpostavke za paralelan rad: Mora postojati mogunost komunikacije meu
procesorima
Mora postojati mehanizam sinkronizacije tako da seprocesi mogu uputati kad su za njih spremni svi ulaznipodaci
7/21/2019 Mikroprocesorska upravljanja
59/90
59
3. Redoslijed izvoenja u vremenu
Jednostavna strategija- upustiti proces im je spreman (nedaje uvijek najbolje rjeenje):
5T4T3T6T
2T1T p
T1P
2P
3P
4Pt
t
tt p
i
TSP
=
n
SP
nTp
i=
=
4. Alokacija i vremenski raspored koritenjem heuristikihalgoritama:
NIVO PROCESA je najvea vremenska udaljenost tog procesa od
zavrnog procesa:
+=
=
SS
S
SiiN1
max (zbroj po svakoj moguoj
stazi, SS = broj nasljednika)KRITINA STAZA je staza na (usmjerenom) grafu s najveom
sumom i . Vrijeme izvoenja cijelog posla ne moe biti krae od
Tks KSp TT
NIVO ALOKACIJA je postupak koji koristi heuristiko pravilo:procesoru koji se prvi oslobaa treba (izmeu svih nealociranih
spremnih procesa) pridijeliti proces s najveim nivoom.
Tako se dobiju kvalitetna suboptimalna rjeenjanT
T
topp
p 12_
7/21/2019 Mikroprocesorska upravljanja
60/90
60
Podjela paralelnih sustava
SISD single instr. stream, single data (klasino 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
Zajednika mem. je u adresnom polju vie procesora
Postoje i masivno paralelni sustavi sa 105procesora
Konfiguracija povezivanja raunala:
1R
2R
3R
4R
PRSTEN ZVIJEZDASISTOLIKO
POLJE
3-D: KOCKE, HIPERKOCKE, ITD.
7/21/2019 Mikroprocesorska upravljanja
61/90
61
9. INDUSTRIJSKI RAUNALNI SUSTAVI I MREE
Podjela mikroraunala po fizikoj izvedbi:1. Integrirano mikroraunalo (single chip microcomputer,
microcontroller) - sadre CPU, manju koliinu memorije (npr. 2 KBROM, 256 bytes RAM), I/O portove, itd. Ugrauju se u manje ureaje
2. Raunala na jednoj ploi (single board microcomputer) - sadreodvojene integrirane krugove: procesor, RAM, ROM, I/0
3. Raunala s vanjskom sabirnicom sabirnica raunala izvedena je u
obliku niza utinica (npr. razne izvedbe industrijskog PC-a)KOMUNIKACIJA
P
RAM I/0
STRANJA PLOA
SABIRNICA
UTINEPLOE
STANDARDI UTINICA:
-VME-S100-MULTI BUS
4. Multiprocesor: u sloenijim izvedbama ima vie procesorskih ploica
5. Distribuirana mrea raunala
Koncepcijska podjela industrijskih raunala:
1. Integrirani kontroler (EMBEDDED CONTROLER)
2. Programabilni (logiki) kontroler (PLC)
3. Raunalo za upravljanje NC strojeva
4. Robotski kontroler (esto vieprocesorski sustav)
5. Raunalo za nadzor i umreavanje
7/21/2019 Mikroprocesorska upravljanja
62/90
62
Programabilni logiki kontroler (PLC)
U poetku zamiljen kao zamjena za relejnu (kontaktnu)logiku. Danas je to univerzalna komponenta za
industrijsku automatizaciju. Povezuje se u (hijerarhijsku)mreu sa drugim PLC-ima ili nadreenim sustavom
DIGIT.ULAZI
V220
~
IZLAZI
PLC
SPOJ NA MREU
PROGRAMATORANALOGNI I/0 + -
Programiranje se izvodi posebnim (viim) programskimjezicima (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 (slino Pascal-u)
Ugraeni programski elementi u PLC-u:
Logike operacije Aritmetike operacije
A - AND ADDO - OR DIVN - NOT MULXO - XOR SUB
Ostale operacije:
S/ R BISTABILI
7/21/2019 Mikroprocesorska upravljanja
63/90
63
SR POSMANI REGISTRIC BROJILA (GORE/ DOLJE)C...0 BRZO BROJILOTR VREMENSKI SKLOP ZA KANJENJE
A/D PRETVORNIKD/A PRETVORNIK
Varijable mogu biti duine 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: Znaenje: Simbol: Znaenje:
= STORE (spremi) MUL mnoenje
A AND (logiki I) NOT komplement
ADD Zbrajanje O OR (logiki 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
7/21/2019 Mikroprocesorska upravljanja
64/90
64
Primjer istog programa u raznim jezicima:
Instrukcijske liste (STL, IS)
LD I123
OR Q233ANDN I124ANDN I125=Q233
123I124I 125I
233Q
233Q
LD jezik (LADDER DIAGRAM stepenasti dijagram)
123I 124I 125I
233Q
233Q
Nazivaju se i kontaktni planovi(uobiajeni u montai postrojenja)
FBL jezik - funkcijski blokovi (functional blocks)
233Q
123I
12I
125I
233Q
OR
1 &
AND
7/21/2019 Mikroprocesorska upravljanja
65/90
65
Prikaz je identian sklopovskoj shemi sa integriranim krugovima,iako se to ovdje izvodi programski (simulacija). Standardiziran poIEC 65A.
BDL jezik
125I
124I
123I
233Q
0233=Q 1233 =Q
1
1
1
1
Binary decision tree (logic)=BINARNO STABLO
ODLUIVANJA
Ista se logika funkcija moe izraziti i matematiki:
Matematika notacija (za istu funkciju):
Q233=(I123 OR Q233) AND NOT I124 AND NOT I125
STL (Structured Text Language)(Siemens: SCL Structured Control Language) ( DIN EN6.1131-3), koji je slian Pascalu:
Q233:=(I123 OR Q233) AND NOT I124 AND NOT I125;
7/21/2019 Mikroprocesorska upravljanja
66/90
66
Sekvencijski funkcijski dijagrami (SFC SequentialFunction Charts)
to je PLC jezik za programiranje sekvencijskih automata,baziran na Petri mreama i Grafcetu. Podrava vieistovremenih stanja (concurrent sequential programming)
graf se sastoji od linija toka (flowlines), prelazaka(transition), koraka (step) i akcija (action)
Primjer poetka rada perilice rublja
7/21/2019 Mikroprocesorska upravljanja
67/90
67
Industrijski multiprocesor robotski kontroler
1R 1ZM 2R 2ZM 3R
1M 2M 3M
2P1P 3P
Implementacija sloenih upravljakih algoritama robota(dinamika, kinematika) esto zahtijeva vieprocesorskisustav i primjenu paralelnog procesiranja
U jednostavnim izvedbama svakom procesoru sepridruuje proraun za jedan odreeni zglob robota (kada
je proraun podijeljen po zglobovima)
Zajednike memorije ZM slue za razmjenu podataka
7/21/2019 Mikroprocesorska upravljanja
68/90
68
Raunarske mree za distribuirano upravljanje inadzor
Raunala na vee udaljenosti u pravilu komunicirajuserijskim vezama (bit po bit)
( )tuSTART STOP
LSB MSB
RS 485/422
0 1 2 3 4 5 6 7 1P
P=PARITETNI BIT
STANDARD NAIN MAX.UDALJENOST
Pred/Prij BRZINA MEDIJ
RS 232-C ASIN. 15 m 1/1 20 kbit/s PARICARS 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 --
Kljuna su pitanja pouzdanosti prijenosa i sigurnosti.
Za vee udaljenosti koristi se:
1. Modulatori i demodulatori (MODEMI) za prijenos podataka prekotelefonske mree. Osim fizike veze, mora postojati podudarnostprotokola i brzine prijenosa (9600 bit/s,...,54000 bit/s [bps=BAUD])
2. ADSL - (Asymmetric Digital Subscriber Line) je brzi digitalni prijenosinformacija preko telefonske mree
3. LAN (Local Area Networks) obino preko koaksijalnog kabela,parice ili optikog vlakna-fibera. Brzina prijenosa 10 Mbit/s (FAST100 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 mree, Internet.
7/21/2019 Mikroprocesorska upravljanja
69/90
69
Lokalne mree industrijskih raunala
Karakteristike mree:
Tip medija:
Telefonska parica 1 Mbps ili vie na kratkim udaljenostima
UTP kabel 10 Mbps (do 1 Gbps na kratkim udaljenostima)
Koaksijalni kabel 10 Mbps/ 100 Mbps/ 1 Gbps
Optiko vlakno 100 Mbs ili vie
Beino Eter (sateliti, radio signal)
Struktura (topologija)
Nain prijenosa informacije
Nain pristupa
Struktura poruke
Sigurnost prijenosa
Strukture mree
ZVIJEZDA (STAR) PRSTEN (RING)
7/21/2019 Mikroprocesorska upravljanja
70/90
70
SABIRNICA (BUS)
STABLO (TREE)
Nivoi industrijske komunikacije
PRODUCTIONMANAGEMENTPROCESS
MANAGEMENT
GROUPMANAGEMENT
SHOP FLOOR
ISO/OSI MODELKOMUNIKACIJE
APPLICATION
PRESENTATION
SESSION
TRANSPORT
NETWORK
LINK LAYER
PHYSICAL LAYER
MEDIUM0
1
2
3
4
5
6
7
7/21/2019 Mikroprocesorska upravljanja
71/90
71
Struktura poruke
Definirana na nivou prijenosa jedne rijei (byte) i cijele poruke:
ZAGLAVLJE TIJELO REP- startni kod- adrese- kontrolne informacije.
Podaci- podaci zaustanovljenjepogreke
Komunikacijski protokol definira kodove, nain prijenosa, smjerprijenosa, format prijenosa i metode uspostavljanja i prekidanjaveze.
Nain pristupa mrei:
CSMA /CD - Stohastiki pristup
TOKEN PASSING - Deterministiki pristup
MASTER/SLAVE --
MULTI MASTER --
CSMA/CD Ethernet lokalna mrea (LAN)
TAP KOAX. KABEL
TERMINATOR
BUS INTERFACE UNIT1R 2R 2R
Princip CSMA/CD (carrier sense multiple access with
collission detection = viestruki pristup uz detekcijukolizije)
7/21/2019 Mikroprocesorska upravljanja
72/90
72
Uglavnom se koristi za viekorisnike operativne sisteme
Za nie nivoe industrijskog upravljanja nije pogodna zbognepredvidivog vremena pristupa, osim brzog 100MbpsEtherneta
Slika prikazuje moderniju izvedbu Ethernet mree
Switch i hub razvodnici pojaavaju signale
Klijenti se spajaju UTP (telefonskim) kabelima
Postoje izvedbe za 10 MBps, 100 Mbps, gigabit, a takoer
i 10 gigabit mrea
7/21/2019 Mikroprocesorska upravljanja
73/90
73
Token-passing ring LAN
Mrea s prijenosom etona (tokena)
R
RING INTERFACE UNIT
R
R
R
Podaci se kreu prstenom u jednom smjeru
Svi sluaju (LISTEN MODE)
eton cirkulira (eton je specijalni kod)
Predaja: dotino raunalo zaustavlja eton i pretvara ga u
konektor, slijedi poruka Ciljno raunalo postavlja ACK (prihvat)
Kraj poruke. eton se stavlja na kraju poruke
Postoji i izvedba TOKEN BUS. Kod nje postoji logiki prsten,makar fiziki veza nije u obliku prstena
TOKEN-RING je efikasniji od CSMA/CD kod velikogoptereenja mree. Pogodan je za sve nivoe upravljanja.
7/21/2019 Mikroprocesorska upravljanja
74/90
7/21/2019 Mikroprocesorska upravljanja
75/90
75
Povezivanje vie mrea
REPEATER pojaalo u homogenoj mrei HUB, SWITCH razdjelnik u homogenoj mrei
BRIDGE povezivanje razliitih mrea (ISO nivo 2)
ROUTER povezivanje razliitih mrea (ISO nivo 3)
GATAWAY povezivanje mrea uz pretvorbu protokola
INTERNET
To je mrea svih mrea, na bazi TCP/IP protokola.Definira mrene servise na viim nivoima.
Najee primjene Interneta:
TELNET - Koritenje raunala preko udaljenog terminala
FTP razmjena datoteka E-MAIL elektronska pota
W W W World Wide Web Internet info stranice
7/21/2019 Mikroprocesorska upravljanja
76/90
76
Industrijske mree standardni protokoli
Postoje stotine razliitih industrijskih mrea (Industrial Field bus) i
protokola, od kojih su neki standardizirani.
Industrial Field Buses:
Control Buses: High Speed Ethernet (HSE) i ControlNet,
Field Buses: Foundation Fieldbus i Profibus,
Device Buses: DeviceNet, Profibus DP, SDS i Interbus-S,
Sensor Buses: CAN, ASI, Seriplex i LonWorks
PROFIBUS (DIN 19245) PROCESS FIELD BUS
udaljenosti 0.2 km 2.4 km (15 km optiki) + repeateri
brzina 9,6 kbit/s (kilobit per second) 12 Mbit/s
32 aktivna uesnika (122 sa pasivnima)
prijenos RS 485 serijskom vezom preko oklopljenogtelefonskog kabela ili preko optikog vlakna
metoda pristupa: MULTI MASTER/SLAVE (TOKENPASSING + MASTER/SLAVE)
CC-link
10 Mbit/s brzina prijenosa
baziran na RS485, mrea do 1.2 km/ 13.2 km repeater-ima 64 uesnika (stanica) u mrei vrijeme osvjeavanja
7/21/2019 Mikroprocesorska upravljanja
77/90
77
Do 64 uesnika i do 500 m preko telefonskog kabela
CANopen
U smislu OSI modela CANopen implementira slojnetwork layer te slojeve iznad njega. Nii slojevi datalink i physical layer su na bazi CAN-a ali mogu biti idrugi.
Ethernet
Ethernet 100 Mbps, Gigabit Ethernet (1000BASE)
Brzi Ethernet (HSE) i Real time Ethernet (RTE) sve sevie koriste u industrijskoj sredini radi jednostavnosti,cijene i kompatibilnosti sa nadreenim mreama intranet/Internet. Neovisan o proizvoau.
EtherCAT
Ethernet for Control Automation Technology je otvorenamrea visokih performansi za automatizaciju. Cilj je biorazviti industrijsku mreu sa kratkim vremenom ciklusa-obnavljanja i niskim variranjem vremena (jitter) za boljusinkronizaciju i nisku cijenu.
PROFINET
otvorena mrea za automatizaciju bazirana na Ethernetstandardu i TCP/IP protokolu. Ona predstavlja real-timeEthernet i omoguuje povezivanje industrijskih mrea uzniske trokove.
HART protokol za komuniciranje sa senzorima Razvijen od Rosemount Inc, omoguuje nadzor,
dijagnostiku i konfiguriranje senzora (HighwayAddressable Remote TransducerProtocol)
U Analog/ Digital modu koristi postojee 4-20 mA signalena koji je dodana digitalna informacija (1200 baudFrequency Shift Keying (FSK))
U Multidrop modu koristi samo digitalni prijenos. Do 15senzora spaja se na isti kabel sa signalom 4 mA.
7/21/2019 Mikroprocesorska upravljanja
78/90
78
Mrena arhitektura za automatizaciju industrijskog pogona
Slojevi protokola za automatizaciju industrijskog pogona
7/21/2019 Mikroprocesorska upravljanja
79/90
7/21/2019 Mikroprocesorska upravljanja
80/90
80
Operativni sustavi realnog vremena (Real-timeoperating systems- RTOS)
U irem smislu to su sustavi koji moraju odgovarati na dogaaje u
vanjskom svijetu onim tempom kako se ovi dogaaju (reaktivnisustavi)
Ogranienja realnog vremena:
MEKA (SOFT) npr. zadano maksimalno vrijemeizvoenja posla ili min. frekvencija
TVRDA (HARD) zadano maksimalno vrijeme reakcije
pojedinih raunarskih procesa na vanjski doga
aj(DEADLINE)
Obino postoje prioriteti procesa koji obrauju pojedinedogaaje.
Izvedba je najee takva da se procesi mogu prekidati utoku izvoenja (PREEMPTION).
Procesi se moraju sinkronizirati i razmjenjivati podatke Kod sustava realnog vremena upotrebljivost rezultata
prorauna ovisi o tonosti rezultata ali i o trenutku kad jedobiven
Za programiranje se koriste specijalni jezici (ADA, PEARL,MODULA-2, HIGH INTEGRITY PEARL, REAL-TIMEEUCLID) ili standardni jezici (C) sa ekstenzijama
Primjeri RTOS: QNX, LynxOS, Windows CE
7/21/2019 Mikroprocesorska upravljanja
81/90
81
Pomagala za razvoj programa
EDITOR upis i promjena programskog teksta
ASSEMBLER program za prevoenje programskogteksta (mnemoniki kod) u strojni kod (1:1)
COMPILER program prevodilac. Prevodi tekst pisan uviem jeziku (PASCAL, FORTRAN, C) u strojni (izvrni)kod ili objektni kod. Jedan red programa proizvodi viestrojnih instrukcija
LINKER povezuje jednu ili vie objektnih datoteka istvara izvrni kod
LOADER program koji izvrnu datoteku kopira u radnumemoriju i pokree taj program (dio OS)
DEBUGGER pronalaenje greaka u programu (npr.izvoenjem korak po korak)
SIMULATOR program koji simulira rad nekog fizikogureaja (procesa)
7/21/2019 Mikroprocesorska upravljanja
82/90
82
PROBLEMATIKA RAZVOJA FIRMWARE-a
Firmware je software fiksno ugraen u sustav
Programi za mala raunala esto se razvijaju na velikima(gdje se moe koristiti editor, compiler, assembler, cros-compiler, simulator, emulator), to se zajedno nazivarazvojni sustav
Kako mali sustavi nemaju disk, program treba spremiti uROM ili FLASH memoriju, to je u industrijskim sredinama inajsigurnije
Programirani ROM se prebacuje u malo raunalo i ispita dali program radi kako je planirano
Integrirani mikrokontroleri (MCU) sadre RAM i FLASHmemoriju u koju se moe jednostavno upisati programpreko serijske veze sa razvojnim sustavom.
RAZVOJNI
SUSTAV
EPROMPROGRAMATOR
EPROMEMULATOR
CPUEMULATOR
MI/0
UART ROM
RAM CPU IO
CILJNI SUSTAV (TARGET)
Popularni 8 bit MCU: Intel 8051 i kompatibilni, Atmel AVR (Arduinoplatforma), Microchip Technology PIC, Texas Instruments MSP430
(mala potronja), ARM (32bit MCU)
7/21/2019 Mikroprocesorska upravljanja
83/90
83
Nain razvoja programa
Nivoi programiranja: Nii nivo > Vii nivo
Program u strojnom kodu
Asembler
Vii 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)
Logiko programiranje (LIST, PROLOG), Matematikiprogrami (Matlab), simulacijski (Simulink)
Specijalni jezici, npr. za Real-time, baze podataka, PLC irobote, skriptni jezici (Python), Internet programiranje
Radi se o razliitim pristupima programiranju
Razvoj (Nii nivo > Vii nivo) ide prema sve veem nivouapstrakcije, (orijentacija prema problemu) gdje detaljistroja i operativnog sistema, postaju sve manje vani
Ovakav razvoj zahtijeva bra raunala i s veommemorijom, za rjeenje istog problema u istom vremenuizvoenja
Prednosti vieg nivoa:
Niska cijena razvoja korisnikog programa
Lako odravanje, ponovna upotreba gotovih rjeenja
Prenosivost izvornog programa na drugi stroj
7/21/2019 Mikroprocesorska upravljanja
84/90
84
DODATAK1 - PROGRAMIRANJE
Principi strukturnog programiranja
Strukturno oblikovanje programa
Problem (koji treba biti potpuno definiran) razloi se ulogike cjeline (module i procedure)
Za svaku logiku cjelinu (modul) moraju biti tonodefinirani 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)
7/21/2019 Mikroprocesorska upravljanja
85/90
85
Strukturno programiranje (kodiranje)
Svaki sloeni problem moe se ralaniti na elementarnestrukture:
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
7/21/2019 Mikroprocesorska upravljanja
86/90
86
TOP-DOWN metoda strukturnog programiranja
Uzastopno raslanjivanje problema na sve manje dijelovekoritenjem osnovnih elemenata strukturnog programiranja.
I II III
T F III
II II
FT
T F
T
7/21/2019 Mikroprocesorska upravljanja
87/90
87
Umjesto naredbe GOTO u strukturnom programiranju koriste sedane elementarne strukture te pozivi procedura i funkcija
Svaka logika cjelina programa pretvara se u proceduru (ak ako
se poziva samo jednom)
Svaka procedura moe imati i vlastite varijable koje su nedostupneostalim procedurama i glavnom programu (zatita podataka)
S pozivajuim programom komunicira se preko ulaznih/ izlaznihparametara 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 poimenima
Mogunost rekurzivnog poziva procedure
Programi= strukture podataka + algoritmi
7/21/2019 Mikroprocesorska upravljanja
88/90
88
Programiranje u PASCALU
Blok programa:
BEGINEND
Naredbe se separiraju znakom toka-zarez (;)
Primjer (struktura programa):
PROGRAM ImeCONSTTYPEVAR
PROCEDURE ( );
VAR
BEGIN
END
BEGIN. . .. . .
END.
PROCEDURA je programu malom
moe sadravativlastite PROCEDURE
7/21/2019 Mikroprocesorska upravljanja
89/90
89
Proirenja (EKSTENZIJE) viih programskih jezika
Concurrent Programming (MULTIPROGRAMMING) =vie 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 (CC++)
Programski koncepti za konkurentno programiranje
Konkurentno programiranje na nivou programa rjeava problemkomunikacije i sinkronizacije meu dijelovima programa. Dijelovi se
izvode u vremenskoj paraleli (jedno ili vie procesorski sustavi).
Vie rjeenja :
Semafori (L.W. Dijkstra 1968)
Semafor je varijabla kojom se odreuje vremensko ureenje.Postoje 2 operatora:
P(S) ekaj. Ako je semafor S aktivan (true) pozivajui proces seobustavlja. Inae se S aktivira, a proces nastavlja.
V(S) signal. Ako postoje procesi koji ekaj zbog P(S) onda sejedan od njih proputa, inae semafor se deaktivira (FALSE).
Monitori (Hoare 1974)
Monitor je zajednika struktura podataka koja se moe dosegnutimonitorskim operacijama koje se izvode uz meusobno
iskljuivanje. Zahtjevi za operaciju nad monitorom se spremaju i
7/21/2019 Mikroprocesorska upravljanja
90/90
izvode jedan po jedan. Redoslijed nije specificiran (CONCURRENTPASCAL).
Komuniciranje porukama
Jedan proces alje poruku, drugi je prima. U sistemu s blokiranjem,poiljalac mora ekati dok primalac ne potvrdi prijem.
CSP (HOARE 1978) (COMMUNICATING SEQUENTIALPROCESSES) ovaj princip ujedinjuje komunikaciju isinkronizaciju.
Naredbe: INPUT I OUTPUT. Mehanizam sastajanja (RANDEZ-VOUS). Jedan mora biti spreman da prima, drugi da alje, ako
jedan nije drugi ga eka.
Druga rjeenja: ADA, CONCURRENT-C, OCCAM
Postoji i implementacija u hardware-u (transputeri)
Najbolje je kad se u operativnom sistemu moe specificirati procese
i nain njihovog komuniciranja te koritenja zajedni
kih resursa.
< kraj predavanja >25.9.2013