Skip to main content
Ta strona jest wyświetlana przy użyciu automatycznego translatora. Czy chcesz wyświetlić ją w języku angielskim?

Oprogramowanie wbudowane

Oprogramowanie wbudowane to specjalistyczna aplikacja lub oprogramowanie układowe, które działa na klastrze przetwarzania osadzonym w SoC lub IC. Prawie każdy produkt elektroniczny może zawierać jeden lub kilka wbudowanych procesorów, powszechnych w dzisiejszych samochodach, automatyzację podłogową, awionikę, urządzenia medyczne i nie tylko.

Jakie są różne typy oprogramowania wbudowanego?

Aplikacje wbudowane to specjalistyczne programowanie w urządzeniach innych niż PC — albo jako część mikroczipu, albo jako część innej aplikacji znajdującej się na górze chipa — w celu sterowania określonymi funkcjami urządzenia. W przeciwieństwie do aplikacji komputerowych, które można instalować w różnych systemach komputerowych i modyfikować w celu zapewnienia różnych poziomów funkcjonalności, oprogramowanie wbudowane ma stałe wymagania sprzętowe i możliwości. Jest tworzony wyłącznie dla konkretnego urządzenia, na którym działa, z ograniczeniami przetwarzania i pamięci powiązanymi bezpośrednio z jego specyfikacjami. W kontekście tej dyskusji oprogramowanie wbudowane obejmuje aplikacje, oprogramowanie układowe, oprogramowanie pośrednie i systemy operacyjne, które działają na jednym mikroprocesorze lub klastrze mikroprocesorów „wbudowanych” w ramach dodatkowej logiki.

Produkty powiązane: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

A professional working on a computer with a graph, another person standing nearby observing the screen.

Charakterystyka i cechy systemów wbudowanych

Mimo że istnieje wiele rodzajów systemów wbudowanych, wszystkie mają te same korzystne cechy i cechy konstrukcyjne.

Wszystkie systemy wbudowane są specyficzne dla zadania

Wykonują tę samą wstępnie zaprogramowaną funkcję przez cały okres użytkowania i nie można ich zmienić.

Wszystkie systemy wbudowane są wysokowydajne

Wymagania dotyczące zasobów oprogramowania wbudowanego nigdy nie powinny przekraczać pojemności sprzętu, na którym jest zainstalowane, a specyfikacje sprzętu nigdy nie powinny przekraczać minimalnych wymagań oprogramowania wbudowanego.

Zaprojektowany z myślą o stabilności

Wszystkie systemy wbudowane są zaprojektowane tak, aby były wysoce niezawodne i stabilne. Muszą wykonywać swoje zadanie ze stałym czasem reakcji i działać przez cały okres użytkowania urządzenia, w którym je znajdują.

Jakie rodzaje oprogramowania wbudowanego oferuje Siemens?

Siemens oferuje jedno i drugie oprogramowanie wbudowane w motoryzację a wbudowana inżynieria oprogramowania rozwiązania. Siemens zaprzestał oferowania samodzielnego oprogramowania wbudowanego dla SoC, a w listopadzie 2023 r. wycofano produkty Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux i Sourcery CodeBench (w tym powiązane dodatki). Istniejące umowy wsparcia dla tych produktów są nadal przestrzegane, prosimy o kontakt z Siemens Centrum Wsparcia aby uzyskać więcej informacji.

Jakie są różne rodzaje oprogramowania wbudowanego i ich cele?

  • System operacyjny — System operacyjny (OS), w jego najbardziej ogólnym znaczeniu, to oprogramowanie, które pozwala użytkownikowi uruchamiać inne aplikacje na urządzeniu komputerowym. System operacyjny zarządza zasobami sprzętowymi procesora, w tym urządzeniami wejściowymi, takimi jak klawiatura i mysz, urządzeniami wyjściowymi, takimi jak wyświetlacze lub drukarki, połączeniami sieciowymi i urządzeniami pamięci masowej, takimi jak dyski twarde i pamięć. System operacyjny zapewnia również usługi ułatwiające wydajne wykonywanie i zarządzanie programami aplikacyjnymi oraz alokacji pamięci dla nich.
  • Firmware — Firmware to rodzaj oprogramowania, które jest napisane bezpośrednio dla elementu sprzętu. Działa bez przeglądania APIs, systemu operacyjnego lub sterowników urządzeń - dostarczając niezbędnych instrukcji i wskazówek, aby komunikować się z innymi urządzeniami lub wykonywać podstawowe zadania i funkcje zgodnie z przeznaczeniem.
  • Middleware - Middleware to warstwa oprogramowania położona między aplikacjami a systemami operacyjnymi. Oprogramowanie pośrednie jest często używane w systemach rozproszonych, gdzie upraszcza tworzenie oprogramowania, zapewniając następujące elementy:

    • Ukrywanie zawiłości rozproszonych aplikacji
    • Maskowanie heterogeniczności sprzętu, systemów operacyjnych i protokołów
    • Zapewnienie jednolitych i wysokiego poziomu interfejsów służących do tworzenia interoperacyjnych, wielokrotnego użytku i przenośnych aplikacji.
    • Dostarczanie zestawu wspólnych usług, które minimalizują powielanie wysiłków i usprawniają współpracę między aplikacjami
  • Aplikacja — użytkownik końcowy opracowuje ostateczną aplikację oprogramowania, która działa na systemie operacyjnym, wykorzystuje lub współdziała z oprogramowaniem pośrednim i oprogramowaniem sprzętowym i jest głównym celem funkcji docelowej systemów wbudowanych. Każda aplikacja końcowa jest unikalna, a systemy operacyjne i oprogramowanie układowe mogą być identyczne w zależności od urządzenia.

