A digital data transfer system transfers digital data along a path in a
ring topology. The digital data transfer system comprising a host
controller and a digital data transfer subsystem. The host controller
generates and receiving digital data and the digital data transfer
subsystem receives the digital data from the host controller and
transferring the digital data to one or more devices connectable thereto,
and further receives digital data from the last of the devices connectable
thereto for provision to the host controller, thereby to define the ring
data transfer topology. The digital data transfer subsystem comprises an
upstream port, a plurality of input/output ports and a port control. The
upstream port transfers digital data from an external source to the input
of the first input/output port in the series and transfers digital data
received from the last input/output port in the series to the host
controller. Each input/output port includes a port input terminal, a port
output terminal, a device output port, a device input terminal, and an
output data selector. The input/output ports are connected in series such
that the port input terminal of the first input/output port in the series
receives data from the upstream port, the port output terminal of the last
input/output port in the series provides data to the upstream port, and
the port output terminal of each of the other input/output ports in the
series provides data to the port input terminal of the next input/output
port in the series. Each input/output port couples data from its port
input terminal to its device output terminal thereby to provide data
received at its port input terminal to a device which may be connected
thereto, and coupling data from its device input terminal to its
respective output data selector. The output data selector of each
input/output port is further connected to receive data from the respective
port input terminal, the output data selector selectively coupling data
from one of the port input terminal or the device input terminal to the
input/output port's output terminal. The port control controls the output
data selector of each the input/output port in response to a determination
as to whether a respective device is connected thereto.