Вградена система

Вградената система е компютър, който е създаден за решаване само на няколко много специфични проблема и не се променя лесно. Думата "вграден" означава, че той е вграден в системата. Тя е постоянна част в по-голяма система. Обикновено не прилича на компютър, често няма клавиатура, монитор или мишка. Но като всеки компютър той има процесор и софтуер, вход и изход.

Например контролерът, вграден в асансьор, нарежда на двигателя да премести асансьора на различни етажи въз основа на натиснати бутони. Декодерът е вграден в приставката за сателитна телевизия (наречена STB), за да чете сигнала от чинията и да изпраща нещо, което телевизорът разбира. Често този тип системи трябва да свършат работата си за определено време. Това се нарича изчисление в реално време. Ако приемникът се прекъсне, за да изпълни друга задача, ще видите лоша картина на телевизора, например. Компютърът с общо предназначение често ще има кратки паузи, докато прави нещо друго, той не е в реално време.

Вградените системи управляват много от обичайните устройства, които се използват днес, като например четците на карти в ключалките на хотелските врати или няколко устройства в автомобила. Те могат да управляват както малки неща като MP3 плейър или цифров фотоапарат, така и големи неща като светофарни системи, самолети или монтажни линии в завод.

Снимка на вътрешните части на ADSL модем/маршрутизатор. Съвременен пример за вградена система. Маркираните части включват микропроцесор (4), оперативна памет (6) и флаш памет (7).Zoom
Снимка на вътрешните части на ADSL модем/маршрутизатор. Съвременен пример за вградена система. Маркираните части включват микропроцесор (4), оперативна памет (6) и флаш памет (7).

Примери за вградени системи

Вградените системи се използват в много видове електрически устройства, включително:

  • В телекомуникационните системи те се използват за телефони, клетъчни мрежи и wi-fi маршрутизатори.
  • Потребителската електроника включва радиоприемници, MP3 плейъри, мобилни телефони, конзоли за видеоигри, цифрови фотоапарати, DVD плейъри, GPS приемници, системи за домашна сигурност и принтери.
  • Домакинските уреди, като микровълнови печки, перални машини, алармени системи за взлом и съдомиялни машини, имат вградени системи.
  • В транспорта се използват вградени системи за всичко - от локомотиви за влакове до самолети и автомобили.
  • В промишлеността се използват електродвигатели с електронни контролери, четци на карти и машини с ЦПУ, които автоматично произвеждат метални части.
  • Медицински устройства като дефибрилатори, автоматични апарати за измерване на кръвно налягане и автоматични инсулинови помпи.
  • Военни устройства, като уоки-токи, сателити и системи за насочване на ракети.

Общи характеристики

  • За разлика от компютрите с общо предназначение вградените системи са предназначени за изпълнение на конкретни задачи.
  • Той не прилича на компютър - може да няма пълен монитор или клавиатура.
  • Много вградени системи трябва да могат да извършват дейности в реално време - за кратко време (почти мигновено от човешка гледна точка).
  • Много вградени системи трябва да бъдат много сигурни и надеждни, особено за медицински устройства или авионика, управляваща самолети.
  • Стартира много бързо. Хората не искат да чакат минута-две, за да запалят автомобила си или да стартират аварийното оборудване.
  • Тя може да използва специална операционна система (или понякога много малка домашна операционна система), която помага да се отговори на тези изисквания, наречена операционна система зареално време или RTOS.
  • Програмните инструкции, написани за вградените системи, се наричат фърмуер и се съхраняват в памет само за четене или в чипове с флаш памет. Те работят с ограничени хардуерни ресурси на компютъра: малко памет, малка или несъществуваща клавиатура и/или екран.

Вградените системи не винаги са самостоятелни устройства. Понякога те са изградени като комплект, подобно на различните части на един автомобил - радиото, управлението на газта, контрола на замърсяването и т.н. Понякога те могат да комуникират с интернет или с мрежата на мобилен телефон и може да имат USB четец или други връзки.

Потребителски интерфейси

