Piątek, 31 października 2008

Systemy wbudowane

Systemem wbudowanym jest system komputerowy składający się z odpowiednio dobranych komponentów sprzętowych i programowych, często zaprojektowany pod kątem określonej aplikacji programowej. Odpowiada ona za realizację jego funkcji i wpływa na sposób komunikacji z użytkownikiem. W artykule przedstawiamy informacje dotyczące różnych aspektów różnych systemów wbudowanych, w szczególności komputerów wykorzystywanych w zastosowaniach przemysłowych.

Systemy wbudowane

Systemy wbudowane spotykane są w bardzo wielu dziedzinach życia, a obszar ich zastosowań, wraz z postępem technologicznym, ulega ciągłemu poszerzaniu. Telefony komórkowe, kioski informacyjne, systemy nawigacji satelitarnej, urządzenia wykorzystywane w diagnostyce medycznej, rozwiązania dla telekomunikacji i teleinformatyki, systemy kontroli lotu, a także naturalnie roboty i maszyny przemysłowe oraz szereg układów sterowania w automatyce – to najbardziej reprezentatywne przykłady systemów wbudowanych.

Złożoność tego typu rozwiązań jest bardzo zróżnicowana – począwszy od prostych systemów powszechnego użytku bazujących na mikrokontrolerach małej mocy, a skończywszy na wieloprocesorowych, rozproszonych układach stosowanych w robotyce czy kolejnictwie. Podstawową cechą wyróżniającą systemy wbudowane na tle innych systemów komputerowych są, oprócz dedykowanego charakteru, jakość oprogramowania i stosowanych komponentów sprzętowych.

System wbudowany, ze względu na obszary zastosowań, musi być również w pełni przetestowany i stabilny – błędy w oprogramowaniu mogą być tutaj katastrofalne w skutkach. Artykuł ma na celu przybliżenie omawianej problematyki i stanowi przegląd dostępnych rozwiązań sprzętowych, systemów operacyjnych oraz omawia podstawowe problemy związane z projektowaniem rozwiązań wbudowanych.

 

PROJEKTOWANIE SYSTEMÓW WBUDOWANYCH

Fot.1. Komputer w standardzie PC/104-Plus

Na projektowanie systemu wbudowanego składa się zarówno opracowywanie dedykowanej warstwy sprzętowej, jak i odpowiedniego oprogramowania. W tym ostatnim wydzielić można obszar systemowy i aplikacyjny.

Warstwa systemowa tworzy środowisko wykonania dla aplikacji wbudowanej i, w zależności od obszaru zastosowań, cechuje się różnym stopniem skomplikowania. W przypadku prostych systemów wbudowanych o zamkniętej, nieskalowalnej architekturze, warstwa systemowa nie jest ściśle wyodrębniona i nie zawiera mechanizmów wspierających tworzenie aplikacji.

Zaawansowane systemy, przeznaczone dla medycyny, lotnictwa, telekomunikacji czy robotyki realizowane są w oparciu o specjalne systemy operacyjne lub biblioteki, które zawierają mechanizmy i funkcje ułatwiające tworzenie aplikacji i testowanie systemu. Mimo to projektant musi rozszerzyć warstwę systemową o sterowniki dedykowanych urządzeń, wykonać odpowiednie testy i przygotować oprogramowanie aplikacyjne. Od funkcjonalności i użyteczności aplikacji zależy w dużej mierze powodzenie całego projektu.

Tworzenie systemu wbudowanego wymaga przeanalizowania wymagań, opracowania odpowiedniej architektury i jej przemyślanej dekompozycji. Każdy błąd czy zlekceważenie pewnych wymagań we wstępnych fazach projektu może prowadzić do niepowodzenia całego przedsięwzięcia. Złe decyzje projektowe pociągają za sobą często konieczność modyfikacji nie tylko oprogramowania, lecz także sprzętu.

