Data strobe encoding (or D/S encoding) is an encoding scheme for transmitting data in
digital circuit
In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathematica ...
s.
It uses two signal lines (e.g. wires in a cable or traces on a
printed circuit board
A printed circuit board (PCB), also called printed wiring board (PWB), is a Lamination, laminated sandwich structure of electrical conduction, conductive and Insulator (electricity), insulating layers, each with a pattern of traces, planes ...
), ''Data'' and ''Strobe''. These have the property that either Data or Strobe changes its
logical value
In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values ('' true'' or '' false''). Truth values are used in c ...
in one
clock cycle
In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') is an electronic logic signal (voltage or current) which oscillates between a high and a low state at a constant frequency and ...
, but never both. More precisely data is transmitted as-is and strobe changes its state if and only if data stays constant between two data bits.
This allows for easy
clock recovery
Clock recovery is a process in serial communication used to extract timing information from a stream of serial data being sent in order to accurately determine payload sequence without separate clock information. It is widely used in data communi ...
with a good
jitter
In electronics and telecommunications, jitter is the deviation from true periodicity of a presumably periodic signal, often in relation to a reference clock signal. In clock recovery applications it is called timing jitter. Jitter is a signifi ...
tolerance by
XOR
Exclusive or, exclusive disjunction, exclusive alternation, logical non-equivalence, or logical inequality is a logical operator whose negation is the logical biconditional. With two inputs, XOR is true if and only if the inputs differ (one ...
ing the two signal line values.
There is an equivalent way to specify the relationship between Data and Strobe.
For even-numbered Data bits, Strobe is the opposite of Data.
For odd-numbered Data bits, Strobe is the same as Data.
From this definition it is more obvious that the XOR of Data and Strobe will yield a clock signal. Also, it specifies the simplest means of generating the Strobe signal for a given Data stream.
Data strobe encoding originated in
IEEE 1355
IEEE Standard 1355-1995, IEC 14575, or ISO 14575 is a data communications standard for Heterogeneous Interconnect (HIC).
IEC 14575 is a low-cost, low latency, scalable serial interconnection system, originally intended for communication between la ...
Standard and is used on the signal lines in
SpaceWire
SpaceWire is a spacecraft communication network based in part on the IEEE 1355 standard of communications. It is coordinated by the European Space Agency (ESA) in collaboration with international space agencies including NASA, JAXA, and RKA.
...
and the
IEEE 1394
IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony a ...
(also known as
FireWire 400) system.
Gray code
The reflected binary code (RBC), also known as reflected binary (RB) or Gray code after Frank Gray (researcher), Frank Gray, is an ordering of the binary numeral system such that two successive values differ in only one bit (binary digit).
For ...
is another code that always changes one logical value, but never more than one.
References
Line codes
{{telecomm-stub