Вградените системи варират от такива, които изобщо нямат потребителски интерфейс - само изпращане и получаване на електрически сигнали - до пълен графичен потребителски интерфейс, какъвто има в съвременните компютри. Доста често те имат няколко бутона, малък дисплей и няколко светодиода. По-сложните системи могат да имат сензорен екран, който позволява значението на бутоните да се променя с всеки екран, както е в смартфоните.

Пример за потребителски интерфейс с бутони и прост LCD дисплей.Zoom
Пример за потребителски интерфейс с бутони и прост LCD дисплей.

Хардуер

Хардуерът включва чиповете, кабелите, печатните платки, бутоните и дисплеите.

Процесори

Най-важният чип е централният процесор или CPU. Той изпълнява софтуерните инструкции. Той може да бъде стандартен микропроцесор или микроконтролер. Микроконтролерите включват микропроцесора, както и просто периферно оборудване, така че системата може да бъде по-малка и по-евтина. Те имат по-малка гъвкавост, тъй като тези части не могат да бъдат променяни. Обикновено тези части включват флаш памет и поддръжка на серийни портове, USB и др.

За разлика от микропроцесора за компютър с общо предназначение, по-големият и по-бързият не винаги е по-добър. Много вградени процесори са много малки. Понякога това се прави, за да се използва по-малко място или по-малко енергия, а понякога - за да бъдат по-евтини. Компютрите с общо предназначение използват микропроцесори, които четат 32- или 64-битови думи и работят със скорости, измервани в GHz, но вградените процесори обикновено са от 4 до 32 бита и работят със скорости, измервани обикновено в десетки MHz (стотици пъти по-бавно). (Но и програмите са по-малки и не проверяват за неща, които не се използват).

Готови компютърни платки

Съществуват "готови" компютърни платки, които могат да се използват в някои вградени системи. Те често използват Windows CE, Linux, NetBSD или вградена операционна система за реално време.

Понякога може да е по-лесно да се използва вече направена платка. Обикновено те споделят много компоненти с компютрите с общо предназначение, но са по-малки от тези в компютрите с общо предназначение. Платки като VIA EPIA могат да работят с Microsoft Windows. Предимството е, че се спестява част от времето за електроинженерство и могат да се използват същите средства за разработка на софтуер, които се използват за разработване на софтуер от типа на PC. Примери за такива вградени устройства са банкоматите или дисплеите в казината. Това работи добре, ако изискванията за реално време не са наистина строги (например няма голямо значение дали една задача отнема осем секунди вместо пет).

ASIC и FPGA решения

Ако устройството трябва да бъде много малко или ще се продава в много голям брой ("голям обем"), има смисъл да се направи персонализиран или специализиран чип, който да изпълнява точно това, което е необходимо. Това е система върху чип (SoC), която съдържа цялостна система - процесор, блок с плаваща запетая, кеш памет и интерфейси на една интегрална схема. SoC могат да бъдат изработени като интегрална схема със специфично приложение (ASIC) по специална поръчка или чрез използване на полево програмируема матрица (FPGA), която се програмира от хората, изграждащи вградената система.

Периферни устройства

Вградените системи комуникират с външния свят или с други компоненти, като използват периферни устройства, като например:

  • Серийни портове: RS-232, RS-422, RS-485. Това беше доста разпространено, с 9-пинови (или по-големи) конектори.
  • Синхронен сериен комуникационен интерфейс: I²C Inter-Integrated Circuit, I²S Inter-Integrated Sound, SPI, MIcrowire, ...
  • Универсална серийна шина (USB).
  • Мрежи: Ethernet, Controller Area Network, LonWorks, ...
  • Дискретни входове/изходи: Вход/изход с общо предназначение (GPIO). Това може да бъде единичен проводник със сигнал за включване/изключване. Той може да се използва за малка клавиатура или за осветяване на светодиод.
  • Аналогово-цифрови/цифрово-аналогови преобразуватели (ADC/DAC). С тях се измерва нещо, което променя силата си, например светлинен сензор или управление на двигател.
  • Отстраняване на грешки: JTAG, ICSP порт, за софтуерни инженери.
Soekris net4801, вградена система, предназначена за мрежови приложения.Zoom
Soekris net4801, вградена система, предназначена за мрежови приложения.

