Embedded Systems English Vocabulary: 70 Essential Terms

Повний словник вбудованих систем і Інтернету речей: MCU, RTOS, GPIO, UART, SPI, I2C, MQTT, оновлення OTA, програмне забезпечення і ще 60 термінів з прикладами.

Інженери вбудованих систем працюють на межі апаратного та програмного забезпечення — пишуть програмне забезпечення для мікроконтролерів, налаштовують периферійні пристрої і розгортають їх на обмежених пристроях. Словник є апаратно-важким і дуже специфічним. Цей посібник містить 70 термінів, які вам потрібні для впевненого спілкування у вбудованому та Інтернеті речей.


Основні поняття

Вбудована система

** Вбудована система ** — це комп’ ютер, розроблений для виконання певної функції у більшій системі, зазвичай з обмеженими ресурсами (швидкість процесора, оперативна пам’ ять, флеш- пам’ ять, живлення). Приклади: мікрохвильові контролери, автомобільні блоки управління, датчики IoT, промислові PLC.

Firmware

** Програмне забезпечення ** — це програмне забезпечення, збережене у нелетючій пам’ яті (флеш) апаратного пристрою. На відміну від програмного забезпечення, мікропрограма безпосередньо контролює обладнання і рідко змінюється після розгортання.

“На заводі перед відправкою встановлюють останню прошивку. Оновлення надходять OTA в поле.»

Бар-метал програмування

Bare- metal програмування означає написання програмного забезпечення, яке працює безпосередньо на апаратному забезпеченні без операційної системи — інженер керує пам’ яттю, периферійними пристроями і таймінгом вручну.

Мікроконтролер (англ. Microcontroller)

** MCU ** це компактна інтегральна схема, що містить процесор, оперативну пам’ ять, флеш- пам’ ять і периферійні пристрої на одному чипі. Приклади: STM32 (ARM Cortex-M), ESP32 (Xtensa), ATmega328 (AVR), RP2040.

Система на чипі (SoC)

SoC інтегрує потужніший процесор, GPU, контролер пам’яті, бездротові радіо і периферійні пристрої в один чип. Приклади: Raspberry Pi 4 (BCM2711), Apple M-серії, Qualcomm Snapdragon.


Інтерфейси та периферичні пристрої

GPIO (General-Purpose Input/Output) — загальний вхід/вихід

Вивід ** GPIO ** можна налаштувати як цифровий вхід (зчитування стану кнопки) або цифровий вивід (приведення у дію світлодіода). Найважливіший мікроконтролер.

GPIO pin PA5 конфігурується як вихід для керування світлодіодом стану

UART (Universal Asynchronous Receiver-Transmitter) — універсальний асинхронний приймач-передавач

** UART ** — це послідовний протокол зв’ язку для зв’ язку « точка- точка » між двома пристроями. Зазвичай використовуються швидкості передачі: 9600, 115200 б/ с. Використовується для зневаджування консолей і простих датчиків.

Послідовний периферійний інтерфейс (англ. Serial Peripheral Interface, SPI)

** SPI ** є синхронним послідовним протоколом для високошвидкісного, короткого зв’ язку — архітектура master/ slave з окремими лініями такту (SCLK), даних (MOSI/ MISO) і вибору мікросхеми (CS). Використовується для дисплеїв, датчиків, флеш-пам’ яті.

IC 221 (англ.)

** I2C ** — це двопровідний послідовний протокол (SDA + SCL), який підтримує декілька пристроїв на одній шині, кожен з яких адресується 7- бітною адресою. Повільніший ніж SPI, але вимагає менше виводів. Використовується для датчиків, EEPROM, RTC.

PWM (англ. Pulse-Width Modulation) — модуляція ширини імпульсу

** PWM ** змінює робочий цикл (відношення часу, коли сигнал є HIGH) для наближення аналогового виходу. Використовується для керування швидкістю двигуна, зниженням яскравості світлодіодів і позиціонуванням сервоприводів.

«Ми контролюємо швидкість вентилятора, регулюючи цикл роботи PWM від 20% до 100%»

Аналогово-цифровий перетворювач (англ. ADC)

ADC перетворює аналогову напругу (наприклад, з термістору) на цифрове число. Роздільна здатність в бітах — 12-бітний АЦП дає 4096 можливих значень.

DAC (англ. Digital-to-Analog Converter) — цифрово-аналоговий перетворювач

** DAC ** перетворює цифрове значення на аналогову напругу — використовується для генерації аудіовиходу або еталонної напруги.

DMA (прямий доступ до пам’яті)

** DMA ** надає змогу периферійним пристроям передавати дані безпосередньо до/ з пам’ яті без участі ЦП, звільнюючи ЦП для інших завдань.

«The SPI DMA transfer completes in background — the CPU is not blocked during the display refresh.» (англійською)

Interrupt

