Connecting peripherals to computers is a complex topic. This chapter discusses some of the more common connection mechanisms used to attach printers, directly or indirectly, to personal computers, mini- and mainframe computers, and computer networks. Computer to printer connections take one of three forms, parallel, serial, or network, so the various methods are grouped in these categories below.
Parallel communication connections are normally the fastest method of transferring data from a computer to a printer. Data is normally stored in computers in "bytes", a byte is normally a group of 8 "binary digits" ("bits"). In parallel communications links there are several individual connections, each of which carries a bit. Normally there are 8 data connections, allowing a byte to be transferred in one action, sometimes there are 16 data connections, allowing two bytes to be transferred at once. In addition to transferring data, a communications link must transfer handshaking protocol signals between the printer and the computer, to tell the computer to stop and start sending data. Parallel communications links use extra connections for this, so handshaking does not impose any significant overhead on the communications process. Parallel connections are not suitable for long-distance connections, most parallel connections will only operate over a few metres of cable. Some parallel communications mechanisms are designed explicitly for use with printers, others are actually computer buses designed for the connection of all types of high-speed peripherals including hard disks.
The Centronics parallel connection, invented by the Centronics corporation, a printer manufacturer, is the most common method of connecting a printer to a computer. Centronics communication uses an 8-bit parallel connection, and is the normal method of connecting personal computers (except Apple Macintosh computers) to printers. A Centronics connection is uni-directional, i.e. it can only send data in one direction. Handshaking between the printer and the computer is provided by extra wires which tell the computer when to stop and start sending data.
With the launch of the LaserJet 4, Hewlett-Packard introduced a parallel connection called Bi-Tronics. Bi-Tronics is a modified Centronics connection suitable for bi-directional communication, allowing the printer to send status messages (Out of Toner, Paper Jam etc.) back to the computer. Bi-Tronics is compatible with the Centronics port used on most personal computers, but requires a special software driver on the computer to receive the messages from the printer.
The Dataproducts parallel connection, invented by Dataproducts, a printer manufacturer, is used by some minicomputers for high speed printing. The Dataproducts interface is only supported by a few printers, but there are conversion units available to convert Dataproducts connections to Centronics connections.
The Hewlett-Packard Interface Bus (HP-IB) was invented by Hewlett-Packard to connect HP scientific and engineering measurement systems to HP scientific computers. HP-IB was accepted as a standard by the Institute of Electrical and Electronic Engineers, and is often referred to as IEEE488. The HP-IB is a bi-directional parallel connection, it is used by a few models of computer, but is common on scientific and engineering tools such as data-loggers, oscilloscopes and logic analysers, some of which are able to print out the images they capture.
The Small Computer Systems Interface (SCSI) was developed as a general purpose high-speed parallel bus system for adding peripherals to small computer systems, it is normally used for scanners, hard disks, and optical disk drives. SCSI ports are much faster than normal parallel communications ports, so they are provided by a few printers to allow the high speed transfer of bitmap images from the computer to the printer, .
The IBM 370 Channel connection is a high-speed bus used to attach peripherals to IBM mainframe computers, and is commonly called a "bus and tag" connection. The bus and tag connection system is used by many high-speed production printers, which are normally attached to mainframe computers. Several companies supply interface conversion units which convert from non-IBM mainframes, networks, tele-communications systems and other high-speed data transfer systems to the bus and tag system.
Serial communication links are much slower than parallel connections, but can operate over greater distances. In a basic serial link only two wires are required; one for sending data, the other for receiving data. Most serial connections have at least one extra wire, but this has no effect on the speed of data transfer. Some serial links have several extra wires to perform handshaking, but these are optional as software handshaking signals can be sent along the data wires mixed in with the data. In a serial connection each binary digit is sent separately, so a byte normally requires 8 individual transfers. In addition most serial communication systems require extra bits to be sent before and after each byte to signify the start and finish of the byte, so that typically 11 bits must be sent to transfer 8 bits of data. The maximum practical speed of most serial links is 19,200 bits per second, although a few systems can run several times faster than this. Serial communications can be converted to transfer data over telephone connections, so the computer and printer may be a considerable distance apart, in which case the link is normally called a remote connection, as the computer and printer are physically remote from each other. The main problem with serial communication is the data transfer speed, while it is adequate for most text printing, serial data transfer is normally too slow for a printer to run at full speed when using bitmap graphics.
RS232C is an international specification for serial computer connections. Most computers support RS232C communications, which may be used for talking to other computers as well as to printers. RS232C defines the physical and electrical characteristics of the connection, not the method of sending data or the encoding of the data.
Serial links may be synchronous, in which case the data is transferred between the serial devices according to specific timings agreed between the two devices (each byte is sent a fixed interval after the previous byte), or asynchronous, in which case data is transmitted by the sender as soon as it is ready. Most computers and printers use asynchronous connections. Serial communications also require a handshaking protocol, which allows the receiving device to tell the sender when it is ready to receive data, and when it cannot. There are several handshaking systems, including XON-XOFF, which is a software handshaking system using the same wires as the data, and the DSR/DTR (Data Set Ready/Data Terminal Ready) and RTS/CTS (Ready To Send/Clear To Send) systems which are both hardware handshaking systems requiring extra wires.
RS422 is similar to RS232C, but is more recent and is able to support higher speeds. RS422 is used by relatively few computers, but is supported (sometimes as an option) by many printers. RS422 is normally used with a conventional software handshaking protocol, but is so fast that it may be used as the basis of a low speed network connection.
Current loop serial links are similar in function to ordinary RS232C serial interfaces, but use different electrical standards to transmit the information. Current loop interfaces normally use the same software handshaking protocols as RS232C serial links. 20mA current loop interfaces were relatively common on computer systems at the beginning of the 1980's but have declined in popularity over recent years.
The IBM Systems Networking Architecture for Remote Job Entry (SNA-RJE) is a high speed serial link used by IBM mainframes for communication to remote terminals. It may be used for connecting printers over longer distances than is possible with IBM bus and tag connections, and is particularly suited for use over tele-communications links. As a serial communications mechanism SNA-RJE is not normally fast enough to support production printers, but some manufacturers offer interfaces for high-speed tele-communications links designed for data transfer. These interfaces often include a spooling facility so that a job can be sent to the job spool on the interface, and printed efficiently from there. Some telephone companies offer a selection of high speed telecommunications links allowing transfers of up to 128 kilobits per second (16 kilobytes), which is sufficient throughput for text printing on a production printer. Most SNA-RJE connections are via separate interface units, but a few workgroup printers have built-in support for low-speed SNA-RJE communications.
The IBM Co-Ax communications system is radically different to the other serial communications links described above, in that is has only one data conductor, which is used for both transmission and reception. Because of this data is transmitted in blocks of bytes, rather than one byte at a time, to avoid collisions between data sent from both ends of the link simultaneously, in this way the co-ax connection functions like a network connection. IBM Co-Ax links are used to connect low speed devices, such as terminals and office printers, to IBM mainframes. Co-Ax connections are available for many office and workgroup printers, either as a card built-in to the printer, or as an external interface box which converts the Co-Ax data to Centronics parallel or RS232C serial form. Normally a Co-Ax connection will be used in conjunction with an IBM printer emulation, such as the IBM 3812 and IPDS described in the previous chapter. Many external Co-Ax interface boxes convert one of these emulations to a common laser printer language such as PCL.
The IBM Twin-Ax communications system is similar in function to the IBM Co-Ax described above, but is used on IBM System 3X and AS/400 minicomputers. Twin-Ax is a hybrid system which has several features in common with a network, and is able to support up to seven devices (terminals or printers) on each twin-ax link to the minicomputer. Twin-Ax connections are available for many office and workgroup printers, either as a card built-in to the printer, or as an external interface box which converts the Twin-Ax data to Centronics parallel or RS232C serial form. Normally a Twin-Ax connection will be used in conjunction with an IBM printer emulation, such as the IBM 3812 and IPDS described in the previous chapter. Many external Twin-Ax interface boxes convert one of these emulations to a common laser printer language such as PCL.
Local Area Networks (LANs) are increasing in popularity because they offer computer users several benefits, including the ability to share expensive peripherals such as laser printers. Most networks include computers which are dedicated to providing shared resources, called servers. Most servers primarily offer shared disk storage, however a printer may be attached to a server, to be accessed by all the users on a networks. While this is practicable on small networks, the servers on large corporate networks are often kept together in a secure area to protect the data stored on the server disks, and are physically remote from the users of the network, so separate network interfaces are required to enable the printers to be located close to the users. These interfaces are available as small boxes capable of connecting one or more printers to the network, called "Print Servers", and as cards which plug into a printer and connect that printer directly to the network.
There are several different kinds of network connection (the cabling and distribution system the network uses), some of which are able to support several different network protocols (the software mechanisms used to transmit data across a network).
Ethernet is probably the most popular networking system, and is used to connect groups of personal computers, mini-computers, mainframe computers, or a combination of different types of computers. There are several different forms of Ethernet connection, and many network protocols in common use. Ethernet was originally designed to run over heavy-duty co-axial cables, but as these are expensive, it has been adapted to run on low cost cabling as well. Ethernet was designed in the 1970's when its' operating speed of 10 megabits per second was considerably faster than any alternative networking systems, however Ethernets speed is now insufficient for busy networks, and a 100 megabits per second standard is being developed. There are a few 100 megabits per second Ethernet-type LANs in use, but all the printer cards and Print Servers currently available are for use on 10 megabit Ethernet.
The standard Ethernet co-axial cable is approximately 10 mm in diameter, and is difficult to attach devices to as it is normally one continuous piece of cable. Most standard Ethernet installations are fitted with regularly spaced "taps", points at which network connections can be made. The taps include a spike which is inserted into the cable to connect to it without cutting the cable. Computers and printers are not connected directly to the Ethernet cable, but are connected instead to a tap. The connection to the computer or printer is made by a cable from the tap which is terminated in a 15-way D-type connector normally referred to in network terminology as an "AUI" connector.
The high cost and difficult installation of standard Ethernet led to the development of a low-cost Ethernet cabling system, often called "Cheapernet". This uses thin co-axial cable, typically 4 mm in diameter, in short lengths which are joined together using connectors to make a longer cable. A computer or printer can be attached at any join in the cable, using a three-way "T" connector which joins the two segments of cable together and provides a connection point for the computer or printer. The connection is made using a standard BNC co-axial plug.
The twisted-pair system is usually used in conjunction with Standard Ethernet, and uses "twisted-pair" cabling similar to telephone wiring to distribute network connections from a "hub" (a device which allows multiply connections to the Ethernet at one tap point). Twisted-pair cables are connected with a small plug similar to a US. telephone plug.
The Token Ring networking system is primarily in conjunction with IBM systems. Early Token Ring networks were considerably slower than Ethernet, but later developments have improved its performance so that it communicates faster than Ethernet. Token Ring is well supported by IBM AS/400 minicomputers, and is commonly used to connect IBM-compatible PCs to AS/400s. Token Ring printer adapters and print servers are widely available, but they are less common and significantly more expensive than Ethernet adapters. The popularity of Token Ring, while not on a par with Ethernet, has caused software companies to provide several different networking protocols for Token Ring networks.
The popularity of Ethernet across all makes of computer has led to the development of several different software communication protocols. Many of these protocols started life as systems designed for the interconnection of one make or type of computer, but most have been expanded to allow their use with many types of computer. Some of these protocols are also available for Token Ring networks, allowing communication between computers connected to different networks in large corporations.
Novell is probably the most widely used supplier of network software, and provides several network operating systems aimed at various levels of user, under the name of Novell Netware. The Netware protocols are widely (almost universally) supported by Ethernet printer cards and stand-alone print servers, and by Token Ring printer cards and print servers.
Microsoft LAN Manager is a heavy-duty networking system aimed at corporations with large networks of personal computers using either Ethernet or Token Ring networks. Print servers and printer cards are providing support for LAN Manager are widely available for both Ethernet and Token Ring networks.
IBM LAN Server is a heavy-duty networking system aimed at corporations with large personal computer networks, or personal computer networks connected to AS/400 minicomputers. LAN Server is available on both Ethernet and Token Ring networks, and is supported by several print servers and printer cards.
Windows for Workgroups is a special version of Microsoft Windows which incorporates built-in light-duty networking software. As it is intended for small groups of personal computers, rather than corporate networks, and does not require separate servers, there are very few print servers and printer adapters for Windows for Workgroups. Users of Windows for Workgroups normally share resources attached to the personal computers of other users, so a printer which is directly attached to a user's personal computer under Windows for Workgroups can be used by all the other Windows for Workgroups users on the same network. This type of networking is referred to as "peer to peer", because each networked computer is equal, rather than some being assigned as network servers. A key disadvantage of peer to peer network systems is that the user to whose PC a printer is attached may suffer some loss in computer performance because the computer is busy processing other users' print jobs.
3-Com 3+ was one of the original Ethernet network systems for personal computers. As such it was relatively basic, and has been superseded by newer products. Printers on 3-Com 3+ networks are normally attached to a personal computer acting as a print and file server.
PathWorks is Digital Equipment Corporation's proprietary Ethernet system, previously called DECnet. It is normally used to connect Digital workstations and IBM and Apple Macintosh compatible personal computers to Digital minicomputers. Shared printers on PathWorks networks are sometimes attached to one of the Digital minicomputers on the network, and Digital supplies several printers which will attach directly to a PathWorks network.
TCP/IP is a manufacturer-independent networking systems developed by educational and scientific research institutions in the USA. As a manufacturer-independent system it is popular with many companies implementing open systems (systems which are independent of any particular manufacturers' software or hardware), and is available to run on most types and makes of computer. TCP/IP usage is growing rapidly on Ethernet networks, and is supported by several Ethernet print servers and printer cards.
Ethertalk is Apple Computer Corporation's implementation of Ethernet software, and is primarily aimed at large networks of Apple Macintosh personal computers. Ethertalk is supported by a few of the better quality Ethernet print servers and printer interface cards.
AppleTalk is a combined network connection and network software system which is built-in on Apple Macintosh personal computers. AppleTalk is a light-duty network intended for use by small groups of Macintosh computers, however AppleTalk interface cards are also available for IBM-compatible personal computers. AppleTalk is widely supported by PostScript printers, either built-in or on a printer card.
Some printers which have more than one communications port will allow port switching. Port switching enables the printer to automatically switch between communications ports, to receive data from several computers. When the printer is idle it waits for data to be sent by a computer, and whichever port the data is sent to becomes the active port until the print job is complete. If another computer on another port tries to send data while the printer is processing a print job it will be told to wait, using a handshaking signal. The handshake is released when the printer has finished the job it was processing.
The port switching system generally works very well, but sometimes it can be difficult for a printer to decide whether a print job is complete. In this case the printer may wait for a few seconds to see if the computer sends any more data (the wait period can normally be set using the control panel on the printer, and is typically 10 or 20 seconds), and if no more data is received the printer assumes that the print job is complete, and prints it. It is possible, if a computer is very slow or preparing a particularly complicated page for the printer, that a pause in sending data will be longer than the wait period, in which case the print job will be split into two parts, and the formatting commands at the beginning of the job will be lost, so the second part would print as nonsense. Most printers allow the port switching feature to be disabled, or set to a very long wait, to overcome this problem. The same problem may occur with external printer sharing boxes which work in the same way.