10.3 Parallel data bus
Parallel data buses allow much higher
data rates than serial communication lines because data is transmitted in
parallel, i.e. several bits are transmitted simultaneously. Control signals are
transmitted on separate control lines within the bus. This means that the data
lines are used solely for data transmission, thereby optimizing the data
transmission rate capability.
There are a number of different
parallel data buses in existence, but there is little compatibility between
them. Differences exist in the number of data lines used, the number of control
lines used, the interrupt structure used, the data timing system and the logic
levels used for operation. Equipment manufacturers tend to keep to the same
parallel interface protocol for all their range of devices, but different
manufacturers use different protocols. Thus, while it will normally be easy to
connect together a number of intelligent devices that all come from the same
manufacturer, interfacing difficulties are likely to be experienced if devices
from different manufacturers are connected together.
In practice, limiting the choice of
devices to those available from the same manufacturer is unlikely to be
acceptable. Even if all the units required can be obtained from the same
manufacturer, this limitation is likely to mean having to use devices with a
lower performance specification than desirable and at a cost penalty.
Therefore, it is necessary to find a way of converting the different interface
protocols into a common communication format at the interface between the
device and the transmission medium. This is normally done by using some type of
network as the transmission medium rather than using a single instrument bus.
Many different systems exist for dealing with the different communication
protocols used by different equipment manufacturers and thus allowing all the
devices to be connected onto one particular type of instrument bus. Two
examples of such systems are CAMAC and MEDIA, although these are rarely used
nowadays as it is more common to solve the problem by using local area
networks.
Some examples of parallel interface
buses are Multibus, the S100 Bus and the IEEE 488 bus (also known by the
alternative names of HP-IB bus, GBIB bus, Plus bus and ANSI standard MC1-1
bus). The IEEE 488 bus has now gained prominence for instrumentation networks,
and it has been adopted by the International Electrotechnical Commission (IEC)
as a standard, IEC625. It provides a parallel interface that facilitates the
connection of intelligent instruments, actuators and controllers within a
single room. The maximum length of bus allowable is about 20 m, and no more
than 15 instruments should be distributed along its length. The maximum
distance between two particular units on the bus should not exceed about 2 m.
The maximum data transfer rate permitted by the bus is 1 Mbit/s in theory,
though the maximum data rate achieved in practice over a full 20 m length of
bus is more likely to be in the range 250–500 Kbit/s.
Physically, the bus consists of a
shielded, 24-conductor cable. Sixteen of the conductors are used as signal
lines, eight carrying data and eight carrying control signals. The remaining
eight conductors are used as ground wires for the control signals, each control
wire being twisted together along its full length with one of the ground wires.
This minimizes cross-talk between the control wires. Normal practice is to
route the eight twisted pairs carrying control signals in the centre of the
cable and place the eight data wires round the periphery. This bundle of wires
is surrounded by shielding and an outer insulated coating. Each end of the
cable is connected to a standard 24-pin metal connector, with generally a female
connector at one end and a male connector at the other. This facilitates
several cables being chained from one device to another.
Figure 10.2 shows three devices
connected onto an IEEE 488 bus. The bus can only carry one lot of information
at a time, and which unit is sending data and which is receiving it is
controlled by a supervisory computer connected to the bus. This supervisor
ensures that only one unit can put data on the bus at a time, and thus prevents
the corruption of data that would occur if several instruments had simultaneous
access.
Having eight data lines means that
the bus can transmit 8 bits of data in parallel at the same time. This was
originally designed so that 8-bit computer words could be transmitted as whole
words. This does not prevent the bus being used with computers of a different
wordlength, for example 16 or 32 bits. However, if the wordlength is longer
than 8 bits, whole words cannot be transmitted in one go: they have to be
transmitted 8 bits at a time. The eight status lines provide the necessary
control to ensure that when data transmission takes place between two units,
three conditions are satisfied simultaneously. These three conditions are (a)
that the sender unit is ready to transmit data, (b) that the receiver unit is ready
to receive data and (c) that the bus does not currently have any data on it.
The functioning of the eight status lines is as follows:
DAV (Data valid)
This goes to a logic zero when the
data on the eight data lines is valid.
NFRD (Not ready for data)
This goes to logic zero when the
receiver unit is ready to accept data.
NDAC (Not data accepted)
This goes to logic zero when the
receiver unit has finished receiving data.
ATN (Attention)
This is a general control signal that
is used for various purposes to control the use of data lines and specify the
send and receive devices to be used.
IFC (Interface clear)
The controller uses this status line
to put the interface into a wait state.
SRQ (Service request)
This is an interrupt status line that
allows high priority devices such as alarms to interrupt current bus traffic
and get immediate access to the bus.
REN (Remote enable)
This status line is used to specify
which of two alternative sets of device programming data are to be used.
EOI (End of output or identify)
This status line is used by the
sending unit to indicate that it has finished transmitting data.
The IEEE 488 bus protocol uses a
logic level of less than 0.8 V to represent a logic 0 signal and a voltage
level greater than 2.0 V to represent a logic 1 signal.
No comments:
Post a Comment
Tell your requirements and How this blog helped you.