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
关键词
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
相关论文
共 50 条
  • [1] A Real-Time Implementation of Precise Timestamp-Free Network Synchronization
    Li, Max
    Gvozdenovic, Stefan
    Ryan, Alexander
    David, Radu
    Brown, D. Richard, III
    Klein, Andrew G.
    2015 49TH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, 2015, : 1214 - 1218
  • [2] Universal Timestamp-Scheduling for real-time networks
    Cobb, JA
    COMPUTER NETWORKS-THE INTERNATIONAL JOURNAL OF COMPUTER AND TELECOMMUNICATIONS NETWORKING, 1999, 31 (22): : 2341 - 2360
  • [3] REAL-TIME PROGRAMMING
    HEHNER, ECR
    INFORMATION PROCESSING LETTERS, 1989, 30 (01) : 51 - 56
  • [4] INTELLIGENT ANALOG PERIPHERALS DEDICATED TO REAL-TIME TASKS
    CAVILL, J
    CONTROL AND INSTRUMENTATION, 1981, 13 (08): : 27 - &
  • [5] A PRECISE REAL-TIME WAVEMETER
    CARTER, HK
    BINGHAM, CR
    PEGG, DJ
    GAILLARD, ML
    ZGANJAR, EF
    GRIFFIN, PM
    NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH, 1982, 202 (1-2): : 361 - 364
  • [6] A timestamp model for determining real-time communications in intelligent networks
    Patel, A
    OConnell, S
    COMPUTER COMMUNICATIONS, 1997, 20 (04) : 211 - 218
  • [7] 486 CPU packs peripherals for real-time system needs
    Electronic Design, 1995, 43 (18):
  • [8] Real-Time I/O Management System with COTS Peripherals
    Betti, Emiliano
    Bak, Stanley
    Pellizzoni, Rodolfo
    Caccamo, Marco
    Sha, Lui
    IEEE TRANSACTIONS ON COMPUTERS, 2013, 62 (01) : 45 - 58
  • [9] 486 CPU PACKS PERIPHERALS FOR REAL-TIME SYSTEM NEEDS
    BURSKY, D
    ELECTRONIC DESIGN, 1995, 43 (18) : 167 - 168
  • [10] Exploring real-time programming
    Wilmshurst, T
    ELECTRONICS WORLD, 2002, 108 (1789): : 54 - 60