** Перерва ** — це апаратний сигнал, який призупиняє головну програму для виконання ** ISR (Interrupt Service Routine) **. Використовується для подій, що залежать від часу: натискання кнопок, отримання даних UART, переповнення таймера.

«UART отримує переривання, коли приходить байт — ми буферизуємо його в кільцевому буфері.»

Таймер спостереження (WDT)

**Watchdog таймер ** скидає MCU, якщо мікропрограма не може періодично “кинути” (скинути) таймер - виявляє і відновлює нескінченні петлі, застої або зависання.


Memory

Флеш-пам’ять

** Флеш- пам’ ять ** - це нелетюча пам’ ять, де зберігаються програмне забезпечення і постійні дані. На більшості мікропроцесорів, флеш - це місце, де знаходиться код програми.

Статична пам’ять (англ. Static RAM)

** SRAM ** — це швидка, нестабільна робоча пам’ ять, де знаходяться стек, куп і глобальні змінні. Зазвичай 64 КБ - 1 МБ на MCU - нестача вимагає ретельного управління.

EEPROM

** EEPROM ** — це адресований байтами нелетючий накопичувач даних налаштування і калібрувальних значень. Повільніше, ніж флеш, але підтримує запис окремих байтів без вилучення сектора.

Сток проти хмари

** Стек ** зберігає локальні змінні і рамки виклику функцій (LIFO). ** Скупчення ** зберігає динамічно виділену пам’ ять. Переповнення стека є критичною вбудованою помилкою — часто спричиненою глибокою рекурсією або великими локальними буферами.

В/В з відображенням пам’ яті

** В/ В з відображенням пам’ яті ** відображає периферійні регістри у адресному просторі — ви налаштовуєте і читаєте периферійні пристрої за допомогою читання і запису певних адрес пам’ яті. Фундаментально для того, как работают периферические устройства микроконтроллера.


RTOS (Real-Time Operating System) — операційна система реального часу

RTOS

** RTOS ** це легка операційна система, розроблена для детермінованих, критичних за часом застосунків. Вона забезпечує планування завдань, міжзадачне спілкування і синхронізацію — без накладних витрат повної ОС.

Популярні RTOS: FreeRTOS (відкритий код), Zephyr, Mbed OS, ThreadX.

Задача / гілка

У RTOS, ** завдання ** (або нитка) є незалежно запланованим блоком виконання з власним стеком. Задачі виконуються одночасно, керування ними здійснюється за допомогою планувальника.

Превентивне планування

** Превентивне планування ** надає можливість RTOS перервати запущене завдання і перейти до завдання з більшим пріоритетом у будь- який час. Забезпечує, щоб роботи з високим пріоритетом (зчитування датчика, відповідь на переривання) не затримувалися.

Інверсія пріоритетів

** Інверсія пріоритетів ** — це небезпека, коли завдання з високим пріоритетом блокується під час очікування на ресурс, який зайняло завдання з низьким пріоритетом, у той час як завдання зі середнім пріоритетом переважає над завданням з низьким пріоритетом. Розв’язано за допомогою механізмів успадкування пріоритетів.

Семафор (Semaphore)

** mutex ** (взаємне виключення) запобігає одночасному доступу двох завдань до спільного ресурсу. ** semaphore ** — це примитив сигналізації, який використовується для синхронізації завдань і підрахунку ресурсів.

Повідомлення / Message Queue

Черга повідомлень ** повідомлень ** безпечно передає дані між завданнями. Задача виробника записує в чергу; задача споживача читає з неї — відокремлюючи виробництво і споживання.

Тик / Система Тик

System tick є серцевим ритмом RTOS — таймер переривання з фіксованим інтервалом (наприклад, 1 мс). Використовується для планування завдань і керування тайм- аутами.


Протоколи зв’язку (IoT)

MQTT (Message Queuing Telemetry Transport) — телеметричний транспорт черги повідомлень

MQTT є легким протоколом публікації-підписки для IoT — пристрої публікують дані датчиків у темах; брокер розповсюджує їх серед підписників. Спроектовано для ненадійних мереж з низькою пропускною здатністю.

CoAP (Протокол обмежених застосувань)

** CoAP ** — це протокол, схожий на REST, для обмежених пристроїв — аналогічний HTTP, але працює через UDP з мінімальними витратами. Придатний для мікроконтролерів з обмеженою підтримкою TCP/IP.

Bluetooth (Bluetooth) — технологія бездротової передачі даних

** BLE ** це бездротовий протокол короткої дальності для пристроїв IoT з живленням від акумулятора, розроблений для рідкісного передачі даних з низькою пропускною здатністю. Використовується в фітнес-трекерах, маяках і медичних пристроях.

Лора / Lora

LoRa (Long Range) — це радіомодулююча техніка для передачі невеликих обсягів даних на великі відстані (10— 15 км) при дуже низькій потужності. LoRaWAN — це мережевий протокол, побудований на LoRa — використовується в розумних містах, сільському господарстві і дистанційному моніторингу.

