«Сіменс» пропонує обидва автомобільне вбудоване програмне забезпечення і вбудована інженерія програмного забезпечення розчини. Siemens припинила пропонувати автономне вбудоване програмне забезпечення для SoC з виходом у листопаді 2023 року продуктів Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux та Sourcery CodeBench (включаючи супутні доповнення). Існуючі контракти на підтримку цих продуктів все ще виконуються, будь ласка, зв'яжіться з Siemens Центр підтримки для отримання додаткової інформації.
Які існують різні типи вбудованого програмного забезпечення та їх призначення?
- Операційна система - Операційна система (ОС), в її найзагальнішому розумінні, - це програмне забезпечення, яке дозволяє користувачеві запускати інші програми на обчислювальному пристрої. Операційна система керує апаратними ресурсами процесора, включаючи пристрої введення, такі як клавіатура та миша, вихідні пристрої, такі як дисплеї або принтери, мережеві підключення та пристрої зберігання даних, такі як жорсткі диски та пам'ять. ОС також надає послуги для полегшення ефективного виконання та управління, а також розподілом пам'яті для програмних прикладних програм.
- Прошивка - Прошивка - це тип програмного забезпечення, яке написано безпосередньо для апаратного забезпечення. Він працює без проходження API, операційної системи або драйверів пристроїв, надаючи необхідні інструкції та вказівки для спілкування з іншими пристроями або виконання основних завдань та функцій за призначенням.
- Проміжне програмне забезпечення - це програмний шар, розташований між додатками та операційними системами. Проміжне програмне забезпечення часто використовується в розподілених системах, де воно спрощує розробку програмного забезпечення, забезпечуючи наступне:
- Приховування тонкощів розподілених додатків
- Маскування неоднорідності апаратного забезпечення, операційних систем і протоколів
- Забезпечення рівномірних інтерфейсів високого рівня, що використовуються для створення сумісних, багаторазових та портативних додатків.
- Надання набору загальних служб, що мінімізує дублювання зусиль та покращує співпрацю між додатками
- Додаток - Кінцевий користувач розробляє кінцевий програмний додаток, який працює в операційній системі, використовує або взаємодіє з проміжним програмним забезпеченням та прошивкою, і є основним фокусом цільової функції вбудованих систем. Кожна кінцева програма унікальна, тоді як операційні системи та прошивка можуть бути ідентичними від пристрою до пристрою.
Вбудоване програмне забезпечення проти вбудованих систем
Апаратні компоненти в пристрої, що працює з вбудованим програмним забезпеченням, називаються «вбудованою системою». Деякі приклади апаратних компонентів, що використовуються у вбудованих системах, - це схеми живлення, центральні процесорні блоки, пристрої флеш-пам'яті, таймери та послідовні порти зв'язку. На ранніх етапах проектування пристрою вирішується обладнання, яке складе вбудовану систему, і її конфігурацію всередині пристрою. Потім вбудоване програмне забезпечення розробляється з нуля, щоб працювати виключно на цьому апаратному забезпеченні в цій точній конфігурації. Це робить дизайн вбудованого програмного забезпечення спеціалізованою сферою, що вимагає глибоких знань апаратних можливостей та комп'ютерного програмування.
Приклади вбудованих програмних функцій
Майже кожен пристрій з друкованими платами та комп'ютерними чіпами має ці компоненти, розташовані у вбудованій програмній системі. Як результат, вбудовані програмні системи є повсюдно поширеними в повсякденному житті і зустрічаються у споживчих, промислових, автомобільних, аерокосмічних, медичних, комерційних, телекомунікаційних та військових технологіях.
Поширені приклади вбудованих функцій на основі програмного забезпечення включають:
- Системи обробки зображень, знайдені в медичному обладнанні візуалізації
- Системи управління «Флай-by-Wire», знайдені в літаках
- Системи виявлення руху в камерах безпеки
- Системи управління дорожнім рухом виявлені на світлофорах
- Системи синхронізації та автоматизації, знайдені в пристроях розумного будинку
Які існують різні типи вбудованих систем?
Якщо виходячи з продуктивності та функціональних вимог, виділяють п'ять основних класів вбудованих систем:
- Вбудовані системи в режимі реального часу виконують завдання детермінованим та повторюваним способом, на що впливає основна архітектура та планування операційних систем, а також продуктивність потоків, розгалуження та затримка переривання. Вбудовані системи загального призначення не містять вимог у режимі реального часу і можуть керувати перериваннями або розгалуженнями без залежності від часу завершення. Графічні дисплеї та управління клавіатурою та мишкою - хороші приклади загальних систем.
- Автономні вбудовані системи можуть виконувати завдання без хост-системи або зовнішніх ресурсів обробки. Вони можуть виводити або отримувати дані з підключених пристроїв, але не залежать від них для виконання свого завдання.
- Автономні вбудовані системи можуть виконувати своє завдання без хост-системи або зовнішніх ресурсів обробки. Вони можуть виводити або отримувати дані з підключених пристроїв, але не залежать від них для виконання свого завдання.
- Мережеві вбудовані системи залежать від підключеної мережі для виконання поставлених завдань.
- Виходячи зі складності апаратної архітектури системи, існує три основні типи вбудованих систем: мережеві вбудовані системи залежать від підключеної мережі для виконання поставлених завдань.
Як кінцеві ринки впливають на вбудовані системи
Вимоги та компоненти вбудованої системи будуть відрізнятися залежно від вимог цільового ринку. Деякі приклади включають:
- Споживачі - У таких додатках, як споживчі товари, такі як пральні машини, носячі пристрої та мобільні телефони, вбудовані системи підкреслюють зменшений розмір
- Система на чіпі, низьке енергоспоживання або робота акумулятора та графічні інтерфейси. У цих додатках цінуються настроювані операційні системи і можливість відключення непрацюючих «доменів» конструкції.
- Мережа — програми, що забезпечують підключення, зв'язок, операції та управління корпоративною мережею. Він забезпечує шлях зв'язку та послуги між користувачами, процесами, додатками, службами та зовнішніми мережами/Інтернетом. Вбудовані мережеві програми зосереджуються на швидкості відгуку, обробці пакетів та периферійних апаратних шляхах.
- Промисловий - Для таких застосувань, як управління заводськими майданчиками, двигуни та вітряки, акцент має тенденцію до забезпечення хмарного підключення та детермінованої роботи в «режимі реального часу» та може зосередитися на проміжному програмному забезпеченні.
- Медичні, автомобільні та аерокосмічні галузі потребують змішаних критичних систем безпеки, де частини конструкції ізольовані одна від одної, щоб забезпечити надходження або вихід із системи лише необхідних даних (безпека), гарантуючи при цьому відсутність шкоди кінцевому користувачеві (безпека). Прикладами є автономні системи водіння в автомобілі та медичних пристроях. Ці вбудовані системи можуть мати поєднання відкритого коду (Linux) та детермінованих операційних систем реального часу (RTOS) та широко використовують перевірене проміжне програмне забезпечення.
Чому автомобільне вбудоване програмне забезпечення відрізняється?
У автомобільній електроніці складні взаємодії в режимі реального часу відбуваються між кількома вбудованими системами, кожна з яких функціонує управління, такими як гальмування, рульове управління, підвіска, силовий агрегат тощо. Фізичний корпус, що містить кожну вбудовану систему, називається електронним блоком управління (ЕБУ). Кожен ЕБУ та його вбудоване програмне забезпечення є частиною складної електричної архітектури, відомої як розподілена система.
Спілкуючись між собою, ECU, що складають розподілену систему автомобіля, можуть виконувати різноманітні функції, такі як автоматичне екстрене гальмування, адаптивний круїз-контроль, контроль стійкості, адаптивні фари та багато іншого. Одна функція може потребувати взаємодії між 20 або більше вбудованими програмними програмами, розподіленими по численних ECU, з'єднаних кількома мережевими протоколами. Складні алгоритми управління, розгорнуті за допомогою вбудованого програмного забезпечення, забезпечують правильний час виконання функцій, необхідні входи та виходи та безпеку даних.
Поширені приклади функцій автомобільного програмного забезпечення на основі додатків включають:
- Функції ADAS (Advanced Driver Assist Systems), такі як адаптивний круїз-контроль, автоматичне екстрене гальмування, допомога при утриманні смуги руху, помічник руху, попередження про виїзд на смугу руху
- Управління акумулятором
- Компенсація крутного моменту
- Контроль швидкості вприскування палива
Стек програмного забезпечення ECU
Електронний блок управління або ЕБУ складається з основного обчислювального блоку з апаратним забезпеченням на рівні чіпа та стека вбудованого програмного забезпечення. Однак серед виробників автомобілів зростає тенденція розробляти ECU зі складними інтегральними схемами, які містять кілька обчислювальних ядер на одному чіпі - те, що називається системою на чіпі (SoC). Ці SoC можуть розміщувати безліч абстракцій ЕБУ для консолідації обладнання. Програмний стек для ЕБУ зазвичай включає цілий ряд рішень, від прошивки низького рівня до вбудованих програмних додатків високого рівня.
ЕБУ стек | Опис |
Вбудований програмний додаток | Алгоритми управління, обробка, послуги |
Фреймворк застосування | Структури безпеки та безпеки |
Операційне середовище | AUTOSAR класичний, AUTOSAR адаптивний, канали входів/виводу |
Вбудована віртуалізація | ОС в реальному часі, абстракції ECU |
прошивка | Завантажувачі, безпечне зберігання, безпечне потокове |
Апаратне забезпечення | Пристрої на основі кремнію, мікроконтролери, одно- або багатошарові плати |