Siemens предлага и двете автомобилен вграден софтуер и вградено софтуерно инженерство решения. Siemens прекрати предлагането на самостоятелен вграден софтуер за SoC с пенсионирането през ноември 2023 г. на продуктите Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux и Sourcery CodeBench (включително свързаните с тях добавки). Съществуващите договори за поддръжка на тези продукти все още се спазват, моля, свържете се със Siemens Център за поддръжка за повече информация.
Какви са различните видове вграден софтуер и техните цели?
- Операционна система (операционна система) в най-общия си смисъл е софтуер, който позволява на потребителя да стартира други приложения на компютърно устройство. Операционната система управлява хардуерните ресурси на процесора, включително входни устройства като клавиатура и мишка, изходни устройства като дисплеи или принтери, мрежови връзки и устройства за съхранение като твърди дискове и памет. Операционната система също така предоставя услуги за улесняване на ефективното изпълнение и управление на софтуерни приложения и разпределяне на памет за софтуерни приложения.
- Фърмуер — Фърмуерът е вид софтуер, който е написан директно за част от хардуера. Той работи без да преминава през APIs, операционната система или драйверите на устройствата - предоставя необходимите инструкции и насоки за комуникация с други устройства или изпълнение на основни задачи и функции, както е предвидено.
- Middleware — Middleware е софтуерен слой, разположен между приложения и операционни системи. Междинният софтуер често се използва в разпределени системи, където опростява разработването на софтуер, като предоставя следното:
- Скриване на тънкостите на разпределените приложения
- Маскиране на хетерогенността на хардуера, операционните системи и протоколите
- Осигуряване на единни и висококачествени интерфейси, използвани за създаване на оперативно съвместими, многократно използваеми и преносими приложения.
- Предоставяне на набор от общи услуги, които свеждат до минимум дублирането на усилията и подобряват сътрудничеството между приложенията
- Приложение — Крайният потребител разработва окончателното софтуерно приложение, което работи на операционната система, използва или взаимодейства с междинния софтуер и фърмуера и е основният фокус на целевата функция на вградените системи. Всяко крайно приложение е уникално, докато операционните системи и фърмуерът могат да бъдат идентични от устройство на устройство.
Вграден софтуер срещу вградени системи
Хардуерните компоненти в устройство, работещо с вграден софтуер, се наричат „вградена система“. Някои примери за хардуерни компоненти, използвани във вградените системи, са вериги за захранване, централни процесорни устройства, устройства с флаш памет, таймери и серийни комуникационни портове. По време на ранните фази на проектиране на устройството се решава хардуерът, който ще съставлява вградената система - и неговата конфигурация в устройството. След това вграденият софтуер се разработва от нулата, за да работи изключително на този хардуер в тази точна конфигурация. Това прави дизайна на вградения софтуер специализирана област, изискваща задълбочени познания за хардуерните възможности и компютърното програмиране.
Примери за вградени софтуерно базирани функции
Почти всяко устройство с платки и компютърни чипове има тези компоненти, подредени във вградена софтуерна система. В резултат на това вградените софтуерни системи са повсеместни в ежедневието и се срещат в потребителските, промишлените, автомобилните, космическите, медицинските, търговските, телекомуникационните и военните технологии.
Често срещани примери за вградени софтуерно базирани функции включват:
- Системи за обработка на изображения, открити в медицинско оборудване за изображения
- Системи за управление „fly-by-wire“, открити в самолети
- Системи за откриване на движение в охранителни камери
- Системи за контрол на движението, открити в светофарите
- Системи за синхронизация и автоматизация, открити в интелигентните домашни устройства
Какви са различните видове вградени системи?
Когато се основават на производителността и функционалните изисквания, има пет основни класа вградени системи:
- Вградените системи в реално време изпълняват задачите по детерминистичен и повтаряем начин, което се влияе от основната архитектура и график на операционните системи, както и от работата на нишките, разклоняването и прекъсването на латентността. Вградените системи с общо предназначение не съдържат изисквания в реално време и могат да управляват прекъсвания или разклоняване без зависимост от времето за завършване. Графичните дисплеи и управлението на клавиатурата и мишката са добри примери за общи системи.
- Самостоятелните вградени системи могат да изпълняват задачи без хост система или външни ресурси за обработка. Те могат да извеждат или получават данни от свързани устройства, но не разчитат на тях, за да изпълнят задачата си.
- Самостоятелните вградени системи могат да изпълняват задачата си без хост система или външни ресурси за обработка. Те могат да извеждат или получават данни от свързани устройства, но не разчитат на тях, за да изпълнят задачата си.
- Мрежовите вградени системи зависят от свързана мрежа за изпълнение на зададени задачи.
- Въз основа на сложността на хардуерната архитектура на системата, съществуват три основни типа вградени системи: Мрежовите вградени системи зависят от свързана мрежа за изпълнение на зададени задачи.
Как крайните пазари влияят на вградените системи
Вградените системни изисквания и компоненти ще се различават в зависимост от изискванията на целевия пазар. Някои примери включват:
- Потребителски - В приложения като потребителски стоки като перални машини, носими устройства и мобилни телефони вградените системи подчертават намаления размер на
- Система на чип, ниска консумация на енергия или работа на батерията и графични интерфейси. В тези приложения се оценяват конфигурируемите операционни системи и възможността за изключване на неработещи „домейни“ на дизайна.
- Мрежи — Приложения, които позволяват свързаност, комуникация, операции и управление на корпоративна мрежа. Той осигурява комуникационния път и услугите между потребители, процеси, приложения, услуги и външни мрежи/интернет. Вградените мрежови приложения се фокусират върху скоростта на реакция, обработката на пакети и периферните хардуерни пътища.
- Индустриален — За приложения като управление на фабричните етажи, двигатели и вятърни мелници, акцентът е насочен към осигуряване на облачна свързаност и детерминирана работа в реално време и може да се фокусира силно върху междинния софтуер.
- Медицина, автомобилна и аерокосмическа промишленост — Тези отрасли се нуждаят от критични системи за смесена безопасност, където части от дизайна са изолирани една от друга, за да се гарантира, че само необходимите данни влизат или излизат от системата (сигурност), като същевременно не се гарантира вреда за крайния потребител (безопасност). Примери за това са автономните системи за шофиране в автомобили и медицински изделия. Тези вградени системи могат да включват комбинация от отворен код (Linux) и детерминистични операционни системи в реално време (RTOS) и силно използват доказан посреден софтуер.
Защо автомобилният вграден софтуер е различен?
В автомобилната електроника се случват сложни взаимодействия в реално време в множество вградени системи, които всяка от тях управлява като спиране, управление, окачване, задвижване и т.н. Физическият корпус, съдържащ всяка вградена система, се нарича електронен контролен блок (ECU). Всеки ECU и неговият вграден софтуер са част от сложна електрическа архитектура, известна като разпределена система.
Чрез комуникация помежду си, ECU, които съставляват разпределената система на автомобила, могат да изпълняват различни функции, като автоматично аварийно спиране, адаптивен круиз контрол, контрол на стабилността, адаптивни фарове и много други. Една функция може да се нуждае от взаимодействия между 20 или повече вградени софтуерни приложения, разпределени в множество ECU, свързани чрез множество мрежови протоколи. Комплексните алгоритми за управление, внедрени с вградения софтуер, осигуряват правилното време на функциите, необходимите входове и изходи и сигурност на данните.
Често срещани примери за функции, базирани на приложения за автомобилен софтуер, включват:
- ADAS (Advanced Driver Assist Systems) функции като адаптивен круиз контрол, автоматично аварийно спиране, асистент за поддържане на лентата, подпомагане на трафика, предупреждения за напускане на лентата
- Управление на батерията
- Компенсация на въртя
- Контрол на скоростта на инжектиране на гориво
ECU софтуерен стек
Електронният контролен блок или ECU се състои от основен изчислителен блок с хардуер на ниво чип и куп вграден софтуер. Въпреки това, има нарастваща тенденция сред автомобилните производители да проектират ECU със сложни интегрални схеми, които съдържат множество изчислителни ядра на един чип - това, което се нарича Система на чип (SoC). Тези SoC могат да хостват множество абстракции на ECU, за да консолидират хардуера. Софтуерният стек за ECU обикновено включва редица решения, от фърмуер на ниско ниво до вградени софтуерни приложения на високо ниво.
ECU стек | Описание |
Вградено софтуерно приложение | Контролни алгоритми, обработка, услуги |
Рамка за приложение | Рамки за сигурност и безопасност |
Работна среда | AUTOSAR класически, Адаптивен AUTOSAR, Входни/изходни канали |
Вградени виртуализации | Операционна система в реално време, ECU абстракции |
фърмуер | Бутовъчни товарачи, безопасно съхранение, сигурно резбоване |
Хардуер | Устройства на основата на силиций, микроконтролери, еднослойни или многопластови платки |