W przypadku systemów do zastosowań krytycznych pojawia się też problem bezpieczeństwa, czyli głównie odporności systemu na awarie sprzętu, zaburzenia elektromagnetyczne oraz błędy implementacyjne. W przypadku, gdy projektowany system jest skomplikowany, na przykład system sterujący robotem w zakładzie produkcyjnym, projekt przeobraża się w skomplikowane przedsięwzięcie logistyczne, wymagające koordynacji prac kilku różnych zespołów inżynierów.

STOSOWANE PLATFORMY SPRZĘTOWE

Rys.1. Podział rynku pod względem zastosowań komputerów przemysłowych (źródło: ankieta redakcji APA)

Podstawowymi czynnikami wpływającymi na architekturę systemu wbudowanego są poziomy skomplikowania realizowanych przez niego funkcji i obszar zastosowań. Zupełnie inne wymagania stawiane są przed systemem kontroli lotu niż w przypadku urządzeń powszechnego użytku.

System kontroli lotu powinien cechować się dużą niezawodnością i odpornością na błędy, natomiast urządzenia powszechnego użytku powinny być tanie i charakteryzować się długą, bezawaryjną pracą. Ze względu na bardzo różnorodne wymagania i funkcje systemów wbudowanych nie jest możliwe zbudowanie jednej uniwersalnej platformy sprzętowej do wszystkich zastosowań.

Z punktu widzenia technicznego najlepszym rozwiązaniem jest zaprojektowanie dedykowanego sprzętu na potrzeby konkretnego zastosowania, jednak takie postępowanie nie ma uzasadnienia ekonomicznego przy produkcji małoseryjnej.

W takim wypadku lepiej zastosować gotowe platformy sprzętowe dla aplikacji wbudowanych, opierające się o ustalone standardy. Jednymi z najbardziej popularnych standardów są systemy typu: CompactPCI, PC/104 i SOM. Ważną grupę stanowią także miniaturowe i subminiaturowe rozwiązania potocznie zwane komputerami "ciasteczkowymi" (Biscuit PC). Każdy z powyższych standardów cechuje się innymi parametrami użytkowymi i obszarem zastosowań.

SYSTEMY COMPACTPCI

Fot.2. Płyta GE Fanuc w standardzie VME z procesorem Intel Pentium 4

Rozwiązania CompactPCI znajdują zastosowanie w systemach sterowania i zaawansowanych urządzeniach telekomunikacyjnych, gdzie konieczne jest zapewnienie dużego stopnia niezawodności sprzętu, a niekiedy nawet wymiana jego komponentów w trakcie działania.

Systemy oparte o CompactPCI charakteryzują się budową modułową, dzięki czemu są skalowalne i mogą zostać dość łatwo rozszerzone o nową funkcjonalność. W przypadku urządzeń telekomunikacyjnych cecha ta nabiera istotnego znaczenia.

Pojedyncze urządzenie może zostać wyposażone w odpowiednie moduły dopasowane do konkretnej konfiguracji sieci telekomunikacyjnej. Dodatkowo w przypadku awarii pojedynczego modułu nie jest konieczna wymiana całego urządzenia, a uszkodzony element może zostać wymieniony w trakcie jego działania, co nie powoduje przerwy w dostarczaniu usług.

Należy podkreślić, że wymiana modułów w trakcie pracy, mimo odpowiedniej konstrukcji elektrycznej magistrali CompactPCI, jest możliwa wyłącznie wtedy, gdy wspiera ją odpowiednio zaprojektowane oprogramowanie urządzenia.

Historia standardu CompactPCI, zwanego dalej w skrócie CPCI, sięga 1994 roku, kiedy to został on zaprojektowany przez grupę producentów systemów automatyki i komputerów przemysłowych działających pod wspólnym szyldem organizacji PICMG (PC Industrial Computers Manufacturers Group).

