Cyphal

Open technology for real-time intravehicular distributed computing and communication based on modern networking standards.

Zubax Robotics is the main developer and maintainer of Cyphal (formerly known as UAVCAN) — an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.). It was created to address the challenge of on-board deterministic computing and data distribution in next-generation intelligent vehicles.

Cyphal is used by numerous vendors and companies all over the world in various domains including manned and unmanned aircraft, spacecraft, micromobility, and even racing cars. Learn more from the official website at opencyphal.org.

Zubax Robotics provides commercial support and consulting services for Cyphal.

Features

  • Designed for complex, high-integrity, real-time vehicular computing systems.
  • Publish/subscribe and request/response (RPC) exchange semantics.
  • Specialized interface description language provides rich zero-cost interface abstractions and facilitates service-oriented design.
  • Lightweight — implementable from scratch in ca. 1000 logical lines of code; cheap to verify and validate.
  • Peer-to-peer network — no bus master, no single point of failure.
  • Modular redundancy for fault-tolerant systems with automatic fail-over.
  • Different transport-layer protocols (Ethernet, CAN, etc.), including heterogeneous transport redundancy.
  • High-quality open source reference implementations are freely available under the MIT license from the OpenCyphal project.

History

The place of OpenCyphal in the history of serial communication is shown on the following figure (source):

a. MODBUS often runs over RS-232

b. DDS Borrows an Interface Definition Language from CORBA

c. MODBUS over TCP port 502

d. Airbus approaches ARINC to request a new CAN standard be developed. Michael Stock provides his experience developing CAN Aerospace. ARINC-825-1 is the result.

e. First AVB standard is published by the AVB Task Group of the IEEE 802.1 working group. IEEE1722-2011 is released.

f. The AVB Task Group is renamed the TSN Task Group

g. ROS2 Builds on top of DDS. Typical media for distributed ROS2 systems is Ethernet.

h. 802.1Qbv and 802.1Qbu are released enabling fully deterministic ethernet networks to be defined.

i. Pavel Kirienko leads an open-source effort to define UAVCAN v0. Initially, it only supports CAN 2.0B

j. Airbus gives a presentation to the IEEE, “Avionics Full Duplex Ethernet and the Time-Sensitive Networking Standard” which proposes incorporating AFDX into the TSN standards.

k. ARINC 825-4 adds support for CAN-FD and defines tunneling over ARINC-664.

l. Amazon Prime Air defines a minimal set of changes to v0 adding CAN-FD support. The unofficial variant is dubbed v0.5. At the same time, at the Stockholm Summit, v1 was conceived.

m. 10 BASE T1S is added to IEEE 802.3 defining half-duplex, two-wire, multi-drop ethernet media with PLCA (Physical Layer Collision Avoidance). The specification is targeted at automotive and industrial use cases (e.g. MODBUS replacement)

n. Airbus A380 ends production.

o. UAVCAN v1 becomes beta.

p. DroneCAN takes over maintenance of the UAVCAN V0/V0.5 specification and advancement on top of it.

q. (March 2022) UAVCAN v1 is renamed Cyphal.

Related announcements and discussions

Weekly dev call
Generalized mapping of Cyphal to transports
Wireshark UAVCANv1 plugin not working
Node Firmware update example request
Announcing WIP: Go port of libcanard
Community RFC process
List of all CAN bit rates supported by Babel
Unable to get the service uavcan.node.Getinfo to Work
Kocherga v2.0 is out
The return of Yukon
PyCyphal v1.10 supports automatic DSDL compilation via import hooks
UAVCAN v0 and UAVCAN v1 on the same CAN bus
File sever, firmware upload
Fixed port for service
Connecting to a CAN bus via a remote computer
Cyphal/UDP C Library Repository
Introspection capabilities
Babel and yakut
Libcanard return codes
UAVCAN v0.5 In the Air