Kamis, 28 Juni 2018

Sponsored Links

Parallel port - Wikipedia
src: upload.wikimedia.org

Port parallel is the type of interface found on the computer (private and vice versa) to connect peripherals. Name refers to the way data is transmitted; parallel ports send multiple bits of data at once, in parallel communication, compared to serial interfaces that send bits one by one. To do this, parallel ports require multiple data paths in cables and port connectors, and tend to be larger than contemporary serial ports that require only one data path.

There are many types of parallel ports, but these terms become very closely related to the printer ports or the Centronics ports found on most personal computers from the 1970s to the 2000s. This is a de facto industry standard for many years, and finally standardized as IEEE 1284 in the late 1990s, which defines the two-way Parallel Ports Enhanced (EPP) and Extended Capability Port (ECP) versions. Currently, parallel port interfaces are virtually non-existent due to the emergence of Universal Serial Bus (USB) devices, along with network printing using Ethernet and Wi-Fi connected printers.

The parallel port interface was originally known as the Parallel Printer Adapter on a computer compatible with an IBM PC. It's primarily designed to operate printers that use IBM's eight-bit extended ASCII character set for text printing, but can also be used to adapt other peripherals. The graphics printer, along with a number of other devices, has been designed to communicate with the system.


Video Parallel port



Histori

Centronics

A Wang, Robert Howard, and Prentice Robinson started the development of low-cost printers at Centronics, a subsidiary of Wang Laboratories that manufactures specialized computer terminals. The printer uses the principle of dot matrix printing, with a print head consisting of a vertical line of seven metal pins connected to the solenoid. When power is applied to the solenoid, the pin is pulled forward to hit the paper and leave the point. To create a full character glyph, the print head will receive power to the specified pin to create a single vertical pattern, then the print head will move to the right with a small amount, and the process is repeated. In their original design, a typical flying machine was printed as a matrix of seven in height and five in width, while the "A" model uses a 9 pin head print and forms a glyph 9 by 7.

This leaves the problem of sending ASCII data to the printer. While serial ports do it with minimum pins and cables, it requires the device to buffer up the data as it comes bit by bit and turn it back into a multi-bit value. The parallel port makes this simpler; all ASCII values ​​are presented on the pins in the complete form. In addition to the seven data pins, the system also requires a variety of control pins as well as electricity. Wang happened to have a surplus stock of 20,000 36-pin Amphenol micro ribbon connectors originally used for one of their earliest calculators. The interface requires only these 21 pins, the rest is earthed or disconnected. Connectors have become strongly associated with Centronics now known as "Centronics connectors".

The Centronics Model 101 printer, which featured this connector, was released in 1970. The host sends ASCII characters to the printer using 7 of 8 data pins, pulling it high to 5V to represent 1. When data is ready, the host pulls the pin STROBE low, to 0 V. The printer responds by drawing the line BUSY high, prints the character, and then returns the BUSY to low again. The host can then send other characters. The control characters in the data lead to other actions, such as CR or EOF . The host can also have the printer automatically start a new line by dragging the AUTO high line, and keeping it there. The host should carefully watch the BUSY path to ensure that it does not provide data to the printer too quickly, especially given the time-variable operations such as paper feeds.

The interface printer side is fast becoming de facto industry standard, but manufacturers use various connectors on the sides of the system, so various cables are required. For example, NCR uses a 36-pin micro rib connector on both ends of the connection, the initial VAX system using DC-37 connectors, Texas Instruments using 25-pin card edge connectors and Data General using a 50-pin microcell connector. When IBM implements a parallel interface on an IBM PC, they use the DB-25F connector at the end of the PC interface, creating a now known parallel cable with DB25M at one end and a pin pin 36 pin connector on the other.

In theory, Centronics ports can transfer data as fast as 75,000 characters per second. It's much faster than a printer, which averages around 160 characters per second, which means the port spends a lot of time idle. Performance is determined by how fast the host can respond to the BUSY signal of the printer requesting more data. To improve performance, printers begin to merge buffers so that hosts can send them data faster, in bursts. This not only reduces (or eliminates) delays as latency awaits the next character arrives from the host, but also frees the host to perform other operations without causing any loss of performance. Performance is further enhanced by using a buffer to store multiple lines and then printing in both directions, eliminating the delay while the printheads return to the left side of the page. The change is more than double the performance of unchanged printers, as in Centronics models like 102 and 308.

