Working in open projects is always a great experience and this time is not an excepction. Along this year we were collaborating and working with CERN, the European Organization for Nuclear Research, in several projects.
One the these projects goes under the name White Rabbit. But, what is White Rabbit? and how we are partnering with some of major European accelerators and research institutions to support it?
White Rabbit addresses the development of a new generation of realtime, ultrahigh precision switches designed following the most demanding (subnanosecond) synchronization requirements posed by current big science facilities, such as CERN and GSI.
On technical side, we are talking about an extension to Ethernet which provides synchronous mode (Sync-E) and deterministic routing latency. Synchronous mode provides a common clock for physical layer in entire network, allowing for precise time and frequency transfer while deterministic routing latency guarantees that packet transmission delay between two stations will never exceed a certain boundary.
White Rabbit can operate over fiber and cooper. It permits thousands of nodes in the same network, 10 Km range between nodes and an unique time precision, 1ns accuracy and less that 20ps jitter.
Three technologies are used together achieving sub-nanosecond synchronization: IEEE1588 (Precision Time Protocol, PTP), synchronous ethernet and DMTD phase tracking.
A White Rabbit network handles redundancy and error corrections guaranteeing reliability in critical environments.
There are plenty of interesting and useful use cases where this technology could be used. One of the most mentioned is a distributed oscilloscope where distributed direct digital synthesis blooms. Using Distributed DDS reduces the number of cables used with just a single fiber. Moreover, it works over big distances without degrading signal quality, saving costs and simplifying maintenance.
For this particular case, a distributed oscilloscope, the entire network sees a common clock. It avoids skews among ADCs while keeping the ability to sample with different clocks via Distributed DDS. External triggers can be time tagged with a TDC and used to reconstruct the original time base in the operator's PC.
As you see in previous lines, there are plenty of engineering in this kind of complex systems where we are in charge of developing Linux drivers (FMC TDC finished and available!) while cooperating with Alessandro to integrate them with a new I/O framework. You can see the design goals for ZIO, this new I/O framework with demanding requirements to be used with the next generation CERN drivers, here.
On the bottom of this development we are using virtual hardware too. In this case, it is speeding up our development with inmature hardware and supporting testing/QA on the result. Alberto and Miguel's blog notes are available here and here.