U-News » press release » Встраиваемые системы для научной лаборатории электроники
Всі новини

Встраиваемые системы для научной лаборатории электроники

Встраиваемые системы — это не только электронные платы и сенсоры, а также различные языки программирования, которые используют инженеры в своих проектах для того, чтобы оживить эти самые встраиваемые системы и сенсоры. Петр Сафир, инженер электронщик, возглавляет инженерный отдел института физики Раках, Еврейского университета в Иерусалиме. Петр ответит на вопросы, связанные с использованием языков программирования в электронике, а в частности при использовании встраиваемых систем и FPGA.

Что такое встраиваемая система?

Встраиваемая система – это плата на основе микропроцессора или микроконтроллера с помощью которой можно контролировать, управлять или собирать данные. Встраиваемые системы не имеют операционной системы и работают как часть большой системы беря на себя определенные функции. В моей работе встраиваемые системы собирают данные с сенсоров, контролируют моторы, следят за безопасностью выполнения проектов и многое другое. Во всех исследовательских проектах, связанных с моей работой, я использую встраиваемые системы. Например, для исследования места разрыва в материале я использую моторы, которые контролирует встраиваемая система. Она отвечает за скорость и направление работы моторов. Но что бы они выполняли свою функцию, их нужно программировать на выполнение поставленной задачи.

Какие языки программирования вы используете в вашей работе?

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

  • Assembly – это низкоуровневый язык программирования, позволяет контролировать полностью написанный инженером код, очень гибок в использовании. На assembly можно написать абсолютно все. Он невероятно быстрый в исполнении и эффективный по своим возможностям. В некоторых случаях без assembly невозможно обойтись. В некоторых своих проектах, например, когда мне нужно создать загрузчик я использую assembly. Также я внедряю assembly в другие процессы, что делает исполняемый код гораздо эффективнее. При отладке программы, а также во время обратной инженерии невозможно обойтись без assembly. Единственный его минус на мой взгляд –  он очень трудоемкий и требует много времени для написания какого-либо кода.
  • C/C++ – это самые популярные языки программирования для встраиваемых систем. Почти все свои проекты я пишу на этих языках. Существует масса готовых библиотек и готовых решений для инженеров. Это язык высокого уровня. В своих проектах я использую эти языки для обработки данных с сенсоров, а также для контроля всей системы, участвующей в исследовании для фильтрации полученных сигналов. Разница между двумя этими языками заключается в том, что С++ – это объектно-ориентированный язык программирования, а С — это процедурный язык, он более легкий и требует меньше памяти, что довольно часто критично в некоторых встраиваемых системах. Многие фреймворки для встраиваемых систем написана на С/С++, например фреймворк для Arduino написан на С/С++.
  • Python – это язык высокого уровня и универсальный язык программирования. Изначально Python был создан не для работы со встраиваемыми системами. Python содержит великое множество готовых библиотек. На Python работают нейронные сети. В таких одноплатных мини-компьютерах как Raspberry Pi, который сочетает в себе все возможности и встраиваемой системы и настольного компьютера, уже встроен компилятор Python. Существует замечательный фреймворк MicroPython. Это не совсем обычный Python, который работает непосредственно на микроконтроллерах без операционной системы. Под него создан ряд готовых встраиваемых систем с определенным микропроцессором. Но при желании его можно запустить и на микроконтроллерах адаптированных для Arduino. У Python высокий уровень абстракции. При программировании на Python вам не нужно отслеживать переменные типы данных или управлять памятью как на С/С++. Это значительно позволяет ускорить и упростить выполнение проекта. Также требуется громадное количество памяти на выполнение самой программы, которая написана на Python. Если вам это все несущественно, то тогда Python идеальное решение для многих проектов. Почти каждый исследовательский проект на моей работе состоит из множества сенсоров и различных измерительных приборов. Очень важно донести до ученых всю информацию, получаемую от этих приборов в виде графиков или другой понятной им форме. В этом случае Python для меня незаменим. Он идеально подходит для визуализации и обработки данных, полученных в ходе эксперимента. Также я использую Python в своих проектах для создания графического интерфейса, для управления всего оборудования и изменений настроек в этом оборудовании.  Также я использую Python для автоматизации готового оборудования, такого как осциллоскоп, генератор сигналов, мультиметры и многое другое. Я объединяю все это оборудование, которое участвует в определённом исследовании в один узел и вывожу данные в облачное хранилище, где ученные со всего мира могут участвовать в исследовании, не находясь физически в лаборатории. Python это замечательное решение для автоматизации всего исследовательского процесса, он позволяет разрабатывать очень сложные системы и позволяет объединять электронику и новейшие технологии такие как нейронные сети.
  • VHDL и Verilog – это языки описания аппаратуры. FPGA – это программируемая логическая интегральная схема. FPGA программируется языками VHDL и Verilog. Основное отличие от встраиваемых систем с микропроцессором в том, что вы сами создаете свою архитектуру из базовых логических элементов. FPGA передает внутренние сигналы параллельно и за счет этого вы получаете высокое быстродействие, которое вы не сможете достичь в других встраиваемых системах. Также на базе одного кристалла возможно создать несколько независимых проектов. VHDL и Verilog очень сильно отличаются от многих языков программирования и требуют глубокого знания электроники и DSP. Я очень часто использую в исследовательских проектах FPGA. FPGA позволяет принимать и обрабатывать в реальном времени сигналы на гигантских скоростях. В исследовательских проектах очень важно отслеживать все процессы в реальном времени. Так как большая часть моих проектов связана с квантовой физикой, FPGA часто единственное решение для некоторых исследовательских проектов. Единственный минус при работе с FPGA   это значительное время выполнения проектов и сложность отладки проекта.

