An FPGA-based coprocessor for real-time fieldbus traffic scheduling: architecture and implementation

  • Authors:
  • Ernesto Martins;Luis Almeida;José Alberto Fonseca

  • Affiliations:
  • Department of Electronics, DETHEETA, University of Aveiro, P-3810-193 Aveiro, Portugal;Department of Electronics, DETHEETA, University of Aveiro, P-3810-193 Aveiro, Portugal;Department of Electronics, DETHEETA, University of Aveiro, P-3810-193 Aveiro, Portugal

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed computer control systems used nowadays in the industry need often to meet requirements of on-line reconfigurability so they can adjust dynamically to changes in the application environment or to evolving specifications. The communication network connecting the computer nodes, commonly a fieldbus system, must use therefore dynamic scheduling strategies, together with on-line admission control procedures that test the validity of all changes in order to guarantee the satisfaction of real-time constraints. These are both very computationally demanding tasks, something that has precluded their wide adoption. However, these algorithms also embed sufficient levels of parallelism to grant them benefits from implementations in dedicated hardware.This paper presents a scheduling coprocessor that executes dynamic real-time traffic scheduling and schedulability analysis. The FPGA-based implementation described here supports multiple scheduling policies and was tailored for the FTT-CAN protocol, but it can be used also in other fieldbuses relying on centralized scheduling. The coprocessor generates schedules in about two orders of magnitude less time than any practical network elementary cycle duration. The time to execute a schedulability test is deterministic. An evaluation based on the SAE benchmark yielded a worst-case execution time of 1.4 ms.The paper starts by discussing the scheduling problem being addressed. It describes then the coprocessor functionality and architecture, highlighting important design decisions, and its latest implementation. Finally the coprocessor performance evaluation is presented.