URL
https://opencores.org/ocsvn/core1990_interlaken/core1990_interlaken/trunk
Subversion Repositories core1990_interlaken
[/] [core1990_interlaken/] [trunk/] [documentation/] [protocol_survey_report/] [Sections/] [Introduction.tex] - Rev 5
Compare with Previous | Blame | View Log
\section{Introduction} \label{sec:introduction} This brief introduction covers the motivation to this work, providing a general overview on the assignment, and describing the structure of this report.\\ Virtually any sort of electronic communication system involving two or more peers requires the use of a protocol\footnote{In telecommunication, a communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules syntax, semantics and synchronization of communication and possible error recovery methods. Protocols may be implemented by hardware, software, or a combination of both~\cite{Wikipedia_protocol}.} to achieve proper information transfer. The nature of such protocol depends on the characteristics of the communication channel and the type of communication that one wants to pursue. A general overview of a communication protocol is given in Chapter~\ref{sec:structure_protocols}. Since the protocol is targeting low level communication, a key element of it is the so called transmission encoding/decoding. Common techniques for such purpose are researched in Chapter~\ref{sec:encoding_decoding}.\\ Before exploring the commonly available and best suitable protocols, one should set a set of requirements that should be met. Such requirements are summarized in Chapter~\ref{sec:requirements}. An answer to the question if there is a suitable protocol available for the set requirements, should be clearly addressed. If none of the available protocols meets the requirements then the solution must be custom tailored and implemented. This last option is to be possibly avoided, as custom protocols are implementation time consuming, and harder to share and port to other designs.\\ This document is intended to summarize the findings of an assignment in which different point-to-point links are to be explored. At the time of writing several options considered to be "actual" have been found and analysed in Chapters~\ref{sec:survey_vendor} and~\ref{sec:survey_standard}.\\ No stranger to the concept of communication protocols, large particle detector facilities massively deploy electronics systems which always require a specific point-to-point connection at - for example - a certain stage of a Data AcQuisition (DAQ) chain. As a practical study case, this research uses CERN~\cite{CERN} facilities to explore some of its real-life examples. A list of sampled CERN proprietary protocols historically used is provided in Appendix~\ref{sec:survey_cern}. CERN innovates in many fields of fundamental research, and technology, thus also on electrical engineering related matters: as the demand of data processing for large experimental facilities increases, and larger dataset are to be transported through existing point-to-point links, technology has to be scaled and adapted over time to meet the future challenges. At the time of writing this document (2018) there is a desire to upgrade certain sub-systems to a different protocol that could transport higher-throughput data and to more efficiently make use of the offered bandwidth.\\ The complete proposed design is realized in hardware and the process is described in Chapter~\ref{sec:hardware_implementation}. The implementation targets vendor independence to maximize cross-platform portability; meaning that it should work on every FPGA with mid to high range specifications, and fast transceivers. This should be the only strong requirement in terms of the FPGA target device.\\ To summarize: the purpose of this assignment is to research and to implement the best protocol matching a set of clear requirements, and it should target an implementation using an FPGA. The specifications and implementation are published as Free and Open Source on code hosting platforms like~\href{https://opencores.org/}{OpenCores}. Sharing is done with the aim of promoting the dissemination and broad adoption of the designed implementation. \newpage