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 large numbers of inexpensive computers.

IEC 14575 lacks a number of the complexities of other data networks. The standard defined 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 is often used in scientific laboratories. Promoters include large laboratories, such as CERN, and scientific agencies.

For example, the ESA advocates a derivative standard called SpaceWire.

Goals The protocol was designed for 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 local area networks (LANs) with comparable specifications, IEEE 1355 scales beyond a thousand nodes without requiring higher transmission speeds. The network is designed to carry traffic from other types of networks, notably Internet Protocol and Asynchronous Transfer Mode (ATM), but does not depend on other protocols for data transfers or switching. In this, it resembles Multiprotocol Label Switching (MPLS).

IEEE 1355 had goals like Futurebus and its derivatives Scalable Coherent Interface (SCI), and InfiniBand. The packet routing system of IEEE 1355 is also similar to VPLS, and uses a packet labeling scheme similar to MPLS.

IEEE 1355 achieves its design goals with relatively simple digital electronics and very little software. This simplicity is valued by a number of engineers and scientists. Paul Walker (see links ) said that when implemented in an FPGA, the standard takes about a third the hardware resources of a UART (a standard serial port), and gives one hundred times the data transmission capacity, while implementing a full switching network and being easier to program.

Historically, IEEE 1355 derived from the asynchronous serial networks developed for the Transputer model T9000 on-chip serial data interfaces. The Transputer was a microprocessor developed to inexpensively implement parallel computation. IEEE 1355 resulted from an attempt to preserve the Transputer's unusually simple data network. This data strobe encoding scheme makes the links self-clocking, able to adapt automatically to different speeds. It was patented by Inmos under U.K. patent number 9011700.3, claim 16 (DS-Link bit-level encoding), and in 1991 under US patent 5341371, claim 16. The patent expired in 2011.

Use

IEEE 1355 inspired SpaceWire. It is sometimes 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 networks and wide area networks.

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 (such as Low voltage differential signaling). describes a successful Linux network that provides Ethernet functions using commercial spacewire interfaces. Spacewire is derived from IEEE 1355 and uses LVDS.

IEEE 1355 could work well for consumer digital appliances. The protocol is simpler than Universal Serial Bus (USB), FireWire, Peripheral Component Interconnect (PCI) and 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.

A 1024 node testbed called Macramé was constructed in Europe in 1997. Researchers measuring the performance and reliability of the Macramé testbed provided useful input to the working group which established the standard.Stefan Haas. "The IEEE 1355 Standard: Developments, Performance and Application in High Energy Physics". 1998. p. 121.

What it is The work of the Institute of Electrical and Electronics Engineers was sponsored by the Bus Architecture Standards Committee as part of the Open Microprocessor Systems Initiative. The chair of the group was Colin Whitby-Strevens, co-chair was Roland Marbot, and editor was Andrew Cofler. The standard was approved 21 September 1995 as IEEE Standard for Heterogeneous InterConnect (HIC) (Low-Cost, Low-Latency Scalable Serial Interconnect for Parallel System Construction) and published as IEEE Std 1355-1995. A trade association was formed in October 1999 and maintained a web site until 2004.

The family of standards use similar logic and behavior, but 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.

Transmission speeds range from 10 megabits per second to 1 gigabit per second. 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.

The maximum length of the different data transmission media range from one meter to 3 kilometers. The 3 km standard is the fastest. The others are cheaper.

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.

Interface electronics perform most of the packet-handling, routing, housekeeping and protocol management. Software is not needed for these tasks. 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.

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 is 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.

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.

Some Spacewire users are experimenting with half-duplex versions. The general scheme is that half-duplex uses one transmission channel rather than two. In space, this is useful because the weight of wires is half as much. Controllers would reverse the link after sending an end-of-packet character. The scheme is most effective in the self-clocking electrical systems, such as Spacewire. In the high speed optical slices, half-duplex throughput would be limited by the synchronization time of the phase locked loops used to recover the bit clock.

Definition This description is a brief outline. The standard defines more details, such as the connector dimensions, noise margins, and attenuation budgets.

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 (MBd). A baud rate relates to a change of the signal. Transmission codings may send several bits per second per baud, or several baud per bit per second.

Defined slices include: DS-SE-02, cheap, useful inside electronic equipment, (200 Mbit/s, <1 meter maximum length). DS-DE-02, noise-resistant electrical connections between equipment (200 Mbit/s, <10 meters). TS-FO-02, good, useful for long-distance connections (200 Mbit/s, <300 meters). HS-SE-10, short very fast connections between equipment (1 Gbit/s, <8 meters). HS-FO-10, long very fast connections (1 Gbit/s, <3000 meters).

Spacewire is very similar to DS-DE-02, except it uses a microminiature 9-pin "D" connector (lower-weight), and low voltage differential signaling. It also defines some higher-level standard message formats, routing methods, and connector and wire materials that work reliably in vacuum and severe vibration.

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: for example "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 Exchange layer

Once a link starts, it continuously exchanges characters. These are NULLs if there is no data to exchange. This tests the link, and ensures 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.