The
CATC USB4DOSTM Protocol Stack
software package from Computer Access Technology Corporation provides
USB support under DOS for production line testing and embedded applications.
DOS application developers needing to communicate with USB devices now
have the ability to do so in a clear, straightforward manner. Using a
simple software interface, applications can configure USB devices, monitor
their activity in real time while quickly transferring data back and forth
between them.
DOS is often the production test environment of choice, simpler, more
stable and faster to boot and to operate than Windows based systems. A
production tester must provide a way to test both the functionality of
the USB port itself, and then, through that port, the specific functionality
of the USB device. Combining the USB4DOS software with specific test applications
produces an ideal test setup for USB devices such as keyboards, mice,
joysticks, printers, monitors, cameras, scanners, mass-storage devices,
etc.
Additionally, USB4DOS offers embedded systems designers the ideal software
solution for their DOS-based applications. USB4DOS allows fast and simple
connection to existing or to newly developed USB devices.
Applications
Test environment for production line testing and embedded applications
Features
- Simple API enables communication between DOS applications and
USB devices
- Complies with USB 1.1 specification
- Supports both UHCI and OHCI environments
- Supports full-speed and low-speed USB devices
- Supports the connection of multiple devices (up to 127)
- Supports "plug and play" operation
- Supports Control, Bulk, Interrupt, and Isochronous USB transfer
modes
- Keeps track of protocol errors
- Can be incorporated into customer systems and manufacturing test
environments (custom integration service available)
- One year warranty and hot-line customer support
USB4DOS includes two main components: a DOS USB stack (implemented
as a pair of TSR executables) and an Application Program Interface (API),
complete with sample source code that illustrates typical interfaces
between software applications and the USB4DOS components. The API sample
source code includes several typical application architectures, enabling
developers to quickly create custom applications. The API and its usage
are described in the User's Manual.
USB4DOS System Overview
- UHCIDRVR.EXE and OHCIDRVR.EXE: these drivers control the USB host
controller. Only one driver is used on any particular platform,
matching the type of host controller used, either UHCI (Universal
Host Controller Interface) or OHCI (Open Host Controller Interface).
A client DOS application uses this driver to communicate with the
USB device. The driver receives client requests and translates them
into low-level commands that are sent to the host controller.
- DEVMNGR.EXE: this component manages the USB devices. It keeps
a table of all the attached devices with the description of the
devices.
- USB4DOS.CFG: this file contains driver parameters which may be
modified (prior to starting the drivers) to optimize performance
for specific applications/environments.
- Diskette Organization: USB4DOS software and documentation are
supplied on disk, and are easily installed by executing the INSTALL.EXE
program.
USB4DOS Operational Description
Overall operation of USB4DOS is carried out in just six steps:
- Registering a Client Application: starting USB activity by registering
with the Device Manager
- New Device Initialization: the Device Manager automatically performs
these functions.
- Opening Pipes: operation begins upon notification that a USB device
is connected.
- USB Traffic: data transfer and control begins to and from the
device.
- Device Disconnection: the Device Manager automatically notifies
the associated client of the disconnect.
- Client Unload: when a client needs to shut down, all devices related
to the client are freed from the system.
Hub Driver Interface
Hub management is not an internal component of USB4DOS. In most cases
the hub driver is implemented largely as a standard client application.
A comprehensive Hub driver is available from CATC.
USB4DOS.CFG Parameters
The USB4DOS.CFG configuration file contains a variety of
system parameters, which can be adjusted for optimum performance in
a particular environment.
Client Interfaces
There are various interfaces used by client applications to communicate
with the USB4DOS components.
Device Manager Interfaces:
- Identify: a client can use this command to ascertain whether or
not the Device Manager is present (i.e. has been loaded and is operational).
- Register: a client uses this command to register with the Device
Manager, providing the addresses of two callback functions: ATTACH()
and DETACH().
- Unload: a client uses this command to inform the Device Manager
that it is unloading itself from memory: Hub Device Attached and
Hub Device Detached
Host Controller Driver Interface:
- USB Operations (Command Codes): the _USB_REQUEST structure contains
a command code indicating the nature of the desired USB operation.