Розробка типових програмних патернів «стан» для мікроконтролерів Cortex-М у режимі реального часу
DOI:
https://doi.org/10.15587/1729-4061.2020.205377Ключові слова:
реальний час, керуючий контролер, кінцевий автомат, мікроконтролер Cortex-M, шаблон СтанАнотація
Відомі технічні системи реального часу, вимагають високої швидкості програмних рішень. Крім того, для них потрібно забезпечити уніфікацію вихідного коду, якість супроводу програмного забезпечення та математичне моделювання. Все це потрібно реалізувати з відносно невисокою вартістю програмного і апаратного рішення. Апаратну частину можна реалізувати на основі розповсюджених мікроконтролерів архітектури Cortex-M.
Програмна частина даних мікроконтролерів може бути реалізована на основі операційної системи реального часу (ОСРЧ). В ході досліджень було виявлено два недоліки. Першим є те, що використання ОСРЧ призводить до обмеження швидкості. Другим недоліком є труднощі уніфікації, підтримки вихідного коду і математичного моделювання.
Для усунення недоліків розроблені типові програмні патерни Стан для допоміжного контролера у колі виконавчих механізмів або датчиків на основі мікроконтролерів архітектури Сortex-М в режимі реального часу, в процедурній парадигмі. Особливістю таких патернів є висока швидкість програмного рішення у порівнянні з рішеннями на основі ОСРЧ.
Розроблені патерни дозволяють уніфікувати вихідний код для мікроконтролерів архітектури Сortex-М різних виробників, покращити супроводження програмного забезпечення і адаптувати його до математичної моделі кінцевого автомата.
Результати пройшли випробування на мікроконтролері STM32F103 з використанням бібліотеки Cortex microcontroller software interface system (CMSIS). Це дозволяє поширити отримане рішення на МК інших виробників, що підтверджує практичну цінність розроблених патернів
Посилання
- Real Time Operating Systems Lecture (2001). MIT. Available at: http://web.mit.edu/16.070/www/year2001/RTOS27.pdf
- Real Time Operating Systems. Part II (2001). MIT. Available at: http://web.mit.edu/16.070/www/year2001/RTOS28.pdf
- Saini, P., Bansal, A., Sharma, A. (2015). Time Critical Multitasking For Multicore Microcontroller Using Xmos® Kit. International Journal of Embedded Systems and Applications, 5 (1), 01–18. doi: https://doi.org/10.5121/ijesa.2015.5101
- Sadgrove, M. (2011). Microcontroller interrupts for flexible control of time critical tasks in experiments with laser cooled atoms. Available at: https://arxiv.org/pdf/1104.0064.pdf
- Execution time analysis. Rapita Systems. Available at: https://www.rapitasystems.com/products/features/execution-time-analysis
- Chen, Z., Chen, J., Zhou, S. (2019). Embedded electronic scale measuring system based on STM32 single chip microcomputer. 2019 Chinese Automation Congress (CAC). doi: https://doi.org/10.1109/cac48633.2019.8997317
- Bessmertnyy, R. S., Katin, P. Y. (2019). Use of high-performance microcontroller for improving economic efficiency of jem production. Standartyzatsiya. Sertyfikatsiya. Yakist, 3 (115), 69–77.
- Zhu, W., Wang, Z., Zhang, Z. (2020). Renovation of Automation System Based on Industrial Internet of Things: A Case Study of a Sewage Treatment Plant. Sensors, 20 (8), 2175. doi: https://doi.org/10.3390/s20082175
- Kasthuri Arachchi, S. P., Shih, T. K., Hakim, N. L. (2020). Modelling a Spatial-Motion Deep Learning Framework to Classify Dynamic Patterns of Videos. Applied Sciences, 10 (4), 1479. doi: https://doi.org/10.3390/app10041479
- Gamma, E., Helm, R., Johnson, R., Vlissides, J., Booch, G. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Published by Addison-Wesley Professional, 416. Available at: http://www.uml.org.cn/c++/pdf/DesignPatterns.pdf
- Katin, P. (2017). Development of variant of software architecture implementation for low-power general purpose microcontrollers by finite state machines. EUREKA: Physics and Engineering, 3, 49–54. doi: https://doi.org/10.21303/2461-4262.2017.00361
- Solodovnikov, A. (2016). Developing method for assessing functional complexity of software information system. EUREKA: Physics and Engineering, 5, 3–9. doi: https://doi.org/10.21303/2461-4262.2016.00157
- Dietrich, С., Hoffmann, M., Lohmann, D. (2015). Back to the Roots: Implementing the RTOS as a Specialized State Machine. The 11th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications, 7–12. Available at: https://people.mpi-sws.org/~bbb/events/ospert15/pdf/ospert15-p7.pdf
- Beynon, W. M. (1980). On the structure of free finite state machines. Theoretical Computer Science, 11 (2), 167–180. doi: https://doi.org/10.1016/0304-3975(80)90044-4
- Adamczyk, P. The Anthology of the Finite State Machine Design Patterns. Available at: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.838&rep=rep1&type=pdf
- Andresen, K., Møller-Pedersen, B., Runde, R. K. (2015). Combined Modelling and Programming Support for Composite States and Extensible State Machines. Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development. doi: https://doi.org/10.5220/0005237302310238
- Prasanna, Ch. S. L., Venkateswara Rao, M. (2012). Implementation of a Scalable µC/OS-II Based Multitasking Monitoring System. International Journal of Computer Science And Technology, 3 (2), 86–89. Available at: http://ijcst.com/vol32/1/prasanna.pdf
- RM0008 Reference manual STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm®-based 32-bit MCUs. Available at: https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
- Bloh, A. Sh. (1975). Graf shemy i ih primenenie. Minsk: Visheyshaya shkola, 294.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2020 Pavlo Katin, Viacheslav Chmelov, Vladimir Shemaev
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.
Ліцензійний договір – це документ, в якому автор гарантує, що володіє усіма авторськими правами на твір (рукопис, статтю, тощо).
Автори, підписуючи Ліцензійний договір з ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР», мають усі права на подальше використання свого твору за умови посилання на наше видання, в якому твір опублікований. Відповідно до умов Ліцензійного договору, Видавець ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР» не забирає ваші авторські права та отримує від авторів дозвіл на використання та розповсюдження публікації через світові наукові ресурси (власні електронні ресурси, наукометричні бази даних, репозитарії, бібліотеки тощо).
За відсутності підписаного Ліцензійного договору або за відсутністю вказаних в цьому договорі ідентифікаторів, що дають змогу ідентифікувати особу автора, редакція не має права працювати з рукописом.
Важливо пам’ятати, що існує і інший тип угоди між авторами та видавцями – коли авторські права передаються від авторів до видавця. В такому разі автори втрачають права власності на свій твір та не можуть його використовувати в будь-який спосіб.