ОСОБЛИВОСТІ РЕАЛІЗАЦІЇ БАГАТОЗАДАЧНОСТІ НА ПЛАТФОРМАХ RASPBERRY PI ТА ARDUINO
DOI:
https://doi.org/10.31649/1997-9266-2022-164-5-80-85Ключові слова:
embedded, Arduino, Raspberry Pi, Python, мікроконтролер, мікрокомп’ютер, вбудовані системи, багатозадачність, процес, потікАнотація
Найпопулярнішими платформами для розробників вбудованих систем серед початківців є Arduino та Raspberry Pi. Ці платформи різні та мають різне призначення, проте на обох може виникнути потреба виконувати кілька операцій паралельно. В роботі розглянуто способи реалізації багатозадачності на вищезазначених платформах. Оскільки Arduino базуються здебільшого на одноядерних AVR мікроконтролерах, з досить низькою частотою тактування, то багатозадачність у цієї платформи лише умовна. Тривалі в часі операції будуть займати єдине ядро та єдиний потік мікроконтроллера, що не дозволить виконувати щось інше. Це не стосується апаратних блоків мікроконтроллера, таких як таймери, що працюють незалежно від програмної частини і дозволяють реалізувати виконання коротких завдань з фіксованим періодом. Для простого написання програми, що використовує такі можливості контролера, існують бібліотеки. Найвідомішою з них є TimedAction, що може бути знайдена на офіційному сайті Arduino. Також у більшості мікроконтролерів є апаратний вхід, за допомогою якого можна створювати переривання. Під час переривання також можна виконувати операції, після завершення яких буде відновлена робота головного циклу програми. На Raspberry Pi, як і на подібних мікрокомп’ютерах під керуванням операційної системи Linux, повноцінно можна розглянути потоки та процеси. Процес є екземпляром програми та створюється операційною системою. Окремі процеси не мають спільного об’єму пам’яті. Паралельні процеси використовуються, коли потрібно прискорити складні обчислення. Потоки є підзадачами, яких може бути декілька усередині процесу. Між кількома потоками є спільний об’єм пам’яті, що дозволяє зручно обмінюватись даними. Паралельні потоки використовують, коли потрібно виконувати тривалі операції вводу/виводу. У мові Python, що широко використовується у вбудованих системах, для реалізації багатопоточності використовують бібліотеку Threading. Особливістю багатозадачності у Python є Global Interpreter Lock. Цей механізм гарантує, що в один момент часу буде виконуватись код лише одного процесу програми. У цієї особливості Python є прихильники та противники, як відповідно переваги та недоліки.
Посилання
J. Marot, and S. Bourennane, “Raspberry Pi for image processing education,” 2017 25th European Signal Processing Conference (EUSIPCO), 2017, pp. 2364-2366, https://doi.org/10.23919/EUSIPCO.2017.8081633 .
V. Bharadwaja, R. Ananmy, S. Nikhil, K. V. Vineetha, J. Shah, and D. G. Kurup, “Implementation of Artificial Neural Network on Raspberry Pi for Signal Processing Applications,” in 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2018, pp. 1488-1491, https://doi.org/10.1109/ICACCI.2018.8554887 .
A. P. Jadhav, and V. B. Malode, “Raspberry PI Based OFFLINE MEDIA SERVER,” 2019 3rd International Conference on Computing Methodologies and Communication (ICCMC), 2019, pp. 531-533, https://doi.org/10.1109/ICCMC.2019.8819718 .
D. Eridani, and E. D. Widianto, “Performance of Sensors Monitoring System using Raspberry Pi through MQTT Protocol,” in 2018 International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), 2018, pp. 587-590, https://doi.org/10.1109/ISRITI.2018.8864473 .
А. В. Бруско, «Інтерактивний логотип,» в матер. ІV Всеукраїнської науково-технічної конференції студентів та аспірантів «Радіоелектроніка у ХХІ столітті», 25-26 травня 2021 р., Київ, Україна, КПІ ім. Ігоря Сікорського, РТФ. Київ : КПІ ім. Ігоря Сікорського, 2021, с. 19-20.
С. Б. Могильний, Мікрокомп’ютер Raspberry Pi — інструмент дослідника. Київ, Україна: Талком, 2014. 340 с.
О. Ю. Мирончук, О. О. Шпилька, Д. Д. Струков, А. А. Петровський, і А. О. Герасименко, «Застосування нейронної мережі для оцінювання частотної характеристики багатопроменевого каналу в системах зв’язку з технологією OFDM,» Вісник Вінницького політехнічного інституту, № 4, с. 99-104, Серп. 2021.
Xinmin Tian, Yen-Kuang Chen, M. Girkar, S. Ge, R. Lienhart, and S. Shah, “Exploring the use of Hyper-Threading technology for multimedia applications with Intel/spl reg/ OpenMP compiler,” Proceedings International Parallel and Distributed Processing Symposium, 2003, pp. 8. https://doi.org/10.1109/IPDPS.2003.1213118 .
H.-W. Huang, The Atmel AVR Microcontroller: MEGA and XMEGA in Assembly and C. Cengage Learning, 2013, 816 p.
D. Bovet, and M. Cesati, Understanding the Linux Kernel, Janaury 2001. OŔeally & Associates, Sebastopol (2001)
B. J. Catanzaro, Multiprocessor system architectures. Englewood Cliffs, N.J : PTR Prentice Hall, 1994.
G. P. Duggan, and P. Young, “Precision timing on low-cost Linux microcomputers,” in 2015 Annual IEEE Systems Conference (SysCon) Proceedings, 2015, pp. 469-471, https://doi.org/10.1109/SYSCON.2015.7116795 .
A. Martelli, and D. Ascher, Eds., 2002. Python Cookbook. Sebastopol: O'Reilly. ISBN: 0-596-00167-3 .
D. Saito, H. Washizaki, Y. Fukazawa, T. Yoshida, I. Kaneko, and H. Kamo, “Learning Effects in Programming Learning Using Python and Raspberry Pi: Case Study with Elementary School Students,” in 2019 IEEE International Conference on Engineering, Technology and Education (TALE), 2019, pp. 1-8, https://doi.org/10.1109/TALE48000.2019.9225866 .
##submission.downloads##
-
PDF
Завантажень: 139
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Автори, які публікуються у цьому журналі, згодні з такими умовами:
- Автори зберігають авторське право і надають журналу право першої публікації.
- Автори можуть укладати окремі, додаткові договірні угоди з неексклюзивного поширення опублікованої журналом версії статті (наприклад, розмістити її в інститутському репозиторії або опублікувати її в книзі), з визнанням її первісної публікації в цьому журналі.
- Авторам дозволяється і рекомендується розміщувати їхню роботу в Інтернеті (наприклад, в інституційних сховищах або на їхньому сайті) до і під час процесу подачі, оскільки це сприяє продуктивним обмінам, а також швидшому і ширшому цитуванню опублікованих робіт (див. вплив відкритого доступу).