IBM

IBM released IBM Personal Computer in 1981 and included a variant of the Centronics interface - only IBM logo printers (branded from Epson) that can be used with IBM PCs. IBM built a parallel cable standard with DB25F connectors on the PC side and a Centronics 36-pin connector on the side of the printer. Vendors soon released printers that were compatible with standard Centronics and IBM implementations.

The original IBM parallel printer adapter adapter for IBM PCs was designed to support bidirectional 8-bit data in 1981. This allows ports to be used for other purposes, not just output to the printer. This is done by allowing the data path written by the device at both ends of the cable, which requires the ports on the host to be bidirectional. This feature sees little use, and is removed in later hardware revisions. Years later, in 1987, IBM reintroduced a two-way interface with its IBM PS/2 series, where it could be enabled or disabled for compatibility with wired apps not to expect the printer port to be bidirectional.

Bi-Tronics

As the printer market develops, new types of printing mechanisms emerge. This is often supported by new features and error conditions that can not be represented on relative relatively few relative status pins. While IBM solutions can support this, it's not trivial to implement and not supported at the time. This caused the Bi-Tronics system, introduced by HP on their LaserJet 4 in 1992. It used four existing status pins, ERROR, SELECT, PE and BUSY to represent a nibble, using two transfers to send an 8-bit value. Bi-Tronics mode, now known as nibble mode, is indicated by the host drawing a high SELECT line, and the data transferred when the host turns off AUTOFEED is low. Other changes in handshaking protocols improve performance, reaching 400,000 cps to the printer, and about 50,000 cps back to the host. The main advantage of the Bi-Tronics system is that it can be fully driven in the host software, and using unmodified hardware - all pins used for data transfer back to the host are already printer-to-host paths.

EPP and ECP

The introduction of new devices such as scanners and multi-function printers demands more performance than can be handled by Bi-Tronics or IBM-style backchannels. Two other standards have become more popular for this purpose. The Enhanced Parallel Port (EPP), originally defined by Zenith Electronics, is similar to IBM's byte mode in concept, but changes the details of the handshaking to allow up to 2 MByte/s. The Extended Capability Port (ECP) is essentially an entirely new port in the same physical housing that also adds direct ISA-based memory access and long encoding to compress data, which is particularly useful when transferring simple images such as fax or black-and scanned images white. ECP offers performance up to 2.5 MByte/s in both directions.

All these enhancements were collected as part of the IEEE 1284 standard. The first release in 1994 included the original Centronics mode ("compatibility mode"), nibble and byte modes, and changes to widely used handshaking; the original Centronics implementation calls for BUSY to lead to switch with every change on each data line (busy-by-line), while IEEE 1284 calls for BUSY to switch with each received character (busy-by-character). This reduces the amount of BUSY toggles and interruptions generated on both sides. The 1997 update sets the printer status code standard. In 2000, EPP and ECP modes were moved to standard, as well as multiple connectors and cabling styles, and a method for making up to eight devices from one port.

Some host systems or print servers may use a strobe signal with a relatively low output voltage or fast switch. These problems may cause non-existent or discontinuous printing, missing or recurring characters or garbage printing. Some printer models may have switches or settings to set up busy with characters; others may require a handshake adapter.

Dataproducts

Dataproduct introduces very different parallel interface implementations for their printers. It uses a DC-37 connector on the host side and a 50-pin connector on the side of the printer - either DD-50 (sometimes incorrectly referred to as "DB50") or a block-shaped M-50 connector; The M-50 is also referred to as Winchester. Parallel dataproducts are available in short lines for connections up to 50 feet (15 m) long and line versions using differential signals for connections to 500 feet (150 m). The Dataproducts interface was found on many mainframe systems until the 1990s, and many printer manufacturers offer the Dataproduct interface as an option.

Various devices are finally designed to operate on parallel ports. Most devices are one-way devices, intended only to respond to information sent from a PC. However, some devices like Zip drives can operate in two-way mode. The printer also ends up taking a two-way system, allowing various status report information to be sent.

Maps Parallel port



Historical usage

Prior to the advent of USB, the parallel interface was adapted to access a number of peripheral devices other than the printer. One early use of parallel port is for dongles that are used as hardware keys that are included with the application software as a form of copy protection software. Other uses include optical disc drives such as CD readers and authors, Zip drives, scanners, external modems, gamepads, and joysticks. Some early portable MP3 players require parallel port connections to transfer songs to the device. The adapter is available to run SCSI devices through parallel. Other devices such as EPROM programmers and hardware controllers can be connected via a parallel port.

