Welcome to the CAN-bus Wiki project


This shows you the differences between two versions of the page.

Link to this comparison view

can_higher_layer_protocols_uavcan [2018/07/08 17:47] (current)
pavelkirienko created
Line 1: Line 1:
 +**[[http://​uavcan.org|UAVCAN]] is a lightweight protocol designed for reliable communication in aerospace and robotic applications.**
 +The core design goals listed below help explain the basic UAVCAN concepts and the motivation behind them.
 +  * **Democratic network** - There is no master node. All nodes in the network have the same communication rights so that there is no single point of failure.
 +  * **Publish/​subscribe or request/​response (RPC) exchange semantics** - High-level communication mechanisms simplify application design.
 +  * **Nodes can exchange long payloads** - Nodes are provided with a simple way to exchange large data structures that cannot fit into a single CAN frame (such as GNSS solutions, 3D vectors, etc.). UAVCAN performs automatic transfer decomposition and reassembly at the protocol level, hiding the related complexity from the application.
 +  * **Support for redundant interfaces and redundant nodes** - This is a common requirement for safety-concerned applications.
 +  * **High throughput, low latency communication** - Applications that are dependent on high-frequency,​ hard real-time control loops, require a low-latency,​ high-throughput communication method.
 +  * **Simple logic, low computational requirements** - UAVCAN targets a wide variety of embedded systems, from high-performance embedded on-board computers for intensive data processing (e.g., a high-performance Linux-powered machine) to extremely resource-constrained microcontrollers. The latter imposes severe restrictions on the amount of logic needed to implement the protocol.
 +  * **Common high-level functions should be clearly defined** - UAVCAN defines standard services and messages for common high-level functions, such as network discovery, node configuration,​ node firmware update, node status monitoring (which naturally grows into a vehicle-wide health monitoring),​ network-wide time synchronization,​ dynamic node ID allocation (a.k.a. plug-and-play),​ etc.
 +  * **Open specification and reference implementations** - The UAVCAN specification is open and freely available; the reference implementations in popular programming languages are distributed under the terms of the MIT License.
 +More information at [[http://​uavcan.org|uavcan.org]].

QR Code
QR Code can_higher_layer_protocols_uavcan (generated for current page)