Софтуер

Операционни системи

Вградените системи често не се нуждаят от пълна операционна система. Някои използват специално създадени малки и прости операционни системи, които стартират много бързо, а други изобщо не се нуждаят от такива. Вградените системи не се адаптират толкова лесно, но са създадени така, че да изпълняват задачите си много по-надеждно. Тъй като хардуерът е по-прост, често е и по-евтин за изграждане и работи по-бързо.

За разлика от това компютърът с общо предназначение трябва да е готов за нови драйвери на устройства и софтуер за работа с хардуер, за който все още не знае, като например нови принтери или твърди дискове. Той трябва да изпълнява различни приложни програми.

Тъй като вградените системи стават все по-големи, неща, които преди се използваха само в компютри с общо предназначение или дори в мейнфреймове, сега се срещат често във вградените системи. Това включва защитено пространство за памет и отворена среда за програмиране, включително Linux, NetBSD и др.

Няколко примера за операционни системи - от прости до сложни:

  • Обикновен цикъл за управление - Използва се таймер и цикъл за многократно извикване на различни подпрограми. Това често се прави от един човек за по-малки системи.
  • управлявани от прекъсвания - задачите се стартират от различни видове събития. Събитието може да бъде нещо, което е определено във времето (например на всеки десет секунди), или чрез натискане на бутон или получени данни.
  • многозадачна работа без изпреварване - всяка задача получава своя ред за изпълнение и когато приключи, тя се обажда на планиращо устройство в операционната система, за да изпълни следващата задача.
  • изпреварваща многозадачност или многонишковост - дадена задача може да бъде спряна след определен период от време, за да може друга задача да работи известно време. Нито една задача не може да затормозява системата. На това ниво се счита, че системата има ядро "операционна система" и може да изпълнява задачи паралелно. Този тип операционна система обикновено се купува от компания, която работи само по операционни системи за вграждане.

Операционните системи за реално време включват продукти като MicroC/OS-II, Green Hills INTEGRITY, QNX или VxWorks. За разлика от MacOS или Windows 7, тези операционни системи не са много добре познати на повечето хора. Но те се използват на много места, където времето и безопасността са много важни. Хората ги използват всеки ден и не го осъзнават.

Често срещани примери за по-големи ядра са Embedded Linux и Windows CE. Въпреки че те нямат строгите времеви ограничения, необходими за строга система за реално време, те стават все по-разпространени, особено за по-мощни устройства като безжични маршрутизатори и GPS. Те позволяват повторното използване на код в публичното пространство за драйвери на устройства, уеб сървъри, защитни стени и друг код. Разработчиците на софтуер, на които е по-удобно да пишат приложения за персонални компютри, също ще намерят това за по-познато. Ако е необходимо, може да се използва FPGA или друг специален хардуер за неща, които се нуждаят от строги времеви ограничения.

Инструменти

Подобно на друг софтуер, проектантите на вградени системи използват компилатори, асемблери и дебъгъри, за да разработват софтуер за вградени системи. Те обаче могат да използват и някои по-специфични инструменти:

  • За системи, използващи цифрова обработка на сигнали, разработчиците могат да използват математически инструменти като MATLAB, MathCad или Mathematica.
  • Могат да се използват персонализирани компилатори и свързващи програми, за да се подобри оптимизацията за конкретния хардуер.
  • Една вградена система може да има свой собствен специален език или инструмент за проектиране, или да добави подобрения към съществуващ език, като този, използван от Basic Stamp.

Инструменти за отстраняване на грешки:

  • Дебъгер за вътрешносхемни настройки (ICD) - хардуерно устройство, което се свързва с микропроцесора чрез интерфейс JTAG. То стартира и спира микропроцесора отвън, докато той изпълнява софтуера. То също така позволява четене на паметта и регистрите, както и съхраняване на софтуерната програма в паметта.
  • Външно отстраняване на грешки с помощта на регистриране или изход от сериен порт за проследяване на работата с помощта на мигащ монитор (printfs).
  • Интерактивно резидентно отстраняване на грешки - ако операционната система го поддържа, това е обвивка на вградения процесор, която изпълнява команди, въведени от разработчика (например Linux).
  • Микропроцесорът на платката се замества от емулатор, който осигурява пълен контрол върху всичко, което микропроцесорът може да прави.
  • Пълният емулатор симулира всички функции на хардуера, като позволява управлението и модифицирането му. Хардуерът не съществува в действителност, но негова привидна версия ("виртуална" машина) се намира на нормален компютър.
  • Проверка на външни линии с логически анализатор или мултиметър.

