Zaawansowane technologie w nowoczesnych układach sterowania



Podobne dokumenty
Systemy na Chipie. Robert Czerwiński

Systemy wbudowane. Paweł Pełczyński

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Katedra Mikroelektroniki i Technik Informatycznych

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

PRZEWODNIK PO PRZEDMIOCIE

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

Opracował: Jan Front

PROGRAMOWALNE STEROWNIKI LOGICZNE

Szybkie prototypowanie w projektowaniu mechatronicznym

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Technika mikroprocesorowa

Instytut Systemów Elektronicznych. Specjalność Systemy Informacyjno-Pomiarowe

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Specjalność: Komputerowe systemy sterowania i diagnostyki

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Opis efektów kształcenia dla modułu zajęć

Architektura systemów komputerowych. dr Artur Bartoszewski

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH NR

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Budowa i zasada działania komputera. dr Artur Bartoszewski

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

Język opisu sprzętu VHDL

Specjalność uzupełniająca

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Katedra Optoelektroniki i Systemów Elektronicznych. Profil dyplomowania i Specjalność Komputerowe Systemy Elektroniczne

Specjalność: Komputerowe systemy sterowania i diagnostyki. Strona 1 z 5

Elektronika i techniki mikroprocesorowe

Linux -- u mnie działa!

WPROWADZENIE Mikrosterownik mikrokontrolery

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Mechatronika i szybkie prototypowanie układów sterowania

Metody optymalizacji soft-procesorów NIOS

Podstawowe zagadnienia

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Opis przedmiotu zamówienia CZĘŚĆ 1

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

Co to jest system wbudowany?

dr hab. inż. P. Samczyński, prof. PW; pok. 453, tel. 5588, EIK

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

PRZEWODNIK PO PRZEDMIOCIE

Informatyka studia stacjonarne pierwszego stopnia

Systemy czasu rzeczywistego wstęp

Komputerowe systemy pomiarowe. Dr Zbigniew Kozioł - wykład Mgr Mariusz Woźny - laboratorium

Rok akademicki: 2030/2031 Kod: SEN EJ-s Punkty ECTS: 4. Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Opis przedmiotu zamówienia

Urządzenia Elektroniki Morskiej Systemy Elektroniki Morskiej

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Modularny system I/O IP67

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Katedra Systemów Elektroniki Morskiej. Specjalność Systemy elektroniki morskiej

Tworzenie aplikacji czasu rzeczywistego z użyciem sprzętu i oprogramowania National Instruments

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Budowa Mikrokomputera

INŻYNIERIA OPROGRAMOWANIA

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

Mikrokontroler Wykład 5

Podsumowanie wyników ankiety

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Wykład 2. Mikrokontrolery z rdzeniami ARM

Mechatronika Uniwersytet Rzeszowski

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

CS AlgoRex - Centrala systemu wykrywania i sygnalizacji pożaru. Właściwości. Cerberus Division. Siemens Building Technologies Sp. z o.o.

Procesory firmy ARM i MIPS

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Katedra Systemów Cyfrowego Przetwarzania Sygnałów


<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: I stopnia (inżynierskie)

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Katedra Systemów Automatyki. Specjalność: Systemy automatyki (studia II stopnia)

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski


Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Prezentacja specjalności Inżynieria Systemów Informatycznych

prof. dr hab. inż. Maciej Niedźwiecki dr hab. inż. Piotr Suchomski mgr inż. Stanisław Iszora mgr inż. Włodzimierz Sakwiński dr inż.

Programowanie Systemów Wbudowanych. Specjalność uzupełniająca Systemy wbudowane

Transkrypt:

Zaawansowane technologie w nowoczesnych układach sterowania Leszek A. Szałek Cito Systems, Inc. 3940 Freedom Circle, Santa Clara, CA 95054, USA leszeks@citosys.com 1. Wstęp Postępujący rozwój technologii półprzewodnikowej i doskonalenie narzędzi programowania dla programowalnych układów logicznych typu FPGA umożliwiają wysoki stopień integracji układów sterujących. Dotychczasowe rozwiązania realizowane na kilku płytkach elektronicznych można obecnie zastąpić jednym układem scalonym o dużo większych możliwościach obliczeniowych. Współczesne układy FPGA, które do niedawna były wykorzystywane do budowania rozwiązań prototypowych, obecnie są wykorzystywane w docelowych produktach. Dzięki obniżce kosztów i stosunkowo łatwej integracji możliwe jest budowanie wieloprocesorowych systemów (ang. System-on-Chip SoC) na jednej płytce krzemu. Ostatnio wspomniane rozwiązania zaczynają znajdować zastosowanie również w systemach sterujących, których istotnym wymogiem jest realizacja algorytmów w czasie rzeczywistym. Jest to możliwe dzięki właściwej im elastyczności, wydajności, programowej zmianie konfiguracji, niezawodności sprzętowej i równoległości struktur. Układy FPGA umożliwiają budowanie systemów cyfrowych do konkretnych potrzeb, łącząc zalety rozwiązań sprzętowych przystosowanych do specyficznych zastosowań z elastycznością oprogramowania. 2. Struktura systemów sterowania Systemy sterowania złożone z wielu modułów oparte są na magistralach typu PC/104, VME, Compact PCI lub PCI Express. Najczęściej składają się z jednego modułu mikroprocesorowego i dodatkowych modułów funkcyjnych. Moduł mikroprocesorowy odpowiada za interfejs użytkownika i ogólne zarządzanie systemem. Do tego celu wykorzystywany jest mikroprocesor ogólnego zastosowania (CPU), który obsługuje system operacyjny, najczęściej czasu rzeczywistego, np. VxWorks, QNX, Linux, Windows CE lub inny. Natomiast moduły funkcyjne realizują specjalizowane funkcje, np. obliczanie algorytmów pętli sterowania i optymalizacji, kinematyki robotów, zaawansowanych filtrów, transformaty