Interface

Most PC-compatible systems in the 1980s and 1990s had one to three ports, with a defined communication interface like this:

  • Logical parallel port 1: I/O port 0x3BC, IRQ 7 (usually in monochrome graphical adapter)
  • Logical parallel port 2: I/O port 0x378, IRQ 7 (custom IO card or using the controller installed on the mainboard)
  • Logical parallel port 3: I/O port 0x278, IRQ 5 (custom IO card or using the controller installed on the mainboard)

If there is no printer port on 0x3BC, the second port on the line (0x378) becomes logical parallel port 1 and 0x278 into logical parallel port 2 for BIOS. Sometimes, printer ports are jumpered to share interrupts despite having their own IO addresses (ie only one that can be used interrupt-driven at a time). In some cases, the BIOS supports the fourth printer port as well, but the base address for it differs significantly between vendors. Because the entry provided for the fourth logical printer port in the BIOS Data Area (BDA) is shared with other uses on PS/2 machines and with a compatible S3 graphics card, it usually requires special drivers in most environments. Under DR-DOS 7.02, BIOS port assignments can be changed and replaced using LPT1, LPT2, LPT3 (and LPT4 optional) CONFIG.SYS directives.

Access

DOS-based systems make logical parallel ports detected by BIOS available under device names such as LPT1 , LPT2 or LPT3 (corresponding to logical parallel) ports 1, 2, and 3, respectively). These names are derived from terms such as Line Print Terminal, Local Print Terminal, or Line PrinTer. Similar naming conventions are used on ITS, DEC systems, as well as in CP/M and 86-DOS ( LST ).

In DOS, parallel printers can be accessed directly on the command line. For example, the command " TYPE C: \ AUTOEXEC.BAT & gt; LPT1: " will redirect the contents of the AUTOEXEC.BAT file to the printer port. The PRN tool is also available as an alias for LPT1. Some operating systems (such as Multiuser DOS) allow to change this fixed task in different ways. Some versions of DOS use the driver extensions provided by MODE, or users can change the mapping internally via CONFIG.SYS PRN = n directive (as under DR-DOS 7.02 and higher). DR-DOS 7.02 also provides optional built-in support for LPT4 if the underlying BIOS supports it.

PRN, along with CON, AUX and some others are invalid file names and directories in DOS and Windows, even on Windows XP. There is even an MS-DOS device in the vulnerability path path in Windows 95 and 98, which causes the computer to crash if the user types "C: \ CON \ CON", "C: \ PRN \ PRN" or "C: \ AUX \ AUX" in Windows Explorer address bar. Microsoft has released patches to fix this bug, but newly installed Windows 95 and 98 operating systems will still have bugs.

Special " PRINT " commands are also there to achieve the same effect. Microsoft Windows still refers to the port in this way in many cases, although this is often quite hidden.

In SCO UNIX and Linux, the first parallel port is available via a filesystem such as /dev/lp0 . IDE Linux devices can use the paride driver (parallel port IDE).

DIY Serial-to-Parallel Port Adapter | Night Sky in Focus
src: thenightskyinfocus.files.wordpress.com


Famous consumer products

  • The Iomega ZIP drive
  • SnapShot Snappy Video capture tool
  • MS-DOS 6.22 INTERLNK and INTERSRV drive share utility
  • The Covox Speech Hal audio device

Oddware: Portable Sound Plus parallel port sound card - YouTube
src: i.ytimg.com


Current use

For consumers, USB and computer networks have replaced parallel printer ports, for connections to both printers and to other devices.

Many personal computer manufacturers and laptops perceive parallels as legacy ports and no longer include parallel interfaces. The smaller machines have less room for large parallel port connectors. A USB-to-parallel adapter is available that can make a parallel printer work with a USB-only system. There are PCI cards (and PCI-express) that provide parallel ports. There are also some print servers that provide interfaces to the parallel port over the network. The USB-to-EPP chip can also allow other non-printer devices to continue working on a modern computer without a parallel port.

For electronic fans, parallel ports are still often the easiest way to connect to external circuit boards. It's faster than other common legacy ports (serial port), does not require a serial-to-parallel converter, and requires much less interface and interface logic than the USB target interface. However, the Microsoft operating system slower than Windows 95/98 prevents user programs from directly writing to or reading from LPT without additional software (kernel extension). CNC Milling Machines currently also often use parallel ports to directly control motor and machine attachments.