Oprogramowanie wbudowane a systemy wbudowane

Komponenty sprzętowe w urządzeniu z oprogramowaniem wbudowanym nazywane są „systemem wbudowanym”. Niektóre przykłady komponentów sprzętowych stosowanych w systemach wbudowanych to obwody zasilania, centralne jednostki przetwarzania, urządzenia pamięci flash, timery i porty komunikacji szeregowej. Podczas wczesnych etapów projektowania urządzenia decyduje się o sprzęcie, który będzie składał się na system wbudowany - i jego konfigurację w urządzeniu. Następnie oprogramowanie wbudowane jest opracowywane od podstaw, aby działało wyłącznie na tym sprzęcie w tej precyzyjnej konfiguracji. To sprawia, że projektowanie oprogramowania wbudowanego jest specjalistyczną dziedziną wymagającą głębokiej znajomości możliwości sprzętowych i programowania komputerowego.

Przykłady wbudowanych funkcji opartych na oprogramowaniu

Prawie każde urządzenie z płytkami drukowanymi i układami komputerowymi ma te komponenty ułożone we wbudowany system oprogramowania. W rezultacie wbudowane systemy oprogramowania są wszechobecne w życiu codziennym i znajdują się w technologii konsumenckiej, przemysłowej, motoryzacyjnej, lotniczej, medycznej, handlowej, telekomunikacyjnej i wojskowej.

Typowe przykłady wbudowanych funkcji opartych na oprogramowaniu obejmują:

  • Systemy przetwarzania obrazu znajdujące się w sprzęcie do obrazowania medycznego
  • Systemy sterowania typu fly-by-wire znalezione w samolotach
  • Systemy wykrywania ruchu w kamerach bezpieczeństwa
  • Systemy kontroli ruchu znajdujące się na światłach
  • Systemy synchronizacji i automatyzacji znajdujące się w inteligentnych urządzeniach domowych

Jakie są różne typy systemów wbudowanych?

W oparciu o wymagania wydajności i funkcjonalności, istnieje pięć głównych klas systemów wbudowanych:

  • Systemy wbudowane w czasie rzeczywistym wykonują zadania w sposób deterministyczny i powtarzalny, na co wpływa podstawowa architektura i harmonogramy systemów operacyjnych, a także wydajność wątków, rozgałęzienia i opóźnienia przerywania. Systemy wbudowane ogólnego przeznaczenia nie zawierają wymagań w czasie rzeczywistym i mogą zarządzać przerwami lub rozgałęzieniami bez zależności od czasu zakończenia. Wyświetlacze graficzne oraz zarządzanie klawiaturą i myszą są dobrymi przykładami ogólnych systemów.
  • Samodzielne systemy wbudowane mogą wykonywać zadania bez systemu hosta lub zewnętrznych zasobów przetwarzania. Mogą wysyłać lub odbierać dane z podłączonych urządzeń, ale nie są zależni od nich, aby wykonać swoje zadanie.
  • Samodzielne systemy wbudowane mogą wykonywać swoje zadanie bez systemu hosta lub zewnętrznych zasobów przetwarzania. Mogą wysyłać lub odbierać dane z podłączonych urządzeń, ale nie są zależni od nich, aby wykonać swoje zadanie.
  • Systemy wbudowane w sieć zależą od podłączonej sieci do wykonywania przypisanych zadań.
  • W zależności od złożoności architektury sprzętowej systemu, istnieją trzy główne typy systemów wbudowanych: Systemy wbudowane w sieć zależą od podłączonej sieci do wykonywania przypisanych zadań.

Jak rynki końcowe wpływają na systemy wbudowane

