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