Parallel Port | D-Link
src: content.us.dlink.com


IBM PC implementation

Port address

Traditionally, IBM PC systems have allocated their first three parallel ports according to the configuration in the table below (if all three printer ports exist).

If any slots are not in use, the port address of the other is moved. (For example, if a port on 0x3BC does not exist, the port at 0x378 will be the first logical parallel port.) The base address of 0x3BC is usually supported by the printer port on the MDA and Hercules display adapter, while the printer port is provided by the mainboard chipset or rarely add-on cards to be configured to this base address. Therefore, in the absence of a monochrome display adapter, the common task for the first logical parallel port (and therefore also for the appropriate LPT1 DOS device driver) is 0x378 today, even though the default is still 0x3BC (and will be selected by the BIOS if it detects the printer port in this address). IRQ lines can usually be configured in hardware as well. Setting the same interrupt to more than one printer port should be avoided and will usually cause one of the corresponding ports to work in the surveyed mode only. The port address assigned to the slot can be determined by reading the BIOS Data Area (BDA) at 0000h: 0408h.

Bit-to-pin mapping for Standard Parallel Ports (SPP):

~ shows the hardware inversion of the bit.

Program Interface

In Windows versions that do not use the Windows NT kernel (as well as DOS and some other operating systems), the program can access the parallel port with the simple outportb () and inportb () and outportb subroutine commands. In operating systems such as Windows NT and Unix (NetBSD, FreeBSD, Solaris, 386BSD, etc.), Microprocessors operate in different security rings, and access to parallel ports is prohibited except using the necessary drivers. This improves the security and arbitrage of device contention. In Linux, inb () and outb () can be used when the process is run as root and the ioperm () command is used to allow access to its base address; alternatively, ppdev allows shared and usable access from userspace if appropriate permissions are set.

Cross-platform library for parallel port access, libieee1284, is also available in many Linux distributions and provides an abstract interface to the system's parallel port. Access is handled in an open-claim-release-close sequence, which allows for concurrent access in userspace.

Intel computer Motherboard, parallel port output, colour coded ...
src: c8.alamy.com


Pinouts

Older parallel port printers have an 8-bit data bus and four pins for control output (Strobe, Linefeed, Initialize, and Select In), and five for control inputs (ACK, Busy, Select, Error, and Output Paper). The data transfer rate is 150 kbit/s.

The newer EPP (Enhanced Parallel Ports) has an 8-bit data bus, and the same control pin as a normal parallel printer port. New ports reach speeds up to 2 MB/s.

Pinouts for parallel port connectors are:

The line upside down is right on the low logic. If they are not reversed, then the high logic is true.

Pin 25 on the DB25 connector may not be connected to ground on a modern computer.

LGR - Fixing & Installing a Parallel Port CD-ROM - YouTube
src: i.ytimg.com


See also

  • Device files
  • Serial port
  • Parallel communication
  • Input/Output Base Address
  • IEEE 1284 which is sometimes called "Enhanced Parallel Port"
  • Biostar, Taiwanese computer component manufacturer is partly known for having parallel port connectivity on their motherboards

Chip IC hardware:

  • For host computers, see Super I/O
  • For peripheral side, parallel port interface chip: PPC34C60 (SMSC) and W91284PIC (Warp Nine)
  • For USB-printer purposes, examples of USB chips: PL-2305 (Prolific) and CH341 (QinHeng)

File:Parallel computer printer port.jpg - Wikimedia Commons
src: upload.wikimedia.org


References


Ports and It's Types || Serial, Parallel and USB Ports || Lecture ...
src: i.ytimg.com


External links

  • Parallel Port (from BeyondLogic.org ) standard, enhanced (EPP), extended (ECP), example
  • EPP parallel port printer data collection port project
  • I/O Linux mini-HOWTO port programming
  • Linux 2.4 Parallel Port Subsystem
  • Parallel port interacts with Windows NT/2000/XP
  • Complete parallel port: programming, interface & amp; using PC parallel printer port
  • PyParallel - API for Python programming languages ​​
  • Linux ppdev reference
  • homepage libieee1284
  • MSDN: Road Map for Developing Parallel Device Drivers

Source of the article : Wikipedia

Comments
0 Comments