forked from M-Labs/artiq
1
0
Fork 0

manual: add DRTIO intro

This commit is contained in:
Sebastien Bourdeauducq 2017-04-12 00:43:35 +08:00
parent 598533adba
commit c5cd77f177
2 changed files with 21 additions and 0 deletions

20
doc/manual/drtio.rst Normal file
View File

@ -0,0 +1,20 @@
Distributed Real Time Input/Output (DRTIO)
==========================================
DRTIO is a time and data transfer system that allows ARTIQ RTIO channels to be distributed among several satellite devices synchronized and controlled by a central master device.
The link is a high speed duplex serial line operating at 1Gbps or more, over copper or optical fiber. Time transfer and clock recovery may be done over the serial link alone, or assisted by auxiliary signals. The DRTIO system shall be organized as much as possible to support porting to different types of transceivers (Xilinx MGTs, Altera MGTs, soft transceivers running off regular FPGA IOs, etc.) and different synchronization mechanisms.
The main source of DRTIO traffic is the remote control of RTIO output and input channels. The protocol shall be optimized to maximize throughput and minimize latency, and shall handle flow control and error conditions (underflows, overflows, etc.)
The DRTIO protocol shall also support auxiliary, low-priority and non-realtime traffic. The auxiliary channel shall support overriding and monitoring TTL I/Os. Auxiliary traffic shall never interrupt or delay the main traffic, so that it cannot cause unexpected poor performance (e.g. RTIO underflows).
The lower layers of DRTIO are similar to White Rabbit, with the following main differences: ::
* lower latency
* deterministic latency
* real-time/auxiliary channels
* higher bandwidth
* no Ethernet compatibility
* only star or tree topologies are supported
From ARTIQ kernels, DRTIO channels are used in the same way as local RTIO channels.

View File

@ -17,6 +17,7 @@ Contents:
core_device core_device
management_system management_system
environment environment
drtio
core_language_reference core_language_reference
core_drivers_reference core_drivers_reference
protocols_reference protocols_reference