Зіґфрід або Зігфрід (нім

Zigbee і Thread — це протоколи мережевої мережі для пристроїв розумного дому. Matter — це новий стандарт взаємодії (підтримується Apple, Google, Amazon), який абстрагується від Wi-Fi, Thread і Bluetooth.

OTA (Over-the-Air) — надзвукове оновлення

** OTA update ** забезпечує оновлення мікропрограми на розгорнутих пристроях бездротовим способом — без фізичного доступу. Критична функція для управління флотом IoT-пристроїв. Вимагає безпечної перевірки пакунка оновлення.

«Ми відправили OTA-оновлення до 50 000 пристроїв — це включає патч безпеки для уразливості автентифікації Bluetooth»


Збирання і зневадження

Toolchain

** toolchain ** — це набір інструментів компілятора, посилання, зневаджувача і збирання для цільової архітектури. Поширені ланцюжки інструментів: GNU Arm Embedded, Clang/LLVM, IAR Embedded Workbench.

Крос-компіляція

** Крос-компіляція ** означає компіляцію коду на машині розробки (наприклад, x86 Linux) для запуску на іншій цільовій архітектурі (наприклад, ARM Cortex-M). Всі вбудовані розробки кросс-компілюють.

Євгенія / І

** JTAG ** і ** SWD ** (Serial Wire Debug) — це апаратні інтерфейси зневадження. Зневаджувальний зонд (J- Link, ST- Link) з’ єднується з цими виводами для запуску мікропрограми і встановлення точок зупинки.

Точка зупинки / Watchpoint

** точка зупинки ** призупиняє виконання на певному рядку коду. ** watchpoint ** призупиняє виконання, коли певна адреса пам’ яті буде прочитана або записана — це корисно для виявлення пошкоджень пам’ яті.

Логічний аналізатор / осцилоскоп

** логічний аналізатор ** захоплює цифровий сигнал часу на декількох каналах — необхідний для зневадження UART, SPI і I2C зв’ язку. Осциллоскоп захоплює аналогові форми хвиль.


Безпека та енергетика

Безпека критична

** Критична система безпеки ** це така, де несправність може призвести до травми або смерті - автомобільна, аерокосмічна, медична. Вимагає відповідності стандартам: IEC 61508, ISO 26262, DO- 178C.

Функціональна безпека

** Функціональна безпека ** забезпечує правильну реакцію системи на вхідні дані, навіть у разі несправностей апаратного забезпечення. Визначено ISO 26262 (автомобільний) і IEC 61508 (загальний промисловий).

Режим низької потужності / режим сну

Вбудовані пристрої зберігають енергію за допомогою переходу у ** режим сну ** під час неактивності — вимикання процесора і периферійних пристроїв, зберігаючи активним лише таймер або джерело переривання для пробудження. Критично важливо для пристроїв, що живляться від батарей.

Електроенергія

** Бюджет енергоспоживання ** оцінює загальне споживання енергії у всіх режимах (активний, сплячий, радіопередача/ прийом) для прогнозування часу роботи акумулятора.

“Активний струм 15 мА, спокійний струм 5 мкА. З 2000 мАг акумулятором і 99% робочим циклом у стані сну, очікуваний термін служби становить 4 роки»


Корисні фрази

** У апаратному підключенні: **

    • “Датчик I2C не відповідає — я проаналізую лінії SDA і SCL за допомогою логічного аналізатора, щоб перевірити цілісність сигналу.” *
  • “Показники АЦП шумні — нам потрібно додати конденсатор роз’ єднання і перевірити еталонну напругу.”

** В оглядах прошивки: **

    • « Цей ISR занадто довгий — пересунути обробку до завдання і просто встановити прапорець у ISR. » *
  • “Watchdog вимкнено у цих налаштуваннях — його завжди слід вмикати у виробничому мікропрограму.”

** Під час зневадження: **

  • “Переповнення стека спричинено рекурсивним аналізатором — нам потрібно переробити його ітеративно і статично виділити буфер.”
  • “Перетвірка MQTT працює без відключення — якщо з’ єднання буде втрачено, то за кілька хвилин батарея буде розряджена.”

Practice

Перевірте ваш словниковий запас з вбудованих систем і Інтернету речей за допомогою ** Набір вправ для вбудованих систем та Інтернету речей ** — 5 вправ, що охоплюють концепції мікроконтролерів, RTOS і протоколів зв’ язку.

Досліджуйте повний ** Вбудований шлях навчання & IoT ** для вправ, підготовки до інтерв’ ю і технічної документації.

Поширені запитання

Про що ця стаття "Embedded Systems English Vocabulary: 70 Essential Terms"?

Повний словник вбудованих систем і Інтернету речей: MCU, RTOS, GPIO, UART, SPI, I2C, MQTT, оновлення OTA, програмне забезпечення і ще 60 термінів з прикладами.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Embedded Systems English Vocabulary: 70 Essential Terms"?

Приблизно 13 min.