Fouriera, syntezy mowy, przetwarzania obrazów, etc. najczęściej wykorzystując specjalizowane procesory do cyfrowej obróbki sygnałów (ang. digital signal processor - DSP). Takie systemy w niektórych zastosowaniach mogą okazać się zbyt duże jeśli chodzi o gabaryty, jak i zużycie mocy. Dodatkowo wprowadzają ograniczenia komunikacyjne w przesyłaniu sygnałów między modułami wynikające ze zbyt niskiego pasma magistral systemów. 3. Nowoczesne rozwiązania w systemach sterowania Rozwiązaniem usuwającym powyższe niedogodności jest zintegrowanie jednostki CPU i jednostek DSP wraz z układami interfejsów komunikacyjnych i cyfrowych na jednej strukturze krzemu. Stało się to możliwe dzięki odpowiednio dużym strukturom układów FPGA wspartych narzędziami umożliwiającymi programowanie w nich struktur procesorów CPU i DSP, z wykorzystaniem dodatkowych bibliotek do programowania układów komunikacji. Obecnie popularnymi procesorami CPU jest rodzina procesorów ARM. Wiodący producenci układów FPGA - firmy Altera, Xilinix, Atmel, dostarczają gotowe rozwiązania w oparciu o licencję procesorów ARM. Jest to ułatwienie dla producentów systemów gdyż nie muszą martwić się o opłaty licencyjne wynikające z własności intelektualnej. Kolejnym krokiem integracji jest umieszczenie szybkich koprocesorow matematycznych lub samych DSP na tej samej strukturze krzemu. Narzędzia programowania dostarczane przez producentów układów FPGA umożliwiają integrację wymaganej przez system liczby procesorów liczących. Rezultatem jest system złożony z wielu równolegle pracujących jednostek DSP. Przy odpowiedniej definicji zadań na poszczególne jednostki otrzymuje się system o ogromnych możliwościach obróbki sygnałów. W przeciwieństwie do systemów mikroprocesorowych, które przetwarzają seryjnie ciąg instrukcji i używają rejestrów o stałej długości, układy FPGA są macierzą konfigurowalnych elementów logicznych pracujących niezależnie i współbieżnie. Tego typu architektura może prowadzić do znaczącej poprawy możliwości systemów sterujących, często przy niższych kosztach. Ostatnio robione testy systemów wykorzystujących układy FPGA przez firmę Berkeley Design Technology Inc. wykazały, że pobierają one mniej mocy i są tańsze w przeliczeniu na jednostkę przetwarzania sygnałów niż te, które wykorzystują mikroprocesory. Dodatkowymi elementami, które czynią układy FPGA atrakcyjnym rozwiązaniem w systemach sterowania są wbudowane generatory, zegary, podukłady modulacji szerokości impulsu (PWM), interfejsy komunikacji szeregowej typu USB, I 2 C, PCI Express, Ethernet i inne.

Ważnym czynnikiem ułatwiającym implementację układów FPGA jest obecnie łatwość ich programowania. Dotychczasowe narzędzia programowania były przystosowane przede wszystkim dla projektantów układów cyfrowych posługujących się językiem VHDL lub innymi językami opisowymi do programowania sprzętu, różniącymi się składniowo i koncepcyjnie od tych, którymi posługują się projektanci systemów sterowania. Drugim istotnym czynnikiem nie sprzyjającym wykorzystaniu układów FPGA była trudność włączenia ich do procesu symulacji systemów. Wspomniane powyżej przeszkody zniknęły z chwilą, gdy typowe aplikacje do projektowania i symulacji systemów sterowania Matlab i LabVIEW udostępniły w swoich środowiskach narzędzia do programowania układów FPGA. Stworzyły one wyższy poziom abstrakcji stanowiący pomost pomiędzy inżynierem projektującym system a sprzętem najlepiej nadającym się do jego implementacji. Łatwość posługiwania się wspomnianymi programami wynika z udostępnienia intuicyjnych graficznych narzędzi. Projektant wykorzystuje ikony odpowiadające elementom systemu sterowania, łącząc je w logiczny diagram reprezentujący obwody układu FPGA. Graficzne środowisko pozwala na łatwe obrazowanie i implementacje równoległości procesów, co stanowi istotną przewagę programowalnych układów logicznych nad procesorami, poprzez odzwierciedlanie kodu w równoległych odgałęzieniach. Ponadto, język graficzny bardziej intuicyjnie ilustruje przepływ danych przy pomocy linii łączących niż instrukcje języka programowania. 4. Rozwiązania alternatywne Należy wspomnieć, że programowalne układy logiczne mają alternatywę w postaci procesorów produkowanych przez firmy IBM i Nvidia. IBM, przy współpracy firm Toshiba i Sony, zrealizował na potrzeby tej ostatniej procesor Cell Broadband, który ma wbudowany procesor PowerPC pełniący role CPU i osiem jednostek DSP. Zoptymalizowana struktura połączeń między pamięcią a wewnętrznymi mikroprocesorami z umiejętnym wykorzystaniem technik programowania równoległego daje ogromne możliwości obliczeniowe. W chwili obecnej IBM ostrożnie otwiera ten procesor na szerszy rynek. Pierwszą, i jak na razie, najważniejszą aplikacją, dla której ten procesor został zaprojektowany, jest stacja gier Sony Playstation 3. Ponaddto jest on najczęściej wykorzystywany w superkomputerach i serwerach. W dalszej perspektywie IBM planuje produkcję tego procesora w technologii 65 nm i 45 nm,

