- IEEE 1355
IEEE-1355, IEC 14575, or ISO 14575 is a data communications standard, the "
IEEE Standard for Heterogeneous Interconnect" (HIC). It is a low-cost, low latency, scalable serial interconnection system, originally intended for communication between large numbers of inexpensive computers. It lacks many of the complexities of other data networks.The protocol is designed to arrange a simple, low cost switched network made of point-to-point links. This network sends variable length data packets reliably at high speed. It routes the packets using
wormhole routing . Unlike Token Ring or other types of LANs with comparable specifications, IEEE 1355 scales easily to a thousand nodes or more without requiring higher transmission speeds. The network is designed to carry traffic from other types of networks, notablyInternet and ATM, but it doesn't depend on other protocols for data transfers or switching. In this, it resemblesMPLS .The standard defines several different types of transmission media (including wires and optic fiber), to address different applications. Since the high-level network logic is compatible, inexpensive electronic adapters are possible.
IEEE-1355 has goals like
Futurebus and its derivatives SCI, andInfiniBand . The packet routing system of IEEE-1355 is also similar toVPLS , and uses a packet labeling scheme similar toMPLS .IEEE-1355 achieves its design goals with relatively simple digital electronics and very little software. This simplicity is valued by many engineers and scientists.
Paul Walker (See Links) said that when implemented in an
FPGA , the standard takes 1/3 the hardware resources of aUART (a standard serial port), and gives one hundred times the data transmission capacity, while implementing a full switching network and being easier to program.IEEE-1355 is often used in scientific laboratories. Promoters include large laboratories, such as
CERN , and scientific agencies. For example, theESA advocates a derivative standard calledSpaceWire .Historically, IEEE-1355 is said to derive from the asynchronous serial networks developed for the
Transputer 's on-chip serial data interfaces. The Transputer was amicroprocessor developed to inexpensively implement parallel computation. IEEE-1355 resulted from an attempt to preserve the Transputer's unusually simple data network.Use
IEEE-1355 connections are now mostly used for digital data connections between scientific instruments, controllers and recording systems. IEEE-1355 is used in scientific instrumentation because it is easy to program and it manages most events by itself without complex real-time software.
IEEE-1355 includes a definition for cheap, fast, short-distance network media, intended as the internal protocols for electronics, including network switching and routing equipment. It also includes medium, and long distance network protocols, intended for
local area network s andwide area network s.IEEE-1355 is designed for point-to-point use. It could therefore take the place of the most common use of
Ethernet , if it used equivalent signaling technologies (e.g. LVDS).Some advocates say that IEEE-1355 is ideal for consumer digital appliances such as DVD players, camcorders, music systems and the like. The protocol is simpler than USB,
FireWire , PCI and most other consumer protocols. This simplicity can reduce equipment expense and enhance reliability. IEEE-1355 does not define any message-level transactions, so these would have to be defined in auxiliary standards.What it is
IEEE-1355 is a coordinated system of standards that use very similar logic and behavior, but which operate at a wide range of speeds over several types of media.
The authors of the standard say that no single standard addresses all price and performance points for a network. Therefore, the standard includes slices (their words) for single-ended (cheap), differential (reliable) and high speed (fast) electrical interfaces, as well as fiber optic interfaces. Long-distance or fast interfaces are designed so that there is no net power transfer through the cable.
The transmission speeds range from 10 megabits per second to 1 gigabit per second. (Note: This is from the 1995 standard, which may now (2005) be obsolete, and certainly has not kept pace with other signaling technologies.)
The network's normal data consists of 8-bit bytes sent with flow control. This makes it compatible with other common transmission media, including standard telecommunications links.
Each link defines a full-duplex (continuous bidirectional transmission and reception) point-to-point connection between two communicating pieces of electronics. Every transmission path has a flow control protocol, so that when a receiver begins to get too much data, it can turn down the flow. Every transmission path's electronics can send link control data separately from normal data. When a link is idle, it transmits NULL characters. This maintains synchronization, finishes any remaining transmission quickly, and tests the link.
The electronics in the links does most of the packet-handling, routing, housekeeping and protocol management. Software is not needed for these tasks.
A switching node reads the first few bytes of a packet as an address, and then forwards the rest of the packet to the next link without reading or changing it. This called "wormhole switching" in an annex to the standard. Wormhole switching requires no software to implement a switching fabric. Simple hardware logic can arrange fail-overs to redundant links.
When there is an error, the two ends of a link exchange an interval of silence or a reset, and then restart the protocol as if from power-up.
The connectors are defined so that if a plug fits a jack, the connection is supposed to work. Cables have the same type of plug at both ends, so that each standard has only one type of cable. "Extenders" are defined as two-ended jacks that connect two standard cables.
The maximum length of the different data transmission media range from from one meter to 3 kilometers. The 3km standard is the "fastest." The others are cheaper.
Definition
This description is brief outline. Please see the standard for design details. For example, the connector dimensions, noise margins, and attenuation budgets are not described here.
IEEE-1355 is defined in layers and slices.
The layers are network features that are similar in different media and signal codings. Slices identify a vertical slice of compatible layers.
The lowest layer defines signals. The highest defines packets. Combinations of packets, the application or transaction layer, are outside the standard.
A slice, an interoperable implementation, is defined by a convenient descriptive code:
SC-TM-dd
Where:
*SC is the signal coding system. Valid values are DS (data/strobe encoding), TS (three of six), and HS (high speed).
*TM is the transmission medium. Valid values are SE (single-ended electrical), DE (differential electrical), and FO (fiber optic)
*dd is the speed in hundreds of megabaud. Note that a baud is a change of the signal, not a bit. Transmission codings may send several bits per baud, or several bauds per bit.Defined slices include:
*DS-SE-02, cheap, useful inside electronic equipment, (200mb/s, <1 meter maximum length).
*DS-DE-02, noise-resistant electrical connections between equipment (200mb/s, <10 meters).
*TS-FO-02, good, useful for long distance connections (200mb/s, <300 meters).
*HS-SE-10, short very fast connections between equipment (1gb/s, <8 meters).
*HS-FO-10, long very fast connections (1gb/s, <3000 meters).Layer 0: The signal layer
In all slices, each link can continuously transmit in both directions ("full duplex"). Each link has two transmission channels, one for each direction.
In a link's cable, the channels have a "half twist" so that input and output always go to the same pins of the connector on both ends of the cable. This makes the cables "promiscuous", that is, each end of any cable will plug into any jack on a piece of equipment.
Each end of a link's cable must be clearly marked with the type of link: e.g. "IEEE-1355 DS-DE Link Cable".
Layer 1: The Character Layer
Every slice defines 256 data characters. This is enough to represent 8 bits per character. These are called "normal data" or "N-chars."
Every slice defines a number of special link control characters, sometimes called "L-chars." The slice cannot confuse them with N-chars.
Each slice includes a flow control link-control character, or FCC, as well as L-chars for NULL (no data), ESCAPE, end of packet, and exceptional end of packet. Some slices add a few more to start-up the link, diagnose problems, etc.
Every slice has error detection defined at the character layer, usually using parity. The parity is usually distributed over several characters.
A flow-control-character gives a node permission to transmit a few normal data characters. The number depends on the slice, with faster slices sending more characters per FCC. Building flow control in at a low level makes the link far more reliable, and removes much of the need to retransmit packets.
Layer 2: The eExchange layer
Once a link starts, it continuously exchanges characters. These are NULLs if there is no data to exchange. This tests the link, and assures that the parity bits are sent quickly to finish messages.
Each slice has its own start-up sequence. For example, DS-SE and DS-DE are silent, then start sending as soon as they are commanded to start. A received character is a command to start.
In error detection, normally the two ends of the link exchange a very brief silence (e.g. a few microseconds for DS-SE), or a reset command and then try to reset and restore the link as if from power-up.
Layer 3: The common packet layer
A packet is a sequence of normal data with a specific order and format, ended by an "end of packet" character. Links do not interleave data from several packets. The first few characters of a packet describe its destination. Hardware can read those bytes to route the packet. Hardware does not need to store the packet, or perform any other calculations on it in order to copy it and route it.
One standard way to route packets is "subtractive path routing", in which the first data byte always tells the router which of its outputs should carry the packet. The router then strips off the first byte, exposing the next byte for use by the next router.
Layer 4: The Transaction Layer
IEEE-1355 acknowledges that there must be sequences of packets to perform useful work. It does not define any of these sequences.
lice: DS-SE
DS-SE stands for "Data and Strobe, Single-ended Electrical." This is the least expensive electrical standard. It sends data at up to 200 megabits per second, for up to 1 meter, this is useful inside an instrument for reliable low-pin-count communications.
A connection has two channels, one per direction. Each channel consists of two wires carrying strobe and data. The strobe line changes state whenever the data line starts a new bit with the same value as the previous bit. This scheme makes the links self-clocking, able to adapt automatically to different speeds. This encoding was patented by INMOS under UK patent number 9011700.3, claim 16 (DS-Link bit-level encoding), and the patent may still be in force.
Data characters start with an odd parity, followed by a zero bit. This means that the character is a normal data character, followed by eight data bits.
Link control characters start with odd parity, followed by a one bit, followed by two bits. Odd-1 means that the character is a link control character. 00 is the flow control character FCC, 01 is a normal end of packet EOP, 10 is an exceptional end of packet EEOP, and 11 is an escape character ESC. A NULL is the sequence "ESC FCC".
An FCC gives permission to send eight (8) normal data characters.
Each line can have two states: above 2.0 V, and below 0.8 V. The nominal impedance is either 50 or 100 ohms, for 3.3 V and 5 V systems respectively. Rise and fall times should be <100 ns. Capacitance should be <300 pF for 100 Mbaud, and <4 pF for 200 Mbaud.
No connectors are defined because DS-SE is designed for use within electronic equipment.
lice: DS-DE
DS-DE stands for "Data and Strobe, Differential Electrical." This is the electrical standard that resists electrical noise the best. It sends data at up to 200 megabits per second, for up to 10 meters, which is useful for connecting instruments. The cable is thick, and the standard connectors are both heavy and expensive.
Each cable has eight wires carrying data. These eight wires are divided into two channels, one for each direction. Each channel consists of four wires, two twisted pairs. One twisted pair carries differential strobe, and the other carries differential data. The encoding for the character layer and above is otherwise like the DS-SE definition.
Since the cable has ten wires, and eight are used for data, a twisted pair is left over. The black/white pair optionally carries 5 V power and return.
The driver rise time should be between 0.5 and 2ns. The differential voltage may range from 0.8 V to 1.4 V, with 1.0 V typical. The differential impedance is 95 ± 10 ohms. The common mode output voltage is 2.5–4 V. The receiver's input impedance should be 100 ohms, within 10%. the receiver input's common mode voltage must be between -1 and 7 V. The receiver's sensitivity should be at least 200 mV.
The standard cable has ten wires. The connectors are IEC-61076-4-107. Plug A (pin 1 is first, pin 2 second): a:brown/blue, b:red/green, c:white/black, d:orange/yellow, e:violet/gray (Pin 1 is given first). Plug B (pin 2 is first, pin 1 second): e:brown/blue, d:red/green, c:black/white, b:orange/yellow, a:violet/gray. Note the implementation the "half twist", routing inputs and outputs to the same pins on each plug.
The Pin 1C/black, may carry 5 volts, while 2C/white may carry return. If the power supply is present it must have a self-healing fuse, and may have ground fault protection. If it is absent, the pins should include a 1 mΩ resistor to ground to leak away static voltages.
lice: TS-FO
TS-FO stands for "Three of Six, Fiber Optical." This is the affordable fiber optic standard. It sends 250 megabits/second about 300 meters.
The wavelength should be between 760 and 900 nanometers, which is in the near
infrared . The operating speed should be at most 250 Mbaud with at most 100 parts per million variation. The dynamic range should be about 12decibel s.The cable for this link uses two 62.5 micrometer-diameter
multimode optic fiber s. The fiber's maximum attenuation should be 4decibel s per kilometer at aninfrared wavelength of 850 nanometers. The standard connector on each end is an MU connector-duplex. Ferrule 2 is always "in", while ferrule 1 is "out". The centerlines should be on 14 mm centers, and the connector should be 13.9 mm maximum. The cable has a "half twist" to make it promiscuous.The coding is designed so single-bit errors in reception do not generate double-bit errors after encoding, and to avoid the use of CRC, which can double the size of small packets.
The coding "3/6" sends a stream of six bits, of which three bits are always set. There are twenty possible characters. Sixteen are used to send four (4) bits, two are unused, and two are used to construct link control characters. These are shown with the first bit sent starting on the left:
*0:011010
*1:101001
*2:011001
*3:110001
*4:001101
*5:101100
*6:011100
*7:110100
*8:001011
*9:100011
*A:010011
*B:110010
*C:001110
*D:100110
*E:010110
*F:100101
*Control:101010
*Control:010101If the previous symbol ends with a 0, Control is 010101 and Control* is 101010. If the previous symbol ends with a 1, Control is 101010, and Control* is 010101. NULL is Control Control*. FCC is Control Control. EOP_1 is Control Checksum (see below for def.). EOP_2 is Checksum Control. INIT is Control Control* Control* Control*.
Data characters are made of two 4-bit symbols. Bits 0..3 are transmitted in the first symbol, 4..7 in the second.
This link transmits NULLs when idle. It starts by sending INIT characters. After receiving them for 125us, it switches to sending NULLs. After it sends NULLs for 125us, it sends a single INIT. When a link has both sent and received a single INIT, it may send an FCC and start receiving data.
A flow control characte (FCC) authorizes sending sixteen (16) normal data characters.
Receiving two consecutive INITs, or many zeros or ones indicates disconnection.
Data errors are detected by a longitudinal parity: all the unencoded 4-bit words are exclusive-ored and then the result is sent as a 4-bit checksum nibble translated into three-of-six. This is the "checksum" discussed above.
lice:HS-SE-10
HS-SE stands for "High speed, Single-ended Electrical." This is the fastest electrical slice. It sends a gigabit per second about 8 meters. This is useful for instrument clusters, and lame for other uses. However, the modulation and link control features of this standard are also used by the wide-area fiber optic protocols.
A link cable consists of two 2.85 mm diameter 50 Ωcoaxial cables. The impedance of the whole transmission line shall be 50 ohms ±10%. The connectors shall follow IEC 1076-4-107. The coaxial cables do a "half twist" so that pin b is always "in" and pin "a" is always "out".
The electrical link is single-ended. For 3.3 V operation, Low is 1.25 volts, High is 2 V. For 5 V operation, Low is 2.1, high is 2.9. The signaling speed is 100 Mbaud to 1 Gbaud. The maximum rise time is 300 picoseconds, and the minimum is 100 picoseconds.
The HS link's 8B/12B code is balanced, so there is no net power transfer. It arranges this by keeping a running disparity, a count of the average number of ones and zeros. It uses the running disparity to selectively invert characters. An inverted character is marked with a set invert bit. 8B/12B also guarantees a clock transition on each character.
8B/12B first sends an odd parity bit, followed by 8 bits (least-significant bit first), followed by an inversion bit, followed by a 1 (which is the start bit), and a 0 which is the stop bit.
When the disparity of a character is zero (that is, it has the same number of ones and zero, and therefore will not transfer power), it can be transmitted either inverted or noninverted with no effect on the running disparity. Link control characters have a disparity of zero, and are inverted. This define 126 possible link characters. Every other character is a normal data character.
The link characters are:0:IDLE5:START_REQ (start request)1:START_ACK (start acknowledge)2:STOP_REQ (stop request)3:STOP_ACK (stop acknowledge)4:STOP_NACK (stop negative acknowledge)125:FCC (flow control character)6:RESET
When a link starts, each side has a bit "CAL" that is zero before the receiver is calibrated to the link. When CAL is zero, the receiver throws away any data it receives.
During a unidirectional start up, side A sends IDLE. When side B is calibrated, it begins to send IDLE to A. When A is calibrated, it sends START_REQ. B responds with START_ACK back to A. A then sends START_REQ to B, B responds with START_ACK, and at that point, either A or B can send a flow control character and start to get data.
In a bidirectional start-up both sides start sending IDLE. When side A is calibrated, it send START_REQ to side B. Side B sends START_ACK, and then A can send an FCC to start getting data. Side B does exactly the same.
If the other side is not ready, it does not respond with a START_ACK. After 5 ms, side A tries again. After 50 ms, side A gives up, turns off the power, stops and reports an error. This behavior is to prevent eye-injuries from a high-powered disconnected optic fiber end.
A flow control character (FCC) authorizes the receiver to send thirty-two (32) data characters.
A reset character is echoed, and then causes a unidirectional start-up.
If a receiver loses calibration, it can either send a reset command, or simply hold its transmitter low, causing a calibration failure in the other link.
The link is only shutdown if both nodes request a shutdown. Side A sends STOP_REQ, side B responds with STOP_ACK if it is ready to shut down, or STOP_NACK if it is not ready. Side B must perform the same sequence.
lice: HS-FO-10
"HS-FO" stands for "High Speed Fiber Optical." This is the fastest slice,and has the longest range, as well. It sends a gigabit/second up to 3000 meters.
The character and higher levels are just like HS-SE-10.
The cable is very like the other optical cable, TS-FO-02, except for the mandatory label and the connector, (the connector should be IEC-1754-6). However, in older cables, it is often exactly the same as TS-FO-02, except for the label. HS-FO-10 and TS-FO-02 will not interoperate.
This cable can have 62.5 micrometer multimode cable, 50 micrometer multimode cable, or 9 micrometer single-mode cable. These vary in expense and the distances they permit: 100 meters, 1000 meters, and 3000 meters respectively.
For multimode fiber, on the transmitter, the launch power is generally -12 decibels. The wavelength is 760-900 nanometer (near
infrared ). On the receiver, the dynamic range is 10 decibels, and the sensitivity is -21 decibels at with a bit error rate of one bit in 1012 bits.For single mode fiber, on the transmitter, the launch power is generally -12 decibels. The wavelength is 1250-1340 nanometers (farther
infrared ). On the receiver, the dynamic range is 12 decibels, and the sensitivity is -20 decibels with a bit error rate of one bit in 1012 bits.External links
* [http://grouper.ieee.org/groups/1355/index.html IEEE, the official specification; requires payment.]
* [http://ams.cern.ch/AMS/Electronics/Docs/1355-1995.pdf CERN's public copy] , possibly out of date.
* [http://spacewire.esa.int/ The European Space Agency's site for SpaceWire, a derived standard.]
* [http://www.walker.demon.co.uk Paul Walker's Home Page]
Wikimedia Foundation. 2010.