BP SSEP wyklad1

background image

Systemy sterowania

w elektronice przemysłowej

dr inż. Bartosz Pękosławski

Łódź, dn. 1.03.2012

Katedra Mikroelektroniki i Technik Informatycznych

Politechnika Łódzka

background image

Dane kontaktowe

2

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

background image

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/I

2

C), 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

Plan wykładów

3

background image

Plan wykładów

4

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.

background image

Plan wykładów

5

13.Idea monitoringu stanu i przebiegu procesu produkcyjnego. Informatyczny system

obsługi produkcji. Przekazywanie wskaźnikó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

background image

6

Literatura

Literatura podstawowa:

1. Pełka R.: Mikrokontrolery, architektura, programowanie, zastosowania.

WKŁ 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,

Warszawa 2006

background image

7

Ocena końcowa

50% kolokwium zaliczające na wykładzie,

50% ocena z laboratorium

background image

8

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-

cyfrowego wbudowanego w mikrokontroler

background image

9

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.

background image

10

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)

background image

11

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).

background image

12

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.

background image

13

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.

background image

14

Inne elementy

systemu mikroprocesorowego

pamięci zewnętrzne,
przełączniki /

klawiatury,

diody LED / wyświetlacze,
sygnalizatory (przetworniki piezoelektryczne),
czujniki zewnętrzne,
elementy wykonawcze (silniki, przekaźniki, zawory itp.),
zewnętrzne układy peryferyjne,
układy taktujące.

background image

15

Układy taktujące

rezonator kwarcowy lub ceramiczny,

wewnętrzny układ taktujący (oscylator RC, PLL),

zewnętrzne źródła sygnału zegarowego.

background image

16

Programowanie

fabryczne (pamięć stała ROM),
w programatorze (pamięć EPROM, EEPROM, Flash),
w systemie (ISP),
programowanie zewnętrznej pamięci.

background image

17

Języki programowania

kod maszynowy – zera i jedynki, np.

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;

001000

10100

10101

opcode

operand 1 operand 2

background image

18

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.

background image

19

Architektury mikroprocesorów

i mikrokontrolerów

Architektura Harvard:

Architektura von Neumanna:

CU

ALU

I/O

Pamięć
programu

Pamięć
danych

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ść).

CU

ALU

I/O

Pamięć
programu
i danych
(wspólna)

Zmodyfikowana architektura harwardzka – osobna pamięć programu i danych,
ale wspólna przestrzeń adresowa

background image

20

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).

Rejestr:

Pamięć:

Big-endian

Little-endian

0A

0B

0C

0D

rosnące
adresy

0D

0C

0B

0A

0A 0B 0C 0D

background image

21

Architektura potokowa

Instrukcja 1:

Instrukcja 2:

Instrukcja 3:

Instrukcja 4:

IF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

czas

IF – pobranie instrukcji, ID - dekodowanie instrukcji, EX – wykonanie instrukcji (ALU),
ME – zapis do pamięci, WB -zapis do pliku rejestrów

background image

22

Rodziny mikrokontrolerów

Wielu producentów / wiele rodzin, m.in.:

Atmel:

AVR (8 bitowe),

AVR32 (32 bitowe).

Freescale (Motorola):

68HC11 (8 bitowe),
S08 (8 bitowe),
ColdFire (32 bitowe).

Intel (i wielu innych producentów):

MCS-51 (8 bitowe).

Hitachi:

H8 (8 bitowe / 16 bitowe),
SuperH (32 bitowe).

Microchip:

PIC (8 bitowe / 16 bitowe / 32 bitowe)

NEC:

V850 (32 bitowe).

ST Microelectronics:

ST (8 bitowe / 16 bitowe).

Texas Instruments:

MSP430 (16 bitowe),
C2000 (32 bitowe),
Stellaris (32 bitowe).

Toshiba:

TLCS (8 bitowe / 16 bitowe).

Zilog:

eZ80 (8 bitowe),
eZ8 (16 bitowe).

ARM (różni producenci):

ARM7 (32 bitowe),
Cortex-M3 (32 bitowe).

background image

23

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)

background image

24

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

background image

25

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

background image

26

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

background image

27

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

background image

28

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

background image

29

ATmega 32

Vcc = 4,5 – 5,5 V
(ATmega32L : 2,7 – 5,5 V)

f = 0 – 16 MHz
(ATmega32L : 0 – 8 MHz)

Pamięć Flash, SRAM, EEPROM
USART, SPI
Przetwornik A/C
Timery
PWM
Komparator analogowy
JTAG

background image

30

ATmega 32 - wyprowadzenia

background image

31

Mapa pamięci

Flash

16384 * 2B = 32kB

RAM

2144B

ATmega 32

EEPROM

1024B = 1kB

0x0000

