
Forserial communications, acurrent loop is a communication interface that usescurrent instead ofvoltage for signaling. Current loops can be used over moderately long distances (tens of kilometres), and can be interfaced withoptically isolated links.
There are a variety of such systems, but one based on a 20 mA current level was used by theTeletype Model 33 and was particularly common onminicomputers and earlymicrocomputer which used these ascomputer terminals. As a result, mostcomputer terminals also supported this standard into the 1980s.
Long before theRS-232 standard[when?], current loops were used to send digital data inserial form forteleprinters. More than two teleprinters could be connected on a single circuit allowing a simple form of networking.[1] Older teleprinters used a 60mA current loop. Later machines, such as theTeletype Model 33, operated on a lower 20 mA current level and most earlyminicomputers featured a 20 mA current loop interface, with an RS-232 port generally available as a more expensive option. The originalIBM PCserial port card had provisions for a 20 mA current loop.[2]
A digital current loop uses the absence of current for high (space or break), and the presence of current in the loop for low (mark).[1] This is done to ensure that on normal conditions there is always current flowing and in the event of a line being cut the flow stops indefinitely, immediately raising the alarm of the event usually as the heavy noise of the teleprinter not being synchronized, something that would not have been possible if the idle state had been no current flowing.
The maximumresistance for a current loop is limited by the available voltage. Current loop interfaces usually use voltages much higher than those found on anRS-232 interface, and cannot be interconnected with voltage-type inputs without some form of level translator circuit.[2]
For full-duplex communication between two devices, two pairs of wires would be used. There is no common standard for current loop interfaces, so details such as timing, connectors, wire color codes, and so on, are all application specific.