Timestamp Peripherals for Precise Real-Time Programming

被引:1
作者
Hui, John [1 ]
Edwards, Kyle J. [1 ]
Edwards, Stephen A. [1 ]
机构
[1] Columbia Univ, New York, NY 10027 USA
来源
2023 21ST ACM-IEEE INTERNATIONAL SYMPOSIUM ON FORMAL METHODS AND MODELS FOR SYSTEM DESIGN, MEMOCODE | 2023年
关键词
real time systems; concurrency control; computer languages; timing;
D O I
10.1145/3610579.3611084
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
On microcontrollers, timer devices provide high-precision timing, but that precision is lost when using high-level languages without suitable abstractions for temporal behavior. So, for timing-sensitive applications, programmers resort to low-level languages like C which lack expressiveness and safety guarantees. Other programmers use specialized precision-timing hardware which is expensive and difficult to obtain. In this work, we achieve sub-microsecond precision from a high-level real-time programming language on the RP2040, a cheap, widely available microcontroller. Our work takes advantage of the RP2040's Programmable I/O (PIO) devices, which are cycle-accurate coprocessors designed for implementing hardware protocols over the RP2040's GPIO pins. We use the PIO devices to implement timestamp peripherals, which are input capture and output compare devices. We use timestamp peripherals to mediate I/O from programs written in Sslang, a real-time programming language with deterministic concurrency. We show that timestamp peripherals help Sslang programs achieve the precise timing behavior prescribed by Sslang's Sparse Synchronous Programming model.
引用
收藏
页码:137 / 147
页数:11
相关论文
共 22 条
  • [1] [Anonymous], 2015, ATMEGA328P DATASHEET
  • [2] [Anonymous], 2020, IEEE Std 1588-2019, P1, DOI DOI 10.1109/IEEESTD.2020.9120376
  • [3] Bounding the End-to-End Execution Time in Distributed Real-Time Systems: Arguing the case for Deterministic Networks in Lingua Franca
    Austad, Henrik
    Mathisen, Geir
    [J]. 2023 CYBER-PHYSICAL SYSTEMS AND INTERNET-OF-THINGS WEEK, CPS-IOT WEEK WORKSHOPS, 2023, : 343 - 348
  • [4] BeagleBoard Foundation, 2023, Manual.
  • [5] The synchronous languages 12 years later
    Benveniste, A
    Caspi, P
    Edwards, SA
    Halbwachs, N
    Le Guernic, P
    De Simone, R
    [J]. PROCEEDINGS OF THE IEEE, 2003, 91 (01) : 64 - 83
  • [6] The case for the precision timed (PRET) machine
    Edwards, Stephen A.
    Lee, Edward A.
    [J]. 2007 44TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, VOLS 1 AND 2, 2007, : 264 - +
  • [7] The Sparse Synchronous Model
    Edwards, Stephen A.
    Hui, John
    [J]. PROCEEDINGS OF THE 2020 FORUM FOR SPECIFICATION AND DESIGN LANGUAGES (FDL), 2020,
  • [8] The Sparse Synchronous Model on Real Hardware
    Hui, John
    Edwards, Stephen A.
    [J]. ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2024, 23 (05)
  • [9] IEEE Computer Society, 2021, IEEE Standard for Local and Metropolitan Area Networks-Audio Video Bridging (AVB) Systems, DOI [10.1109/IEEESTD.2021.9653970, DOI 10.1109/IEEESTD.2021.9653970]
  • [10] InterPRET: a Time-predictable Multicore Processor
    Jellum, Erling Rennemo
    Lin, Shaokai
    Donovan, Peter
    Jerad, Chadlia
    Wang, Edward
    Lohstroh, Marten
    Lee, Edward A.
    Schoeberl, Martin
    [J]. 2023 CYBER-PHYSICAL SYSTEMS AND INTERNET-OF-THINGS WEEK, CPS-IOT WEEK WORKSHOPS, 2023, : 331 - 336