Wymagania systemowe wbudowane i komponenty będą się różnić w zależności od wymagań rynku docelowego. Niektóre przykłady obejmują:

  • Konsument - W aplikacjach takich jak towary konsumpcyjne, takie jak pralki, urządzenia do noszenia i telefony komórkowe systemy wbudowane podkreślają zmniejszony rozmiar
  • System-on-chip, niskie zużycie energii lub praca na baterii i interfejsy graficzne. W tych aplikacjach cenione są konfigurowalne systemy operacyjne i możliwość wyłączania nieoperacyjnych „domen” projektu.
  • Sieć — aplikacje umożliwiające łączność, komunikację, operacje i zarządzanie siecią korporacyjną. Zapewnia ścieżkę komunikacji i usługi między użytkownikami, procesami, aplikacjami, usługami i sieciami zewnętrznami/Internetem. Wbudowane aplikacje sieciowe koncentrują się na szybkości reakcji, przetwarzaniu pakietów i ścieżkach sprzętu peryferyjnego.
  • Przemysłowe — w zastosowaniach takich jak zarządzanie podłogą fabryczną, silniki i wiatraki, nacisk kładzie się na bezpieczną łączność w chmurze i deterministyczną pracę w czasie rzeczywistym i może skupić się głównie na oprogramowaniu pośrednim.
  • Medycyna, motoryzacyjna i lotnicza — branże te wymagają systemów o znaczeniu krytycznym dla bezpieczeństwa mieszanego, w których części projektu są odizolowane od siebie, aby zapewnić tylko niezbędne dane wprowadzane lub opuszczają system (bezpieczeństwo), jednocześnie gwarantując brak szkody dla użytkownika końcowego (bezpieczeństwo). Przykładami są autonomiczne systemy jazdy w samochodach i urządzeniach medycznych. Te wbudowane systemy mogą zawierać mieszankę open source (Linux) i deterministycznych systemów operacyjnych czasu rzeczywistego (RTOS) i silnie wykorzystują sprawdzone oprogramowanie pośrednie.

Dlaczego oprogramowanie wbudowane w motoryzację różni się?

W elektronice samochodowej złożone interakcje w czasie rzeczywistym zachodzą w wielu wbudowanych systemach, z których każdy kontroluje funkcje, takie jak hamowanie, układ kierowniczy, zawieszenie, układ napędowy itp. Fizyczna obudowa zawierająca każdy wbudowany system jest określana jako elektroniczna jednostka sterująca (ECU). Każdy ECU i jego wbudowane oprogramowanie są częścią złożonej architektury elektrycznej znanej jako system rozproszony.

Komunikując się ze sobą, ECU, które tworzą rozproszony system pojazdu, mogą wykonywać różne funkcje, takie jak automatyczne hamowanie awaryjne, adaptacyjny tempomat, kontrola stabilności, adaptacyjne reflektory i wiele innych. Pojedyncza funkcja może wymagać interakcji między 20 lub więcej wbudowanymi aplikacjami oprogramowania rozłożonymi na licznych jednostkach ECU połączonych wieloma protokołami sieciowymi. Złożone algorytmy sterowania wdrożone wraz z wbudowanym oprogramowaniem zapewniają prawidłowe czasowanie funkcji, potrzebne wejścia i wyjścia oraz bezpieczeństwo danych.

Typowe przykłady funkcji opartych na aplikacjach oprogramowania samochodowego obejmują:

  • Funkcje ADAS (Advanced Driver Assist Systems) takie jak adaptacyjny tempomat, automatyczne hamowanie awaryjne, asystent utrzymania pasa ruchu, wspomaganie ruchu, ostrzeżenia o opuszczeniu pasa ruchu
  • Zarządzanie baterią
  • Kompensacja momentu obrotowego
  • Kontrola szybkości wtrysku paliwa

Stos oprogramowania ECU

Elektroniczna jednostka sterująca lub ECU składa się z głównej jednostki obliczeniowej ze sprzętem na poziomie chipu i stosu wbudowanego oprogramowania. Jednak wśród producentów motoryzacyjnych rośnie tendencja do projektowania ECU ze złożonymi układami scalonymi, które zawierają wiele rdzeni obliczeniowych na jednym układzie - co jest określane jako System on a Chip (SoC). Te SoC mogą obsługiwać wiele abstrakcji ECU w celu skonsolidowania sprzętu. Stos oprogramowania dla ECU zazwyczaj zawiera szereg rozwiązań, od niskiego poziomu oprogramowania układowego po aplikacje wbudowane na wysokim poziomie.

Stos ECU

Opis

Aplikacja wbudowana

Algorytmy sterowania, przetwarzanie, usługi

Ramy aplikacji

Ramy bezpieczeństwa i bezpieczeństwa

Środowisko operacyjne

AUTOSAR classic, AUTOSAR Adaptive, Kanały wejścia/wyjścia

Wbudowane wirtualizacje

System operacyjny w czasie rzeczywistym, abstrakcje ECU

Firmware

Ładowarki rozruchowe, bezpieczne przechowywanie, bezpieczne gwintowanie

Sprzęt

Urządzenia na bazie krzemu, mikrokontrolery, płyty jedno- lub wielowarstwowe

Zasoby związane z oprogramowaniem wbudowanym

Dowiedz się więcej

Wbudowane oprogramowanie i projektowanie sieci

Dowiedz się, jak szybko i skutecznie opracować innowacyjne, bezpieczne oprogramowanie zapewniające istotne funkcje produktu.