Особливості мікропроцесорів у лабораторії фізики
Мікропроцесорна техніка є дуже великий сегмент сучасної електроніки. Дані технології використовуються фактично в будь-яких аспектах нашого життя, але сьогодні я хотів би поговорити про використання цієї технології на прикладі дослідницької лабораторії квантової та оптичної фізики Єврейського університету в Єрусалимі. Серцем будь-якої електронної системи, що вбудовується, є мікропроцесор. Але що ж це? Якими характеристиками має мікропроцесор? Які завдання він може виконувати? Де використовується? На що варто звернути увагу під час вибору мікропроцесора для вашого проекту? Про це та багато іншого ми попросили розповісти інженера електронника Петра Сафіра, який очолює інженерний відділ в інституті фізики Раках Єврейського університету в Єрусалимі.
Що таке мікропроцесор?
Мікропроцесор – це основний елемент обчислювальної системи. Він контролює всю електронну систему, виконуючи арифметичні та логічні операції. Мікропроцесори - це універсальне рішення для багатьох проектів, оскільки вони дешеві та поєднують у собі всю основну архітектуру для майже будь-якого проекту. Сучасні мікропроцесори займають мало місця та споживають мало енергії, що дозволяє їх використовувати у мобільних системах. Сучасні мікропроцесори працюють на високих частотах, що дозволяє будувати їх основі вимірювальні прилади для дослідницьких лабораторій. Але ми поговоримо про мікроконтролери. Мікроконтролери - це клас спеціалізованих мікропроцесорів, орієнтованих на застосування як пристрої або системи управління, що вбудовуються в різноманітну вимірювальну (і не тільки) апаратуру. I 2 C і SPI підтримка протоколів та багато іншого зібрана на одному кристалі.
Розкажіть про ваші проекти, що проводяться у вашому інституті, в яких ви використовуєте мікроконтролери?
Будь-які складні системи, а мікроконтролери ставляться саме до таких, не працюють власними силами. Головне моє завдання як інженера електронника у процесі створення певного проекту створити всю електронну периферію та написати контрольний код для його коректної роботи. Зазвичай для своїх проектів я використовую мікропроцесори, вже вбудовані у спеціальні плати, на яких присутня вся потрібна периферія, така як порти введення та виведення, аналого-цифрові та цифро-аналогові перетворювачі, кнопки, дисплей та багато іншого. Але якщо для проекту немає потрібної периферії на вбудованій платі, я сам це створюю. Найвідоміші з готових вбудованих систем, які можна придбати це Arduino , Raspberry Py, BeagleBoard та деякі інші. Вибір відповідної системи, що вбудовується, залежить від вимоги проекту. Все це можна програмувати відповідно до поставленого завдання. Приклад із моєї практики, у багатьох моїх проектах мені потрібно створювати мережу з різних сенсорів, наприклад, таких як сенсор за контролем температури, контроль за оборотом сервомотора, вимірювання магнітного поля. Всі ці сенсори потрібно контролювати та синхронізувати з вимірювальною лабораторною апаратурою. Найчастіше потрібно отримувати дані як сигналів від досліджуваного об'єкта. І ці сигнали потрібно обробити, потім візуалізувати, щоб вчені могли бачити отримувану інформацію у зручному для них форматі. І все це є частиною моїх проектів, які створюються на основі мікропроцесорів.
Як ви вибираєте з яким типом мікропроцесорів ви працюватимете у ваших проектах?
Будь-який проект, перш за все, починається з обговорення з його учасниками, тема дослідження, яку вимірювальну апаратуру можна купити, а яку мені доведеться створювати. Але не завжди починаю працювати на старті дослідження. Досить часто мене запрошують, коли дослідження вже в процесі, але щось йде не так чи що потрібно покращити. У будь-якому разі потрібно зрозуміти технічну частину дослідження, а вже на основі цього пропонувати дослідницькій групі свої рішення. Дуже важливо щоб у вчених, які беруть участь у дослідженні, був визначений досвід для роботи з системами, що я пропоную використовувати в проекті. Наприклад, нещодавно мене запросили до вже діючого дослідження для створення електроклапанів у вакуумну систему. Система електронних клапанів, яка була створена виробником, в ході досвіду була визнана непридатною через свою дуже повільну роботу і погану синхронізацію з основним мікропроцесором. який використовувався в експерименті. Мені довелося на основі вже обраного та діючого мікропроцесора створити нову програму для нових мною підібраних електронних клапанів та інтегрувати це у діючий проект. Після того, як моя робота була зроблена, дослідження продовжилися.
У чому основні відмінності готових систем типу Arduino від мікрокомп'ютера?
Мікроконтролери створені для одночасного виконання одного завдання. Контроль за сенсорами та управління сервомоторами - ось їхнє основне завдання, і вони чудово з нею справляються. Мікроконтролери добре використовувати там, де не потрібна велика швидкість виконання команд і не потрібно обробляти гігантські об'єми даних, наприклад відео. Такі системи працюють без операційних систем, таких як Linux . Мікрокомп'ютер – це інший клас процесорів. На них зазвичай встановлена операційна система типу Linuxі вони можуть обробляти гігантські потоки даних, відео, аудіо. Природно вони чудово впораються і з контролем за сенсорами, але вони набагато дорожчі за мікропроцесори і немає великого сенсу їх використовувати в цій якості. Також є гібридні системи, де на одній платі встановлені і процесор, і мікроконтролер.
Програмування мікроконтролерів для лабораторій фізики це складно?
Потрібно мати достатньо досвіду, щоб розуміти специфіку самої лабораторії та у якій галузі фізики лабораторія проводить дослідження. Для деяких лабораторій достатньо запрограмувати сенсори та налаштувати їхню коректну роботу. Але більшість лабораторій хочуть, щоб вони могли вносити свої зміни у роботу самої системи на етапі експерименту. І тут теж доводиться зіштовхуватися з вибором мови програмування. Мова програмування має бути доступною для всієї дослідницької команди, а не тільки для мене як інженера розробника.
Розмовляв Микола Федоров