Systemy wbudowane

From Studia Informatyczne

Spis treści

Forma zajęć

Wykład (30 godz.) + laboratorium (30 godz.)

Opis

Intensywny rozwój metod i narzędzi informatycznych powoduje poszukiwanie nowych środowisk aplikacyjnych. Równolegle z rozwojem informatyki powstają nowe zastosowania związane ze sterowaniem i regulacją z wykorzystaniem komputerów jako urządzeń sterujących. Początkowe próby zastąpienia klasycznych regulatorów komputerem pokazały pewną nadmiarowość funkcjonalną komputerów systemów sterujących. Poszukiwania prostszych, a co za tym idzie tańszych rozwiązań zaowocowały mikroprocesorowymi konstrukcjami regulatorów o dużej swobodzie wyboru algorytmów sterowania zwanych swobodnie programowalnymi sterownikami logicznymi (Programmable Logic Controllers – PLC). Rozwój takich rozwiązań był niezwykle szybki i ciągle znajdują one szerokie zastosowania. Drugi nurt wiąże się z konstrukcją specjalizowanych mikroprocesorów dedykowanych do funkcji sterowania. Układy te określa się zwykle mianem mikrokontrolerów (Microcontrollers) i wyposażone są one w niezbędne sprzętowe elementy umieszczone w jednym układzie wysokiej skali integracji (w jednym chipie). Kolejny etap rozwoju wiąże się z tendencją do ścisłego wiązania układu sterującego z obiektem (procesem) sterowanym i taką konstrukcją, która jest dedykowana do danego obiektu zarówno pod względem sprzętowym jak i programowym. Realne możliwości realizacji takich rozwiązań pojawiły się z chwilą wydatnego obniżenia kosztów produkcji mikroprocesorów i szerokich możliwości różnorodnych sprzętowo rozwiązań bez zwiększania kosztów produkcji (układy typu ASIC). Ten nurt rozwiązań nazwano wbudowanymi systemami sterowania (Embedded Systems). Systemy wbudowany spotykane są obecnie we wszystkich dziedzinach począwszy od skomplikowanych urządzeń badawczych, aparaturze pomiarowej aż do popularnego sprzętu gospodarstwa domowego.

Sylabus

Autor sylabusa

  • dr hab. inż. Andrzej Urbaniak, prof. nadzw. Politechniki Poznańskiej
  • e-mail: Andrzej.Urbaniak@cs.put.poznan.pl

Autorzy kursu

  • Kurs został przygotowany przez zespół pracowników Instytutu Informatyki Politechniki Poznańskiej pod kierunkiem dr hab. inż. Andrzeja Urbaniaka, prof. nadzw. PP, w składzie: dr inż. Zygmunt Kubiak, dr inż. Mikołaj Sobczak, dr inż. Przemysław Zakrzewski oraz mgr inż. Mariusz Nowak

Wymagania wstępne

  • Podstawowe wiadomości z zakresu: elektroniki i miernictwa, podstaw sterowania, architektury komputerów, przetwarzania sygnałów, systemów operacyjnych oraz inżynierii oprogramowania.

Zawartość