aby zmniejszyć pobór mocy i udostępnić go dla systemów zabudowanych (ang. embedded systems), czego konsekwencją będzie obniżenie ceny. Wtedy będzie możliwe wykorzystanie tego procesora do celów sterowania. Firma Nvidia przyjęła bardziej otwartą strategię niż IBM wypuszczając na rynek serię procesorów z rodziny Tesla, które są powszechnie używane w kartach graficznych. W zależności od wersji, procesory Tesla mają do 256 wbudowanych jednostek procesorów graficznych (GPU Graphical Processing Unit), pracujących równolegle. Zaprojektowane na potrzeby grafiki komputerowej, idealnie nadają się do przekształceń macierzowych, dostarczając tym samym ogromnych możliwości obliczeniowych również dla innych aplikacji, między innymi sterowania skomplikowanymi obiektami. 5. Zastosowania Dostępność i wybór jednostek procesorowych zróżnicowanych architektonicznie i cenowo, o dużych mocach obliczeniowych, umożliwia praktyczną realizację bardzo zaawansowanych układów sterujących. Znajdują one zastosowanie w sterowaniu skomplikowanymi urządzeniami łączącymi systemy zrobotyzowane o różnych konfiguracjach kinematycznych z systemami przetwarzania obrazów i różnorodnych sensorów. Coraz to nowe gałęzie przemysłu zaczynają wykorzystywać tego typu urządzenia. Do tradycyjnie wysoce zrobotyzowanych dziedzin produkcji, jak np. przemysł samochodowy i półprzewodnikowy, dołącza przemysł lotniczy, spożywczy, urządzeń i robotów medycznych. Podbój kosmosu i rozszerzanie technologii wojskowej na przestrzeń kosmiczną wymagają coraz bardziej zaawansowanych, a jednocześnie bardzo małych i tanich systemów sterujących w rakietach i satelitach. Ponadto wykorzystuje się roboty do badań np. powierzchni Marsa, budowy międzynarodowej stacji kosmicznej, instalacji i serwisu teleskopów pracujących w przestrzeni. W ostatnich latach rząd amerykański sponsoruje liczne programy badawcze nad różnymi zastosowaniami systemów zrobotyzowanych. Do bardziej znaczących można zaliczyć wyścigi autonomicznych pojazdów samochodowych w terenie i ruchu ulicznym, z których każdy zakończył się sukcesem w dużej mierze dzięki dostępnej technologii. Są to tylko nieliczne przykłady ilustrujące potencjalne zastosowanie nowoczesnych systemów sterowania.

6. Podsumowanie Przedstawione powyżej możliwości sprzętowe i programowe otwierają różne opcje do realizacji układów sterujących. Mimo dostępności narzędzi programowania dla układów FPGA, projektowanie systemu z wykorzystaniem tych układów wymaga od projektantów bardzo dobrej znajomości ich architektury. Należy zwrócić szczególną uwagę na dokładne zaprojektowanie magistral łączących wewnętrzne struktury procesorów, pamięci, układów wejścia-wyjścia i komunikacji z układami zewnętrznymi. Ostatecznie cała struktura powinna być zoptymalizowana pod kątem połączeń zewnętrznych. Aplikacje wykorzystujące dostępne procesory mają tę przewagę, ze bazują na gotowych rozwiązaniach dostarczonych przez producentów. Skraca to prace badawczo-rozwojowe, jednakże uniemożliwia zmiany wewnętrznych struktur układu. Ponadto, jak na razie, nie ma na rynku narzędzi projektowania układów sterowania pozwalających na ich graficzne programowanie z wykorzystaniem wspomnianych procesorów. Tak więc wybór jednostki obliczeniowej zależy od doświadczenia zespołu i założeń projektowych systemu. Zarówno jedno, jak i drugie rozwiązanie dostarcza dużych możliwości obliczeniowych pozwalając na realizację zaawansowanych systemów sterowania.