Wśród członków tej organizacji są m.in. Intel, Hewlett-Packard, IBM, Motorola, Siemens, SUN. CPCI jako podstawową magistralę komunikacyjną wykorzystuje popularną magistralę PCI stosowaną w komputerach osobistych i stacjach roboczych.

Dzięki zastosowaniu PCI rozwiązania CPCI są tańsze od konkurencyjnych systemów opartych o magistralę VME, stosowanych od wielu lat w przemyśle. Najnowsza specyfikacja CPCI wykorzystuje 64-bitowy PCI-X, zapewniający transfer z szybkością powyżej 1Gbit/s i pozwala na wymianę kart bez wyłączania zasilania.

Grzegorz Kowalczyk
Product manager
CSI Computer Systems for Industry

  • Jakie komputery przemysłowe wykorzystywane są w automatyce przemysłowej i aplikacjach poza nią?

Z całą pewnością rośnie liczba aplikacji tworzonych na bazie tzw. komputerów kompaktowych, których moce obliczeniowe, liczba i rodzaj interfejsów oraz niezawodność spełniają zazwyczaj w zupełności wymogi projektantów różnych nowoczesnych systemów. Oczywiście jeśli chodzi o skalę projektów, to komputery do wbudowania (embedded) są wciąż niezaprzeczalnym liderem pod względem sprzedaży. Nie należy tu oczywiście pomijać komputerów panelowych czy stacji serwerowych rack 19".

  • Na jakie cechy komputerów przemysłowych najczęściej zwracają uwagę klienci?

Sprzęt jest oceniany jest przez pryzmat niezawodności i całkowitych kosztów posiadania, a nie tylko ceny zakupu. Dla klientów ważna jest też marka oraz długi cykl życia produktu na rynku.

  • Jakie zmiany można zaobserwować w technologii i budowie omawianych urządzeń?

W dość konserwatywnej grupie rozwiązań, jakimi są komputery przemysłowe, zauważalna staje się coraz doskonalsza miniaturyzacja. Nowoczesne, energooszczędne i wydajne wielordzeniowe procesory stosowane są obecnie powszechnie nie tylko w "pełnowymiarowych" komputerach przemysłowych typu PC, ale również w kompaktach czy płytach embedded.

  • Jaki rodzaje komputerów wbudowanych kupują polscy klienci?

Głównym formatem pozostają tzw. rozwiązania 3,5", czyli o wymiarach 146×102 mm. W bardziej skomplikowanych konstrukcjach korzysta się też często z PC/104.

Od strony mechanicznej CPCI nawiązuje do standardu Eurokarty i VME. Poszczególne moduły w postaci kart o wymiarach zgodnych ze standardem Eurokarty i o wysokościach 3 lub 6U są wkładane do standaryzowanych kaset. Karty mogą być umieszczane poziomo lub pionowo w kasetach o różnej liczbie gniazd, różnych rozwiązaniach układów zasilania i chłodzenia, w tym redundancyjnych.

Kasety w formacie 19" mają po osiem złączy w jednym segmencie dla kart procesorowych, jednak poprzez dodanie dodatkowego mostka PCI-PCI można łatwo zwiększyć ich liczbę do 24. Charakteryzują się one różnymi gabarytami i wagą - wysokości od 1U (1 karta) do 12U.

Karty procesorowe stosowane w CompactPCI wyposażone są w procesory różnych producentów. Spotykane są procesory o modelach programowych typu RISC (np. ARM, Power PC, MIPS) oraz CISC (Intel IA32, Motorola 68K). Wybór procesora uzależniony jest przede wszystkim od specyfiki aplikacji wbudowanej oraz jej zapotrzebowania na moc obliczeniową.

Systemy CPCI są wydajne, elastyczne i niezawodne, jednak charakteryzują się wysoką ceną, znacznymi gabarytami i dużą wagą, co czyni je nieprzydatnymi w aplikacjach, gdzie istotne są małe rozmiary i niski koszt systemu.

Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów
Dowiedz się więcej
Przejdź do kompendium