Wykłady:

  • Pierwszą część kursu stanowią dwa moduły (6 godz. – moduły 1, 2) poświęcone problematyce sterowania i regulacji. Przedstawiono genezę systemów wbudowanych jako przedmiotu opartego na dwóch równoległych nurtach: informatyce i automatyce. Uwzględniając przyjęty program studiów (w którym pominięto problematykę sterowania i regulacji), w tej części kursu zostaną omówione następujące zagadnienia: podstawowe pojęcia związane ze sterowaniem i regulacją, identyfikacja charakterystyk dynamicznych obiektów, problematyka opisu dynamiki obiektów (w dziedzinie zmiennej czasu, operatorowej i częstotliwościowej), transmitancja operatorowa, charakterystyki czasowe i częstotliwościowe, klasyfikacja układów sterowania, stabilność i jakość układów sterowania, podstawowe charakterystyki dynamiczne obiektów, charakterystyki regulatorów i ich dobór, zasady regulacji dyskretnej, dyskretne algorytmy sterowania w wersji pozycyjnej i prędkościowej.
  • Kolejne trzy moduły kursu (7 godz. – moduły 3, 4, 5) są poświęcone omówieniu komputerowych systemów sterowania (KSS). W ramach tej części kursu zostaną omówione następujące zagadnienia: sprzętowa i funkcjonalna struktura komputerowych systemów sterujących, klasyfikacja i charakterystyka podstawowych struktur, wymagania sprzętowe KSS w zakresie przerwań, pamięci i kanału we/wy. Moduły 4 i 5 obejmują omówienie klasycznej struktury kanału automatyki jako urządzenia pośredniczącego między obiektem a komputerem sterującym i zawierają następujące zagadnienia: układy wyjść analogowych i cyfrowych, układy wejść analogowych i cyfrowych oraz ich elementy.
  • Moduł 6 kursu (2 godz.) jest poświęcony wymaganiom w zakresie oprogramowania komputerowych systemów sterujących. W ramach tego modułu zostaną omówione wymagania w zakresie obsługi urządzeń we/wy, obsługi komunikacji człowiek-system, systemu operacyjnego, wyznaczania i realizacji sterowań, zarządzania zbiorami oraz obsługi systemu. W zakresie obsługi we/wy omówione zostaną wymagania i algorytmy zbierania i przetwarzania zmiennych procesowych ciągłych i dyskretnych (w tym binarnych) oraz przetwarzanie specjalistyczne zmiennych procesowych.
  • Moduł 7 kursu (3 godz.) jest poświęcony programowanym sterownikom logicznym (PLC). Omówione zostaną następujące zagadnienia: struktury sterowników, rozwój języków programowania sterowników logicznych, standaryzacja języków, schemat logiczny sterownika i jego cykl pracy, porównanie programowania sterowników w różnych typach języków, przykłady programów sterujących napełniania zbiornika i sygnalizacja świetlną.
  • Moduł 8 kursu (2 godz.) jest poświęcony mikrokontrolerom i obejmuje następujące zagadnienia: typy architektur mikrokontrolerów, schemat logiczny typowego mikrokontrolera i jego cechy, omówienie elementów architektury (jednostka centralna, rejestry, porty, wewnętrzne urządzenia peryferyjne), tryby adresowania, systemy przerwań, redukcja mocy.
  • Moduł 9 kursu (2 godz.) poświęcony został systemom uruchomieniowym. Zostaną w nim przedstawione: systemy uruchomieniowe wykorzystujące program monitora oraz emulację układową, specjalizowane układy uruchomieniowe oparte na konfiguracji NanoBoard zawierające układy FPGA, pamięci RAM oraz FLASH, przetworniki, wskaźniki, wyświetlacze i inne.
  • Moduł 10 kursu (2 godz.) jest poświęcony protokołom stosowanym w systemach wbudowanych. W oparciu o struktury sieci miejscowych przewodowych i bezprzewodowych omówione zostaną następujące zagadnienia: sieci typu HART, ASI i CAN oraz sieć bezprzewodowa typu ZigBee zgodna z normą IEEE 802.15.4.
  • Moduł 11 kursu (2 godz.) jest poświęcony projektowaniu niezawodnych systemów sterujących. W ramach tej części kursu zostaną omówione następujące zagadnienia: ogólny schemat projektowania KSS wraz z omówieniem poszczególnych jego etapów, cechy opisu wymagań zgodnie ze Std830 oraz Std1016, wzorcowy układ specyfikacji wymagań, struktura projektowania oprogramowania oraz główne błędy popełniane w procesie projektowania.
  • Ostatnie dwa moduły kursu (4 godz. – moduły 12, 13) obejmują wybrane przykłady zastosowań systemów wbudowanych. W ramach modułu 12 zostaną zaprezentowane zastosowania w zakresie inteligentnych systemów pomiarowych, m.in.: przykłady przetworników ciśnienia wykorzystujących zjawisko magnetostrykcji, przetworniki temperatury i przetworniki bezwładnościowe. Zaprezentowane zostaną również przykłady węzłów pomiarowych. W ramach modułu 13 zostanie omówiona problematyka zastosowań systemów wbudowanych w tzw. inteligentnych budynkach. Moduł ten zawiera następujące zagadnienia: historię i definicję pojęcia inteligentnego budynku, usługi realizowane przez systemy inteligentnych budynków, strukturę i cechy Systemu Zarządzania Budynkiem (Building Management System – BMS), inteligentne sensory i urządzenia wykonawcze, sieci komunikacyjne w inteligentnych budynkach oraz przykładowe elementy systemu.

