|
|
|
|
|
|
|
|
The 8x930 microcontroller is based on the
MCS®251
architecture and is a USB compliant peripheral controller chip. This
integrated controller coupled with development tools offers a fast design
ramp to a wide range of USB PC Peripherals. Intel is working closely with a
number of leading Third Party Vendors (TPVs) to provide a comprehensive set
of hardware and software tools, and a complete interoperable tool
chain for cross development for the 8x930 family. For more
information on TPVs see USB Development
Tools.
The ultimate lab set up is an example of a complete USB development
environment that is comprised of the tools available from Intel
or Third Party Vendors. Engineering teams may want to use
this model to shorten their development cycle.
|
|
A host system is a USB compliant PC host platform. The following host
systems are offered by the companies listed below.
- IBM - Model number 2176C6Y or higher
- Compaq - Model number 4762 or higher
- Toshiba - Model name Infinia
- Siemens - Model Scenic Pro C5
- Sony - Model number/name, PCV70, VAIO
Contact your local PC distributor for price and availability of these
systems.
Microsoft Corporation has developed beta versions of USB compliant
software drivers. For more information contact Microsoft for the
latest versions of these drivers. As a convenience to its customers, Intel
is providing the following link to register with Microsoft.
Microsoft Corporation is independent of Intel, and Intel does not warrant
and cannot be responsible for their material.
beta@microsoft.com.
The
Universal Host Controller Interface (UHCI) Design Guide is
available for hardware designers to aid in the implementation of the USB
host controller. The design guide describes the register level
interface within Intel's USB host controller as well as the software
data structure needed to control the bus. To register for future
updates of the Design Guide, send your name, company name, mailing
address, email address, and phone number to PCI_Reply@ccm.fm.intel.com.
Intel also provides the following software to complement the USB Host
PC that can be accessed by contacting your local Intel sales
office:
Sample WDM USB Device Driver |
The sample WDM USB device driver provides a generic template
which can be modified to suit customer requirements. The
sample driver provides a documented API interface (DeviceIOCTL)
for applications to communicate with USB devices.
The goal of including the device driver is to provide Intel
customers a jump start path to their USB peripheral firmware,
H/W debug, and integration. The sample driver does basic device
enumeration, that is, obtains the device and configuration
descriptor from a device. The descriptor information is
exported to the application when appropriate API calls are made.
The sample driver also supports all the different data pipes
(Control, Bulk, Interrupt, and Isochronous). Applications can
use the data transfer API's to perform USB peripheral firmware
debug. |
Sample USB Application |
The sample USB application complements the sample WDM USB device
driver and is a template GUI/C++ application that can be
modified to suit customer requirements. For example,
the sample application can be modified to perform long term
stress testing of their USB peripheral. The sample application
uses the API defined and exported by the sample device
driver. |
USB Single Step Transaction Debugger |
The USB Single Step Transaction Debugger (USBSSTD) is a simple,
low-level tool for exercising USB peripherals. It does not
require the sample WDM USB device driver or sample USB
application. USBSSTD is targeted to the needs of initial
integration of a new USB peripheral. During initial hardware
integration, it is advantageous to have complete control and
visibility into the USB subsystem.
USBSSTD provides this level of control and visibility. It
provides an easy to use, graphical interface which allows the
user to construct, submit, and evaluate the status of individual
USB transactions. USBSSTD accommodates interactions with Host
Controllers which conform to the
Universal Host Controller Interface (UHCI).
Although the granularity of control is per-transaction, the
tool provides a number of aids to help the user construct
both individual, and sequences of transfers. These aids help the
user to quickly setup and issue complete USB message traffic, or
simply issue sequences of USB input or output transactions.
USBSSTD works independently of the USB software stack.
It interacts directly with the host controller and the
scheduler, to issue transfers and send/receive data with the
addressed USB device. The user should take care when using
this tool if the USB subsystem has a number of active
devices.
|
|
|
In addition to the USB Host PC, a second PC is recommended for
debugging purposes. This PC is used to develop programs that will run on the
8x930 USB chip. Software should be loaded on it for these purposes.
Users need to have a C cross compiler/assembler to generate code for the
8x930 and a debugger environment that allows the user to load code to the
evaluation board environment. This PC will also be used to run the ICE
(in-circuit emulator) debugger software and will contain boards related to
ICE. It will also be used to run the software related to protocol analyzers
and contain any ISA or PCI boards required to run the bus
analyzer. |
|
Several Third Party Vendors offer software suites to allow programmers to
write code for the 8x930 USB chip. Each software suite comprises a C
compiler, assembler, linker/locator and debugger/simulator tools. These are
usually complemented by a windows based development environment along with
editor, project, and library management tools. Executable code is generated
in either IEEE695, the Intel OMF format or Intel Hexadecimal format.
The 8x930Ax
USB Controller may be programmed using either the
MCS®51
instruction set (to protect the user's software investment) or the
MCS®251
microcontroller instruction set (for optimized performance).
|
|
The evaluation
board is built around the 8x930 and is available as part of a USB
evaluation kit from Intel. The kit includes ApBuilder,
code examples, compiler, user manuals, and data sheets.
The board has a resident debug monitor (RISM) in EPROM that
interfaces to PC based debuggers from leading TPVs. The 8x930Ax USB
controller is supported on an
adapter board or
daughter card that plugs on to the evaluation board. The
evaluation board supports one upstream USB port and three downstream USB
ports for future USB hub support. To order an evaluation kit,
order number: USB930EVALKIT, please contact your local Intel sales office.
|
|
An application represents any type of computer peripheral connected to the
USB host through a USB connection. The application can be connected to the
evaluation board through the I/O expansion connector on the side of the
board. The evaluation board can be used as a peripheral by itself if only
software testing is needed and no mechanical connection is required.
Application or demo code may be developed using the software development
tools and then tested on the evaluation hardware board by either
downloading via the PC COM port to the serial port on the board, or
directly by programming the code in EPROM or FLASH and plugging the device
on the board. A sample USB application is also
available from Intel. |
|
Emulation tools range from simple ROM emulation tools all the way to full
blown in-circuit emulators. To communicate with in-circuit emulators,
software tools generate code in the Intel Object Module Format. Intel works
with hardware and software tools vendors to help provide
tools interoperability. |
|
USB protocol debugging is facilitated by protocol analyzers. Protocol
analyzers are meant to monitor bus activities and record all types of
transactions that are going back and forth through the USB cable. The
recorded data allows visual insight on what is going through the USB cable.
Being able to scrutinize the recorded data provides an excellent way of
debugging USB transaction flow.
A USB packetized traffic generator is also available from TPVs. This
tool allows stress testing of USB peripherals and enables
debugging of the USB peripheral under adverse USB traffic on the bus.
|
Legal Stuff © 1997 Intel Corporation
|