0x0000

0x0000

0x3FFF

0x085F

0x03FF

background image

32

Rejestry

32 rejestry robocze:
R0 – R31

64 rejestry specjalne

background image

33

Rejestry robocze wskaźnikowe

3 rejestry wskaźnikowe:

background image

34

Rejestry specjalne

Rejestr statusowy SREG:

Wskaźnik stosu SP:

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

background image

35

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.

background image

36

Asembler – struktura programu

.include ”m32def.inc”
.def moj_rejestr=R18
.equ stala=10
...
.cseg
.org 100

LDI moj_rejestr,0x23

...

;komentarz

loop:
...

RJMP loop

inicjalizacja

dyrektywy

pętla główna

background image

37

Asembler – makra i podprogramy

.macro delay1

NOP
NOP
NOP
NOP

.endmacro

....
delay1
....

delay2:

NOP
NOP
NOP
RET

....
RCALL delay2
....

background image

38

Asembler – instrukcje warunkowe

IF r1 = 0 THEN i1 ELSE i2

TST r1
BRNE else
i1
RJMP exit

else:

i2

exit:

CASE r1 OF 0, 1, 2, ...

TST r1
BREQ case0
DEC r1
BREQ case1
DEC r1
BREQ case2
....
RJMP exit

case0:

i1
RJMP exit

case1: i2

RJMP exit

case2:

i3
RJMP exit
....

exit:

background image

39

Asembler – pętle

WHILE r1 <> 0 DO ...

next: TST r1

BREQ exit
...
RJMP next

exit:

DO ... WHILE r1 <> 0

next:

....
TST r1
BRNE next

exit:

FOR r1 = 0 TO N

CLR r1

next:

....
INC r1
CPI r1, N
BRNE next

exit:

FOR r1 = N DOWNTO 0

LDI r1, N

next:

....
DEC r1
BRNE next

exit:

background image

40

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.

background image

41

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)

background image

42

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

background image

43

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
....

background image

44

Adresowanie pośrednie rejestrowe

Adres efektywny operandu znajduje się w rejestrze wskaźnikowym

LD r1, X
LD r1, Y
LD r1, Z
ST X, r1
ST Y, r1
ST Z, r1

background image

45

Adresowanie pośrednie rejestrowe

z przesunięciem

Adres efektywny operandu = adres z rejestru wskaźnikowego + przesunięcie

LD r1, Y+dis
LD r1, Z+dis
ST Y+dis, r1
ST Z+dis, r1

background image

46

Adresowanie pośrednie rejestrowe

z predekrementacją

Adres efektywny operandu z rejestru wskaźnikowego 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

background image

47

Adresowanie pośrednie rejestrowe

z postinkrementacją

Adres efektywny operandu z rejestru wskaźnikowego 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

background image

48

Adresowanie pamięci programu

LPM

- kopiuje starszy lub młodszy bajt z pamięci programu spod

adresu wskazywanego przez Z

background image

49

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)

background image

50

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)

background image

51

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

background image

Dziękuję za uwagę.


Document Outline


Wyszukiwarka

Podobne podstrony:
BP SSEP wyklad6 id 92513 Nieznany (2)
BP SSEP wyklad4
BP SSEP wyklad11
BP SSEP wyklad2
BP SSEP wyklad5
BP SSEP wyklad7 id 92514 Nieznany
BP SSEP wyklad13
BP SSEP wyklad6 id 92513 Nieznany (2)
BP SSEP wyklad4
Zal-lab-BP-zaoczne, politechnika lubelska, budownictwo, 3 rok, semestr 5, fizyka budowli, wykład
Wykład 2 BP PLAN FINANSOWY, ZASADY SPORZĄDZANIA PROGNOZ FINANSOWYCH
Wykład 3 BP PLAN FINANSOWY – PROGNOZA PRZEPŁYWÓW PIENIĘŻNYCH
Wykład 5 BP PREZENTACJA PRZEDSIĘBIROSTWA I PLANOWANEGO PRZEDSIĘWZIĘCIA W BIZNESPLANIE
Wykład 1 BP PLANOWANIE W PRZEDSIĘBIORSTWIE, STRUKTURA I FUNKCJE BIZNESPLANU
tematyka wykładów bp czII regulacja, Studia, Budownictwo wodne I
Wykład 6 BP PLAN MARKETINGOWY
Wykład 8 BP OCENA OPŁACALNOŚCI PRZEDSIĘWZIĘCIA BIZNESOWEGO
Wykład 7 BP PLAN DZIAŁALNOŚCI OPERACYJNEJI PLAN ZASOBÓW LUDZKICH
Zal-lab-BP-zaoczne, politechnika lubelska, budownictwo, 3 rok, semestr 5, fizyka budowli, wykład

więcej podobnych podstron