Laboratoria:

  • Pierwszą część zajęć laboratoryjnych kursu stanowią dwa moduły (4 godz. - moduły 1, 2) poświęcone programowaniu mikrokontrolerów z rodziny 80x51. Pierwszy z nich dotyczy programowania w językach asembler i C, natomiast drugi z nich dotyczy obsługi systemu przerwań.
  • Drugą część zajęć laboratoryjnych kursu stanowią cztery moduły (8 godz. - moduły 3, 4, 5, 6) poświęcone programowaniu sterowników PLC. Dotyczą one odpowiednio: wprowadzeniu do programowania sterowników, obsłudze układów wejścia/wyjścia, obsłudze układów czasowych oraz obsłudze układów licznikowych.
  • Trzecią część zajęć laboratoryjnych kursu stanowią trzy moduły (8 godz. - moduły 7, 8, 9) poświęcone programowaniu układów FPGA. Realizacja zajęć w tej części kursu wymaga wykorzystania uniwersalnego środowiska uruchomieniowego NanoBoard oraz oprogramowania Altium Designer. Dotyczą one odpowiednio: realizacji transkodera, realizacji asynchronicznego licznika modulo N oraz realizacji rejestru.
  • Czwartą część zajęć laboratoryjnych kursu stanowi moduł 10 (2 godz.) poświęcony testowaniu układów elektronicznych. Dotyczy on obsługi szeregowej magistrali diagnostycznej IEEE 1149.1 (JTAG).
  • Piątą część zajęć laboratoryjnych kursu stanowi moduł 11 (4 godz.) poświęcony programowaniu przykładowych rozwiązań systemów wbudowanych.
  • Ostatnią część zajęć laboratoryjnych kursu stanowią dwa moduły (4 godz. - moduły 12, 13) poświęcone komunikacji bezprzewodowej. Pierwszy z nich dotyczy komunikacji z modemem komórkowym GSM, natomiast drugi z nich dotyczy komunikacji z odbiornikiem nawigacji satelitarnej GPS.

Literatura

Literatura podstawowa

  1. Daca W., Mikrokontrolery – od układów 8-bitowych do 32-bitowych, MIKOM, Warszawa 2000
  2. Dorf R.C., Bishop R.H. Modern control systems, Addison Wesley, 1995
  3. Marwedel P., Embedded System Design, Kluwer Academic Publishers, Boston 2003, ISBN 1-4020-7690-8
  4. Mikulczycki T., Samsonowicz J., Automatyzacja dyskretnych procesów produkcyjnych: układy modelowania procesów dyskretnych i programowania PLC, WNT, Warszawa 1997
  5. Niederliński A., Systemy komputerowe automatyki przemysłowej, WNT, Warszawa 1985 (wydanie I)
  6. Orłowski H., Komputerowe układy automatyki, WNT, Warszawa 1987
  7. Olsson G., Piani G., Computer systems in automation, Prentice-Hall, Londyn – New York 1992
  8. Pełka R., Mikrokontrolery – architektura, programowanie, zastosowania, WKŁ, Warszawa 2000
  9. Ting-pat So A., Intelligent building systems, Kluwer Academic Publ., Boston – London 1999
  10. Urbaniak A., Podstawy automatyki, Wydawnictwo PP, Poznań 2004 (wydanie II)

Literatura uzupełniająca

  1. Asembler – ćwiczenia praktyczne, Praca zbiorowa pod redakcją E. Wróbla, Helion, Gliwice 2000
  2. Dokumentacja techniczna oprogramowania Altium Designer i NanoBoard – http://www.altium.com
  3. Gałka P., Gałka P., Podstawy programowania mikrokontrolera 8051, MIKOM, Warszawa 2000 (wydanie II)
  4. http://www.eib.pl
  5. http://www.lcn.pl
  6. Kaczorek T., Teoria sterowania, PWN, Warszawa 1996

Moduły