Освен ако не е ограничено до външно отстраняване на грешки, програмистът обикновено може да зарежда и стартира софтуер чрез инструментите, да преглежда кода, изпълняван в процесора, и да стартира или спира работата му. Изгледът на кода може да бъде под формата на асемблерен код или код на изходния код. Някои интегрирани системи (като VxWorks или Green Hills) имат специални функции, като например проследяване на това колко място заема софтуерът по време на работа, какви задачи се изпълняват и кога се случват нещата.

В зависимост от това какъв вид вградена система се създава, ще се повлияе на начина, по който тя може да бъде дебъгната. Например, отстраняването на грешки в система с един микропроцесор е различно от отстраняването на грешки в система, в която обработката се извършва и от периферно устройство (DSP, FPGA, копроцесор).

Безопасност и надеждност

Вградените системи често се използват в машини, от които се очаква да работят години наред без грешки и в някои случаи да се възстановяват сами при възникване на грешка. Това означава, че софтуерът обикновено се разработва и тества по-внимателно, отколкото този за персонални компютри, и се избягват ненадеждни механични движещи се части като дискови устройства и вентилатори.

Места, където безопасността и надеждността са важни:

  • Някои системи не могат да бъдат безопасно изключени за ремонт или ремонтът им е твърде труден. Примери за това са космическите системи (спътници, роувъри), подводните кабели и управлението на атомните електроцентрали.
  • Системата би могла да убие хора, ако се повреди, като например системите за управление на самолети, химическите заводи, влаковите сигнали и сърдечните дефибрилатори.
  • Системата ще загуби големи суми пари, ако бъде спряна или ако бъде допусната грешка: Телефонни превключватели, фабрични контролни уреди, касови апарати, автоматични банкомати.

Начини за възстановяване от грешки - както софтуерни грешки, като например изтичане на памет, така и меки грешки в хардуера:

  • Часовник за наблюдение, който рестартира вградената система, ако нещо спре да работи.
  • Дублиращи се части, при които една система може да поеме управлението, ако друга спре да работи.
  • Софтуерни "режими на затишие", които осигуряват частична функционалност.
  • Програмиране, съобразено с имунитета

Свързани страници

Въпроси и отговори

В: Какво представлява вградената система?


О: Вградената система е компютър, създаден за решаване на специфични проблеми и не се променя лесно.

В: По какво се различава вградената система от компютъра с общо предназначение?


О: Вградената система обикновено няма клавиатура, монитор или мишка и има специализирани функции. Компютърът с общо предназначение може да изпълнява широк спектър от задачи.

В: Какви са някои примери за вградени системи?


О: Примери за вградени системи са контролерите на асансьори, декодерите, четците на карти в ключалките на хотелските врати, системите на светофарите, самолетите и монтажните линии в заводите.

В: Какво представляват изчисленията в реално време?


О.: Изчисляване в реално време е, когато вградената система трябва да завърши работата си в рамките на определено време. Ако тя бъде прекъсната, това може да доведе до проблеми като лошо качество на картината на телевизора.

В: Какви са компонентите на вградената система?


О: Както всеки компютър, вградената система има процесор, софтуер, вход и изход.

В: Кои са някои задачи, които вградената система може да контролира?


О: Вградената система може да управлява малки устройства като MP3 плейъри или цифрови фотоапарати, или по-големи системи като светофари или самолети.

В: Какво означава терминът "вграден" по отношение на вградените системи?


О: Терминът "вграден" означава, че компютърът е вграден в по-голяма система и не може лесно да се променя.

AlegsaOnline.com - 2020 / 2023 - License CC3