Usb driver enables predictable data flow for cyber-physical systems
USB Differentiated Service for Networked Cyber-Physical Systems
Operating Systems
Summary
Complex systems like robots or vehicles need fast and reliable communication between computers and devices. The authors developed a special USB driver that separates different data streams to make their handling predictable and fast. This driver supports high-speed USB 3.0 data rates and precise timing to meet the strict control needs of these systems. Their solution helps connect multiple devices efficiently while ensuring important data flows get the attention they need on the USB bus.
What this means in practice
- •For embedded systems engineers: Create reliable short-distance communication links in vehicle or robot control networks using the USB driver to guarantee low-latency data processing.
- •For industrial automation developers: Implement predictable USB-based connections between multiple control nodes to improve safety and availability in automated manufacturing systems.
Authors
Anton Njavro, Rafiuddin Syed, Shriram Raja, Zhiyuan Ruan, Richard West
Abstract
Cyber-physical systems are increasingly complex, requiring high throughput, low-latency data processing across multiple cores and compute devices. Additional functional safety challenges dictate the need for high system availability in the presence of failures. Together, these requirements are addressed using a network of compute nodes across which data processing, control and functional safety tasks are distributed. A key challenge is how to address the service requirements of independent data flows, spanning a set of hosts and I/O devices. In this paper, we show how to develop connectivity between hosts using a custom xDCI gadget driver that uses USB interrupters to differentiate the processing of separate data flows. Our solution is the first to handle both isochronous and bulk communication at USB 3.0 transfer rates, with predictable bus latencies down to the granularity of a 125 microsecond microframe, which is sufficient for many CPS control operations. We present an end-to-end solution that couples the predictable execution of user-level tasks with interrupt processing and data communication, so that multiple virtual connections are able to share a common bus. This work is not only applicable to host networking but also device I/O, which makes it arguably desirable for CPS scenarios requiring short-range communication, such as in vehicle control area networks or robotics.