Для продуктивной работы в научной среде инженеру электронщику недостаточно разрабатывать электронику, инженер должен писать программы на различных языках программирования, прекрасно разбираться в типах встраиваемых систем и их правильном использовании.

Беседовал Владимир Лямец


Читають Коментують
Названо найкорисніший чай для мозку і фігури: дозволено пити щодня
18 893
Батько зробив гігантське тату на лобі після того, як програв суперечку своєму синові
15 354
Знижує тиск і вагу: названо дешевий продукт, який потрібно вживати щодня
14 834
Ніхто й не підозрював: дрібна деталь оголила сімейну таємницю людей, які вважали себе просто колегами
12 463
Провокує розвиток раку: вчені назвали найнебезпечніший вид риби
12 189
Дивне відео Путіна з дітьми: чому Росію знову порівняли з Північною Кореєю
11 959
Наявність небезпечного холестерину в організмі можна визначити по обличчю
11 563
Рятівники серцево-судинної системи: 5 овочів, які знижують рівень поганого холестерину
11 230
«Знову нажрався»: у мережі висміяли чергову заяву Медведєва про «СВО» і закликали забрати в нього мікрофон
10 840
«Правда про Кароль від Жадана»: письменник розповів, якою насправді є співачка під час скандалу
10 813
Онколог назвала види раку, які успадковуються найчастіше
10 255
Цей біль може бути ознакою майбутнього інсульту: лікарі розповіли про симптоми
9 977
Знизьте холестерин: 3 групи продуктів, які очищують судини за 4 тижні
9 964
«Секретний» перекус для ситості: фрукт, який блокує відчуття голоду краще за снеки
0
Чому виникає неприємний запах у пральній машині: експертні поради з догляду
0
М'яч відскакує, як від стіни: кумедне відео з футбольними «навичками» Путіна підриває інтернет
0
Белла Хадід у крихітних сексуальних шортах Alo вразила фігурою у кампейні з гантелями
0
Стейк, який додає років: як червоне м'ясо непомітно прискорює біологічне старіння
0
Головні секунди життя: що робити, якщо пожежа заблокувала вас у власній квартирі
0
Віталій Козловський розбурхав мережу гарячим топлес-фото біля дзеркала
0
Ця помилка в спеку збільшує рахунки за світло: перевірте свої вікна
0
Рідкісні фото: як виглядають троє дітей Віталія Кличка
0
Не пийте соду від печії. Гастроентеролог пояснив, як бікарбонат натрію провокує "смертельний рикошет" у шлунку
0
Анна Саліванчук вразила кадрами в бікіні за тиждень до 41-річчя
0
Фінансовий гороскоп на серпень. Астрологи дали поради для всіх знаків зодіаку
0
Замінить м'ясо чи це міф? Що насправді станеться з організмом, якщо перейти на квасолю
0
Колишній застряг у голові: як пережити розставання, яке болить навіть через багато років

Час не завжди лікує, іноді навіть через десятиліття людина ...

Коли самого кохання замало: 20 головних викликів у стосунках із великою різницею у віці

Кохання часто вважають наймогутнішою силою, здатною ...

Астрологиня назвала жінок зодіаку, про яких кажуть, що вони - справжні королеви

У дитинстві кожна дівчинка мріє стати принцесою, і майже ...