Systemy wbudowane

Transkrypt

Systemy wbudowane
Systemy wbudowane
Informacje organizacyjne
Podstawowe pojęcia związane z systemami
sterującymi.
Wprowadzenie do systemów wbudowanych
Dr inż. Adam Klimowicz
Opracowano na podstawie materiałów prof. A.Urbaniaka: http://wazniak.mimuw.edu.pl/index.php?title=Systemy_wbudowane
Plan wykładu
●
●
●
●
●
●
●
Podstawowe pojęcia związane ze sterowaniem i
systemami wbudowanymi.
Mikrokontrolery
Mikrokontroler PIC16F877A
Sterowanie urządzeniami peryferyjnymi: diody,
wyświetlacze LED, LCD, przyciski i klawiatura,
przetwornik A/C,
Układy programowalne CPLD i FPGA i ich
zastosowanie w systemach wbudowanych
Systemy operacyjne czasu rzeczywistego.
Niezawodność systemów wbudowanych.
Literatura
1. Pietraszek S., Mikroprocesory jednoukładowe PIC, Helion 2002
2. Jabłoński T., Mikrokontrolery PIC16F8x w praktyce: architektura, programowanie,
aplikacje, Wydaw. BTC, Warszawa 2002.
3. Jabłoński T., Pławsiuk K., Programowanie mikrokontrolerów PIC w języku C, Wydaw.
BTC, Warszawa 2005.
4. Pełka R., Mikrokontrolery - architektura, programowanie, zastosowanie. WKŁ,
Warszawa 1999.
5. Łuba T., Zbierzchowski B. Komputerowe projektowanie układów cyfrowych. – WKŁ,
2000.
6. Pasierbiński J., Zbysiński P. Układy programowalne w praktyce. - WKŁ, 2002.
7. Hajduk Z. Wprowadzenie do języka Verilog, BTC, Legionowo 2009
8. Wilmshurst T. Designing embedded systems with PIC microcontrollers. Principles and
applications. – Oxford, Elsevier Science, UK. – 2007.
9. Zainalabedin N. Embedded Core Design with FPGAs. – 2007
10. Dorf R. C. Systems, controls, embedded systems, energy, and machines - 2006
11. Vahid F. Embedded system design : a unified hardware/software introduction - 2002
12. Peckol J.K.: Embedded Systems: A Contemporary Design Tool, J. Wiley & Sons,
2008
Materiały
http://degra.pb.bialystok.pl/~adam/dydaktyk.html
lub
GOOGLE: Adam Klimowicz
System wbudowany
Specyficzna forma wykorzystania
specjalizowanego systemu komputerowego
(mikroprocesorowego) do celów sterowania
obiektami poprzez umieszczenie systemu
sterowania trwale połączonego z danym
obiektem i wyposażonego w dedykowane
oprogramowanie realizujące żądane funkcje.
Sterowanie, automatyzacja
STEROWANIE
Przez sterowanie rozumie się celowe oddziaływanie na
przebieg procesów technologicznych, biologicznych,
ekonomicznych czy społecznych.
Przez sterowanie automatyczne będziemy rozumieli
celowe oddziaływanie na przebieg procesów za pomocą
wyspecjalizowanych urządzeń technicznych zwanych
regulatorami.
AUTOMATYZACJA
Pod pojęciem automatyzacji rozumie się proces
wprowadzania zasad i metod automatyki i sterowania do
określonej dziedziny działalności człowieka.
Sterowanie w układzie otwartym
Wielkości
wejściowe
sterujące
Obiekt (proces)
Wielkości
wyjściowe
sterowane
Proces sterowania wymaga wyznaczenia takich wielkości sterujących,
aby osiągnąć oczekiwane wartości wielkości sterowanych.
Takie sterowanie jest charakterystyczne dla systemów, w których efekty
oddziaływań nie są natychmiast widoczne (systemy gospodarcze,
społeczne, środowiskowe).
W takich przypadkach oczekiwanie na efekty sterowania może być
bardzo długie.
Otwarty układ sterowania
x
Urządzenie
sterujące
u
Obiekt (proces)
sterowania
y
x – wielkość zadana
u – wielkość sterująca
y – wielkość sterowana
Sterowanie w strukturze otwartej (w układzie otwartym) charakteryzuje się
przepływem sygnału od WEJŚCIA układu do WYJŚCIA, przy czym sygnał
sterujący u jest określony przez urządzenie sterujące realizujące program
sterowania.
Nie występuje w tej strukturze możliwość bezpośredniej obserwacji efektów
sterowania.
Informacja o tym jak wielkość sterująca x wpłynęła na wielkość sterowaną y
uzyskiwana jest po dłuższym okresie obserwacji.
Taki rodzaj sterowania charakteryzuje systemy zarządzania przedsiębiorstwem
oraz sterowanie procesami gospodarczymi i ekonomicznymi.
Sterowanie w układzie
zamkniętym
Wielkości
wejściowe
sterujące
Oddziaływanie
Obiekt (proces)
Reguła sterowania
Wielkości
wyjściowe
sterowane
Pomiary
Jeżeli ograniczymy nasze rozważania do systemów technicznych, w których możemy
zaobserwować efekty oddziaływania na proces i „na bieżąco” korygować oddziaływanie,
to wówczas mówimy o sterowaniu w układzie zamkniętym.
Mamy wówczas do czynienia z tak zwaną pętlą sterowania lub ze sprzężeniem zwrotnym.
Zamknięty układ sterowania
x
e
-
Urządzenie
sterujące
u
Obiekt (proces)
sterowania
y
e – uchyb regulacji
Sterowanie w strukturze zamkniętej (w układzie zamkniętym) charakteryzuje się
porównywaniem sygnału wyjściowego y z sygnałem zadanym x. Porównanie to jest
realizowane przez ujemne sprzężenie zwrotne.
Praca zamkniętego układu regulacji polega na reagowaniu na zmianę sygnału wyjściowego
y (wywołaną np. zakłóceniem pracy obiektu czy urządzenia sterującego) przez wyznaczanie
sygnału uchybu e.
Sygnał uchybu oddziałuje na regulator, którego zadaniem jest wykształcenie sygnału
sterującego obiektem regulacji w taki sposób, aby uzyskać ponownie zerową wartość
uchybu.
Węzły w układzie sterowania
Węzeł zaczepowy pozwala na realizację funkcji pobrania sygnału w celu
przekazania go do innego miejsca układu regulacji. Ważną cechą węzła
zaczepowego jest to, że pobranie sygnału nie zmienia wartości sygnału w
torze, w którym dany "zaczep" jest dokonany. Na przykład, sygnał y może
być przekazany do dalszego przetwarzania, a równocześnie jest
pobierany w celu porównania z wartością zadaną.
Ta ostatnia czynność jest realizowana w węźle sumacyjnym. Innymi
słowy, węzeł sumacyjny realizuje operację sumy sygnałów wchodzących
do węzła. Sygnał wypadkowy (wyjściowy z węzła) może być tylko jeden i
jest oznaczony strzałką wychodzącą z węzła.
Klasyfikacja układów
sterowania
Kryteria klasyfikacji:
1) liniowość,
2) sposób przekazywania informacji w układzie,
3) liczba wielkości regulowanych,
4) sposób wyrażenia zadania sterowania,
5) rodzaj aparatury sterującej.
Układy liniowe i nieliniowe
Układy liniowe zawierają wyłącznie elementy liniowe, tzn. takie, których
charakterystyki statyczne są liniami prostymi, zaś własności dynamiczne opisują
liniowe równania różniczkowe zwyczajne, całkowe, różnicowe lub algebraiczne.
Układy liniowe spełniają zasadę superpozycji, co oznacza, że w przypadku złożonych
wymuszeń analiza układu może być przeprowadzona oddzielnie dla każdego z nich, a
końcowy wynik można uzyskać na drodze superpozycji wyników cząstkowych.
W praktyce większość elementów nie spełnia wymogów liniowości, lecz jeśli elementy
pracują w wąskim zakresie zmian (wokół pewnego punktu pracy), to charakterystyki
tych elementów można traktować jako prostoliniowe w otoczeniu punktu pracy.
Układy nieliniowe to takie, które zawierają co najmniej jeden element nieliniowy. Do
analizy układów nieliniowych stosuje się metody pozwalające uwzględnić różne rodzaje
występujących nieliniowości.
Dokładne metody analizy są bardzo złożone i dlatego najczęściej stosuje się metody
przybliżone.
Często dokonuje się linearyzacji charakterystyk w otoczeniu punktu pracy zakładając
pewne uproszczenia i licząc się z niedokładnością takiej analizy. Takie uproszczenie
opisu układów nie zawsze jest jednak możliwe i może prowadzić do znacznych błędów.
Układy ciągłe i dyskretne
Ciągłe układy sterowania - wszystkie sygnały są opisane
funkcjami ciągłymi w czasie oraz funkcje te mogą przyjmować
wszystkie wartości mieszczące się w przedziale ich zmienności.
Dyskretne układy sterowania mają przynajmniej jeden element
działający w sposób dyskretny, tzn. że sygnały na wyjściu tego
elementu mogą przyjmować tylko niektóre wybrane wartości
(opisane np. funkcją schodkową) lub sygnały występują w
określonych momentach czasu.
W tym ostatnim przypadku mamy do czynienia z tzw. układami
impulsowymi.
Układy jedno- i wielowymiarowe
Jeżeli w układzie sterowania występuje tylko jedna wielkość
regulowana, to mówimy o układzie jednowymiarowym;
jeśli więcej, to mówimy o układzie wielowymiarowym.
Niekiedy wielowymiarowy układ sterowania udaje się rozdzielić na
kilka układów jednowymiarowych, szczególnie wówczas, gdy
wzajemny wpływ poszczególnych wielkości regulowanych jest
znikomy.
Gdy wzajemnego wpływu wielkości regulowanych na siebie nie da
się pominąć, dokonujemy analizy układu za pomocą metod
sterowania wielowymiarowego, których stosowanie jest o wiele
trudniejsze i z reguły mniej efektywne.
Cyfrowe systemy sterujące
Cyfrowy system automatyki (CSA), Komputerowy system
sterowania (KSS), Komputerowy układ automatyki (KUA),
Mikrokomputerowy system sterowania (MSS)
•sprzęt + oprogramowanie
•funkcje:
•zbieranie wartości zmiennych procesowych
•analiza i dokumentacja przebiegu procesu
•przetwarzanie zbieranych zmiennych na decyzje
zapewniające osiągnięcie celu procesu
•wypracowanie decyzji i oddziaływanie na proces
•realizacja łączności: operator – proces
•testowanie poprawności funkcjonowania własnych
układów
Zadania komputerowego
systemu sterującego
Optymalizacja
Komunikacja
z operatorem
Regulacja
Obsługa
alarmów
Sterowanie
sekwencyjne
Proces
(obiekt)
Sygnały binarne
Sygnały alarmowe
Sygnały pomiarowe ciągłe
Struktura sprzętowa komputerowego
systemu sterowania
Pamięci zewnętrzne
Proces sterowany
Procesor
Pamięć
operacyjna
Urządzenie
sterujące
Jednostka
centralna
ALU
Kanał we/wy
Urządzenia zewnętrzne do wprowadzania
i wyprowadzania informacji
KANAŁ AUTOMATYKI
Kanał we/wy
Procesowe
urządzenia
peryferyjne
Klasyfikacja KSS ze względu na
powiązania z procesem
•Systemy monitorowania - tylko zbieranie danych w celu wspomagania
działania operatora procesu (MS - Monitoring Systems)
•Systemy sterowania automatycznego:
•Systemy sterowania bezpośredniego (DDC – Direct Digital
Control)
•Systemy sterowania nadrzędnego (SPC – SuPervisory Control)
•Systemy wbudowane (ES – Embedded Systems) - powiązanie
integralnie z procesem sterowanym, najczęściej bez możliwości
oddzielenia komputerowego systemu sterującego
System wbudowany - cechy
• układ mikroprocesorowy sprzężony konstrukcyjnie,
dedykowany programowo do określonego urządzenia
• bogaty zestaw funkcji,
• nie posiada on „własnego życia” (nie istnieje
możliwość jego sprzętowego wydzielenia),
• wysokie wymagania w zakresie niezawodnościowym,
• niska cena w porównaniu do układu macierzystego
Klasyfikacja KSS ze względu na
strukturę logiczną
Struktura logiczna - struktura wzajemnych powiązań miedzy
jednostką sterującą, procesem i pamięcią, w której przechowywane
są informacje istotne z punktu widzenia sterowania procesem.
• System prosty „simplex”
• System prosty z procesorem wejścia/wyjścia
• System MASTER – SLAVE
• System z pełną redundancją (np. podwójny)
• Systemy sieciowe
System prosty
Urządzenia
zewnętrzne
Pamięć
zewnętrzna
Centralna
Jednostka
sterująca
obiekt
System prosty charakteryzuje szeregowe ustawienie elementów KSS.
Nie występuje w nim żadna możliwość zastępowalności urządzeń czy
oprogramowania.
Wszystkie funkcje realizowane są przez jedną jednostkę sterującą, a informacje
gromadzone są w repozytorium związanym ściśle z tą jednostką.
Prezentowany system zastępuje stosowane dotychczas klasyczne układy
automatyki, w szczególności układy sterowania sekwencyjnego.
System prosty z procesorem
we/wy
Urządzenia
zewnętrzne
Pamięć
zewnętrzna
Centralna
Jednostka
sterująca
Procesor
we/wy
obiekt
Autonomiczny kanał
Transmisji (opcjonalnie)
System prosty z procesorem wejścia/wyjścia stanowi rozszerzoną wersję systemu prostego poprzez
wprowadzenie dodatkowego procesora realizującego algorytmy akwizycji danych i wstępnego ich
przetwarzania.
Zastosowanie tej struktury jest uzasadnione szczególnie w sytuacji, gdy obiekt sterowania jest
oddalony od głównej jednostki sterującej. Wówczas procesor we/wy umieszczony w pobliżu obiektu
realizuje wstępne algorytmy a wyniki przekazywane są do głównej jednostki.
W przypadku większych odległości stosuje się autonomiczne układy do transmisji danych, w których
przesył odbywa się z zachowaniem pełnej kontroli przesyłu nierzadko z wykorzystaniem specjalnych
urządzeń i kodów.
W sytuacjach awaryjnych istnieje możliwość częściowego rozdzielenia funkcji między jednostkę
centralną a procesor we/wy.
System master-slave
Centralna
Jednostka
SLAVE
Centralna
Jednostka
MASTER
Urządzenia
zewnętrzne
obiekt
Pamięć
zewnętrzna
Główną zaletą jest wykorzystanie dwóch jednostek sterujących współpracujących ze wspólnym
repozytorium informacji. System wymaga specjalizowanego oprogramowania komunikacyjnego.
Jednostka Master winna być wyposażona w rozbudowany system przerwań umożliwiający skuteczną
identyfikacje stanu obiektu oraz efektywne oddziaływanie na obiekt.
Jednostka Slave stanowi zaplecze obliczeniowe dla jednostki Master, która przydziela jej zadania do
wykonania.
Występuje tu jednoznaczna podległość: jednostka Master zarządza całością procesu sterowania.
Współpraca z jednym repozytorium informacji pozwala na dużą zamienność funkcji.
Układ ten charakteryzuje się dobrym wskaźnikiem niezawodności, ze względu na możliwą redundancję
zarówno sprzętową (jednostki Master i Slave mogą być wykorzystywane zamiennie) jak i programową.
System podwójny
Zdublowanie wszystkich elementów struktury umożliwia całkowitą ich zamienność.
Kluczowym elementem tego rozwiązania jest przełącznik realizowany najczęściej
programowo. Umożliwia on uzyskanie dowolnej konfiguracji toru przekazywanych
informacji.
Na rysunku przedstawiono system podwójny w stosunku do struktury systemu
prostego z procesorem we/wy, ale można zrealizować system podwójny w
odniesieniu do innych struktur.
Są to rozwiązania o wysokich kosztach
Struktury sieciowe
Najbardziej rozbudowana strukturę logiczna mają rozwiązania oparte na
strukturach sieciowych.
KSS może być traktowany jako specyficzna sieć komputerowa, której
głównym zadaniem jest organizacja przesyłu informacji i sygnałów
sterujących procesami.
Dotyczy to w szczególności procesów, które z natury mają charakter
rozproszony (sieć energetyczna, wodociągowa, telekomunikacyjna) a
proces sterowania musi obejmować je całościowo.
Specyfika takiej struktury obejmuje nie tylko specjalizowane urządzenia do
realizacji rozproszonych zadań, ale również określone protokoły
komunikacyjne.
Wymagania sprzętowe dla KSS
●
●
●
●
●
System przerwań
Wirtualizacja pamięci
Systemy ochrony pamięci
Kanały we/wy
zegar
Przerwania
Przerwanie jest to sygnał, który powoduje zawieszenie aktualnie wykonywanego
zadania i zapamiętanie jego stanu oraz przejście do wykonywania programu
obsługi przerwania
Stan programu definiuje minimalna liczba informacji, która jest konieczna do
wznowienia przerwanego zadania niezależnie od zadań wykonywanych w czasie
jego zawieszenia
Przerwania służą do zasygnalizowania procesorowi zdarzeń,które zachodzą w
niemożliwym do przewidzenia momencie
Rodzaje przerwań:
●
●
●
Wewnętrzne – generowane dla poinformowania o zajściu pewnych zdarzeń wewnątrz
Jednostki Centralnej; najczęściej zdarzenia te mają charakter błędów (np. wykrycie
nadmiaru arytmetycznego, błąd parzystości pamięci, próba wykonania nielegalnego
rozkazu, naruszenie ochrony pamięci)
Zewnętrzne – związane z urządzeniami zewnętrznymi i dotyczące zmiany stanu
urządzeń
Programowe – są pewnym typem rozkazów (makroinstrukcje); wykonanie rozkazu
przerwania powoduje przejście do programu umieszczonego na stałe w pamięci
operacyjnej realizującego treść makroinstrukcji
Pamięć wirtualna
Wirtualizacja pamięci – przesyłem informacji zajmuje się system operacyjny, a
programista dysponuje pamięcią jednopoziomową, znacznie większą niż
rzeczywista pamięć operacyjna PO.
Adres wirtualny – adres generowany podczas wykonywania programu. Zbiór
tych adresów nazywa się przestrzenią adresów wirtualnych
Adres w PO - adres w fizycznej PO. Zbiór tych adresów tworzy przestrzeń
adresów fizycznych.
Elementy:
● Urządzenie translacji adresów - służy do automatycznego obliczania adresu
fizycznego odpowiadającego w danej chwili adresowi wirtualnemu; posiada
rejestr stron aktualnie znajdujących się w PO
● Stronicowanie pamięci – podział całej pamięci (PO i PZ) na bloki zwane
stronami (zwykle o stałej wielkości – 512, 1024 słowa)
Adres wirtualny składa się z dwóch części:
● adresu (numeru) strony
● adresu (przesunięcia) na stronie
Systemy ochrony pamięci
•
•
•
•
Wydzielenie obszaru do wyłącznej dyspozycji SO (sztywno np. przez
producenta)
Ochrona w oparciu o rejestry LIMIT, DATUM – zawartość tych rejestrów
określa obszar pamięci zastrzeżony dla SO i niedostępny dla programisty.
Wartości rejestrów mogą być programowo zmieniane
Maski ochrony pamięci – z każdym blokiem pamięci związana jest maska
jedno lub wielobitowa, np.:
•jednobitowa: 0 – program może dokonać zapisu do bloku; 1 – program
nie ma możliwości zapisu,
• dwubitowa:
● 00 – bez możliwości dostępu do bloku
• 01 – jedynie wykonywanie programu
• 10 – jedynie czytanie danych
• 11 – czytanie i wpisywanie danych
Klucz ochrony pamięci – zawiera identyfikator programu mającego
dostęp do danego bloku – obszar pamięci jest dostępny wyłącznie dla
określonych programów
Kanały wejścia/wyjścia
Kanały we/wy - autonomiczne urządzenie
Procesor jedynie inicjuje pracę kanału podając:
● adres urządzenia zewnętrznego
● kierunek transmisji
● adres w PO początku danych
● liczbę przesyłanych słów
Po zakończeniu transmisji procesor jest o tym fakcie powiadamiany
przez przerwanie
Współpraca procesora z kanałem we/wy odbywa się poprzez
rejestr buforowy
Typy kanałów we/wy
●
●
●
Kanał selektorowy – łączy wybrane urządzenie zewnętrzne z
JC na cały czas trwania transmisji (wykorzystywany przez
szybkie urządzenia zewnętrzne np. pamięci zewnętrzne)
Kanał multipleksorowy – logicznie połączony z danym
urządzeniem zewnętrznym tylko na czas potrzebny do
przesłania jednego bajtu, a następnie przechodzi do transmisji
z innym urządzeniem zewnętrznym (wykorzystywany przez
wolne urządzenia zewnętrzne, np. drukarki czytniki)
Kanał znakowy – przesłanie każdego słowa wymaga
oddzielnego zainicjowania transmisji przez procesor
Zegar cyfrowy
Zegar cyfrowy - generuje sygnały co pewien ustalony okres
czasu; w skład zegara wchodzą rejestry pracujące jako liczniki
cyfrowe; sygnał generowany jest w chwili przepełnienia licznika;
Zastosowania:
● obliczanie kwantów czasu
● obliczanie czasu inicjowania programów
● kontrola sprawności urządzeń poprzez kontrolę czasu
wykonania czynności
● ochrona programów przed zapętleniem
Technologie wykorzystywane do
budowy systemów wbudowanych
●
●
●
Systemy wbudowane oparte na
mikrokontrolerach jednoukładowych
Systemy wbudowane oparte na układach
programowalnych CPLD / FPGA
Rozwiązania hybrydowe