You are on page 1of 7

SOFTWARE SPECIFICATIONS REPORT

SERIAL EMULATION USB DRIVER

References : USBSER/PHILOG/DSL To : Diffusion list


Version : 2 Document : Provisory
Version date : May 12, 2006 Validated
Amount of pages : 7 Diffusion : Controlled
Backup file : DRIVER USB EMULATION SERIE_US.2.doc Un-controlled
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

DOCUMENT MANAGEMENT PROCESS


Version history

Version Date Commentary/Modifications

1 February 16, 2006 Creation

2 May 12, 2006 Update due to OBEX support

Document approvals

Author Verification / Review Approval

Y. LAMY C. CAMPOS M. BEIGBEDER


CP RQ PDG

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 2/7


Version # 2 - copyright and all other rights reserved.
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

TABLE OF CONTENTS

1. GOALS............................................................................................................................. 4

2. REFERENCE DOCUMENTATION ............................................................................... 4

3. TERMINOLOGY............................................................................................................. 5

4. FUNCTIONALITIES OF THE DRIVER ........................................................................ 5

4.1 HOT PLUG AND PLAY AND POWER MANAGEMENT .............................................................. 5

4.2 USB INTERFACE................................................................................................................ 5

4.3 SERIAL INTERFACE ............................................................................................................ 6


4.3.1 Reservation of the COM port........................................................................... 6
4.3.2 Interface with the user layer............................................................................. 6
4.4 DATA RATE AND BAUDRATE .............................................................................................. 7

5. OPERATING SPECIFICATIONS................................................................................... 7

5.1 ENVIRONMENT .................................................................................................................. 7

5.2 SETUP.............................................................................................................................. 7

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 3/7


Version # 2 - copyright and all other rights reserved.
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

1. GOALS

This document presents the functionalities of Philog’s USB serial emulation driver
under Windows.

The driver is a Philog’s software component, designed for Windows 98, 98SE,
Millenium, Windows 2000 and Windows XP. This driver registers the peripheral as a
virtual serial port than cannot be distinguished from a classical COM port by any user
application.
USER
User application

Serial port interface


KERNEL

USB mini driver

USB
System stack

Serial port driver

USB Root Hub Serial Port

USB
Serial USB
Firmware

2. REFERENCE DOCUMENTATION

# Reference Date Title


[1] USBCDC1.1 19/01/1999 USB Class Definitions for Communication Devices

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 4/7


Version # 2 - copyright and all other rights reserved.
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

3. TERMINOLOGY

ACM Abstract Control Model


IAD Interface Association Descriptor
USB Universal Serial Bus
USB CDC USB Communication Device Class
USB-IF USB Implementers Forum
WDM Windows Driver Model

4. FUNCTIONALITIES OF THE DRIVER

4.1 HOT PLUG AND PLAY AND POWER MANAGEMENT

The driver is a WDM kernel driver. It can stand the hot plug and play of peripherals.

If a peripheral is removed when while being used, the TERMINAL PRESENT modem
signal is set down indicating that the peripheral is no longer available. Reading or
writing requests will be completed with an error.

The driver supports the standby mode and the hibernate mode.

The driver supports devices with the remote wake-up capability, enabling system wake-
up by the USB device (this feature must also be enabled in the BIOS).

4.2 USB INTERFACE

The driver has been designed for a communication class – abstract control model
peripheral.

The USB CLASS requests supported by the driver are :

• SET_CONTROL_LINE_STATE,

• SET_LINE_CODING,

• GET_LINE_CODING,

• SERIAL_STATE notification on the INTERRUPT pipe.

The driver does not manage the break, neither in the SERIAL_STATE notification nor
as a command send by the PC.

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 5/7


Version # 2 - copyright and all other rights reserved.
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

ACM descriptors are not taken into account.

Alternate modes are possible:

• Possibility to group all the endpoints in a single interface (implementation of CDC


multi-function peripherals + other class without using the IAD),

• Possibility to run only with two BULK pipes (no notification of MODEM
signals).

Driver version 3.4 and above support the communication class – OBEX devices

4.3 SERIAL INTERFACE

4.3.1 RESERVATION OF THE COM PORT

When a peripheral that is managed by the Philog’ s driver is plugged, a COM port
number is reserved and the peripheral is registered in the system as a serial port. The
driver dynamically assigns the COM port number. It corresponds to the first available
COM port. For that, it takes into account the other types of drivers (IRDA,
PCMCIA,…) creating some virtual ports in order to prevent any conflict.

! If the USB peripheral has a serial number (valid serial number chain defined in
the device descriptor), the driver’s COM port number is fixed.

! If the USB peripheral does not have any serial number, the COM port number
depends on the bus topology (a peripheral that is connected to the #1 USB port
of the PC will get, for example, the COM4 port number; if it s connected to the
#2 USB port of the PC, it will get the COM5 port number).

A Philog’ s specific mechanism detects the “dead” COM port numbers and retrieve
them (avoid COM port loss due to system crash).

4.3.2 INTERFACE WITH THE USER LAYER

For a user application, the virtual COM port cannot be distinguished from a physical
port.

All COM_API functions are supported as follows:

• The driver does not manage the BREAK signal. ClearCommBreak and
SetCommBreak are kept to guaranty the compatibility,

• All the events that are used through SetCommMask and WaitCommEvent are
supported except for the events concerning the BREAK signal,

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 6/7


Version # 2 - copyright and all other rights reserved.
SOFTWARE SPECIFICATIONS REPORT - SERIAL EMULATION USB DRIVER
Philog

• Any Timeouts types are supported,

• The configuration of the line (baudrate, parity, DTR … ) is sent to the USB
peripheral via the USB SET_LINE_CODING and GET_LINE_CODING
commands,

• The MODEM signals are managed. The CTS is emulated because it is not
among the signals that are sent by the SERIAL_STATE notification,

• FIFO sizes can be defined.

4.4 DATA RATE AND BAUDRATE

The configuration of the line is sent to the peripheral via the USB SET_LINE_CODING
command. Nevertheless, these information have no influence on the USB bus
throughput.

The Philog ‘s driver enables to get data rate above 10Mbps in USB FULL SPEED.

5. OPERATING SPECIFICATIONS

5.1 ENVIRONMENT

The driver exists for Windows 9x, ME as well as for Windows 2000 and XP.

Considering the instabilities of the USB stack reported by Microsoft, we recommend the
Windows 2000 SP4 and Windows XP SP1 or SP2 Operating Systems.

5.2 SETUP

The driver is supplied with a .inf file enabling the system to install it when the
peripheral is connected for the first time.

The system can consider the peripheral as a modem or a serial port.

The driver can also be supplied as an InstallShield process for the French and English
OS. The associated un-installation process is complete (withdrawal from the registry of
all the keys created by Windows, withdrawal of the .pnf files generated by the
system,…).

USBSER/PHILOG/DSL © Philog - communication, reproduction, utilisation interdites 7/7


Version # 2 - copyright and all other rights reserved.

You might also like