IEEE 1284 Driver Toolkit

Current Shipping Version 4.06



DESCRIPTION


The 1284 Driver Toolkit is a software library that allows developers to write applications that take advantage of the IEEE 1284 bi-directional capabilities on the parallel port. In the past, the parallel port was typically used as a one-way interface, from the host to the peripherals. Previously, the only thing connected to the parallel port was a printer. Today however, companies are developing other products that attach to the parallel port. This includes CD-ROM's, tape backup units, scanners and even hard disk drives.

As the products attached to the parallel port become more sophisticated, the need for bi-directional capabilities on the parallel port is needed. The IEEE 1284 specification addresses this by implementing a method of doing bi-directional communication across the parallel port. This means that instead of the data flow going one-way (from the host to the device, as in a printer), now we can have a two-way communication where the device can now send data back host via the parallel port. In addition to the bi-directionality feature, the 1284 protocol provides for faster data transfer rates using ECP or EPP mode.

The main purpose of the driver is to transmit and receive data and address information to and from IEEE 1284-compatible parallel port on behalf of a Windows application. The target platforms for the driver are Windows 95/98/ME and Windows NT/2000. For Windows 95/98/ME the driver is packaged as a VxD while for Windows NT/2000 the driver is packaged as a kernel-mode device driver.

SUPPORTED ENVIRONMENTS

  • Windows 95/98/ME
  • Windows NT/2000

The ECP mode of operation of the Warp Nine 1284 driver requires hardware assistance in the form of access to a parallel port implemented as specified in "Extended Capabilities Port Protocol and ISA Interface Standard" by Microsoft Corporation. Both polled and interrupt-driven modes of operation are supported. The interrupt-driven mode of operation provides a DMA-based or Programmed I/O-based method of data transfer. The interrupt-driven mode of operation requires that an IRQ be configured for the port. The DMA-based method of transfer requires that an IRQ be configured for the port as well as a DMA channel.

The EPP mode of operation requires hardware assistance in the form of access to the EPP address port, EPP data port(s), and the ECR register. The Warp Nine 1284 driver will switch the interface in EPP mode by writing 100 in bits 7:5 of the ECR register. For EPP only a polled mode of operation is provided (with a programmed I/O-based method of data transfer), therefore no IRQ or DMA channel need to be configured.

Both the Byte mode and Nibble mode of operation are implemented in software only. The Byte mode of operation requires that the parallel port is capable to receive data using all eight data lines (PS/2 mode). For both modes only a polled mode of operation is provided (with a programmed I/O-based method of data transfer), therefore no IRQ or DMA channel need to be configured.

SUPPORTED IEEE 1284 PROTOCOLS

  • Negotiation
  • Nibble
  • Byte
  • ECP with DMA and interrupt support
  • EPP
  • Device ID

The ECP mode of operation of the Warp Nine 1284 driver requires hardware assistance in the form of access to a parallel port implemented as specified in the "Extended Capabilities Port Protocol and ISA Interface Standard" by Microsoft Corporation. Both a polled and interrupt-driven mode of operation is provided. The interrupt-driven mode of operation provides a DMA-based in addition to the programmed I/O-based method of data transfer. The interrupt-driven mode of operation requires that an IRQ has been configured for the port. The DMA-based method of transfer requires that an IRQ has been configured for the port as well as a DMA channel.

The EPP mode of operation requires hardware assistance in the form of access to the EPP address port, EPP data port(s), and the ECR register. The ECR register is a control register defined in the "Extended Capabilities Port Protocol and ISA Interface Standard" by Microsoft Corporation. The Warp Nine 1284 driver will switch the interface in EPP mode by writing 100 in bits 7:5 of the ECR register. For EPP only a polled mode of operation is provided (with a programmed I/O-based method of data transfer), therefore no IRQ or DMA channel need to be configured.

Both the Byte mode and Nibble mode of operation are implemented in software only. The Byte mode of operation requires that the parallel port is capable to receive data using all eight data lines. For both modes only a polled mode of operation is provided (with a programmed I/O-based method of data transfer), therefore no IRQ or DMA channel need to be configured.

PROTOCOL PERFORMANCE
(typical average Bytes/Second):

  • Nibble Mode - 85-100KB/sec reverse mode
  • Byte Mode - 100-200KB/sec reverse mode
  • ECP (w/o DMA) - 800KB/sec both reverse and forward mode
  • ECP (w/DMA) - 1.2MB/sec both reverse and forward mode
  • EPP - 900KB-1.2MB/sec both reverse and forward mode
SAMPLE IOCTL CALLS
PAR_IOCTL_GET_VERSION
PAR_IOCTL_SET_TIMEOUT_INFO
PAR_IOCTL_OPEN_PORT
PAR_IOCTL_CLOSE_PORT
PAR_IOCTL_ACQUIRE_PORT
PAR_IOCTL_RELEASE_PORT
PAR_IOCTL_SET_MODE
PAR_IOCTL_GET_MODE
PAR_IOCTL_CANCEL_SET_MODE
PAR_IOCTL_WRITE_ADDRESS
PAR_IOCTL_WRITE_DATA
PAR_IOCTL_CANCEL_WRITE
PAR_IOCTL_READ_ADDRESS
PAR_IOCTL_READ_DATA
PAR_IOCTL_READ_DEVICE_ID
PAR_IOCTL_CANCEL_READ
PAR_IOCTL_SET_TIMING_INFO
PAR_IOCTL_GET_TIMING_STATS
PAR_IOCTL_GET_TICK_COUNT
PAR_IOCTL_INPUT_PORT
PAR_IOCTL_OUTPUT_PORT
PAR_IOCTL_DETECT_CAPABILITIES
OTHER FEATURES
  • Application developers can make calls to the driver via IO Device Control (IOCTL) calls
  • Windows NT Overlapped I/O support
  • All 1284 specifics are taken care of by the driver
  • Supports IEEE 1284.3 Daisy Chaining for port sharing
  • Driver customizations available
  • Source code licenses available
  • Includes sample test program with source code

To request an evaluation version of the driver toolkit click here.

Toolkit frequently asked questions

Toolkit pricing and upgrade information

Don't have a peripheral for testing? See our W1284PIC Development Kit

Download Toolkit Data Sheet

 

Warp Nine assumes no responsibility or liability for (1) any errors or inaccuracies contained in the information herein and (2) the use of the information or a portion thereof in any application, including any claim for (a) copyright or patent infringement or (b) direct, indirect, special or consequential damages. There are no warranties extended or granted by this document. The information herein is subject to change without notice from Warp Nine. © 1997-2000 Warp Nine Engineering

 

| Home | Products | Ordering | 1284 Info | Contact Us | Support | Search |

 

     

Copyright 1998-2004  Warp Nine Engineering

Last modified