Katedra Mikroelektroniki i Technik Informatycznych
Politechnika Aódzka
Systemy sterowania
w elektronice przemysłowej
dr inż. Bartosz Pękosławski
Aódz, dn. 1.03.2012
Dane kontaktowe
Adres e-mail: bartoszp@dmcs.pl
Bieżące informacje: www.dmcs.p.lodz.pl/pracownicy/display.do?id=849
Materiały dla studentów: fiona.dmcs.p.lodz.pl/~bartoszp
Godz. przyjęć: wtorki 11:00-12:00,
czwartki 14:00-15:00
2
Plan wykładów
1. Konstrukcja i działanie mikrokontrolerów (rodzina 51 i rodziny PIC/ST/AVR/MSP430).
Współczesne odmiany kontrolera 51 i PIC/ST/AVR oraz ich specjalizowane peryferia.
Asembler mikrokontrolera AVR - mapa pamięci, tryby adresowania, obsługa portów
zewnętrznych.
2. Asembler AVR zapis stałych liczbowych, przegląd wybranych instrukcji,
obsługa stosu, przekazywanie parametrów do podprogramu, obsługa przerwań
3. Asembler AVR obsługa zintegrowanych peryferiów (obsługa timera 0, odmierzanie
czasu za pomocą timera, tryby PWM generowanie przebiegów prostokątnych
o danym współczynniku wypełnienia, obsługa timera 1 i 2, watchdog, przetwornik A/C,
komparator analogowy)
4. Asembler AVR obsługa kontrolerów komunikacji szeregowej (interfejs USART
komunikacja za pomocą RS232, interfejs SPI, interfejs Two-Wire/I2C), interfejs JTAG,
interfejs USB
5. Asembler AVR komunikacja z użytkownikiem (obsługa wyświetlacza
siedmiosegmentowego, alfanumerycznego i graficznego, obsługa klawiatury,
przetwornika piezoelektrycznego)
6. Programowanie mikrokontrolera ATmega w języku C, przegląd bibliotek dla płytek
Kamami ZL15AVR
3
Plan wykładów
7. Metody sterowania i obszary ich zastosowań. Realizacja układów sterowania
z wykorzystaniem układów cyfrowych (układy reprogramowalne i systemy
mikroprocesorowe mikrokontrolery).
8. Podstawowe informacje o systemach pomiarowych. Elementy i układy pomiarowe.
Czujniki, przetworniki wielkości nieelektrycznych stosowane w przemyśle.
9. Elementy wykonawcze w elektronice przemysłowej - podstawowe rodzaje,
zastosowanie, sterowanie.
10.Sterowniki przemysłowe PLC - budowa, zasada działania, możliwości rozszerzeń.
Komputery przemysłowe. Charakterystyka języków programowania stosowanych
w elektronice przemysłowej. Język drabinkowy. Język listy instrukcji.
11.Transmisja danych w zastosowaniach przemysłowych (Profibus, ControlNet, CAN,
MODBUS). Praca sterowników i komputerów przemysłowych w sieci.
12.Integracja sieci przemysłowych. Budowa i zasada działania podstawowych urządzeń
sieciowych stosowanych w przemyśle. Podstawowe algorytmy trasowania
i Quality of Service stosowane w przemyśle.
4
Plan wykładów
13.Idea monitoringu stanu i przebiegu procesu produkcyjnego. Informatyczny system
obsługi produkcji. Przekazywanie wskazników i parametrów produkcji pomiędzy
systemami monitorującymi oraz zbieranie informacji o procesach produkcji
rozproszonych w całym przedsiębiorstwie.
14. Systemy SCADA. Oprogramowanie klasy MES/MOM. Kluczowe parametry
wydajności.
15.Kolokwium zaliczeniowe
5
Literatura
Literatura podstawowa:
1. Pełka R.: Mikrokontrolery, architektura, programowanie, zastosowania.
WKA Warszawa 1999
2. Doliński J.: Mikrokontrolery AVR w praktyce. BTC 2004
3. Legierski T., Wyrwał J.: Programowanie sterowników PLC.
WPK J. Skalmierskiego, Gliwice 1998
4. Kwiecień A.: Analiza przepływu informacji w komputerowych sieciach
przemysłowych, 2002 [dostęp on-line]
Literatura uzupełniająca:
5. Baranowski R.: Mikrokontrolery AVR ATmega w praktyce. BTC 2005
6. Starecki T.: Mikrokontrolery jednoukładowe rodziny 51. Nozomi, Warszawa 1996
7. Jabłoński T., Pawłsiuk K.: Programowanie mikrokontrolerów PIC w języku C.
BTC 2005
8. Solnik W., Zajda Z.: Komputerowe sieci przemysłowe Profibus DP i MPI, OWPW,
Wrocław 2005
9. Kasprzyk J.: Programowanie sterowników przemysłowych, WNT,
6
Warszawa 2006
Ocena końcowa
50% kolokwium zaliczające na wykładzie,
50% ocena z laboratorium
7
Laboratorium
Prowadzący: mgr inż. Paweł Marciniak
Laboratorium: ZK
Zestawy mikroprocesorowe + emulatory:
Kamami ZL15AVR + JTAG ICE MkII
Środowisko: AVR Studio
Zasoby zestawów:
% mikrokontroler ATmega32
% 4-przyciskowa klawiatura
% 5-pozycyjny joystick
% 8 diod LED
% czterocyfrowy wyświetlacz siedmiosegmentowy LED
% wyświetlacz LCD 2x16 znaków / graficzny wyświetlacz LCD 128x64 pikseli
% układ zegara M41T00 (STMicroelectronics) wraz z podstawką na baterię CR2032
% układ termometru TC77 (Microchip) pracujący na magistrali SPI
% czujnik temperatury MCP9701 (Microchip)
% odbiornik podczerwieni TSOP31236 (36 kHz)
% przetwornik piezoelektryczny
% złącze dla modułu USB<->UART
% złącza programatora ISP i JTAG
% złącze przeznaczone do zasilania zestawu z portu USB komputera
% złącze DB9 wraz z konwerterem napięć MAX232 do realizacji transmisji RS232
% zestaw złącz szpilkowych z wszystkimi użytecznymi sygnałami mikrokontrolera oraz układów peryferyjnych
% potencjometr umożliwiający podawanie napięcia z zakresu 0...5 V na wejście przetwornika analogowo-
8
cyfrowego wbudowanego w mikrokontroler
Cele i efekty
Znajomość współczesnych metod wykorzystania techniki cyfrowej
w aplikacjach systemów sterowania, kontroli, nadzoru,
ze szczególnym uwzględnieniem techniki mikroprocesorowej
i elektronicznych elementów mocy; elementy czujnikowe
i wykonawcze w zastosowaniach przemysłowych.
Znajomość metod sterowania procesów przemysłowych z naciskiem na
zastosowania sterowników PLC, sztywnej logiki realizowanej na różnych
elementach wykonawczych; komputery przemysłowe, sterowniki PLC
oraz sieci przemysłowe.
Znajomość w stopniu podstawowym zagadnień dotyczących komputerów
przemysłowych z uwzględnieniem architektury oraz zastosowanie
układów programowalnych w procesach przemysłowych.
9
Mikrokontroler
Mikrokontroler - układ scalony mikroprocesora
z wbudowanymi dodatkowymi układami peryferyjnymi
(autonomiczny system mikroprocesorowy)
Inna nazwa: mikrokomputer jednoukładowy
Zastosowanie mikrokontrolerów:
sterowanie urządzeniami
Mikroprocesor scalony, sekwencyjny układ cyfrowy
działający zgodnie z pobieranymi z pamięci
i interpretowanymi rozkazami (programem)
10
Rys historyczny
Pierwsze mikroprocesory:
F14 CADC (F-14A Central Air Data Computer, 1970),
Intel 4004 (1971),
Intel 8008 (1972),
National Semiconductor IPC-16A/520 PACE (1975),
Motorola MC68000 (1979).
Pierwsze mikrokontrolery:
Texas Instruments TMS1000 (1971),
Intel 4048 (1975).
11
Struktura mikrokontrolera
Główne elementy:
jednostka arytmetyczno-logiczna (ALU),
układ sterowania (CU/dekoder rozkazów),
rejestry (danych, adresowe, akumulator, PC, IR, SP),
pamięć danych (RAM),
pamięć programu,
porty wejścia-wyjścia (I/O),
wewnętrzne układy peryferyjne.
12
Układy peryferyjne
układy czasowo-licznikowe (timery),
kontrolery transmisji szeregowej (UART, SPI, I2C, USB, itd.),
przetworniki A/C i C/A,
zegar czasu rzeczywistego (RTC),
układ kontroli poprawnej pracy (watchdog),
czujniki wielkości nieelektrycznych (np. czujniki temperatury),
układy PWM,
komparatory analogowe,
transceivery radiowe,
dekodery MP3,
sterowniki wyświetlaczy LCD,
itd.
13
Inne elementy
systemu mikroprocesorowego
pamięci zewnętrzne,
przełączniki / klawiatury,
diody LED / wyświetlacze,
sygnalizatory (przetworniki piezoelektryczne),
czujniki zewnętrzne,
elementy wykonawcze (silniki, przekazniki, zawory itp.),
zewnętrzne układy peryferyjne,
układy taktujące.
14
Układy taktujące
rezonator kwarcowy lub ceramiczny,
wewnętrzny układ taktujący (oscylator RC, PLL),
zewnętrzne zródła sygnału zegarowego.
15
Programowanie
fabryczne (pamięć stała ROM),
w programatorze (pamięć EPROM, EEPROM, Flash),
w systemie (ISP),
programowanie zewnętrznej pamięci.
16
Języki programowania
kod maszynowy zera i jedynki, np.
001000 10101
10100
opcode operand 1
operand 2
asembler język niskiego poziomu, rozkazy zapisane
w postaci symboli (mnemoników), np.
ADD R20, R21
języki wysokiego poziomu (głównie C), np.
c = a + b;
17
Rodzaje mikroprocesorów
i mikrokontrolerów
Długość słowa (rozmiar szyny danych i rejestrów):
4 bitowe,
8 bitowe,
16 bitowe,
32 bitowe,
64 bitowe.
Rodzaj architektury:
von Neumanna,
harwardzka,
zmodyfikowana harwardzka.
Złożoność listy rozkazów (zestawu instrukcji):
CISC,
RISC,
MISC.
18
Architektury mikroprocesorów
i mikrokontrolerów
Architektura Harvard: Architektura von Neumanna:
ALU I/O ALU I/O
Pamięć
programu
i danych
(wspólna)
Pamięć Pamięć
CU CU
programu danych
Zmodyfikowana architektura harwardzka osobna pamięć programu i danych,
ale wspólna przestrzeń adresowa
Cechy/zalety architektury RISC:
mniejsza liczba rozkazów (prostszy dekoder rozkazów),
brak mikrokodu i prostsze instrukcje (instrukcje wykonywane w mniejszej liczbie
cykli maszynowych - wydajność),
mniej trybów adresowania (prostszy w pisaniu kod),
mniej odwołań do pamięci dzięki dużej liczbie rejestrów roboczych (wydajność).
19
Architektura big endian / little endian
Kolejność zapisu i przesyłania bajtów:
od najstarszego do najmłodszego (big endian),
od najmłodszego do najstarszego (little endian).
Pamięć:
Rejestr:
0B 0D
0A 0C
0D 0A
rosnące
0C 0B
adresy
0B 0C
0A 0D
Big-endian Little-endian
20
Architektura potokowa
Instrukcja 1:
ID ME
IF EX WB
ID ME
EX WB
IF
Instrukcja 2:
ID ME
IF EX WB
Instrukcja 3:
ID ME
IF EX WB
Instrukcja 4:
czas
IF pobranie instrukcji, ID - dekodowanie instrukcji, EX wykonanie instrukcji (ALU),
ME zapis do pamięci, WB -zapis do pliku rejestrów
21
Rodziny mikrokontrolerów
Wielu producentów / wiele rodzin, m.in.:
Atmel:
AVR (8 bitowe),
ST Microelectronics:
AVR32 (32 bitowe).
ST (8 bitowe / 16 bitowe).
Freescale (Motorola):
Texas Instruments:
68HC11 (8 bitowe),
MSP430 (16 bitowe),
S08 (8 bitowe),
C2000 (32 bitowe),
ColdFire (32 bitowe).
Stellaris (32 bitowe).
Intel (i wielu innych producentów):
Toshiba:
MCS-51 (8 bitowe).
TLCS (8 bitowe / 16 bitowe).
Hitachi:
Zilog:
H8 (8 bitowe / 16 bitowe),
eZ80 (8 bitowe),
SuperH (32 bitowe).
eZ8 (16 bitowe).
Microchip:
ARM (różni producenci):
PIC (8 bitowe / 16 bitowe / 32 bitowe)
ARM7 (32 bitowe),
NEC:
Cortex-M3 (32 bitowe).
V850 (32 bitowe).
22
Rodzina MCS-51
Zmodyfikowana architektura
harwardzka, CISC
8-bitowe rejestry i szyna danych
16-bitowa szyna adresowa
128B RAM
akumulator i 8 rejestrów R0-R7
2 timery 16-bitowe
12 cykli zegara/cykl maszynowy
liczne wersje ulepszone
i rozbudowane, np.
ADuC847 (Analog Devices)
23
Rodzina PIC
PIC10
Architektura harwardzka, RISC
8-bitowe rejestry i szyna danych
12-bitowa szyna adresowa
akumulator, 32 rejestry 8-bitowe
timer 8-bitowy
2 cykle zegara/cykl maszynowy
komparator napięcia
24
Rodzina ST
STM8
Architektura harwardzka, CISC
8-bitowa szyna danych
32-bitowa szyna adresowa
6 rejestrów (ACC, PC, SP)
timery 8- i 16-bitowe
1 cykl zegara/cykl maszynowy
10-bitowy przetwornik A/C
25
Rodzina MSP430
Architektura von Neumanna?,
RISC
16-bitowa szyna danych
16-/20-bitowa szyna adresowa
16 rejestrów
(12 ogólnego przeznaczenia)
timery 16-bitowe
1 cykl zegara/cykl maszynowy
10-/12- lub 16-bitowy
przetwornik A/C
26
Rodzina AVR 8-bit
Architektura harwardzka, RISC
8-bitowe rejestry i szyna danych
16-bitowa szyna adresowa
32 rejestry R0-R31
timery 8- i 16-bitowe
1 cykl zegara/cykl maszynowy
10-bitowy przetwornik A/C
ISP
27
Rodzina AVR 8-bit
Rodzaje:
ATtiny
0,5 8 kB pamięci programu
obudowy 6- do 32- pinowe
ograniczone zasoby
niski pobór mocy
ATmega
4 256 kB pamięci programu
obudowy 28- do 100- pinowe
rozbudowany zestaw instrukcji
rozbudowane zasoby
28
ATmega 32
Pamięć Flash, SRAM, EEPROM
USART, SPI
Przetwornik A/C
Timery
PWM
Komparator analogowy
JTAG
Vcc = 4,5 5,5 V
(ATmega32L : 2,7 5,5 V)
f = 0 16 MHz
(ATmega32L : 0 8 MHz)
29
ATmega 32 - wyprowadzenia
30
Mapa pamięci
ATmega 32
Flash
16384 * 2B = 32kB
0x3FFF
RAM
2144B
EEPROM
1024B = 1kB
0x085F
0x03FF
0x0000 0x0000 0x0000
31
Rejestry
32 rejestry robocze:
R0 R31
64 rejestry specjalne
32
Rejestry robocze wskaznikowe
3 rejestry wskaznikowe:
33
Rejestry specjalne
Rejestr statusowy SREG:
I Global Interrupt Enable; T Bit Copy Storage; H Half Carry Flag; S Sign Bit
V Two s Complement Overflow Flag; N Negative Flag; Z Zero Flag; C Carry Flag
Wskaznik stosu SP:
34
Asembler - rodzaje instrukcji
instrukcje przesyłu danych,
instrukcje arytmetyczne,
instrukcje operacji bitowych,
instrukcje porównań,
instrukcje skoków bezwarunkowych,
instrukcje skoków i powrotów z podprogramów,
instrukcje skoków warunkowych,
instrukcje dodatkowe.
35
Asembler struktura programu
.include m32def.inc
.def moj_rejestr=R18
.equ stala=10
dyrektywy
...
.cseg
.org 100
LDI moj_rejestr,0x23
inicjalizacja
...
;komentarz
loop:
pętla główna
...
RJMP loop
36
Asembler makra i podprogramy
delay2:
.macro delay1
NOP
NOP
NOP
NOP
NOP
NOP
RET
NOP
.endmacro
....
....
RCALL delay2
delay1
....
....
37
Asembler instrukcje warunkowe
CASE r1 OF 0, 1, 2, ...
TST r1
BREQ case0
DEC r1
IF r1 = 0 THEN i1 ELSE i2
BREQ case1
DEC r1
TST r1
BREQ case2
BRNE else
....
i1
RJMP exit
RJMP exit
case0: i1
else:
RJMP exit
i2
case1: i2
exit:
RJMP exit
case2: i3
RJMP exit
....
38
exit:
Asembler pętle
FOR r1 = 0 TO N
WHILE r1 <> 0 DO ...
CLR r1
next: TST r1 next:
BREQ exit ....
INC r1
...
CPI r1, N
RJMP next
BRNE next
exit:
exit:
DO ... WHILE r1 <> 0
FOR r1 = N DOWNTO 0
next:
LDI r1, N
....
next:
TST r1
....
BRNE next
DEC r1
exit:
BRNE next
exit:
39
Tryby adresowania
Adresowanie natychmiastowe,
Adresowanie bezpośrednie,
Adresowanie bezpośrednie rejestrowe,
Adresowanie pośrednie rejestrowe,
Adresowanie pośrednie rejestrowe z przesunięciem,
Adresowanie pośrednie rejestrowe z predekrementacją,
Adresowanie pośrednie rejestrowe z postinkrementacją,
Adresowanie pamięci programu,
Adresowanie pośrednie pamięci programu,
Adresowanie względne pamięci programu.
40
Adresowanie natychmiastowe
Drugi operand wartość natychmiastowa w argumencie
LDI r1, n - zapis wartości n do rejestru r1 (R16 R31)
SUBI r1, n
ANDI r1, n
ORI r1, n
CPI r1, n
ADIW rd, n (rd = R24, R26, R28, R30)
41
Adresowanie bezpośrednie
Argument (liczba) jest adresem efektywnym operandu w pamięci
danych
STS addr, r1 - zapisanie wartości rejestru r1 pod adres addr
LDS r1, addr
42
Adresowanie bezpośrednie rejestrowe
Argumenty są nazwami rejestrów, w których są operandy
INC r1
DEC r1
CLR r1
SER r1
ADD r1, r2
SUB r1, r2
AND r1, r2
OR r1, r2
EOR r1, r2
CP r1, r2
MOV r1, r2
....
43
Adresowanie pośrednie rejestrowe
Adres efektywny operandu znajduje się w rejestrze wskaznikowym
LD r1, X
LD r1, Y
LD r1, Z
ST X, r1
ST Y, r1
ST Z, r1
44
Adresowanie pośrednie rejestrowe
z przesunięciem
Adres efektywny operandu = adres z rejestru wskaznikowego + przesunięcie
LD r1, Y+dis
LD r1, Z+dis
ST Y+dis, r1
ST Z+dis, r1
45
Adresowanie pośrednie rejestrowe
z predekrementacją
Adres efektywny operandu z rejestru wskaznikowego jest zmniejszany o 1
przed wykonaniem operacji
LD r1, -X
LD r1, -Y
LD r1, -Z
ST -X, r1
ST -Y, r1
ST -Z, r1
46
Adresowanie pośrednie rejestrowe
z postinkrementacją
Adres efektywny operandu z rejestru wskaznikowego jest zwiększany o 1
po wykonaniu operacji
LD r1, X+
LD r1, Y+
LD r1, Z+
ST X+, r1
ST Y+, r1
ST Z+, r1
47
Adresowanie pamięci programu
LPM - kopiuje starszy lub młodszy bajt z pamięci programu spod
adresu wskazywanego przez Z
48
Adresowanie pośrednie
pamięci programu
IJMP - załadowanie do PC wartości z rejestru Z ; bez powrotu
ICALL z możliwością powrotu (RET)
49
Adresowanie względne
pamięci programu
RJMP label - załadowanie do PC adresu będącego sumą adresu
bieżącego oraz różnicy adresu bieżącego i adresu
etykiety; bez powrotu
RCALL label - z możliwością powrotu (RET)
50
Obsługa portów I/O
x = A, B, C, D (port)
Rejestry:
DDRx - kierunek wejście (bit=0) / wyjście (bit=1)
PINx - stan wejść (tylko odczyt)
PORTx - stan wyjść
Instrukcje:
IN r1, PINx - odczyt stanu wejść do r1
OUT PORTx, r1 - ustawienie stanu wyjść zgodnie z r1
SBI PORTx, n - stan wysoki na wyjściu n
CBI PORTx, n - stan niski na wyjściu n
51
Dziękuję za uwagę.
Wyszukiwarka
Podobne podstrony:
BP SSEP wyklad5BP SSEP wyklad7BP SSEP wyklad4BP SSEP wyklad2BP SSEP wyklad3BP SSEP wyklad11BP SSEP wyklad13Sieci komputerowe wyklady dr FurtakWykład 05 Opadanie i fluidyzacjaWYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznejmo3 wykladyJJZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3Wyklad 2 PNOP 08 9 zaocznewięcej podobnych podstron