ARTe: Providing real-time multitasking to Arduino

被引:2
|
作者
Restuccia, Francesco [1 ,2 ]
Pagani, Marco [1 ]
Mascitti, Agostino [1 ]
Barrow, Michael [2 ]
Marinoni, Mauro [1 ]
Biondi, Alessandro [1 ]
Buttazzo, Giorgio [1 ]
Kastner, Ryan [2 ]
机构
[1] Scuola Super St Anna Pisa, Pisa, Italy
[2] Univ Calif San Diego, La Jolla, CA 92093 USA
关键词
Real-time; Multi-tasking; Arduino; Educational;
D O I
10.1016/j.jss.2021.111185
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the last decade, thanks to its modular hardware and straightforward programming model, the Arduino ecosystem became a reference for learning the development of embedded systems by various users, ranging from amateurs and students to makers. However, while the latest released platforms are equipped with modern microcontrollers, the programming model is still tied to a single-threaded, legacy approach. This limits the exploitation of the underlying hardware platform and poses limitations in new application scenarios, such as IoT and UAVs. This paper presents the Arduino real-time extension (ARTe), which seamlessly extends the Ar-duino programming model to enable the concurrent execution of multiple loops at different rates configurable by the programmer. This is obtained by embedding a low-footprint, real-time operating system in the Arduino framework. The adherence to the original programming model, together with the hidden support for managing the inherent complexity of concurrent software, allows expanding the applicability of the Arduino framework while ensuring a more efficient usage of the computational resources. Furthermore, the proposed approach allows a finer control of the latencies and the energy consumption. Experimental results show that such advantages are obtained at the cost of a small additional overhead and memory footprint. To highlight the benefits introduced by ARTe, the paper finally presents two case studies, one of such in which ARTe has been leveraged to rapidly prototype a mechanical ventilator for acute COVID-19 cases. We found that ARTe allowed our ventilator design to rapidly adapt to changes in the available components and to the evolving needs of Intensive Care Units (ICU) in the Americas. (C) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页数:16
相关论文
共 50 条
  • [1] On Real-Time Performance of Multitasking with RTAI
    Zhao, Lan
    [J]. 2018 2ND INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION SCIENCES (ICRAS), 2018, : 51 - 56
  • [2] MICROPROCESSOR DOES MULTITASKING IN REAL-TIME
    GOSCH, J
    [J]. ELECTRONICS, 1982, 55 (22): : 71 - 72
  • [3] MULTITASKING AND REAL-TIME FOR VIBRATION WELDING
    BRUCKERT, F
    [J]. KUNSTSTOFFE-GERMAN PLASTICS, 1992, 82 (10): : 974 - 977
  • [4] RMX - REAL-TIME MULTITASKING EXECUTIVE
    WANG, JCH
    [J]. JOURNAL OF MICROCOMPUTER APPLICATIONS, 1983, 6 (01): : 79 - 84
  • [5] Real Time Multitasking In Arduino Using Look-Up Table
    Nandha, G.
    Ramassamy, E.
    Malarvizhi, P.
    Harikumar, P. S.
    Gokularaman, V.
    [J]. 2016 INTERNATIONAL CONFERENCE ON INFORMATION COMMUNICATION AND EMBEDDED SYSTEMS (ICICES), 2016,
  • [6] Real-time myoelectric control with an Arduino
    Wu, Hancong
    Dyson, Matthew
    Nazarpour, Kianoush
    [J]. 2020 27TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS AND SYSTEMS (ICECS), 2020,
  • [7] ChDuino: A Real-time Controller for Arduino
    Qian, Binsen
    Cheng, Harry H.
    [J]. 2016 12TH IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS (MESA), 2016,
  • [8] Timed multitasking for real-time embedded software
    Liu, J
    Lee, EA
    [J]. IEEE CONTROL SYSTEMS MAGAZINE, 2003, 23 (01): : 65 - 75
  • [9] Real-time schedulability tests for preemptive multitasking
    Fidge, CJ
    [J]. REAL-TIME SYSTEMS, 1998, 14 (01) : 61 - 93
  • [10] Real-Time Schedulability Tests for Preemptive Multitasking
    C. J. Fidge
    [J]. Real-Time Systems, 1998, 14 : 61 - 93